00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXUTIL_STACK_H
00020 #define AXUTIL_STACK_H
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(
00045 const axutil_env_t * env);
00046
00052 AXIS2_EXTERN void AXIS2_CALL
00053 axutil_stack_free(
00054 axutil_stack_t * stack,
00055 const axutil_env_t * env);
00056
00057 AXIS2_EXTERN void *AXIS2_CALL
00058 axutil_stack_pop(
00059 axutil_stack_t * stack,
00060 const axutil_env_t * env);
00061
00062 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00063 axutil_stack_push(
00064 axutil_stack_t * stack,
00065 const axutil_env_t * env,
00066 void *value);
00067
00068 AXIS2_EXTERN int AXIS2_CALL
00069 axutil_stack_size(
00070 axutil_stack_t * stack,
00071 const axutil_env_t * env);
00072
00077 AXIS2_EXTERN void *AXIS2_CALL
00078 axutil_stack_get(
00079 axutil_stack_t * stack,
00080 const axutil_env_t * env);
00081
00082 AXIS2_EXTERN void *AXIS2_CALL
00083 axutil_stack_get_at(
00084 axutil_stack_t * stack,
00085 const axutil_env_t * env,
00086 int i);
00087
00090 #ifdef __cplusplus
00091 }
00092 #endif
00093 #endif