lhash.h File Reference

#include <openssl/e_os2.h>
#include <stdio.h>
#include <openssl/bio.h>

Go to the source code of this file.

Data Structures

struct  lhash_node_st
struct  lhash_st

Defines

#define DECLARE_LHASH_HASH_FN(f_name, o_type)   unsigned long f_name##_LHASH_HASH(const void *);
#define IMPLEMENT_LHASH_HASH_FN(f_name, o_type)
#define LHASH_HASH_FN(f_name)   f_name##_LHASH_HASH
#define DECLARE_LHASH_COMP_FN(f_name, o_type)   int f_name##_LHASH_COMP(const void *, const void *);
#define IMPLEMENT_LHASH_COMP_FN(f_name, o_type)
#define LHASH_COMP_FN(f_name)   f_name##_LHASH_COMP
#define DECLARE_LHASH_DOALL_FN(f_name, o_type)   void f_name##_LHASH_DOALL(void *);
#define IMPLEMENT_LHASH_DOALL_FN(f_name, o_type)
#define LHASH_DOALL_FN(f_name)   f_name##_LHASH_DOALL
#define DECLARE_LHASH_DOALL_ARG_FN(f_name, o_type, a_type)   void f_name##_LHASH_DOALL_ARG(void *, void *);
#define IMPLEMENT_LHASH_DOALL_ARG_FN(f_name, o_type, a_type)
#define LHASH_DOALL_ARG_FN(f_name)   f_name##_LHASH_DOALL_ARG
#define LH_LOAD_MULT   256
#define lh_error(lh)   ((lh)->error)

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)
void * lh_insert (LHASH *lh, void *data)
void * lh_delete (LHASH *lh, const void *data)
void * lh_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)


Define Documentation

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

Definition at line 110 of file lhash.h.

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

Definition at line 129 of file lhash.h.

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

Definition at line 120 of file lhash.h.

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

Definition at line 101 of file lhash.h.

#define IMPLEMENT_LHASH_COMP_FN ( f_name,
o_type   ) 

Value:

int f_name##_LHASH_COMP(const void *arg1, const void *arg2) { \
      o_type a = (o_type)arg1; \
      o_type b = (o_type)arg2; \
      return f_name(a,b); }

Definition at line 112 of file lhash.h.

#define IMPLEMENT_LHASH_DOALL_ARG_FN ( f_name,
o_type,
a_type   ) 

Value:

void f_name##_LHASH_DOALL_ARG(void *arg1, void *arg2) { \
      o_type a = (o_type)arg1; \
      a_type b = (a_type)arg2; \
      f_name(a,b); }

Definition at line 131 of file lhash.h.

#define IMPLEMENT_LHASH_DOALL_FN ( f_name,
o_type   ) 

Value:

void f_name##_LHASH_DOALL(void *arg) { \
      o_type a = (o_type)arg; \
      f_name(a); }

Definition at line 122 of file lhash.h.

#define IMPLEMENT_LHASH_HASH_FN ( f_name,
o_type   ) 

Value:

unsigned long f_name##_LHASH_HASH(const void *arg) { \
      o_type a = (o_type)arg; \
      return f_name(a); }

Definition at line 103 of file lhash.h.

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

Definition at line 172 of file lhash.h.

#define LH_LOAD_MULT   256

Definition at line 168 of file lhash.h.

#define LHASH_COMP_FN ( f_name   )     f_name##_LHASH_COMP

Definition at line 117 of file lhash.h.

#define LHASH_DOALL_ARG_FN ( f_name   )     f_name##_LHASH_DOALL_ARG

Definition at line 136 of file lhash.h.

#define LHASH_DOALL_FN ( f_name   )     f_name##_LHASH_DOALL

Definition at line 126 of file lhash.h.

#define LHASH_HASH_FN ( f_name   )     f_name##_LHASH_HASH

Definition at line 107 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

void* lh_delete ( 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 
)

void lh_free ( LHASH lh  ) 

void* lh_insert ( LHASH lh,
void *  data 
)

void lh_node_stats ( const LHASH lh,
FILE *  out 
)

void lh_node_stats_bio ( const LHASH lh,
BIO out 
)

void lh_node_usage_stats ( const LHASH lh,
FILE *  out 
)

void lh_node_usage_stats_bio ( const LHASH lh,
BIO out 
)

unsigned long lh_num_items ( const LHASH lh  ) 

void* lh_retrieve ( LHASH lh,
const void *  data 
)

void lh_stats ( const LHASH lh,
FILE *  out 
)

void lh_stats_bio ( const LHASH lh,
BIO out 
)

unsigned long lh_strhash ( const char *  c  ) 


Generated on Thu Aug 20 22:33:06 2009 for OpenXDAS by  doxygen 1.5.6