XenevaOS
Loading...
Searching...
No Matches
Classes | Typedefs | Functions
buffer.h File Reference
#include <parserutils/errors.h>
#include <parserutils/functypes.h>
Include dependency graph for buffer.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  parserutils_buffer
 

Typedefs

typedef struct parserutils_buffer parserutils_buffer
 

Functions

parserutils_error parserutils_buffer_create (parserutils_buffer **buffer)
 
parserutils_error parserutils_buffer_destroy (parserutils_buffer *buffer)
 
parserutils_error parserutils_buffer_append (parserutils_buffer *buffer, const uint8_t *data, size_t len)
 
parserutils_error parserutils_buffer_appendv (parserutils_buffer *buffer, size_t count,...)
 
parserutils_error parserutils_buffer_insert (parserutils_buffer *buffer, size_t offset, const uint8_t *data, size_t len)
 
parserutils_error parserutils_buffer_discard (parserutils_buffer *buffer, size_t offset, size_t len)
 
parserutils_error parserutils_buffer_grow (parserutils_buffer *buffer)
 
parserutils_error parserutils_buffer_randomise (parserutils_buffer *buffer)
 

Typedef Documentation

◆ parserutils_buffer

Function Documentation

◆ parserutils_buffer_append()

parserutils_error parserutils_buffer_append ( parserutils_buffer *  buffer,
const uint8_t *  data,
size_t  len 
)

Append data to a memory buffer

Parameters
bufferThe buffer to append to
dataThe data to append
lenThe length, in bytes, of the data to append
Returns
PARSERUTILS_OK on success, appropriate error otherwise.

◆ parserutils_buffer_appendv()

parserutils_error parserutils_buffer_appendv ( parserutils_buffer *  buffer,
size_t  count,
  ... 
)

Append multiple data blocks to a memory buffer.

Each data block must be passed as a pair of const uint8_t* and size_t

Parameters
bufferThe buffer to append to
countThe number of data blocks to append
...The pairs of pointer and size
Returns
PARSERUTILS_OK on success, appropriate error otherwise.

◆ parserutils_buffer_create()

parserutils_error parserutils_buffer_create ( parserutils_buffer **  buffer)

Create a memory buffer

Parameters
bufferPointer to location to receive memory buffer
Returns
PARSERUTILS_OK on success, PARSERUTILS_BADPARM on bad parameters, PARSERUTILS_NOMEM on memory exhausion

◆ parserutils_buffer_destroy()

parserutils_error parserutils_buffer_destroy ( parserutils_buffer *  buffer)

Destroy a memory buffer

Parameters
bufferThe buffer to destroy
Returns
PARSERUTILS_OK on success, appropriate error otherwise

◆ parserutils_buffer_discard()

parserutils_error parserutils_buffer_discard ( parserutils_buffer *  buffer,
size_t  offset,
size_t  len 
)

Discard a section of a memory buffer

Parameters
bufferThe buffer to discard data from
offsetThe offset into the buffer of the start of the section
lenThe number of bytes to discard
Returns
PARSERUTILS_OK on success, appropriate error otherwise.

◆ parserutils_buffer_grow()

parserutils_error parserutils_buffer_grow ( parserutils_buffer *  buffer)

Extend the amount of space allocated for a memory buffer

Parameters
bufferThe buffer to extend
Returns
PARSERUTILS_OK on success, appropriate error otherwise.

◆ parserutils_buffer_insert()

parserutils_error parserutils_buffer_insert ( parserutils_buffer *  buffer,
size_t  offset,
const uint8_t *  data,
size_t  len 
)

Insert data into a memory buffer

Parameters
bufferThe buffer to insert into
offsetThe offset into the buffer to insert at
dataThe data to insert
lenThe length, in bytes, of the data to insert
Returns
PARSERUTILS_OK on success, appropriate error otherwise

◆ parserutils_buffer_randomise()

parserutils_error parserutils_buffer_randomise ( parserutils_buffer *  buffer)