#ifndef TA_SA_SVP_H
#define TA_SA_SVP_H
#include "ta_sa_types.h"
#ifdef __cplusplus
#include <cstddef>
extern "C" {
#else
#include <stddef.h>
#endif
sa_status ta_sa_svp_supported(
ta_client client_slot,
const sa_uuid* caller_uuid);
sa_status ta_sa_svp_buffer_create(
sa_svp_buffer* svp_buffer,
void* buffer,
size_t size,
ta_client client,
const sa_uuid* caller_uuid);
sa_status ta_sa_svp_buffer_release(
void** out,
size_t* out_length,
sa_svp_buffer svp_buffer,
ta_client client_slot,
const sa_uuid* caller_uuid);
sa_status ta_sa_svp_buffer_write(
sa_svp_buffer out,
const void* in,
size_t in_length,
sa_svp_offset* offsets,
size_t offsets_length,
ta_client client_slot,
const sa_uuid* caller_uuid);
sa_status ta_sa_svp_buffer_copy(
sa_svp_buffer out,
sa_svp_buffer in,
sa_svp_offset* offsets,
size_t offsets_length,
ta_client client_slot,
const sa_uuid* caller_uuid);
sa_status ta_sa_svp_key_check(
sa_key key,
sa_buffer* in,
size_t bytes_to_process,
const void* expected,
size_t expected_length,
ta_client client_slot,
const sa_uuid* caller_uuid);
sa_status ta_sa_svp_buffer_check(
sa_svp_buffer svp_buffer,
size_t offset,
size_t length,
sa_digest_algorithm digest_algorithm,
const void* hash,
size_t hash_length,
ta_client client_slot,
const sa_uuid* caller_uuid);
#ifdef __cplusplus
}
#endif
#endif