00001 00005 #ifndef DKUTIL_C_DEQUE_H 00006 #define DKUTIL_C_DEQUE_H 00007 00008 #include "dkcOSIndependent.h" 00009 00010 00014 typedef struct dkc_Deque{ 00016 BYTE *mBuffer; 00018 size_t mSize; 00020 size_t mOffsetOf; 00022 size_t mStart,mEnd; 00024 size_t mCount; 00025 }DKC_DEQUE; 00026 00027 00033 00034 DKC_EXTERN DKC_DEQUE* WINAPI dkcAllocDeque(size_t numof__,size_t offsetof__); 00038 DKC_EXTERN int WINAPI dkcFreeDeque(DKC_DEQUE **ptr); 00039 00040 00045 DKC_EXTERN int WINAPI dkcDequePushBack(DKC_DEQUE *ptr,const void *); 00049 DKC_EXTERN int WINAPI dkcDequePopBack(DKC_DEQUE *ptr,void *); 00050 00051 DKC_EXTERN int WINAPI dkcDequePushFront(DKC_DEQUE *ptr,const void *); 00055 DKC_EXTERN int WINAPI dkcDequePopFront(DKC_DEQUE *ptr,void *); 00059 DKC_EXTERN void WINAPI dkcDequeClear(DKC_DEQUE *ptr); 00060 00061 00068 DKC_EXTERN int WINAPI dkcDequeGetPoint(const DKC_DEQUE *ptr,size_t point_of__,void *buffer,size_t buffsize); 00069 00070 00071 00072 00073 #endif //end of include once