58 CHK_ARG_NONNULL(bufsize);
59 CHK_ARG_EXPR(*bufsize > 0);
61 const size_t got = (obj->
remain < *bufsize ? obj->
remain : *bufsize);
64 memcpy(buf, obj->
cursor, got);
76 CHK_ARG_NONNULL(bufsize);
78 obj->
fd = open_memstream((
char **)buf, bufsize);
80 CHK_POSTCONDITION(obj->
fd != NULL);
99 CHK_ARG_NONNULL(bufsize);
102 const size_t got = fwrite(buf, 1, *bufsize, obj->
fd);
Single entry-point include file for all of the BPSec Lib (BSL) frontend API.
#define _U_
Mark an unused parameter Within a function definition.
@ BSL_SUCCESS
Placeholder for non-error code.
int BSL_SeqWriter_InitFlat(BSL_SeqWriter_t *obj, uint8_t **buf, size_t *bufsize)
Initialize resources for a sequential writer.
int BSL_SeqWriter_Put(BSL_SeqWriter_t *obj, const uint8_t *buf, size_t *bufsize)
Iterate a sequential writer.
int BSL_SeqWriter_Deinit(BSL_SeqWriter_t *obj)
Release resources from a sequential writer.
int BSL_SeqReader_Get(BSL_SeqReader_t *obj, uint8_t *buf, size_t *bufsize)
Iterate 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_Deinit(BSL_SeqReader_t *obj)
Release resources from a sequential reader.
Flat buffer data reading and writing.
Definition of a simple flat buffer iterator.
const uint8_t * cursor
Current cursor into available data.
size_t remain
Remaining available buffer.
Definition of a simple flat buffer iterator.
FILE * fd
Memory mapped file.