bptarea.c File Reference

#include <libc.h>

Defines

#define DEBUG_MISC   (1<<0u)
#define DEBUG_ADD   (1<<1u)
#define DEBUG_MODIFY   (1<<2u)
#define DEBUG_REMOVE   (1<<3u)
#define DEBUG_GET_AREA   (1<<4u)
#define DEBUG   (0)
#define BPTAREA_INTERVAL_SMALLEST   0
#define BPTAREA_INTERVAL_LARGEST   1

Functions

 bpt_make_functions (area_tree, key, value)
void bptarea_dump_node (t_bpt(area_tree)*bpt, t_bpt_imm(area_tree)*node, t_area_uint level)
void bptarea_dump (t_bpt(area_tree)*bpt)
void bptarea_load (t_bpt(area_tree)*bpt, t_bpt_imm(area_tree)*node, t_bpt_node(area_tree) addr)
void bptarea_unload (t_bpt(area_tree)*bpt, t_bpt_imm(area_tree)*node)
t_area_uint bptarea_get_interval (t_bpt(area_tree)*bpt, t_bpt_imm(area_tree)*node, int how)
void bptarea_cb_update_node (t_bpt(area_tree)*bpt, t_bpt_imm(area_tree)*node, t_bpt_node(area_tree) addr, t_area_uint interval)
void bptarea_cb_update (t_bpt(area_tree)*bpt, t_bpt_imm(area_tree)*node)
void bptarea_cb_interval (t_bpt(area_tree)*bpt, t_bpt_imm(area_tree)*node1, t_bpt_ndi(area_tree) ndi)
void bptarea_cb_insert (t_bpt(area_tree)*bpt, t_bpt_cbctx(area_tree)*cbctx)
void bptarea_cb_split (t_bpt(area_tree)*bpt, t_bpt_cbctx(area_tree)*cbctx)
void bptarea_cb_modify (t_bpt(area_tree)*bpt, t_bpt_cbctx(area_tree)*cbctx)
void bptarea_cb_delete (t_bpt(area_tree)*bpt, t_bpt_cbctx(area_tree)*cbctx)
void bptarea_cb_migrate (t_bpt(area_tree)*bpt, t_bpt_cbctx(area_tree)*cbctx)
void bptarea_cb_balance (t_bpt(area_tree)*bpt, t_bpt_cbctx(area_tree)*cbctx)
void bptarea_callback (t_bpt(area_tree)*bpt, t_bpt_cbctx(area_tree)*cbctx)
void bptarea_set_subinit (struct s_area_set *area_set)
t_area_status bptarea_set_add (struct s_area_set *set, t_area **io)
int bptarea_find_colliding_area (t_bpt(area_tree)*bpt, t_bpt_entry(area_tree)*entry, t_bpt_imm(area_tree)*node, t_area_uint blk, int nb_blks)
t_area_status bptarea_set_collide (struct s_area_set *set, t_area_uint blk, int nb_blks)
int bptarea_find_enclosing_area (t_bpt(area_tree)*bpt, t_bpt_entry(area_tree)*entry, t_bpt_imm(area_tree)*node, t_area_uint blk, int nb_blks)
t_area_status bptarea_set_get_area (struct s_area_set *set, t_area_uint blk, int nb_blks, t_area **bptarea)
t_area_status bptarea_set_remove (struct s_area_set *set, t_area **io, int no_alloc)
t_area_status bptarea_set_modify (struct s_area_set *set, t_area **io, int no_alloc)
int bptarea_find_best_interval (t_bpt(area_tree)*bpt, t_bpt_entry(area_tree)*entry, t_bpt_imm(area_tree)*node, t_area_uint interval)
t_area_status bptarea_set_find_space (struct s_area_set *set, int nb_blks, t_area_fit_method fit, u_int32_t fitopts, t_area_uint *blk_returned)
void bptarea_set_dump (t_area_printf_fn printf_fn, struct s_area_set *set, t_area_match_fn match, void *val)
int bptarea_set_foreach (struct s_area_set *set, t_area_foreach_fn foreach, void *val)
t_area_uint bptarea_set_used (struct s_area_set *set, t_area_match_fn match, void *val, int *nb_areas)
int bptarea_set_empty (struct s_area_set *set)
int bptarea_set_add_alloc (struct s_area_set *area_set)
int bptarea_set_add_size (struct s_area_set *area_set)
int bptarea_set_modify_alloc (struct s_area_set *area_set)
int bptarea_set_modify_size (struct s_area_set *area_set)
int bptarea_set_remove_alloc (struct s_area_set *area_set)
int bptarea_set_remove_size (struct s_area_set *area_set)
t_area_status bptarea_set_old_add (struct s_area_set *set, t_area **new, t_area **unused1)
t_area_status bptarea_set_old_remove (struct s_area_set *set, t_area **todel, t_area **unused1, int no_alloc)
t_area_status bptarea_set_old_modify (struct s_area_set *set, t_area **new, t_area **new2, t_area **unused1, t_area **unused2, int no_alloc)
t_area_status bptarea_set_find_coalescible_space (struct s_area_set *set, t_area *ref_bptarea, t_area_fit_method fit, u_int32_t fitopts, t_area_uint *blk_returned)

Define Documentation

#define BPTAREA_INTERVAL_LARGEST   1
 

#define BPTAREA_INTERVAL_SMALLEST   0
 

#define DEBUG   (0)
 

#define DEBUG_ADD   (1<<1u)
 

#define DEBUG_GET_AREA   (1<<4u)
 

#define DEBUG_MISC   (1<<0u)
 

#define DEBUG_MODIFY   (1<<2u)
 

#define DEBUG_REMOVE   (1<<3u)
 


Function Documentation

bpt_make_functions (  area_tree  ,
key  ,
value 
) 
 

void bptarea_callback (  t_bpt(area_tree)*  bpt,
t_bpt_cbctx(area_tree)*  cbctx
) 
 

void bptarea_cb_balance (  t_bpt(area_tree)*  bpt,
t_bpt_cbctx(area_tree)*  cbctx
) 
 

void bptarea_cb_delete (  t_bpt(area_tree)*  bpt,
t_bpt_cbctx(area_tree)*  cbctx
) 
 

void bptarea_cb_insert (  t_bpt(area_tree)*  bpt,
t_bpt_cbctx(area_tree)*  cbctx
) 
 

void bptarea_cb_interval (  t_bpt(area_tree)*  bpt,
t_bpt_imm(area_tree)*  node1,
t_bpt_ndi(area_tree)  ndi
) 
 

void bptarea_cb_migrate (  t_bpt(area_tree)*  bpt,
t_bpt_cbctx(area_tree)*  cbctx
) 
 

void bptarea_cb_modify (  t_bpt(area_tree)*  bpt,
t_bpt_cbctx(area_tree)*  cbctx
) 
 

void bptarea_cb_split (  t_bpt(area_tree)*  bpt,
t_bpt_cbctx(area_tree)*  cbctx
) 
 

void bptarea_cb_update (  t_bpt(area_tree)*  bpt,
t_bpt_imm(area_tree)*  node
) 
 

void bptarea_cb_update_node (  t_bpt(area_tree)*  bpt,
t_bpt_imm(area_tree)*  node,
t_bpt_node(area_tree)  addr,
t_area_uint  interval
) 
 

void bptarea_dump (  t_bpt(area_tree)*  bpt  ) 
 

void bptarea_dump_node (  t_bpt(area_tree)*  bpt,
t_bpt_imm(area_tree)*  node,
t_area_uint  level
) 
 

int bptarea_find_best_interval (  t_bpt(area_tree)*  bpt,
t_bpt_entry(area_tree)*  entry,
t_bpt_imm(area_tree)*  node,
t_area_uint  interval
) 
 

int bptarea_find_colliding_area (  t_bpt(area_tree)*  bpt,
t_bpt_entry(area_tree)*  entry,
t_bpt_imm(area_tree)*  node,
t_area_uint  blk,
int  nb_blks
) 
 

int bptarea_find_enclosing_area (  t_bpt(area_tree)*  bpt,
t_bpt_entry(area_tree)*  entry,
t_bpt_imm(area_tree)*  node,
t_area_uint  blk,
int  nb_blks
) 
 

t_area_uint bptarea_get_interval (  t_bpt(area_tree)*  bpt,
t_bpt_imm(area_tree)*  node,
int  how
) 
 

void bptarea_load (  t_bpt(area_tree)*  bpt,
t_bpt_imm(area_tree)*  node,
t_bpt_node(area_tree)  addr
) 
 

t_area_status bptarea_set_add (  struct s_area_set *  set,
t_area **  io
) 
 

int bptarea_set_add_alloc (  struct s_area_set *  area_set  ) 
 

int bptarea_set_add_size (  struct s_area_set *  area_set  ) 
 

t_area_status bptarea_set_collide (  struct s_area_set *  set,
t_area_uint  blk,
int  nb_blks
) 
 

void bptarea_set_dump (  t_area_printf_fn  printf_fn,
struct s_area_set *  set,
t_area_match_fn  match,
void *  val
) 
 

int bptarea_set_empty (  struct s_area_set *  set  ) 
 

t_area_status bptarea_set_find_coalescible_space (  struct s_area_set *  set,
t_area *  ref_bptarea,
t_area_fit_method  fit,
u_int32_t  fitopts,
t_area_uint *  blk_returned
) 
 

t_area_status bptarea_set_find_space (  struct s_area_set *  set,
int  nb_blks,
t_area_fit_method  fit,
u_int32_t  fitopts,
t_area_uint *  blk_returned
) 
 

int bptarea_set_foreach (  struct s_area_set *  set,
t_area_foreach_fn  foreach,
void *  val
) 
 

t_area_status bptarea_set_get_area (  struct s_area_set *  set,
t_area_uint  blk,
int  nb_blks,
t_area **  bptarea
) 
 

t_area_status bptarea_set_modify (  struct s_area_set *  set,
t_area **  io,
int  no_alloc
) 
 

int bptarea_set_modify_alloc (  struct s_area_set *  area_set  ) 
 

int bptarea_set_modify_size (  struct s_area_set *  area_set  ) 
 

t_area_status bptarea_set_old_add (  struct s_area_set *  set,
t_area **  new,
t_area **  unused1
) 
 

t_area_status bptarea_set_old_modify (  struct s_area_set *  set,
t_area **  new,
t_area **  new2,
t_area **  unused1,
t_area **  unused2,
int  no_alloc
) 
 

t_area_status bptarea_set_old_remove (  struct s_area_set *  set,
t_area **  todel,
t_area **  unused1,
int  no_alloc
) 
 

t_area_status bptarea_set_remove (  struct s_area_set *  set,
t_area **  io,
int  no_alloc
) 
 

int bptarea_set_remove_alloc (  struct s_area_set *  area_set  ) 
 

int bptarea_set_remove_size (  struct s_area_set *  area_set  ) 
 

void bptarea_set_subinit (  struct s_area_set *  area_set  ) 
 

t_area_uint bptarea_set_used (  struct s_area_set *  set,
t_area_match_fn  match,
void *  val,
int *  nb_areas
) 
 

void bptarea_unload (  t_bpt(area_tree)*  bpt,
t_bpt_imm(area_tree)*  node
) 
 


Generated on Wed May 24 23:05:53 2006 for LSE/OS by  doxygen 1.4.6