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_stack_h_ 00009 #define parserutils_utils_stack_h_ 00010 00011 #ifdef __cplusplus 00012 extern "C" 00013 { 00014 #endif 00015 00016 #include <stddef.h> 00017 00018 #include <parserutils/errors.h> 00019 #include <parserutils/functypes.h> 00020 00021 struct parserutils_stack; 00022 typedef struct parserutils_stack parserutils_stack; 00023 00024 parserutils_error parserutils_stack_create(size_t item_size, size_t chunk_size, 00025 parserutils_stack **stack); 00026 parserutils_error parserutils_stack_destroy(parserutils_stack *stack); 00027 00028 parserutils_error parserutils_stack_push(parserutils_stack *stack, 00029 const void *item); 00030 parserutils_error parserutils_stack_pop(parserutils_stack *stack, void *item); 00031 00032 void *parserutils_stack_get_current(parserutils_stack *stack); 00033 00034 #ifdef __cplusplus 00035 } 00036 #endif 00037 00038 #endif 00039
1.5.6