16#ifndef AWS_CRYPTOSDK_SESSION_H
17#define AWS_CRYPTOSDK_SESSION_H
65struct aws_cryptosdk_session;
196 struct aws_cryptosdk_session *session,
size_t max_encrypted_data_keys);
230 struct aws_cryptosdk_session *session,
233 size_t *out_bytes_written,
236 size_t *in_bytes_read);
257 struct aws_cryptosdk_session *session,
260 size_t *out_bytes_written,
296 const struct aws_cryptosdk_session *AWS_RESTRICT session,
297 size_t *AWS_RESTRICT outbuf_needed,
298 size_t *AWS_RESTRICT inbuf_needed);
aws_cryptosdk_commitment_policy
bool aws_cryptosdk_session_is_done(const struct aws_cryptosdk_session *session)
int aws_cryptosdk_session_get_alg_id(const struct aws_cryptosdk_session *session, enum aws_cryptosdk_alg_id *alg_id)
struct aws_cryptosdk_session * aws_cryptosdk_session_new_from_cmm_2(struct aws_allocator *allocator, enum aws_cryptosdk_mode mode, struct aws_cryptosdk_cmm *cmm)
int aws_cryptosdk_session_set_frame_size(struct aws_cryptosdk_session *session, uint32_t frame_size)
void aws_cryptosdk_session_estimate_buf(const struct aws_cryptosdk_session *AWS_RESTRICT session, size_t *AWS_RESTRICT outbuf_needed, size_t *AWS_RESTRICT inbuf_needed)
const struct aws_array_list * aws_cryptosdk_session_get_keyring_trace_ptr(const struct aws_cryptosdk_session *session)
int aws_cryptosdk_session_set_message_size(struct aws_cryptosdk_session *session, uint64_t message_size)
int aws_cryptosdk_session_process_full(struct aws_cryptosdk_session *session, uint8_t *outp, size_t outlen, size_t *out_bytes_written, const uint8_t *inp, size_t inlen)
void aws_cryptosdk_session_destroy(struct aws_cryptosdk_session *session)
int aws_cryptosdk_session_process(struct aws_cryptosdk_session *session, uint8_t *outp, size_t outlen, size_t *out_bytes_written, const uint8_t *inp, size_t inlen, size_t *in_bytes_read)
const struct aws_hash_table * aws_cryptosdk_session_get_enc_ctx_ptr(const struct aws_cryptosdk_session *session)
struct aws_hash_table * aws_cryptosdk_session_get_enc_ctx_ptr_mut(struct aws_cryptosdk_session *session)
int aws_cryptosdk_session_set_commitment_policy(struct aws_cryptosdk_session *session, enum aws_cryptosdk_commitment_policy commitment_policy)
struct aws_cryptosdk_session * aws_cryptosdk_session_new_from_keyring_2(struct aws_allocator *allocator, enum aws_cryptosdk_mode mode, struct aws_cryptosdk_keyring *keyring)
int aws_cryptosdk_session_reset(struct aws_cryptosdk_session *session, enum aws_cryptosdk_mode mode)
int aws_cryptosdk_session_set_message_bound(struct aws_cryptosdk_session *session, uint64_t max_message_size)
int aws_cryptosdk_session_set_max_encrypted_data_keys(struct aws_cryptosdk_session *session, size_t max_encrypted_data_keys)
@ AWS_CRYPTOSDK_DECRYPT_UNSIGNED