5 #ifndef _HEBench_API_Bridge_H_7e5fa8c2415240ea93eff148ed73539b
6 #define _HEBench_API_Bridge_H_7e5fa8c2415240ea93eff148ed73539b
88 std::uint64_t *p_param_count,
89 std::uint64_t *p_default_count);
115 std::uint64_t default_count);
306 const Handle *h_local_packed_params,
307 std::uint64_t local_count,
338 Handle *h_local_packed_params,
339 std::uint64_t local_count);
514 Handle h_remote_packed_params,
516 uint64_t indexers_count,
558 char *p_name, std::uint64_t size);
588 char *p_description, std::uint64_t size);
ErrorCode encrypt(Handle h_benchmark, Handle h_plaintext, Handle *h_ciphertext)
Encrypts a plain text into a cipher text.
std::uint64_t getSchemeName(Handle h_engine, Scheme s, char *p_name, std::uint64_t size)
Retrieves the name of a specified scheme ID from the backend.
std::uint64_t getSchemeSecurityName(Handle h_engine, Scheme s, Security sec, char *p_name, std::uint64_t size)
Retrieves the name of the specified security for the scheme ID from the backend.
std::uint64_t getErrorDescription(Handle h_engine, ErrorCode code, char *p_description, std::uint64_t size)
Retrieves the general error description of an error code.
ErrorCode destroyHandle(Handle h)
Releases resources held by the specified handle.
ErrorCode operate(Handle h_benchmark, Handle h_remote_packed_params, const ParameterIndexer *p_param_indexers, uint64_t indexers_count, Handle *h_remote_output)
Performs the workload operation of the benchmark.
ErrorCode encode(Handle h_benchmark, const DataPackCollection *p_parameters, Handle *h_plaintext)
Given a pack of parameters in raw, native data format, encodes them into plain text suitable for back...
ErrorCode decrypt(Handle h_benchmark, Handle h_ciphertext, Handle *h_plaintext)
Decrypts a cipher text into corresponding plain text.
ErrorCode store(Handle h_benchmark, Handle h_remote, Handle *h_local_packed_params, std::uint64_t local_count)
Retrieves the specified data from the backend.
std::int32_t Scheme
Open-ended homomorphic encryption scheme ID.
ErrorCode describeBenchmark(Handle h_engine, Handle h_bench_desc, BenchmarkDescriptor *p_bench_desc, WorkloadParams *p_default_params, std::uint64_t default_count)
Retrieves the concrete description for a benchmark registered by backend.
ErrorCode initBenchmark(Handle h_benchmark, const BenchmarkDescriptor *p_concrete_desc)
Allows the benchmark to perform initialization steps based on the finalized, concrete description.
std::int32_t Security
Open-ended homomorphic encryption scheme security ID.
ErrorCode createBenchmark(Handle h_engine, Handle h_bench_desc, const WorkloadParams *p_params, Handle *h_benchmark)
Instantiates a benchmark on the backend.
ErrorCode getWorkloadParamsDetails(Handle h_engine, Handle h_bench_desc, std::uint64_t *p_param_count, std::uint64_t *p_default_count)
Retrieves details about the flexible parameters supported by this workload.
ErrorCode load(Handle h_benchmark, const Handle *h_local_packed_params, std::uint64_t local_count, Handle *h_remote)
Loads the specified data from the local host into the remote backend to use as parameter during a cal...
std::int32_t ErrorCode
Return value for API bridge functions.
ErrorCode initEngine(Handle *h_engine, const int8_t *p_buffer, uint64_t size)
Initializes the backend engine.
ErrorCode decode(Handle h_benchmark, Handle h_plaintext, DataPackCollection *p_native)
Decodes plaintext data into the appropriate raw, native format.
std::uint64_t getLastErrorDescription(Handle h_engine, char *p_description, std::uint64_t size)
Retrieves the detailed description of the last error that occurred during an operation on the engine.
std::uint64_t getBenchmarkDescriptionEx(Handle h_engine, Handle h_bench_desc, const hebench::APIBridge::WorkloadParams *p_w_params, char *p_description, std::uint64_t size)
Retrieves backend specific text description for a benchmark descriptor.
ErrorCode subscribeBenchmarksCount(Handle h_engine, std::uint64_t *p_count)
Retrieves the number of benchmarks for which the backend is registering to perform.
ErrorCode subscribeBenchmarks(Handle h_engine, Handle *p_h_bench_descs, std::uint64_t count)
Retrieves handles to the benchmark descriptions for which the backend is registering to perform.
Defines a benchmark test.
Defines a collection of data packs.
Specifies the parameters for a workload.
Structure to contain flexible data.