17#ifndef MONGOCRYPT_INDEXED_ENCRYPTED_VALUE_PRIVATE_V2_H
18#define MONGOCRYPT_INDEXED_ENCRYPTED_VALUE_PRIVATE_V2_H
20#include "mc-fle2-tag-and-encrypted-metadata-block-private.h"
21#include "mc-tokens-private.h"
22#include "mongocrypt-buffer-private.h"
23#include "mongocrypt-crypto-private.h"
24#include "mongocrypt-status-private.h"
83typedef struct _mc_FLE2IndexedEncryptedValueV2_t mc_FLE2IndexedEncryptedValueV2_t;
85mc_FLE2IndexedEncryptedValueV2_t *mc_FLE2IndexedEncryptedValueV2_new(
void);
86bson_type_t mc_FLE2IndexedEncryptedValueV2_get_bson_value_type(
const mc_FLE2IndexedEncryptedValueV2_t *iev,
103bool mc_FLE2IndexedEncryptedValueV2_parse(mc_FLE2IndexedEncryptedValueV2_t *iev,
104 const _mongocrypt_buffer_t *buf,
117bool mc_FLE2IndexedEncryptedValueV2_serialize(
const mc_FLE2IndexedEncryptedValueV2_t *iev,
118 _mongocrypt_buffer_t *buf,
121const _mongocrypt_buffer_t *mc_FLE2IndexedEncryptedValueV2_get_S_KeyId(
const mc_FLE2IndexedEncryptedValueV2_t *iev,
124bool mc_FLE2IndexedEncryptedValueV2_add_S_Key(_mongocrypt_crypto_t *crypto,
125 mc_FLE2IndexedEncryptedValueV2_t *iev,
126 const _mongocrypt_buffer_t *S_Key,
129const _mongocrypt_buffer_t *
130mc_FLE2IndexedEncryptedValueV2_get_ClientEncryptedValue(
const mc_FLE2IndexedEncryptedValueV2_t *iev,
133const _mongocrypt_buffer_t *mc_FLE2IndexedEncryptedValueV2_get_K_KeyId(
const mc_FLE2IndexedEncryptedValueV2_t *iev,
136bool mc_FLE2IndexedEncryptedValueV2_add_K_Key(_mongocrypt_crypto_t *crypto,
137 mc_FLE2IndexedEncryptedValueV2_t *iev,
138 const _mongocrypt_buffer_t *K_Key,
141const _mongocrypt_buffer_t *mc_FLE2IndexedEncryptedValueV2_get_ClientValue(
const mc_FLE2IndexedEncryptedValueV2_t *iev,
144uint8_t mc_FLE2IndexedEncryptedValueV2_get_edge_count(
const mc_FLE2IndexedEncryptedValueV2_t *iev,
147bool mc_FLE2IndexedEncryptedValueV2_get_edge(
const mc_FLE2IndexedEncryptedValueV2_t *iev,
148 mc_FLE2TagAndEncryptedMetadataBlock_t *out,
149 const uint8_t edge_index,
152bool mc_FLE2IndexedEncryptedValueV2_get_metadata(
const mc_FLE2IndexedEncryptedValueV2_t *iev,
153 mc_FLE2TagAndEncryptedMetadataBlock_t *out,
156void mc_FLE2IndexedEncryptedValueV2_destroy(mc_FLE2IndexedEncryptedValueV2_t *iev);
struct _mongocrypt_status_t mongocrypt_status_t
Definition mongocrypt.h:152