Main Page | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

# dkcQueue.h

Go to the documentation of this file.

    00001
    00007 #ifndef dkutil_c_Queue__h
    00008 #define dkutil_c_Queue__h
    00009
    00010 #include "dkcOSIndependent.h"
    00011 #include "dkcSerialize.h"
    00012
    00016 typedef struct dkc_Queue{
    00018         BYTE *mBuffer;
    00020         size_t mSize;
    00022         size_t mEntrance,mExit;
    00024         size_t mOffsetOf;
    00026         size_t mCounter;
    00027 }DKC_QUEUE;
    00028
    00029
    00030
    00036
    00037 DKC_EXTERN DKC_QUEUE* WINAPI dkcAllocQueue(size_t numof__,size_t offsetof__);
    00043
    00044 DKC_EXTERN int WINAPI dkcFreeQueue(DKC_QUEUE **ptr);
    00045
    00046
    00051 DKC_EXTERN int WINAPI dkcQueuePush(DKC_QUEUE *ptr,const void *);
    00052
    00053 DKC_EXTERN int WINAPI dkcQueueDynamicPush(DKC_QUEUE *ptr,const void *);
    00057 DKC_EXTERN void WINAPI dkcQueuePop(DKC_QUEUE *ptr);
    00058
    00059 DKC_EXTERN int WINAPI dkcQueueTop(DKC_QUEUE *ptr,void *);
    00060
    00061
    00062 DKC_EXTERN size_t WINAPI dkcQueueSize(DKC_QUEUE*ptr);
    00063
    00064 DKC_EXTERN BOOL WINAPI dkcQueueIsEmpty(DKC_QUEUE *ptr);
    00068 DKC_EXTERN void WINAPI dkcQueueClear(DKC_QUEUE *ptr);
    00069
    00070 DKC_EXTERN int WINAPI dkcQueueSerialize(const DKC_QUEUE *ptr,DKC_SERIALIZE *se);
    00071
    00072 DKC_EXTERN DKC_QUEUE* WINAPI dkcAllocQueueDeserialize(DKC_DESERIALIZE *se);
    00073
    00080 DKC_EXTERN int WINAPI dkcQueueGetPoint(const DKC_QUEUE *ptr,size_t point_of__,void *buffer,size_t buffsize);
    00081
    00082 #endif //end of include once