diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2008-07-30 19:59:38 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2008-07-30 19:59:38 +0000 |
commit | da16febcd7e453e26fc7eba5c33afe27f00d1134 (patch) | |
tree | dca483b3c17b08425689fa218b299c77a82d21dc /include/parserutils | |
parent | 0f4f9f6d91f1f842f8cf6691cfcd39d34234adcd (diff) | |
download | libparserutils-da16febcd7e453e26fc7eba5c33afe27f00d1134.tar.gz libparserutils-da16febcd7e453e26fc7eba5c33afe27f00d1134.tar.bz2 |
Make parserutils_dict_entry public.
Add basic implementations of a stack and a vector.
svn path=/trunk/libparserutils/; revision=4824
Diffstat (limited to 'include/parserutils')
-rw-r--r-- | include/parserutils/utils/dict.h | 9 | ||||
-rw-r--r-- | include/parserutils/utils/stack.h | 29 | ||||
-rw-r--r-- | include/parserutils/utils/vector.h | 31 |
3 files changed, 68 insertions, 1 deletions
diff --git a/include/parserutils/utils/dict.h b/include/parserutils/utils/dict.h index 43c96cb..7c24a2f 100644 --- a/include/parserutils/utils/dict.h +++ b/include/parserutils/utils/dict.h @@ -11,7 +11,14 @@ #include <parserutils/errors.h> #include <parserutils/functypes.h> -struct parserutils_dict_entry; +/** + * A dictionary entry + */ +struct parserutils_dict_entry +{ + size_t len; /**< Length of data, in bytes */ + uint8_t *data; /**< Entry data */ +}; typedef struct parserutils_dict_entry parserutils_dict_entry; struct parserutils_dict; diff --git a/include/parserutils/utils/stack.h b/include/parserutils/utils/stack.h new file mode 100644 index 0000000..e9fad5a --- /dev/null +++ b/include/parserutils/utils/stack.h @@ -0,0 +1,29 @@ +/* + * This file is part of LibParserUtils. + * Licensed under the MIT License, + * http://www.opensource.org/licenses/mit-license.php + * Copyright 2008 John-Mark Bell <jmb@netsurf-browser.org> + */ + +#ifndef parserutils_utils_stack_h_ +#define parserutils_utils_stack_h_ + +#include <stddef.h> + +#include <parserutils/errors.h> +#include <parserutils/functypes.h> + +struct parserutils_stack; +typedef struct parserutils_stack parserutils_stack; + +parserutils_stack *parserutils_stack_create(size_t item_size, size_t chunk_size, + parserutils_alloc alloc, void *pw); +void parserutils_stack_destroy(parserutils_stack *stack); + +parserutils_error parserutils_stack_push(parserutils_stack *stack, void *item); +parserutils_error parserutils_stack_pop(parserutils_stack *stack, void *item); + +void *parserutils_stack_get_current(parserutils_stack *stack); + +#endif + diff --git a/include/parserutils/utils/vector.h b/include/parserutils/utils/vector.h new file mode 100644 index 0000000..934ebcd --- /dev/null +++ b/include/parserutils/utils/vector.h @@ -0,0 +1,31 @@ +/* + * This file is part of LibParserUtils. + * Licensed under the MIT License, + * http://www.opensource.org/licenses/mit-license.php + * Copyright 2008 John-Mark Bell <jmb@netsurf-browser.org> + */ + +#ifndef parserutils_utils_vector_h_ +#define parserutils_utils_vector_h_ + +#include <stddef.h> + +#include <parserutils/errors.h> +#include <parserutils/functypes.h> + +struct parserutils_vector; +typedef struct parserutils_vector parserutils_vector; + +parserutils_vector *parserutils_vector_create(size_t item_size, + size_t chunk_size, parserutils_alloc alloc, void *pw); +void parserutils_vector_destroy(parserutils_vector *vector); + +parserutils_error parserutils_vector_append(parserutils_vector *vector, + void *item); +parserutils_error parserutils_vector_clear(parserutils_vector *vector); +parserutils_error parserutils_vector_remove_last(parserutils_vector *vector); + +void *parserutils_vector_iterate(parserutils_vector *vector, int32_t *ctx); + +#endif + |