buffer.h File Reference

#include <parserutils/errors.h>
#include <parserutils/functypes.h>

Go to the source code of this file.

Data Structures

struct  parserutils_buffer

Typedefs

typedef struct parserutils_buffer parserutils_buffer

Functions

parserutils_error parserutils_buffer_create (parserutils_buffer **buffer)
 Create a memory buffer.
parserutils_error parserutils_buffer_destroy (parserutils_buffer *buffer)
 Destroy a memory buffer.
parserutils_error parserutils_buffer_append (parserutils_buffer *buffer, const uint8_t *data, size_t len)
 Append data to a memory buffer.
parserutils_error parserutils_buffer_insert (parserutils_buffer *buffer, size_t offset, const uint8_t *data, size_t len)
 Insert data into a memory buffer.
parserutils_error parserutils_buffer_discard (parserutils_buffer *buffer, size_t offset, size_t len)
 Discard a section of a memory buffer.
parserutils_error parserutils_buffer_grow (parserutils_buffer *buffer)
 Extend the amount of space allocated for a memory buffer.
parserutils_error parserutils_buffer_randomise (parserutils_buffer *buffer)


Typedef Documentation

Definition at line 25 of file buffer.h.


Function Documentation

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

Append data to a memory buffer.

Parameters:
buffer The buffer to append to
data The data to append
len The length, in bytes, of the data to append
Returns:
PARSERUTILS_OK on success, appropriate error otherwise.

Definition at line 72 of file buffer.c.

References parserutils_buffer::allocated, parserutils_buffer::data, parserutils_buffer::length, parserutils_buffer_grow(), and PARSERUTILS_OK.

Referenced by parserutils_buffer_insert(), and parserutils_inputstream_append().

parserutils_error parserutils_buffer_create ( parserutils_buffer **  buffer  ) 

Create a memory buffer.

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

Definition at line 22 of file buffer.c.

References parserutils_buffer::allocated, parserutils_buffer::data, DEFAULT_SIZE, parserutils_buffer::length, PARSERUTILS_BADPARM, PARSERUTILS_NOMEM, and PARSERUTILS_OK.

Referenced by parserutils_inputstream_create().

parserutils_error parserutils_buffer_destroy ( parserutils_buffer buffer  ) 

Destroy a memory buffer.

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

Definition at line 53 of file buffer.c.

References parserutils_buffer::data, PARSERUTILS_BADPARM, and PARSERUTILS_OK.

Referenced by parserutils_inputstream_create(), and parserutils_inputstream_destroy().

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

Discard a section of a memory buffer.

Parameters:
buffer The buffer to discard data from
offset The offset into the buffer of the start of the section
len The number of bytes to discard
Returns:
PARSERUTILS_OK on success, appropriate error otherwise.

Definition at line 130 of file buffer.c.

References parserutils_buffer::data, parserutils_buffer::length, PARSERUTILS_BADPARM, and PARSERUTILS_OK.

Referenced by parserutils_inputstream_refill_buffer(), and parserutils_inputstream_strip_bom().

parserutils_error parserutils_buffer_grow ( parserutils_buffer buffer  ) 

Extend the amount of space allocated for a memory buffer.

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

Definition at line 150 of file buffer.c.

References parserutils_buffer::allocated, parserutils_buffer::data, PARSERUTILS_NOMEM, and PARSERUTILS_OK.

Referenced by parserutils_buffer_append(), parserutils_buffer_insert(), and parserutils_inputstream_refill_buffer().

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:
buffer The buffer to insert into
offset The offset into the buffer to insert at
data The data to insert
len The length, in bytes, of the data to insert
Returns:
PARSERUTILS_OK on success, appropriate error otherwise

Definition at line 97 of file buffer.c.

References parserutils_buffer::allocated, parserutils_buffer::data, parserutils_buffer::length, PARSERUTILS_BADPARM, parserutils_buffer_append(), parserutils_buffer_grow(), and PARSERUTILS_OK.

Referenced by parserutils_inputstream_insert().

parserutils_error parserutils_buffer_randomise ( parserutils_buffer buffer  ) 


Generated on Wed Jul 29 11:59:21 2015 for Libparserutils by  doxygen 1.5.6