Classes | Typedefs | Functions
hash.h File Reference
#include "curl_setup.h"
#include <stddef.h>
#include "llist.h"
Include dependency graph for hash.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  curl_hash
 
struct  curl_hash_element
 
struct  curl_hash_iterator
 

Typedefs

typedef size_t(* comp_function) (void *key1, size_t key1_len, void *key2, size_t key2_len)
 
typedef void(* curl_hash_dtor) (void *)
 
typedef size_t(* hash_function) (void *key, size_t key_length, size_t slots_num)
 

Functions

void * Curl_hash_add (struct curl_hash *h, void *key, size_t key_len, void *p)
 
void Curl_hash_apply (struct curl_hash *h, void *user, void(*cb)(void *user, void *ptr))
 
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_count (struct curl_hash *h)
 
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 *, void *key, size_t key_len)
 
void Curl_hash_print (struct curl_hash *h, void(*func)(void *))
 
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)
 

Typedef Documentation

typedef size_t(* comp_function) (void *key1, size_t key1_len, void *key2, size_t key2_len)

Definition at line 39 of file hash.h.

typedef void(* curl_hash_dtor) (void *)

Definition at line 44 of file hash.h.

typedef size_t(* hash_function) (void *key, size_t key_length, size_t slots_num)

Definition at line 32 of file hash.h.

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_apply ( struct curl_hash h,
void *  user,
void(*)(void *user, void *ptr cb 
)
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_count ( struct curl_hash h)
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 ,
void *  key,
size_t  key_len 
)

Definition at line 162 of file hash.c.

void Curl_hash_print ( struct curl_hash h,
void(*)(void *)  func 
)
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.



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