buffer.h

Go to the documentation of this file.
00001 /*
00002  * This file is part of LibParserUtils.
00003  * Licensed under the MIT License,
00004  *                http://www.opensource.org/licenses/mit-license.php
00005  * Copyright 2008 John-Mark Bell <jmb@netsurf-browser.org>
00006  */
00007 
00008 #ifndef parserutils_utils_buffer_h_
00009 #define parserutils_utils_buffer_h_
00010 
00011 #ifdef __cplusplus
00012 extern "C"
00013 {
00014 #endif
00015 
00016 #include <parserutils/errors.h>
00017 #include <parserutils/functypes.h>
00018 
00019 struct parserutils_buffer
00020 {
00021         uint8_t *data;
00022         size_t length;
00023         size_t allocated;
00024 };
00025 typedef struct parserutils_buffer parserutils_buffer;
00026 
00027 parserutils_error parserutils_buffer_create(parserutils_buffer **buffer);
00028 parserutils_error parserutils_buffer_destroy(parserutils_buffer *buffer);
00029 
00030 parserutils_error parserutils_buffer_append(parserutils_buffer *buffer, 
00031                 const uint8_t *data, size_t len);
00032 parserutils_error parserutils_buffer_insert(parserutils_buffer *buffer, 
00033                 size_t offset, const uint8_t *data, size_t len);
00034 parserutils_error parserutils_buffer_discard(parserutils_buffer *buffer, 
00035                 size_t offset, size_t len);
00036 
00037 parserutils_error parserutils_buffer_grow(parserutils_buffer *buffer);
00038 
00039 parserutils_error parserutils_buffer_randomise(parserutils_buffer *buffer);
00040 
00041 #ifdef __cplusplus
00042 }
00043 #endif
00044 
00045 #endif
00046 

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