libcoap
4.2.1
|
#include <string.h>
#include <stddef.h>
#include <stdlib.h>
Go to the source code of this file.
Data Structures | |
struct | UT_hash_bucket |
struct | UT_hash_table |
struct | UT_hash_handle |
Macros | |
#define | UTHASH_VERSION 2.0.2 |
#define | DECLTYPE(x) (__typeof(x)) |
#define | DECLTYPE_ASSIGN(dst, src) |
#define | uthash_fatal(msg) exit(-1) /* fatal error (out of memory,etc) */ |
#define | uthash_malloc(sz) malloc(sz) /* malloc fcn */ |
#define | uthash_free(ptr, sz) free(ptr) /* free fcn */ |
#define | uthash_bzero(a, n) memset(a,'\0',n) |
#define | uthash_memcmp(a, b, n) memcmp(a,b,n) |
#define | uthash_strlen(s) strlen(s) |
#define | uthash_noexpand_fyi(tbl) /* can be defined to log noexpand */ |
#define | uthash_expand_fyi(tbl) /* can be defined to log expands */ |
#define | HASH_INITIAL_NUM_BUCKETS 32U /* initial number of buckets */ |
#define | HASH_INITIAL_NUM_BUCKETS_LOG2 5U /* lg2 of initial number of buckets */ |
#define | HASH_BKT_CAPACITY_THRESH 10U /* expand when bucket count reaches */ |
#define | ELMT_FROM_HH(tbl, hhp) ((void*)(((char*)(hhp)) - ((tbl)->hho))) |
#define | HH_FROM_ELMT(tbl, elp) ((UT_hash_handle *)(((char*)(elp)) + ((tbl)->hho))) |
#define | HASH_VALUE(keyptr, keylen, hashv) |
#define | HASH_FIND_BYHASHVALUE(hh, head, keyptr, keylen, hashval, out) |
#define | HASH_FIND(hh, head, keyptr, keylen, out) |
#define | HASH_BLOOM_MAKE(tbl) |
#define | HASH_BLOOM_FREE(tbl) |
#define | HASH_BLOOM_ADD(tbl, hashv) |
#define | HASH_BLOOM_TEST(tbl, hashv) (1) |
#define | HASH_BLOOM_BYTELEN 0U |
#define | HASH_MAKE_TABLE(hh, head) |
#define | HASH_REPLACE_BYHASHVALUE_INORDER(hh, head, fieldname, keylen_in, hashval, add, replaced, cmpfcn) |
#define | HASH_REPLACE_BYHASHVALUE(hh, head, fieldname, keylen_in, hashval, add, replaced) |
#define | HASH_REPLACE(hh, head, fieldname, keylen_in, add, replaced) |
#define | HASH_REPLACE_INORDER(hh, head, fieldname, keylen_in, add, replaced, cmpfcn) |
#define | HASH_APPEND_LIST(hh, head, add) |
#define | HASH_AKBI_INNER_LOOP(hh, head, add, cmpfcn) |
#define | HASH_ADD_KEYPTR_BYHASHVALUE_INORDER(hh, head, keyptr, keylen_in, hashval, add, cmpfcn) |
#define | HASH_ADD_KEYPTR_INORDER(hh, head, keyptr, keylen_in, add, cmpfcn) |
#define | HASH_ADD_BYHASHVALUE_INORDER(hh, head, fieldname, keylen_in, hashval, add, cmpfcn) HASH_ADD_KEYPTR_BYHASHVALUE_INORDER(hh, head, &((add)->fieldname), keylen_in, hashval, add, cmpfcn) |
#define | HASH_ADD_INORDER(hh, head, fieldname, keylen_in, add, cmpfcn) HASH_ADD_KEYPTR_INORDER(hh, head, &((add)->fieldname), keylen_in, add, cmpfcn) |
#define | HASH_ADD_KEYPTR_BYHASHVALUE(hh, head, keyptr, keylen_in, hashval, add) |
#define | HASH_ADD_KEYPTR(hh, head, keyptr, keylen_in, add) |
#define | HASH_ADD_BYHASHVALUE(hh, head, fieldname, keylen_in, hashval, add) HASH_ADD_KEYPTR_BYHASHVALUE(hh, head, &((add)->fieldname), keylen_in, hashval, add) |
#define | HASH_ADD(hh, head, fieldname, keylen_in, add) HASH_ADD_KEYPTR(hh, head, &((add)->fieldname), keylen_in, add) |
#define | HASH_TO_BKT(hashv, num_bkts, bkt) |
#define | HASH_DELETE(hh, head, delptr) HASH_DELETE_HH(hh, head, &(delptr)->hh) |
#define | HASH_DELETE_HH(hh, head, delptrhh) |
#define | HASH_FIND_STR(head, findstr, out) HASH_FIND(hh,head,findstr,(unsigned)uthash_strlen(findstr),out) |
#define | HASH_ADD_STR(head, strfield, add) HASH_ADD(hh,head,strfield[0],(unsigned)uthash_strlen(add->strfield),add) |
#define | HASH_REPLACE_STR(head, strfield, add, replaced) HASH_REPLACE(hh,head,strfield[0],(unsigned)uthash_strlen(add->strfield),add,replaced) |
#define | HASH_FIND_INT(head, findint, out) HASH_FIND(hh,head,findint,sizeof(int),out) |
#define | HASH_ADD_INT(head, intfield, add) HASH_ADD(hh,head,intfield,sizeof(int),add) |
#define | HASH_REPLACE_INT(head, intfield, add, replaced) HASH_REPLACE(hh,head,intfield,sizeof(int),add,replaced) |
#define | HASH_FIND_PTR(head, findptr, out) HASH_FIND(hh,head,findptr,sizeof(void *),out) |
#define | HASH_ADD_PTR(head, ptrfield, add) HASH_ADD(hh,head,ptrfield,sizeof(void *),add) |
#define | HASH_REPLACE_PTR(head, ptrfield, add, replaced) HASH_REPLACE(hh,head,ptrfield,sizeof(void *),add,replaced) |
#define | HASH_DEL(head, delptr) HASH_DELETE(hh,head,delptr) |
#define | HASH_FSCK(hh, head, where) |
#define | HASH_EMIT_KEY(hh, head, keyptr, fieldlen) |
#define | HASH_FCN HASH_JEN |
#define | HASH_BER(key, keylen, hashv) |
#define | HASH_SAX(key, keylen, hashv) |
#define | HASH_FNV(key, keylen, hashv) |
#define | HASH_OAT(key, keylen, hashv) |
#define | HASH_JEN_MIX(a, b, c) |
#define | HASH_JEN(key, keylen, hashv) |
#define | get16bits(d) |
#define | HASH_SFH(key, keylen, hashv) |
#define | HASH_FIND_IN_BKT(tbl, hh, head, keyptr, keylen_in, hashval, out) |
#define | HASH_ADD_TO_BKT(head, addhh) |
#define | HASH_DEL_IN_BKT(head, delhh) |
#define | HASH_EXPAND_BUCKETS(tbl) |
#define | HASH_SORT(head, cmpfcn) HASH_SRT(hh,head,cmpfcn) |
#define | HASH_SRT(hh, head, cmpfcn) |
#define | HASH_SELECT(hh_dst, dst, hh_src, src, cond) |
#define | HASH_CLEAR(hh, head) |
#define | HASH_OVERHEAD(hh, head) |
#define | HASH_ITER(hh, head, el, tmp) |
#define | HASH_COUNT(head) HASH_CNT(hh,head) |
#define | HASH_CNT(hh, head) ((head != NULL)?((head)->hh.tbl->num_items):0U) |
#define | HASH_SIGNATURE 0xa0111fe1u |
#define | HASH_BLOOM_SIGNATURE 0xb12220f2u |
Typedefs | |
typedef unsigned int | uint32_t |
typedef unsigned char | uint8_t |
typedef struct UT_hash_bucket | UT_hash_bucket |
typedef struct UT_hash_table | UT_hash_table |
typedef struct UT_hash_handle | UT_hash_handle |
#define DECLTYPE_ASSIGN | ( | dst, | |
src | |||
) |
#define ELMT_FROM_HH | ( | tbl, | |
hhp | |||
) | ((void*)(((char*)(hhp)) - ((tbl)->hho))) |
#define get16bits | ( | d | ) |
#define HASH_ADD | ( | hh, | |
head, | |||
fieldname, | |||
keylen_in, | |||
add | |||
) | HASH_ADD_KEYPTR(hh, head, &((add)->fieldname), keylen_in, add) |
#define HASH_ADD_BYHASHVALUE | ( | hh, | |
head, | |||
fieldname, | |||
keylen_in, | |||
hashval, | |||
add | |||
) | HASH_ADD_KEYPTR_BYHASHVALUE(hh, head, &((add)->fieldname), keylen_in, hashval, add) |
#define HASH_ADD_BYHASHVALUE_INORDER | ( | hh, | |
head, | |||
fieldname, | |||
keylen_in, | |||
hashval, | |||
add, | |||
cmpfcn | |||
) | HASH_ADD_KEYPTR_BYHASHVALUE_INORDER(hh, head, &((add)->fieldname), keylen_in, hashval, add, cmpfcn) |
#define HASH_ADD_INORDER | ( | hh, | |
head, | |||
fieldname, | |||
keylen_in, | |||
add, | |||
cmpfcn | |||
) | HASH_ADD_KEYPTR_INORDER(hh, head, &((add)->fieldname), keylen_in, add, cmpfcn) |
#define HASH_ADD_INT | ( | head, | |
intfield, | |||
add | |||
) | HASH_ADD(hh,head,intfield,sizeof(int),add) |
#define HASH_ADD_KEYPTR | ( | hh, | |
head, | |||
keyptr, | |||
keylen_in, | |||
add | |||
) |
#define HASH_ADD_KEYPTR_BYHASHVALUE | ( | hh, | |
head, | |||
keyptr, | |||
keylen_in, | |||
hashval, | |||
add | |||
) |
#define HASH_ADD_KEYPTR_BYHASHVALUE_INORDER | ( | hh, | |
head, | |||
keyptr, | |||
keylen_in, | |||
hashval, | |||
add, | |||
cmpfcn | |||
) |
#define HASH_ADD_KEYPTR_INORDER | ( | hh, | |
head, | |||
keyptr, | |||
keylen_in, | |||
add, | |||
cmpfcn | |||
) |
#define HASH_ADD_PTR | ( | head, | |
ptrfield, | |||
add | |||
) | HASH_ADD(hh,head,ptrfield,sizeof(void *),add) |
#define HASH_ADD_STR | ( | head, | |
strfield, | |||
add | |||
) | HASH_ADD(hh,head,strfield[0],(unsigned)uthash_strlen(add->strfield),add) |
#define HASH_ADD_TO_BKT | ( | head, | |
addhh | |||
) |
#define HASH_AKBI_INNER_LOOP | ( | hh, | |
head, | |||
add, | |||
cmpfcn | |||
) |
#define HASH_APPEND_LIST | ( | hh, | |
head, | |||
add | |||
) |
#define HASH_BER | ( | key, | |
keylen, | |||
hashv | |||
) |
#define HASH_BKT_CAPACITY_THRESH 10U /* expand when bucket count reaches */ |
#define HASH_CLEAR | ( | hh, | |
head | |||
) |
#define HASH_CNT | ( | hh, | |
head | |||
) | ((head != NULL)?((head)->hh.tbl->num_items):0U) |
#define HASH_DEL | ( | head, | |
delptr | |||
) | HASH_DELETE(hh,head,delptr) |
#define HASH_DEL_IN_BKT | ( | head, | |
delhh | |||
) |
#define HASH_DELETE | ( | hh, | |
head, | |||
delptr | |||
) | HASH_DELETE_HH(hh, head, &(delptr)->hh) |
#define HASH_DELETE_HH | ( | hh, | |
head, | |||
delptrhh | |||
) |
#define HASH_FIND | ( | hh, | |
head, | |||
keyptr, | |||
keylen, | |||
out | |||
) |
#define HASH_FIND_BYHASHVALUE | ( | hh, | |
head, | |||
keyptr, | |||
keylen, | |||
hashval, | |||
out | |||
) |
#define HASH_FIND_IN_BKT | ( | tbl, | |
hh, | |||
head, | |||
keyptr, | |||
keylen_in, | |||
hashval, | |||
out | |||
) |
#define HASH_FIND_INT | ( | head, | |
findint, | |||
out | |||
) | HASH_FIND(hh,head,findint,sizeof(int),out) |
#define HASH_FIND_PTR | ( | head, | |
findptr, | |||
out | |||
) | HASH_FIND(hh,head,findptr,sizeof(void *),out) |
#define HASH_FIND_STR | ( | head, | |
findstr, | |||
out | |||
) | HASH_FIND(hh,head,findstr,(unsigned)uthash_strlen(findstr),out) |
#define HASH_FNV | ( | key, | |
keylen, | |||
hashv | |||
) |
#define HASH_INITIAL_NUM_BUCKETS 32U /* initial number of buckets */ |
#define HASH_INITIAL_NUM_BUCKETS_LOG2 5U /* lg2 of initial number of buckets */ |
#define HASH_ITER | ( | hh, | |
head, | |||
el, | |||
tmp | |||
) |
#define HASH_JEN_MIX | ( | a, | |
b, | |||
c | |||
) |
#define HASH_MAKE_TABLE | ( | hh, | |
head | |||
) |
#define HASH_OAT | ( | key, | |
keylen, | |||
hashv | |||
) |
#define HASH_OVERHEAD | ( | hh, | |
head | |||
) |
#define HASH_REPLACE | ( | hh, | |
head, | |||
fieldname, | |||
keylen_in, | |||
add, | |||
replaced | |||
) |
#define HASH_REPLACE_BYHASHVALUE | ( | hh, | |
head, | |||
fieldname, | |||
keylen_in, | |||
hashval, | |||
add, | |||
replaced | |||
) |
#define HASH_REPLACE_BYHASHVALUE_INORDER | ( | hh, | |
head, | |||
fieldname, | |||
keylen_in, | |||
hashval, | |||
add, | |||
replaced, | |||
cmpfcn | |||
) |
#define HASH_REPLACE_INORDER | ( | hh, | |
head, | |||
fieldname, | |||
keylen_in, | |||
add, | |||
replaced, | |||
cmpfcn | |||
) |
#define HASH_REPLACE_INT | ( | head, | |
intfield, | |||
add, | |||
replaced | |||
) | HASH_REPLACE(hh,head,intfield,sizeof(int),add,replaced) |
#define HASH_REPLACE_PTR | ( | head, | |
ptrfield, | |||
add, | |||
replaced | |||
) | HASH_REPLACE(hh,head,ptrfield,sizeof(void *),add,replaced) |
#define HASH_REPLACE_STR | ( | head, | |
strfield, | |||
add, | |||
replaced | |||
) | HASH_REPLACE(hh,head,strfield[0],(unsigned)uthash_strlen(add->strfield),add,replaced) |
#define HASH_SAX | ( | key, | |
keylen, | |||
hashv | |||
) |
#define HASH_SORT | ( | head, | |
cmpfcn | |||
) | HASH_SRT(hh,head,cmpfcn) |
#define HASH_TO_BKT | ( | hashv, | |
num_bkts, | |||
bkt | |||
) |
#define HASH_VALUE | ( | keyptr, | |
keylen, | |||
hashv | |||
) |
#define HH_FROM_ELMT | ( | tbl, | |
elp | |||
) | ((UT_hash_handle *)(((char*)(elp)) + ((tbl)->hho))) |
#define uthash_expand_fyi | ( | tbl | ) | /* can be defined to log expands */ |
#define uthash_fatal | ( | msg | ) | exit(-1) /* fatal error (out of memory,etc) */ |
#define uthash_noexpand_fyi | ( | tbl | ) | /* can be defined to log noexpand */ |
typedef struct UT_hash_bucket UT_hash_bucket |
typedef struct UT_hash_handle UT_hash_handle |
typedef struct UT_hash_table UT_hash_table |