44 #ifdef __GNU_LesserG__
57 #define XB_INLINE_GETDBFNO
59 #define XB_NDX_NODE_BASESIZE 24 // size of base header data
61 #define XB_VAR_NODESIZE // define to enable variable node sizes
63 #ifndef XB_VAR_NODESIZE
64 #define XB_NDX_NODE_SIZE 2048
67 #define XB_DEFAULT_NDX_NODE_SIZE 512
68 #define XB_MAX_NDX_NODE_SIZE 4096
69 #define XB_NDX_NODE_SIZE NodeSize
70 #define XB_NDX_NODE_MULTIPLE 512
71 #endif // XB_VAR_NODESIZE
89 #ifndef XB_VAR_NODESIZE
93 #endif // XB_VAR_NODESIZE
102 #ifndef XB_VAR_NODESIZE
106 #endif // XB_VAR_NODESIZE
149 void DumpHdrNode(
xbShort Option );
150 void DumpNodeRec(
xbLong NodeNo );
151 void DumpNodeChain();
190 #ifndef XB_VAR_NODESIZE
194 #endif // XB_VAR_NODESIZE
215 if(!( Key1 && Key2 ))
return -1;
217 if( Klen > HeadNode.KeyLen ) Klen = HeadNode.KeyLen;
219 if( HeadNode.KeyType == 0 )
221 c = memcmp(Key1, Key2, Klen);
230 d1 = dbf->xbase->GetDouble( Key1 );
231 d2 = dbf->xbase->GetDouble( Key2 );
232 if( d1 == d2 )
return 0;
233 else if( d1 > d2 )
return 1;
238 #ifndef XB_INLINE_GETDBFNO
252 p += RecNo * ( 8 + HeadNode.KeyLen );
253 return( dbf->xbase->GetLong( p ));
264 xbLong GetLeafFromInteriorNode(
const char *Tkey,
xbShort Klen );
284 void ProcessDeleteList();