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

[ソースコード]

マクロ定義

#define htable_link(table, element)
 
#define STREQ(x, y)   (x == y || (x[0] == y[0] && strcmp(x,y) == 0))
 
#define STREQ(x, y)   (x == y || (x[0] == y[0] && strcmp(x,y) == 0))
 
#define STREQ(x, y)   (x == y || (x[0] == y[0] && strcmp(x,y) == 0))
 

関数

HTABLEhtable_create (ssize_t size)
 
HTABLE_INFOhtable_enter (HTABLE *table, const char *key, void *value)
 
void * htable_find (HTABLE *table, const char *key)
 
HTABLE_INFOhtable_locate (HTABLE *table, const char *key)
 
void htable_delete (HTABLE *table, const char *key, void(*free_fn)(void *))
 
void htable_free (HTABLE *table, void(*free_fn)(void *))
 
void htable_walk (HTABLE *table, void(*action)(HTABLE_INFO *, void *), void *ptr)
 
HTABLE_INFO ** htable_list (HTABLE *table)
 
HTABLE_INFOhtable_sequence (HTABLE *table, int how)
 

マクロ定義詳解

#define htable_link (   table,
  element 
)
値:
{ \
HTABLE_INFO **_h = table->data + htable_hash(element->key, table->size);\
element->prev = 0; \
if ((element->next = *_h) != 0) \
(*_h)->prev = element; \
*_h = element; \
table->used++; \
}
struct HTABLE_INFO HTABLE_INFO

htable.c152 行目に定義があります。

#define STREQ (   x,
 
)    (x == y || (x[0] == y[0] && strcmp(x,y) == 0))
#define STREQ (   x,
 
)    (x == y || (x[0] == y[0] && strcmp(x,y) == 0))
#define STREQ (   x,
 
)    (x == y || (x[0] == y[0] && strcmp(x,y) == 0))

関数詳解

HTABLE* htable_create ( ssize_t  size)

htable.c179 行目に定義があります。

void htable_delete ( HTABLE table,
const char *  key,
void(*)(void *)  free_fn 
)

htable.c257 行目に定義があります。

HTABLE_INFO* htable_enter ( HTABLE table,
const char *  key,
void *  value 
)

htable.c212 行目に定義があります。

void* htable_find ( HTABLE table,
const char *  key 
)

htable.c227 行目に定義があります。

void htable_free ( HTABLE table,
void(*)(void *)  free_fn 
)

htable.c287 行目に定義があります。

HTABLE_INFO** htable_list ( HTABLE table)

htable.c330 行目に定義があります。

HTABLE_INFO* htable_locate ( HTABLE table,
const char *  key 
)

htable.c242 行目に定義があります。

HTABLE_INFO* htable_sequence ( HTABLE table,
int  how 
)

htable.c351 行目に定義があります。

void htable_walk ( HTABLE table,
void(*)(HTABLE_INFO *, void *)  action,
void *  ptr 
)

htable.c315 行目に定義があります。