00001
00014 #ifndef dkutil_c_2Tree__h
00015 #define dkutil_c_2Tree__h
00016
00017 #include "dkcOSIndependent.h"
00018
00019 #if 0
00020
00027 typedef struct dkc_2Tree{
00029 struct dkc_2Tree *mRight,*mLeft;
00030 BYTE *mBuff;
00031 size_t mSize;
00032 int mKey;
00033 }DKC_2TREE;
00034
00035 typedef struct dkc_2TreeRoot{
00036 DKC_2TREE *mTree;
00037 DKC_2TREE *mSentinel;
00038 }DKC_2TREEROOT;
00039
00040
00042 DKC_EXTERN BOOL WINAPI dkc2TreeIsSentinel(const DKC_2TREE *ptr);
00043
00050
00051 DKC_EXTERN DKC_2TREEROOT * WINAPI dkcAlloc2TreeRoot(int Key,const void *data,size_t size);
00059
00060 DKC_EXTERN int WINAPI dkcFree2TreeRoot(DKC_2TREEROOT **ptr);
00061
00062
00065
00066 DKC_EXTERN int WINAPI dkc2TreeInsert(DKC_2TREEROOT *ptr,int Key,const void *data,size_t size);
00067
00075 DKC_EXTERN int WINAPI dkc2TreeChain(DKC_2TREEROOT *dest,DKC_2TREEROOT *src);
00076
00080 DKC_EXTERN int WINAPI dkc2TreeErase(DKC_2TREEROOT *ptr,int Key);
00085 DKC_EXTERN DKC_2TREE * WINAPI dkc2TreeSearch(DKC_2TREEROOT *ptr,int Key);
00088
00089 DKC_EXTERN int WINAPI dkc2TreeGetBuffer(DKC_2TREE *ptr,void *data,size_t size);
00094 DKC_EXTERN int WINAPI dkc2TreeSetBuffer(DKC_2TREE *ptr,void *data,size_t size);
00095
00096
00097
00098
00099
00100
00101 #endif //end of if 0
00102 #endif //end of include once