16#ifndef AWS_CRYPTOSDK_KEYRING_TRACE_H
17#define AWS_CRYPTOSDK_KEYRING_TRACE_H
19#include <aws/common/array_list.h>
20#include <aws/common/string.h>
21#include <aws/cryptosdk/exports.h>
59#define AWS_CRYPTOSDK_WRAPPING_KEY_GENERATED_DATA_KEY 1
64#define AWS_CRYPTOSDK_WRAPPING_KEY_ENCRYPTED_DATA_KEY (1 << 1)
69#define AWS_CRYPTOSDK_WRAPPING_KEY_DECRYPTED_DATA_KEY (1 << 2)
74#define AWS_CRYPTOSDK_WRAPPING_KEY_SIGNED_ENC_CTX (1 << 3)
79#define AWS_CRYPTOSDK_WRAPPING_KEY_VERIFIED_ENC_CTX (1 << 4)
105 struct aws_allocator *alloc,
106 struct aws_array_list *trace,
107 const struct aws_string *wrapping_key_namespace,
108 const struct aws_string *wrapping_key_name,
117 struct aws_allocator *alloc,
118 struct aws_array_list *trace,
119 const char *wrapping_key_namespace,
120 const char *wrapping_key_name,
129 struct aws_allocator *alloc,
130 struct aws_array_list *trace,
131 const struct aws_byte_buf *wrapping_key_namespace,
132 const struct aws_byte_buf *wrapping_key_name,
bool aws_cryptosdk_keyring_trace_is_valid(const struct aws_array_list *trace)
int aws_cryptosdk_keyring_trace_add_record_c_str(struct aws_allocator *alloc, struct aws_array_list *trace, const char *wrapping_key_namespace, const char *wrapping_key_name, uint32_t flags)
int aws_cryptosdk_keyring_trace_init(struct aws_allocator *alloc, struct aws_array_list *trace)
int aws_cryptosdk_keyring_trace_add_record_buf(struct aws_allocator *alloc, struct aws_array_list *trace, const struct aws_byte_buf *wrapping_key_namespace, const struct aws_byte_buf *wrapping_key_name, uint32_t flags)
int aws_cryptosdk_keyring_trace_add_record(struct aws_allocator *alloc, struct aws_array_list *trace, const struct aws_string *wrapping_key_namespace, const struct aws_string *wrapping_key_name, uint32_t flags)
bool aws_cryptosdk_keyring_trace_record_is_valid(struct aws_cryptosdk_keyring_trace_record *record)
void aws_cryptosdk_keyring_trace_clean_up(struct aws_array_list *trace)
void aws_cryptosdk_keyring_trace_clear(struct aws_array_list *trace)
struct aws_string * wrapping_key_name
struct aws_string * wrapping_key_namespace