00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXUTIL_STACK_H
00019 #define AXUTIL_STACK_H
00020
00021
00027 #include <axutil_utils_defines.h>
00028 #include <axutil_env.h>
00029
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034
00041 typedef struct axutil_stack axutil_stack_t;
00042
00043 AXIS2_EXTERN axutil_stack_t * AXIS2_CALL
00044 axutil_stack_create(const axutil_env_t *env);
00045
00051 AXIS2_EXTERN void AXIS2_CALL
00052 axutil_stack_free(axutil_stack_t *stack,
00053 const axutil_env_t *env);
00054
00055 AXIS2_EXTERN void* AXIS2_CALL
00056 axutil_stack_pop(axutil_stack_t *stack,
00057 const axutil_env_t *env);
00058
00059 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00060 axutil_stack_push(axutil_stack_t *stack,
00061 const axutil_env_t *env,
00062 void* value);
00063
00064 AXIS2_EXTERN int AXIS2_CALL
00065 axutil_stack_size(axutil_stack_t *stack,
00066 const axutil_env_t *env);
00071 AXIS2_EXTERN void* AXIS2_CALL
00072 axutil_stack_get(axutil_stack_t *stack,
00073 const axutil_env_t *env);
00074
00075 AXIS2_EXTERN void* AXIS2_CALL
00076 axutil_stack_get_at(axutil_stack_t *stack,
00077 const axutil_env_t *env,
00078 int i);
00079
00082 #ifdef __cplusplus
00083 }
00084 #endif
00085 #endif
00086