00001 00008 #if !defined(_STACK_H_) 00009 #define _STACK_H_ 00010 00011 #if defined(__cplusplus) 00012 extern "C" { 00013 #endif 00014 00015 #include <appconfig.h> 00016 00017 #if !defined(STACK_IMPL) 00018 typedef void dsObj; 00019 #endif 00020 00025 dsObj *StackNew(void); 00030 void StackDelete(dsObj *obj); 00036 Int32 StackPop(dsObj *obj); 00042 void StackPush(dsObj *obj, Int32 value); 00048 Int8 StackIsEmpty(dsObj *obj); 00053 void StackDoEmpty(dsObj *obj); 00059 Int32 StackNElements(dsObj *obj); 00060 00062 #define ListNew StackNew 00063 00064 #define ListDelete StackDelete 00065 00066 #define ListAdd StackPush 00067 00068 #define ListNElements StackNElements 00069 00076 Int32 ListGet(dsObj *obj, Int32 index); 00083 void ListSet(dsObj *obj, Int32 index, Int32 value); 00093 void ListInsert(dsObj *obj, Int32 index, Int32 value); 00100 Int32 ListRemove(dsObj *obj, Int32 index); 00101 00102 #if defined(__cplusplus) 00103 } 00104 #endif 00105 00106 #endif /* _STACK_H_ */