Main Page | Class List | Directories | File List | Class Members | File Members

block_alloc_h.h File Reference

Go to the source code of this file.

Defines

#define PIKE_HASH_T   size_t
#define BLOCK_ALLOC(DATA, SIZE)
#define PTR_HASH_ALLOC(DATA, BSIZE)
#define PTR_HASH_ALLOC_FIXED(DATA, BSIZE)   PTR_HASH_ALLOC(DATA,BSIZE)
#define BLOCK_ALLOC_FILL_PAGES(DATA, PAGES)   BLOCK_ALLOC(DATA, n/a)
#define PTR_HASH_ALLOC_FILL_PAGES(DATA, PAGES)   PTR_HASH_ALLOC(DATA, n/a)
#define PTR_HASH_ALLOC_FIXED_FILL_PAGES(DATA, PAGES)   PTR_HASH_ALLOC_FIXED(DATA, n/a)
#define PTR_HASH_LOOP(DATA, HVAL, PTR)
#define BLOCK_ALLOC_NEXT   next
#define PTR_HASH_ALLOC_DATA   data


Define Documentation

#define BLOCK_ALLOC DATA,
SIZE   ) 
 

Value:

struct DATA *PIKE_CONCAT(alloc_,DATA)(void);                            \
void PIKE_CONCAT3(new_,DATA,_context)(void);                            \
void PIKE_CONCAT3(really_free_,DATA,_unlocked)(struct DATA *d);         \
void PIKE_CONCAT(really_free_,DATA)(struct DATA *d);                    \
void PIKE_CONCAT3(free_all_,DATA,_blocks)(void);                        \
void PIKE_CONCAT3(count_memory_in_,DATA,s)(INT32 *num, INT32 *size);    \
void PIKE_CONCAT3(init_,DATA,_blocks)(void)

#define BLOCK_ALLOC_FILL_PAGES DATA,
PAGES   )     BLOCK_ALLOC(DATA, n/a)
 

#define BLOCK_ALLOC_NEXT   next
 

#define PIKE_HASH_T   size_t
 

#define PTR_HASH_ALLOC DATA,
BSIZE   ) 
 

Value:

BLOCK_ALLOC(DATA,BSIZE);                                        \
extern struct DATA **PIKE_CONCAT(DATA,_hash_table);             \
extern size_t PIKE_CONCAT(DATA,_hash_table_size);               \
struct DATA *PIKE_CONCAT(find_,DATA)(void *ptr);                \
struct DATA *PIKE_CONCAT3(make_,DATA,_unlocked)                 \
                (void *ptr, PIKE_HASH_T hval);                  \
struct DATA *PIKE_CONCAT(make_,DATA)(void *ptr);                \
struct DATA *PIKE_CONCAT(get_,DATA)(void *ptr);                 \
int PIKE_CONCAT3(check_,DATA,_semafore)(void *ptr);             \
void PIKE_CONCAT(move_,DATA)(struct DATA *block, void *new_ptr); \
int PIKE_CONCAT(remove_,DATA)(void *ptr);                       \
void PIKE_CONCAT3(low_init_,DATA,_hash)(size_t);                \
void PIKE_CONCAT3(init_,DATA,_hash)(void);                      \
void PIKE_CONCAT3(exit_,DATA,_hash)(void)

#define PTR_HASH_ALLOC_DATA   data
 

#define PTR_HASH_ALLOC_FILL_PAGES DATA,
PAGES   )     PTR_HASH_ALLOC(DATA, n/a)
 

#define PTR_HASH_ALLOC_FIXED DATA,
BSIZE   )     PTR_HASH_ALLOC(DATA,BSIZE)
 

#define PTR_HASH_ALLOC_FIXED_FILL_PAGES DATA,
PAGES   )     PTR_HASH_ALLOC_FIXED(DATA, n/a)
 

#define PTR_HASH_LOOP DATA,
HVAL,
PTR   ) 
 

Value:

for ((HVAL) = (PIKE_HASH_T)PIKE_CONCAT(DATA,_hash_table_size); (HVAL)-- > 0;)   \
    for ((PTR) = PIKE_CONCAT(DATA,_hash_table)[HVAL];                   \
         (PTR); (PTR) = (PTR)->BLOCK_ALLOC_NEXT)


Generated on Fri Jul 22 23:44:28 2005 for Pike by  doxygen 1.3.9.1