diff --git a/btree.h b/btree.h index 206410e..2164e3e 100644 --- a/btree.h +++ b/btree.h @@ -5,10 +5,33 @@ enum treeTypes { BT_CUSTOM, BT_PCHAR, BT_STRING, BT_SINGLE, BT_DOUBLE, BT_INT32, BT_INT64 }; -struct TBlockRun { +typedef struct blockRun_t { int32 AG; uInt16 start; uInt16 len; -}; +} __attribute__((__packed__)); + +typedef blockRun_t inodeAddr; + +typedef union { + int32 i; + uInt32 u; + float f; + double d; + void * p; + inodeAddr iAddr; + int64 offset; +} uPtr; + +typedef struct bNodeData_t { + uPtr link; + union { + char str[1]; + float f; + double d; + int32 i; + int64 x; + } key; +} __attribute__((__packed__)); #endif