Groonga 3.0.9 Source Code Document
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Structures | Macros | Typedefs | Functions
ngx_hash.h File Reference
#include <ngx_config.h>
#include <ngx_core.h>
Include dependency graph for ngx_hash.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ngx_hash_elt_t
struct  ngx_hash_t
struct  ngx_hash_wildcard_t
struct  ngx_hash_key_t
struct  ngx_hash_combined_t
struct  ngx_hash_init_t
struct  ngx_hash_keys_arrays_t
struct  ngx_table_elt_t

Macros

#define NGX_HASH_SMALL   1
#define NGX_HASH_LARGE   2
#define NGX_HASH_LARGE_ASIZE   16384
#define NGX_HASH_LARGE_HSIZE   10007
#define NGX_HASH_WILDCARD_KEY   1
#define NGX_HASH_READONLY_KEY   2
#define ngx_hash(key, c)   ((ngx_uint_t) key * 31 + c)

Typedefs

typedef ngx_uint_t(* ngx_hash_key_pt )(u_char *data, size_t len)

Functions

void * ngx_hash_find (ngx_hash_t *hash, ngx_uint_t key, u_char *name, size_t len)
void * ngx_hash_find_wc_head (ngx_hash_wildcard_t *hwc, u_char *name, size_t len)
void * ngx_hash_find_wc_tail (ngx_hash_wildcard_t *hwc, u_char *name, size_t len)
void * ngx_hash_find_combined (ngx_hash_combined_t *hash, ngx_uint_t key, u_char *name, size_t len)
ngx_int_t ngx_hash_init (ngx_hash_init_t *hinit, ngx_hash_key_t *names, ngx_uint_t nelts)
ngx_int_t ngx_hash_wildcard_init (ngx_hash_init_t *hinit, ngx_hash_key_t *names, ngx_uint_t nelts)
ngx_uint_t ngx_hash_key (u_char *data, size_t len)
ngx_uint_t ngx_hash_key_lc (u_char *data, size_t len)
ngx_uint_t ngx_hash_strlow (u_char *dst, u_char *src, size_t n)
ngx_int_t ngx_hash_keys_array_init (ngx_hash_keys_arrays_t *ha, ngx_uint_t type)
ngx_int_t ngx_hash_add_key (ngx_hash_keys_arrays_t *ha, ngx_str_t *key, void *value, ngx_uint_t flags)

Macro Definition Documentation

#define ngx_hash (   key,
 
)    ((ngx_uint_t) key * 31 + c)

Definition at line 111 of file ngx_hash.h.

#define NGX_HASH_LARGE   2

Definition at line 66 of file ngx_hash.h.

#define NGX_HASH_LARGE_ASIZE   16384

Definition at line 68 of file ngx_hash.h.

#define NGX_HASH_LARGE_HSIZE   10007

Definition at line 69 of file ngx_hash.h.

#define NGX_HASH_READONLY_KEY   2

Definition at line 72 of file ngx_hash.h.

#define NGX_HASH_SMALL   1

Definition at line 65 of file ngx_hash.h.

#define NGX_HASH_WILDCARD_KEY   1

Definition at line 71 of file ngx_hash.h.

Typedef Documentation

typedef ngx_uint_t(* ngx_hash_key_pt)(u_char *data, size_t len)

Definition at line 42 of file ngx_hash.h.

Function Documentation

ngx_int_t ngx_hash_add_key ( ngx_hash_keys_arrays_t ha,
ngx_str_t key,
void *  value,
ngx_uint_t  flags 
)

Definition at line 707 of file ngx_hash.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void* ngx_hash_find ( ngx_hash_t hash,
ngx_uint_t  key,
u_char *  name,
size_t  len 
)

Definition at line 13 of file ngx_hash.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void* ngx_hash_find_combined ( ngx_hash_combined_t hash,
ngx_uint_t  key,
u_char *  name,
size_t  len 
)

Definition at line 211 of file ngx_hash.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void* ngx_hash_find_wc_head ( ngx_hash_wildcard_t hwc,
u_char *  name,
size_t  len 
)

Definition at line 53 of file ngx_hash.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void* ngx_hash_find_wc_tail ( ngx_hash_wildcard_t hwc,
u_char *  name,
size_t  len 
)

Definition at line 147 of file ngx_hash.c.

Here is the call graph for this function:

Here is the caller graph for this function:

ngx_int_t ngx_hash_init ( ngx_hash_init_t hinit,
ngx_hash_key_t names,
ngx_uint_t  nelts 
)

Definition at line 252 of file ngx_hash.c.

Here is the call graph for this function:

Here is the caller graph for this function:

ngx_uint_t ngx_hash_key ( u_char *  data,
size_t  len 
)

Definition at line 604 of file ngx_hash.c.

Here is the caller graph for this function:

ngx_uint_t ngx_hash_key_lc ( u_char *  data,
size_t  len 
)

Definition at line 619 of file ngx_hash.c.

Here is the caller graph for this function:

ngx_int_t ngx_hash_keys_array_init ( ngx_hash_keys_arrays_t ha,
ngx_uint_t  type 
)

Definition at line 652 of file ngx_hash.c.

Here is the call graph for this function:

Here is the caller graph for this function:

ngx_uint_t ngx_hash_strlow ( u_char *  dst,
u_char *  src,
size_t  n 
)

Definition at line 634 of file ngx_hash.c.

Here is the caller graph for this function:

ngx_int_t ngx_hash_wildcard_init ( ngx_hash_init_t hinit,
ngx_hash_key_t names,
ngx_uint_t  nelts 
)

Definition at line 459 of file ngx_hash.c.

Here is the call graph for this function:

Here is the caller graph for this function: