Libparserutils
include
parserutils
utils
buffer.h
Go to the documentation of this file.
1
/*
2
* This file is part of LibParserUtils.
3
* Licensed under the MIT License,
4
* http://www.opensource.org/licenses/mit-license.php
5
* Copyright 2008 John-Mark Bell <jmb@netsurf-browser.org>
6
*/
7
8
#ifndef parserutils_utils_buffer_h_
9
#define parserutils_utils_buffer_h_
10
11
#ifdef __cplusplus
12
extern
"C"
13
{
14
#endif
15
16
#include <
parserutils/errors.h
>
17
#include <
parserutils/functypes.h
>
18
19
struct
parserutils_buffer
20
{
21
uint8_t *
data
;
22
size_t
length
;
23
size_t
allocated
;
24
};
25
typedef
struct
parserutils_buffer
parserutils_buffer
;
26
27
parserutils_error
parserutils_buffer_create
(
parserutils_buffer
**buffer);
28
parserutils_error
parserutils_buffer_destroy
(
parserutils_buffer
*buffer);
29
30
parserutils_error
parserutils_buffer_append
(
parserutils_buffer
*buffer,
31
const
uint8_t *
data
,
size_t
len
);
32
parserutils_error
parserutils_buffer_insert
(
parserutils_buffer
*buffer,
33
size_t
offset,
const
uint8_t *
data
,
size_t
len
);
34
parserutils_error
parserutils_buffer_discard
(
parserutils_buffer
*buffer,
35
size_t
offset,
size_t
len
);
36
37
parserutils_error
parserutils_buffer_grow
(
parserutils_buffer
*buffer);
38
39
parserutils_error
parserutils_buffer_randomise
(
parserutils_buffer
*buffer);
40
41
#ifdef __cplusplus
42
}
43
#endif
44
45
#endif
46
parserutils_buffer_grow
parserutils_error parserutils_buffer_grow(parserutils_buffer *buffer)
Extend the amount of space allocated for a memory buffer.
Definition:
buffer.c:150
parserutils_buffer_randomise
parserutils_error parserutils_buffer_randomise(parserutils_buffer *buffer)
Definition:
buffer.c:162
parserutils_buffer::allocated
size_t allocated
Definition:
buffer.h:23
parserutils_buffer_discard
parserutils_error parserutils_buffer_discard(parserutils_buffer *buffer, size_t offset, size_t len)
Discard a section of a memory buffer.
Definition:
buffer.c:130
parserutils_buffer
Definition:
buffer.h:19
parserutils_buffer::data
uint8_t * data
Definition:
buffer.h:21
parserutils_buffer_create
parserutils_error parserutils_buffer_create(parserutils_buffer **buffer)
Create a memory buffer.
Definition:
buffer.c:22
errors.h
len
size_t len
Definition:
codec_8859.c:23
parserutils_buffer_append
parserutils_error parserutils_buffer_append(parserutils_buffer *buffer, const uint8_t *data, size_t len)
Append data to a memory buffer.
Definition:
buffer.c:72
parserutils_buffer::length
size_t length
Definition:
buffer.h:22
parserutils_buffer_destroy
parserutils_error parserutils_buffer_destroy(parserutils_buffer *buffer)
Destroy a memory buffer.
Definition:
buffer.c:53
functypes.h
parserutils_error
parserutils_error
Definition:
errors.h:18
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.
Definition:
buffer.c:97
Generated by
1.8.17