BSL v1.1.1 - 39.g9f43410
AMMOS Bundle Protocol Security Library (BSL)
Loading...
Searching...
No Matches
SeqReadWrite.c File Reference

Implementation of flat-buffer sequential access. More...

#include "SeqReadWrite.h"
#include "bsl/BPSecLib_Private.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+ Include dependency graph for SeqReadWrite.c:

Functions

void BSL_SeqReader_Destroy (BSL_SeqReader_t *obj)
 Release resources from a sequential reader.
 
int BSL_SeqReader_Get (BSL_SeqReader_t *obj, uint8_t *buf, size_t *bufsize)
 Iterate a sequential reader.
 
void BSL_SeqWriter_Destroy (BSL_SeqWriter_t *obj, bool success)
 Release resources from a sequential writer and possibly commit the writes.
 
int BSL_SeqWriter_Put (BSL_SeqWriter_t *obj, const uint8_t *buf, size_t bufsize)
 Iterate a sequential writer.
 

Detailed Description

Implementation of flat-buffer sequential access.

Function Documentation

◆ BSL_SeqReader_Destroy()

void BSL_SeqReader_Destroy ( BSL_SeqReader_t *  obj)

Release resources from a sequential reader.

This also frees memory of the instance itself.

Parameters
[in,out]objThe reader handle.

References ASSERT_ARG_NONNULL, ASSERT_PRECONDITION, and BSL_free().

Referenced by BSL_API_QuerySecurity(), BSL_ExecAnyVerifierAcceptor_Pre(), BSLX_BCB_Decrypt(), BSLX_BCB_Encrypt(), BSLX_BIB_GenIPPT(), BSLX_CoseSc_Encrypt_Compute(), BSLX_CoseSc_Mac_Compute(), switch(), TEST_CASE(), test_decrypt(), test_encrypt(), and test_SeqReader_flat().

◆ BSL_SeqReader_Get()

int BSL_SeqReader_Get ( BSL_SeqReader_t *  obj,
uint8_t *  buf,
size_t *  bufsize 
)

Iterate a sequential reader.

Parameters
[in,out]objThe reader handle.
[out]bufThe output buffer to fill.
[in,out]bufsizeThe available output buffer size as input, set to the used buffer size as output.
Returns
Zero if successful.

References ASSERT_ARG_NONNULL, ASSERT_PRECONDITION, and CHK_ARG_NONNULL.

Referenced by BSL_API_QuerySecurity(), BSL_AuthCtx_DigestSeq(), BSL_Cipher_AddAadSeq(), BSL_Cipher_AddSeq(), BSL_ExecAnyVerifierAcceptor_Pre(), BSLX_BIB_GenIPPT(), BSLX_CoseSc_Encrypt_Compute(), TEST_CASE(), and test_SeqReader_flat().

◆ BSL_SeqWriter_Destroy()

void BSL_SeqWriter_Destroy ( BSL_SeqWriter_t *  obj,
bool  success 
)

Release resources from a sequential writer and possibly commit the writes.

This also frees memory of the instance itself.

Parameters
[in,out]objThe writer handle.
successSet true if all of the writing succeeded.

References ASSERT_ARG_NONNULL, ASSERT_PRECONDITION, and BSL_free().

Referenced by BSLX_BCB_Decrypt(), BSLX_BCB_Encrypt(), BSLX_CoseSc_Encrypt_Compute(), Encode_ASB(), test_decrypt(), test_encrypt(), and test_SeqWriter_flat().

◆ BSL_SeqWriter_Put()

int BSL_SeqWriter_Put ( BSL_SeqWriter_t *  obj,
const uint8_t *  buf,
size_t  bufsize 
)

Iterate a sequential writer.

Parameters
objThe writer handle.
[in]bufThe input buffer to copy from.
[in,out]bufsizeThe available input buffer size as input, set to the used buffer size as output.
Returns
Zero if successful.

References CHK_ARG_NONNULL.

Referenced by BSL_Cipher_AddSeq(), BSL_Cipher_FinalizeSeq(), BSLX_CoseSc_Encrypt_Compute(), Encode_ASB(), and test_SeqWriter_flat().