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"
83 typedef struct _mc_FLE2IndexedEncryptedValueV2_t mc_FLE2IndexedEncryptedValueV2_t;
85 mc_FLE2IndexedEncryptedValueV2_t *mc_FLE2IndexedEncryptedValueV2_new(
void);
86 bson_type_t mc_FLE2IndexedEncryptedValueV2_get_bson_value_type(
const mc_FLE2IndexedEncryptedValueV2_t *iev,
103 bool mc_FLE2IndexedEncryptedValueV2_parse(mc_FLE2IndexedEncryptedValueV2_t *iev,
104 const _mongocrypt_buffer_t *buf,
117 bool mc_FLE2IndexedEncryptedValueV2_serialize(
const mc_FLE2IndexedEncryptedValueV2_t *iev,
118 _mongocrypt_buffer_t *buf,
121 const _mongocrypt_buffer_t *mc_FLE2IndexedEncryptedValueV2_get_S_KeyId(
const mc_FLE2IndexedEncryptedValueV2_t *iev,
124 bool mc_FLE2IndexedEncryptedValueV2_add_S_Key(_mongocrypt_crypto_t *crypto,
125 mc_FLE2IndexedEncryptedValueV2_t *iev,
126 const _mongocrypt_buffer_t *S_Key,
129 const _mongocrypt_buffer_t *
130 mc_FLE2IndexedEncryptedValueV2_get_ClientEncryptedValue(
const mc_FLE2IndexedEncryptedValueV2_t *iev,
133 const _mongocrypt_buffer_t *mc_FLE2IndexedEncryptedValueV2_get_K_KeyId(
const mc_FLE2IndexedEncryptedValueV2_t *iev,
136 bool mc_FLE2IndexedEncryptedValueV2_add_K_Key(_mongocrypt_crypto_t *crypto,
137 mc_FLE2IndexedEncryptedValueV2_t *iev,
138 const _mongocrypt_buffer_t *K_Key,
141 const _mongocrypt_buffer_t *mc_FLE2IndexedEncryptedValueV2_get_ClientValue(
const mc_FLE2IndexedEncryptedValueV2_t *iev,
144 uint8_t mc_FLE2IndexedEncryptedValueV2_get_edge_count(
const mc_FLE2IndexedEncryptedValueV2_t *iev,
147 bool mc_FLE2IndexedEncryptedValueV2_get_edge(
const mc_FLE2IndexedEncryptedValueV2_t *iev,
148 mc_FLE2TagAndEncryptedMetadataBlock_t *out,
149 const uint8_t edge_index,
152 bool mc_FLE2IndexedEncryptedValueV2_get_metadata(
const mc_FLE2IndexedEncryptedValueV2_t *iev,
153 mc_FLE2TagAndEncryptedMetadataBlock_t *out,
156 void mc_FLE2IndexedEncryptedValueV2_destroy(mc_FLE2IndexedEncryptedValueV2_t *iev);
struct _mongocrypt_status_t mongocrypt_status_t
Definition: mongocrypt.h:152