hiballoc_entry
RBT_ENTRY(hiballoc_entry) hibe_entry;
hibe_cmp(const struct hiballoc_entry *l, const struct hiballoc_entry *r)
RBT_PROTOTYPE(hiballoc_addr, hiballoc_entry, hibe_entry, hibe_cmp)
hib_entry_to_addr(struct hiballoc_entry *entry)
addr += HIB_SIZEOF(struct hiballoc_entry);
static __inline struct hiballoc_entry*
addr -= HIB_SIZEOF(struct hiballoc_entry);
return (struct hiballoc_entry*)addr;
RBT_GENERATE(hiballoc_addr, hiballoc_entry, hibe_entry, hibe_cmp);
struct hiballoc_entry *entry, *new_entry;
find_sz = alloc_sz + HIB_SIZEOF(struct hiballoc_entry);
new_entry = (struct hiballoc_entry*)(
struct hiballoc_entry *entry, *prev;
(void *)((caddr_t)prev + HIB_SIZEOF(struct hiballoc_entry) +
prev->hibe_space += HIB_SIZEOF(struct hiballoc_entry) +
struct hiballoc_entry *entry;
if (len <= HIB_SIZEOF(struct hiballoc_entry))
entry = (struct hiballoc_entry*)ptr;
entry->hibe_space = len - HIB_SIZEOF(struct hiballoc_entry);
struct hiballoc_entry;
RBT_HEAD(hiballoc_addr, hiballoc_entry) hib_addrs;