Postfix3.3.1
マクロ定義 | 関数
binhash.c ファイル
#include <sys_defs.h>
#include <string.h>
#include "mymalloc.h"
#include "msg.h"
#include "binhash.h"

[ソースコード]

マクロ定義

#define binhash_link(table, elm)
 
#define KEY_EQ(x, y, l)   (((unsigned char *) x)[0] == ((unsigned char *) y)[0] && memcmp(x,y,l) == 0)
 

関数

BINHASHbinhash_create (ssize_t size)
 
BINHASH_INFObinhash_enter (BINHASH *table, const void *key, ssize_t key_len, void *value)
 
void * binhash_find (BINHASH *table, const void *key, ssize_t key_len)
 
BINHASH_INFObinhash_locate (BINHASH *table, const void *key, ssize_t key_len)
 
void binhash_delete (BINHASH *table, const void *key, ssize_t key_len, void(*free_fn)(void *))
 
void binhash_free (BINHASH *table, void(*free_fn)(void *))
 
void binhash_walk (BINHASH *table, void(*action)(BINHASH_INFO *, void *), void *ptr)
 
BINHASH_INFO ** binhash_list (BINHASH *table)
 

マクロ定義詳解

#define binhash_link (   table,
  elm 
)
値:
{ \
BINHASH_INFO **_h = table->data + binhash_hash(elm->key, elm->key_len, table->size);\
elm->prev = 0; \
if ((elm->next = *_h) != 0) \
(*_h)->prev = elm; \
*_h = elm; \
table->used++; \
}
struct BINHASH_INFO BINHASH_INFO

binhash.c148 行目に定義があります。

#define KEY_EQ (   x,
  y,
 
)    (((unsigned char *) x)[0] == ((unsigned char *) y)[0] && memcmp(x,y,l) == 0)

関数詳解

BINHASH* binhash_create ( ssize_t  size)

binhash.c175 行目に定義があります。

void binhash_delete ( BINHASH table,
const void *  key,
ssize_t  key_len,
void(*)(void *)  free_fn 
)

binhash.c251 行目に定義があります。

BINHASH_INFO* binhash_enter ( BINHASH table,
const void *  key,
ssize_t  key_len,
void *  value 
)

binhash.c207 行目に定義があります。

void* binhash_find ( BINHASH table,
const void *  key,
ssize_t  key_len 
)

binhash.c223 行目に定義があります。

void binhash_free ( BINHASH table,
void(*)(void *)  free_fn 
)

binhash.c279 行目に定義があります。

BINHASH_INFO** binhash_list ( BINHASH table)

binhash.c319 行目に定義があります。

BINHASH_INFO* binhash_locate ( BINHASH table,
const void *  key,
ssize_t  key_len 
)

binhash.c238 行目に定義があります。

void binhash_walk ( BINHASH table,
void(*)(BINHASH_INFO *, void *)  action,
void *  ptr 
)

binhash.c304 行目に定義があります。