diff options
Diffstat (limited to 'src/lib/third_party/include/ht_hash.h')
-rw-r--r-- | src/lib/third_party/include/ht_hash.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/lib/third_party/include/ht_hash.h b/src/lib/third_party/include/ht_hash.h new file mode 100644 index 000000000..2251706e4 --- /dev/null +++ b/src/lib/third_party/include/ht_hash.h @@ -0,0 +1,30 @@ +/* Based on https://gist.github.com/tonious/1377667 */ + +#ifndef _HASH_H_ +#define _HASH_H_ + +#include "ndpi_api.h" + +struct entry_s { + char *key; + u_int16_t value; + struct entry_s *next; +}; + +typedef struct entry_s entry_t; + +struct hashtable_s { + int size; + struct entry_s **table; +}; + +typedef struct hashtable_s hashtable_t; + +extern hashtable_t *ht_create( int size ); +extern int ht_hash( hashtable_t *hashtable, char *key ); +extern entry_t *ht_newpair( char *key, u_int16_t value ); +extern void ht_set( hashtable_t *hashtable, char *key, u_int16_t value ); +extern u_int16_t ht_get( hashtable_t *hashtable, char *key ); +extern void ht_free( hashtable_t *hashtable ); + +#endif /* _HASH_H_ */ |