BSL v0.0.0
AMMOS Bundle Protocol Security Library (BSL)
Loading...
Searching...
No Matches
UtilDefs_SeqReadWrite.c File Reference

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

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

Go to the source code of this file.

Functions

int BSL_SeqReader_Deinit (BSL_SeqReader_t *obj)
 Release resources from a sequential reader.
 
int BSL_SeqReader_InitFlat (BSL_SeqReader_t *obj, const uint8_t *buf, size_t bufsize)
 Initialize resources for a sequential reader.
 
int BSL_SeqReader_Get (BSL_SeqReader_t *obj, uint8_t *buf, size_t *bufsize)
 Iterate a sequential reader.
 
int BSL_SeqWriter_InitFlat (BSL_SeqWriter_t *obj, uint8_t **buf, size_t *bufsize)
 Initialize resources for a sequential writer.
 
int BSL_SeqWriter_Deinit (BSL_SeqWriter_t *obj)
 Release resources from a sequential writer.
 
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.

Definition in file UtilDefs_SeqReadWrite.c.

Function Documentation

◆ BSL_SeqReader_Deinit()

int BSL_SeqReader_Deinit ( BSL_SeqReader_t obj)

Release resources from a sequential reader.

Parameters
[in,out]objThe reader handle.
Returns
Zero if successful.

Definition at line 36 of file UtilDefs_SeqReadWrite.c.

References BSL_SUCCESS.

◆ BSL_SeqReader_Get()

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

Iterate a sequential reader.

Parameters
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.

Definition at line 54 of file UtilDefs_SeqReadWrite.c.

References BSL_SUCCESS, BSL_SeqReader::cursor, and BSL_SeqReader::remain.

Referenced by BSL_AuthCtx_DigestSeq(), and BSL_Cipher_AddSeq().

◆ BSL_SeqReader_InitFlat()

int BSL_SeqReader_InitFlat ( BSL_SeqReader_t obj,
const uint8_t *  buf,
size_t  bufsize 
)

Initialize resources for a sequential reader.

Parameters
[in,out]objThe reader struct to allocate.
bufThe flat buffer start.
bufsizeThe flat buffer total size.
Returns
Zero if successful.

Definition at line 42 of file UtilDefs_SeqReadWrite.c.

References BSL_SUCCESS, BSL_SeqReader::cursor, and BSL_SeqReader::remain.

◆ BSL_SeqWriter_Deinit()

int BSL_SeqWriter_Deinit ( BSL_SeqWriter_t obj)

Release resources from a sequential writer.

Parameters
[in,out]objThe writer handle.
Returns
Zero if successful.

Definition at line 84 of file UtilDefs_SeqReadWrite.c.

References BSL_SUCCESS, and BSL_SeqWriter::fd.

◆ BSL_SeqWriter_InitFlat()

int BSL_SeqWriter_InitFlat ( BSL_SeqWriter_t obj,
uint8_t **  buf,
size_t *  bufsize 
)

Initialize resources for a sequential writer.

Parameters
[in,out]objThe reader struct to allocate.
[out]bufThe flat buffer pointer to update after the writer is released.
[out]bufsizeThe flat buffer total size pointer to update after the writer is released.
Returns
Zero if successful.

Definition at line 72 of file UtilDefs_SeqReadWrite.c.

References BSL_SUCCESS, and BSL_SeqWriter::fd.

◆ 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.

Definition at line 95 of file UtilDefs_SeqReadWrite.c.

References BSL_SUCCESS, and BSL_SeqWriter::fd.

Referenced by BSL_Cipher_AddSeq(), and BSL_Cipher_FinalizeSeq().