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"
107 kFLE2IEVTypeEqualityV2,
110} _mc_fle2_iev_v2_type;
114 uint8_t fle_blob_subtype;
115 uint8_t bson_value_type;
117 uint32_t substr_tag_count;
118 uint32_t suffix_tag_count;
119 _mongocrypt_buffer_t S_KeyId;
120 _mongocrypt_buffer_t ServerEncryptedValue;
123 _mc_fle2_iev_v2_type type;
124 bool ClientEncryptedValueDecoded;
125 bool ClientValueDecoded;
129 _mongocrypt_buffer_t DecryptedServerEncryptedValue;
132 _mongocrypt_buffer_t K_KeyId;
133 _mongocrypt_buffer_t ClientEncryptedValue;
137 _mongocrypt_buffer_t ClientValue;
139 mc_FLE2TagAndEncryptedMetadataBlock_t *metadata;
165 const _mongocrypt_buffer_t *buf,
179 _mongocrypt_buffer_t *buf,
191bool mc_FLE2IndexedEncryptedValueV2_add_S_Key(_mongocrypt_crypto_t *crypto,
193 const _mongocrypt_buffer_t *S_Key,
196const _mongocrypt_buffer_t *
203bool mc_FLE2IndexedEncryptedValueV2_add_K_Key(_mongocrypt_crypto_t *crypto,
205 const _mongocrypt_buffer_t *K_Key,
227 mc_FLE2TagAndEncryptedMetadataBlock_t *out,
228 const uint32_t edge_index,
232 mc_FLE2TagAndEncryptedMetadataBlock_t *out,
236 mc_FLE2TagAndEncryptedMetadataBlock_t *out,
240 mc_FLE2TagAndEncryptedMetadataBlock_t *out,
241 const uint32_t block_index,
245 mc_FLE2TagAndEncryptedMetadataBlock_t *out,
246 const uint32_t block_index,
250 mc_FLE2TagAndEncryptedMetadataBlock_t *out,
251 const uint32_t block_index,
struct _mongocrypt_status_t mongocrypt_status_t
Definition mongocrypt.h:152
Definition mc-fle2-payload-iev-private-v2.h:112