libmove3d
3.13.0
|
00001 #ifndef LIST_INCLUDE 00002 #define LIST_INCLUDE 1 00003 00004 #ifndef SYS_INCLUDE 00005 #include "p3d_sys.h" 00006 #endif 00007 00008 /************************************************************************/ 00009 00010 typedef struct listnode listnode; 00011 typedef listnode *List; 00012 00013 struct listnode { 00014 int *data; 00015 struct listnode *prev, *next; 00016 }LIST_NODE; 00017 00018 #define L_FIRST(L) ((L) ? L_NEXT(L) : NULL) 00019 #define L_NEXT(L) ((L)->next) 00020 #define L_PREV(L) ((L)->prev) 00021 #define LISTDATA(type,L) ((type *)((L)->data)) 00022 00023 00024 /* extern int CLTraverse(); */ 00025 /* extern void CLAppend(); */ 00026 /* extern void CLInsert(); */ 00027 /* extern void CLDeleteNode(); */ 00028 /* extern int CLDeleteData(); */ 00029 /* extern void CLKill(); */ 00030 /* extern void CLAddData(); */ 00031 /* extern List CLFindNode(); */ 00032 /* extern PtrI CLFindData(); */ 00033 /* extern List CLIterator(); */ 00034 /* extern void CLSort(); */ 00035 /* extern int CLLength(); */ 00036 00037 #include "list_proto.h" 00038 /* Profiler */ 00039 /* #include "Init.prof.h" */ 00040 #endif 00041