Macros | Functions
hash.c File Reference
#include "curl_setup.h"
#include <curl/curl.h>
#include "hash.h"
#include "llist.h"
#include "curl_memory.h"
#include "memdebug.h"
Include dependency graph for hash.c:

Go to the source code of this file.

Macros

#define FETCH_LIST(x, y, z)   &x->table[x->hash_func(y, z, x->slots)]
 

Functions

void * Curl_hash_add (struct curl_hash *h, void *key, size_t key_len, void *p)
 
void Curl_hash_clean (struct curl_hash *h)
 
void Curl_hash_clean_with_criterium (struct curl_hash *h, void *user, int(*comp)(void *, void *))
 
int Curl_hash_delete (struct curl_hash *h, void *key, size_t key_len)
 
void Curl_hash_destroy (struct curl_hash *h)
 
int Curl_hash_init (struct curl_hash *h, int slots, hash_function hfunc, comp_function comparator, curl_hash_dtor dtor)
 
struct curl_hash_elementCurl_hash_next_element (struct curl_hash_iterator *iter)
 
void * Curl_hash_pick (struct curl_hash *h, void *key, size_t key_len)
 
void Curl_hash_start_iterate (struct curl_hash *hash, struct curl_hash_iterator *iter)
 
size_t Curl_hash_str (void *key, size_t key_length, size_t slots_num)
 
size_t Curl_str_key_compare (void *k1, size_t key1_len, void *k2, size_t key2_len)
 
static void hash_element_dtor (void *user, void *element)
 
static struct curl_hash_elementmk_hash_element (const void *key, size_t key_len, const void *p)
 

Macro Definition Documentation

#define FETCH_LIST (   x,
  y,
  z 
)    &x->table[x->hash_func(y, z, x->slots)]

Definition at line 100 of file hash.c.

Function Documentation

void* Curl_hash_add ( struct curl_hash h,
void *  key,
size_t  key_len,
void *  p 
)

Definition at line 110 of file hash.c.

void Curl_hash_clean ( struct curl_hash h)

Definition at line 226 of file hash.c.

void Curl_hash_clean_with_criterium ( struct curl_hash h,
void *  user,
int(*)(void *, void *)  comp 
)

Definition at line 233 of file hash.c.

int Curl_hash_delete ( struct curl_hash h,
void *  key,
size_t  key_len 
)

Definition at line 140 of file hash.c.

void Curl_hash_destroy ( struct curl_hash h)

Definition at line 208 of file hash.c.

int Curl_hash_init ( struct curl_hash h,
int  slots,
hash_function  hfunc,
comp_function  comparator,
curl_hash_dtor  dtor 
)

Definition at line 57 of file hash.c.

struct curl_hash_element* Curl_hash_next_element ( struct curl_hash_iterator iter)

Definition at line 292 of file hash.c.

void* Curl_hash_pick ( struct curl_hash h,
void *  key,
size_t  key_len 
)

Definition at line 162 of file hash.c.

void Curl_hash_start_iterate ( struct curl_hash hash,
struct curl_hash_iterator iter 
)

Definition at line 283 of file hash.c.

size_t Curl_hash_str ( void *  key,
size_t  key_length,
size_t  slots_num 
)

Definition at line 260 of file hash.c.

size_t Curl_str_key_compare ( void *  k1,
size_t  key1_len,
void *  k2,
size_t  key2_len 
)

Definition at line 274 of file hash.c.

static void hash_element_dtor ( void *  user,
void *  element 
)
static

Definition at line 35 of file hash.c.

static struct curl_hash_element* mk_hash_element ( const void *  key,
size_t  key_len,
const void *  p 
)
static

Definition at line 86 of file hash.c.



rc_tagdetect_client
Author(s): Monika Florek-Jasinska , Raphael Schaller
autogenerated on Sat Feb 13 2021 03:42:17