lhash.h File Reference

API published in:
API deprecated in:


#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 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 lhash_st  LHASH

Functions

IMPORT_C LHASH lh_new (LHASH_HASH_FN_TYPE h, LHASH_COMP_FN_TYPE c)
IMPORT_C void  lh_free (LHASH *lh)
IMPORT_C void *  lh_insert (LHASH *lh, void *data)
IMPORT_C void *  lh_delete (LHASH *lh, const void *data)
IMPORT_C void *  lh_retrieve (LHASH *lh, const void *data)
IMPORT_C void  lh_doall (LHASH *lh, LHASH_DOALL_FN_TYPE func)
IMPORT_C void  lh_doall_arg (LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg)
IMPORT_C unsigned long  lh_strhash (const char *c)
IMPORT_C unsigned long  lh_num_items (const LHASH *lh)
IMPORT_C void  lh_stats (const LHASH *lh, FILE *out)
IMPORT_C void  lh_node_stats (const LHASH *lh, FILE *out)
IMPORT_C void  lh_node_usage_stats (const LHASH *lh, FILE *out)
IMPORT_C void  lh_stats_bio (const LHASH *lh, BIO *out)
IMPORT_C void  lh_node_stats_bio (const LHASH *lh, BIO *out)
IMPORT_C 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 *);
 
#define DECLARE_LHASH_DOALL_ARG_FN f_name,
o_type,
a_type   )     void f_name##_LHASH_DOALL_ARG(void *, void *);
 
#define DECLARE_LHASH_DOALL_FN f_name,
o_type   )     void f_name##_LHASH_DOALL(void *);
 
#define DECLARE_LHASH_HASH_FN f_name,
o_type   )     unsigned long f_name##_LHASH_HASH(const void *);
 
#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); }
#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); }
#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); }
#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); }
#define lh_error lh   )     ((lh)->error)
 
#define LH_LOAD_MULT   256
 
#define LHASH_COMP_FN f_name   )     f_name##_LHASH_COMP
 
#define LHASH_DOALL_ARG_FN f_name   )     f_name##_LHASH_DOALL_ARG
 
#define LHASH_DOALL_FN f_name   )     f_name##_LHASH_DOALL
 
#define LHASH_HASH_FN f_name   )     f_name##_LHASH_HASH
 

Typedef Documentation

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

Function Documentation

IMPORT_C void* lh_delete LHASH lh,
const void *  data
 
IMPORT_C void lh_doall LHASH lh,
LHASH_DOALL_FN_TYPE  func
 
IMPORT_C void lh_doall_arg LHASH lh,
LHASH_DOALL_ARG_FN_TYPE  func,
void *  arg
 
IMPORT_C void lh_free LHASH lh  ) 
 
IMPORT_C void* lh_insert LHASH lh,
void *  data
 
IMPORT_C LHASH* lh_new LHASH_HASH_FN_TYPE  h,
LHASH_COMP_FN_TYPE  c
 
IMPORT_C void lh_node_stats const LHASH lh,
FILE out
 
IMPORT_C void lh_node_stats_bio const LHASH lh,
BIO out
 
IMPORT_C void lh_node_usage_stats const LHASH lh,
FILE out
 
IMPORT_C void lh_node_usage_stats_bio const LHASH lh,
BIO out
 
IMPORT_C unsigned long lh_num_items const LHASH lh  ) 
 
IMPORT_C void* lh_retrieve LHASH lh,
const void *  data
 
IMPORT_C void lh_stats const LHASH lh,
FILE out
 
IMPORT_C void lh_stats_bio const LHASH lh,
BIO out
 
IMPORT_C unsigned long lh_strhash const char *  c  ) 
 

Copyright © Nokia Corporation 2001-2008
Back to top