OpenSSL  1.0.1c
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros
Classes | Macros | Typedefs | Functions
lhash.h File Reference
#include <openssl/e_os2.h>
#include <stdio.h>
#include <openssl/bio.h>

Go to the source code of this file.

Classes

struct  lhash_node_st
 
struct  lhash_st
 

Macros

#define DECLARE_LHASH_HASH_FN(name, o_type)   unsigned long name##_LHASH_HASH(const void *);
 
#define IMPLEMENT_LHASH_HASH_FN(name, o_type)
 
#define LHASH_HASH_FN(name)   name##_LHASH_HASH
 
#define DECLARE_LHASH_COMP_FN(name, o_type)   int name##_LHASH_COMP(const void *, const void *);
 
#define IMPLEMENT_LHASH_COMP_FN(name, o_type)
 
#define LHASH_COMP_FN(name)   name##_LHASH_COMP
 
#define DECLARE_LHASH_DOALL_FN(name, o_type)   void name##_LHASH_DOALL(void *);
 
#define IMPLEMENT_LHASH_DOALL_FN(name, o_type)
 
#define LHASH_DOALL_FN(name)   name##_LHASH_DOALL
 
#define DECLARE_LHASH_DOALL_ARG_FN(name, o_type, a_type)   void name##_LHASH_DOALL_ARG(void *, void *);
 
#define IMPLEMENT_LHASH_DOALL_ARG_FN(name, o_type, a_type)
 
#define LHASH_DOALL_ARG_FN(name)   name##_LHASH_DOALL_ARG
 
#define LH_LOAD_MULT   256
 
#define lh_error(lh)   ((lh)->error)
 
#define LHASH_OF(type)   struct lhash_st_##type
 
#define DECLARE_LHASH_OF(type)   LHASH_OF(type) { int dummy; }
 
#define CHECKED_LHASH_OF(type, lh)   ((_LHASH *)CHECKED_PTR_OF(LHASH_OF(type),lh))
 
#define LHM_lh_new(type, name)   ((LHASH_OF(type) *)lh_new(LHASH_HASH_FN(name), LHASH_COMP_FN(name)))
 
#define LHM_lh_error(type, lh)   lh_error(CHECKED_LHASH_OF(type,lh))
 
#define LHM_lh_insert(type, lh, inst)
 
#define LHM_lh_retrieve(type, lh, inst)
 
#define LHM_lh_delete(type, lh, inst)
 
#define LHM_lh_doall(type, lh, fn)   lh_doall(CHECKED_LHASH_OF(type, lh), fn)
 
#define LHM_lh_doall_arg(type, lh, fn, arg_type, arg)   lh_doall_arg(CHECKED_LHASH_OF(type, lh), fn, CHECKED_PTR_OF(arg_type, arg))
 
#define LHM_lh_num_items(type, lh)   lh_num_items(CHECKED_LHASH_OF(type, lh))
 
#define LHM_lh_down_load(type, lh)   (CHECKED_LHASH_OF(type, lh)->down_load)
 
#define LHM_lh_node_stats_bio(type, lh, out)   lh_node_stats_bio(CHECKED_LHASH_OF(type, lh), out)
 
#define LHM_lh_node_usage_stats_bio(type, lh, out)   lh_node_usage_stats_bio(CHECKED_LHASH_OF(type, lh), out)
 
#define LHM_lh_stats_bio(type, lh, out)   lh_stats_bio(CHECKED_LHASH_OF(type, lh), out)
 
#define LHM_lh_free(type, lh)   lh_free(CHECKED_LHASH_OF(type, lh))
 

Typedefs

typedef struct lhash_node_st LHASH_NODE
 
typedef int(* LHASH_COMP_FN_TYPE )(const void *, const void *)
 
typedef unsigned long(* LHASH_HASH_FN_TYPE )(const void *)
 
typedef void(* LHASH_DOALL_FN_TYPE )(void *)
 
typedef void(* LHASH_DOALL_ARG_FN_TYPE )(void *, void *)
 
typedef struct lhash_st _LHASH
 

Functions

_LHASHlh_new (LHASH_HASH_FN_TYPE h, LHASH_COMP_FN_TYPE c)
 
void lh_free (_LHASH *lh)
 
voidlh_insert (_LHASH *lh, void *data)
 
voidlh_delete (_LHASH *lh, const void *data)
 
voidlh_retrieve (_LHASH *lh, const void *data)
 
void lh_doall (_LHASH *lh, LHASH_DOALL_FN_TYPE func)
 
void lh_doall_arg (_LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg)
 
unsigned long lh_strhash (const char *c)
 
unsigned long lh_num_items (const _LHASH *lh)
 
void lh_stats (const _LHASH *lh, FILE *out)
 
void lh_node_stats (const _LHASH *lh, FILE *out)
 
void lh_node_usage_stats (const _LHASH *lh, FILE *out)
 
void lh_stats_bio (const _LHASH *lh, BIO *out)
 
void lh_node_stats_bio (const _LHASH *lh, BIO *out)
 
void lh_node_usage_stats_bio (const _LHASH *lh, BIO *out)
 
 DECLARE_LHASH_OF (OPENSSL_STRING)
 
 DECLARE_LHASH_OF (OPENSSL_CSTRING)
 

Macro Definition Documentation

#define CHECKED_LHASH_OF (   type,
  lh 
)    ((_LHASH *)CHECKED_PTR_OF(LHASH_OF(type),lh))

Definition at line 203 of file lhash.h.

#define DECLARE_LHASH_COMP_FN (   name,
  o_type 
)    int name##_LHASH_COMP(const void *, const void *);

Definition at line 110 of file lhash.h.

#define DECLARE_LHASH_DOALL_ARG_FN (   name,
  o_type,
  a_type 
)    void name##_LHASH_DOALL_ARG(void *, void *);

Definition at line 129 of file lhash.h.

#define DECLARE_LHASH_DOALL_FN (   name,
  o_type 
)    void name##_LHASH_DOALL(void *);

Definition at line 120 of file lhash.h.

#define DECLARE_LHASH_HASH_FN (   name,
  o_type 
)    unsigned long name##_LHASH_HASH(const void *);

Definition at line 101 of file lhash.h.

#define DECLARE_LHASH_OF (   type)    LHASH_OF(type) { int dummy; }

Definition at line 201 of file lhash.h.

#define IMPLEMENT_LHASH_COMP_FN (   name,
  o_type 
)
Value:
int name##_LHASH_COMP(const void *arg1, const void *arg2) { \
const o_type *a = arg1; \
const o_type *b = arg2; \
return name##_cmp(a,b); }

Definition at line 112 of file lhash.h.

#define IMPLEMENT_LHASH_DOALL_ARG_FN (   name,
  o_type,
  a_type 
)
Value:
void name##_LHASH_DOALL_ARG(void *arg1, void *arg2) { \
o_type *a = arg1; \
a_type *b = arg2; \
name##_doall_arg(a, b); }

Definition at line 131 of file lhash.h.

#define IMPLEMENT_LHASH_DOALL_FN (   name,
  o_type 
)
Value:
void name##_LHASH_DOALL(void *arg) { \
o_type *a = arg; \
name##_doall(a); }

Definition at line 122 of file lhash.h.

#define IMPLEMENT_LHASH_HASH_FN (   name,
  o_type 
)
Value:
unsigned long name##_LHASH_HASH(const void *arg) { \
const o_type *a = arg; \
return name##_hash(a); }

Definition at line 103 of file lhash.h.

#define lh_error (   lh)    ((lh)->error)

Definition at line 173 of file lhash.h.

#define LH_LOAD_MULT   256

Definition at line 169 of file lhash.h.

#define LHASH_COMP_FN (   name)    name##_LHASH_COMP

Definition at line 117 of file lhash.h.

#define LHASH_DOALL_ARG_FN (   name)    name##_LHASH_DOALL_ARG

Definition at line 136 of file lhash.h.

#define LHASH_DOALL_FN (   name)    name##_LHASH_DOALL

Definition at line 126 of file lhash.h.

#define LHASH_HASH_FN (   name)    name##_LHASH_HASH

Definition at line 107 of file lhash.h.

#define LHASH_OF (   type)    struct lhash_st_##type

Definition at line 199 of file lhash.h.

#define LHM_lh_delete (   type,
  lh,
  inst 
)
Value:
CHECKED_PTR_OF(type, inst)))

Definition at line 217 of file lhash.h.

#define LHM_lh_doall (   type,
  lh,
  fn 
)    lh_doall(CHECKED_LHASH_OF(type, lh), fn)

Definition at line 220 of file lhash.h.

#define LHM_lh_doall_arg (   type,
  lh,
  fn,
  arg_type,
  arg 
)    lh_doall_arg(CHECKED_LHASH_OF(type, lh), fn, CHECKED_PTR_OF(arg_type, arg))

Definition at line 221 of file lhash.h.

#define LHM_lh_down_load (   type,
  lh 
)    (CHECKED_LHASH_OF(type, lh)->down_load)

Definition at line 224 of file lhash.h.

#define LHM_lh_error (   type,
  lh 
)    lh_error(CHECKED_LHASH_OF(type,lh))

Definition at line 209 of file lhash.h.

#define LHM_lh_free (   type,
  lh 
)    lh_free(CHECKED_LHASH_OF(type, lh))

Definition at line 231 of file lhash.h.

#define LHM_lh_insert (   type,
  lh,
  inst 
)
Value:
CHECKED_PTR_OF(type, inst)))

Definition at line 211 of file lhash.h.

#define LHM_lh_new (   type,
  name 
)    ((LHASH_OF(type) *)lh_new(LHASH_HASH_FN(name), LHASH_COMP_FN(name)))

Definition at line 207 of file lhash.h.

#define LHM_lh_node_stats_bio (   type,
  lh,
  out 
)    lh_node_stats_bio(CHECKED_LHASH_OF(type, lh), out)

Definition at line 225 of file lhash.h.

#define LHM_lh_node_usage_stats_bio (   type,
  lh,
  out 
)    lh_node_usage_stats_bio(CHECKED_LHASH_OF(type, lh), out)

Definition at line 227 of file lhash.h.

#define LHM_lh_num_items (   type,
  lh 
)    lh_num_items(CHECKED_LHASH_OF(type, lh))

Definition at line 223 of file lhash.h.

#define LHM_lh_retrieve (   type,
  lh,
  inst 
)
Value:
CHECKED_PTR_OF(type, inst)))

Definition at line 214 of file lhash.h.

#define LHM_lh_stats_bio (   type,
  lh,
  out 
)    lh_stats_bio(CHECKED_LHASH_OF(type, lh), out)

Definition at line 229 of file lhash.h.

Typedef Documentation

typedef struct lhash_st _LHASH
typedef int(* LHASH_COMP_FN_TYPE)(const void *, const void *)

Definition at line 88 of file lhash.h.

typedef void(* LHASH_DOALL_ARG_FN_TYPE)(void *, void *)

Definition at line 91 of file lhash.h.

typedef void(* LHASH_DOALL_FN_TYPE)(void *)

Definition at line 90 of file lhash.h.

typedef unsigned long(* LHASH_HASH_FN_TYPE)(const void *)

Definition at line 89 of file lhash.h.

typedef struct lhash_node_st LHASH_NODE

Function Documentation

DECLARE_LHASH_OF ( OPENSSL_STRING  )
DECLARE_LHASH_OF ( OPENSSL_CSTRING  )
void* lh_delete ( _LHASH lh,
const void data 
)

Definition at line 217 of file lhash.c.

void lh_doall ( _LHASH lh,
LHASH_DOALL_FN_TYPE  func 
)

Definition at line 300 of file lhash.c.

void lh_doall_arg ( _LHASH lh,
LHASH_DOALL_ARG_FN_TYPE  func,
void arg 
)

Definition at line 305 of file lhash.c.

void lh_free ( _LHASH lh)

Definition at line 157 of file lhash.c.

void* lh_insert ( _LHASH lh,
void data 
)

Definition at line 179 of file lhash.c.

Definition at line 114 of file lhash.c.

void lh_node_stats ( const _LHASH lh,
FILE *  out 
)

Definition at line 154 of file lh_stats.c.

void lh_node_stats_bio ( const _LHASH lh,
BIO out 
)

Definition at line 208 of file lh_stats.c.

void lh_node_usage_stats ( const _LHASH lh,
FILE *  out 
)

Definition at line 166 of file lh_stats.c.

void lh_node_usage_stats_bio ( const _LHASH lh,
BIO out 
)

Definition at line 221 of file lh_stats.c.

unsigned long lh_num_items ( const _LHASH lh)

Definition at line 472 of file lhash.c.

void* lh_retrieve ( _LHASH lh,
const void data 
)

Definition at line 248 of file lhash.c.

void lh_stats ( const _LHASH lh,
FILE *  out 
)

Definition at line 142 of file lh_stats.c.

void lh_stats_bio ( const _LHASH lh,
BIO out 
)

Definition at line 180 of file lh_stats.c.

unsigned long lh_strhash ( const char *  c)

Definition at line 443 of file lhash.c.