X-Git-Url: http://git.buserror.net/cgi-bin/gitweb.cgi?p=polintos%2Fscott%2Fpriv.git;a=blobdiff_plain;f=kernel%2Finclude%2Fkern%2Forb.h;h=e420fc77e11f72e10597797808a6146b36288f49;hp=dc832c385c1566d0e8122c389408eea6e1d1522b;hb=0c52a8435aa399781856869daa7ef30cef14fad5;hpb=b4bfc871337ca32ce83407916a87db2524729ca9 diff --git a/kernel/include/kern/orb.h b/kernel/include/kern/orb.h index dc832c3..e420fc7 100644 --- a/kernel/include/kern/orb.h +++ b/kernel/include/kern/orb.h @@ -2,6 +2,7 @@ #define _KERN_ORB_H #include +#include #include #include @@ -54,11 +55,11 @@ namespace ORB { struct ObjectHdr; struct Object; - typedef Util::RBTree IDRMap; + typedef u32 ID; + typedef Util::RadixTree IDRMap; struct ObjectHdr { - IDRMap::Node rbtree_node; - u32 id; + ID id; union { struct { @@ -80,11 +81,11 @@ namespace ORB { class IDSpace { // Reverse mapping of object pointers to local IDs - IDRMap id_rmap; + IDRMap idrmap; public: Object *lookup(u32 id); - u32 rlookup(Object *obj); + ObjectHdr *get_local_hdr(Object *obj); }; }