00001
00069 #ifndef INC_MI32_BTREEFUN_H
00070 #define INC_MI32_BTREEFUN_H
00071
00072 #ifndef INC_MI32_STDDEFNS_H
00073 #include <mi32/stddefns.h>
00074 #endif
00075
00076 #ifdef GEOMDLL
00077 #define GEOMLIBEXPORT MI_DLLEXPORT
00078 #else
00079 #define GEOMLIBEXPORT MI_DLLIMPORT
00080 #endif
00081
00082
00084
00085
00088
00092 typedef int (*BTreeTestFunc) (
00093 const void *,
00094 const void *,
00095 void *
00096 );
00097
00099 typedef int (*BTreeDumpFunc)(
00100 void *data,
00101 INT32 *tagnum,
00102 void *userdata
00103 );
00104
00105 #if defined(__cplusplus)
00106 extern "C" {
00107 #endif
00108
00111 GEOMLIBEXPORT void *BTreeAlloc (
00112 int numitems,
00113 int datasize,
00114 BTreeTestFunc testfunc,
00115 void *userdata
00116 );
00117
00119 GEOMLIBEXPORT int BTreeClear (
00120 void *tree
00121 );
00122
00126 GEOMLIBEXPORT int BTreeDumpT (
00127 void *tree,
00128 BTreeDumpFunc,
00129 void *userdata
00130 );
00131
00134 GEOMLIBEXPORT INT32 BTreeFindKey (
00135 void *tree,
00136 void *data,
00137 INT32 tagnum,
00138 int *add
00139 );
00140
00142 GEOMLIBEXPORT int BTreeFree (
00143 void *tree
00144 );
00145
00147 GEOMLIBEXPORT void* BTreeGetUserData (
00148 void *tree
00149 );
00150
00155 GEOMLIBEXPORT INT32 BTreeSearchKey (
00156 void *tree,
00157 void *data
00158 );
00159
00160 #if defined(__cplusplus)
00161 }
00162 #endif
00163
00165
00166 #endif