aboutsummaryrefslogtreecommitdiffstats
path: root/vnfs/VES5.0/evel/evel-library/code/evel_library/hashtable.h
diff options
context:
space:
mode:
Diffstat (limited to 'vnfs/VES5.0/evel/evel-library/code/evel_library/hashtable.h')
-rw-r--r--vnfs/VES5.0/evel/evel-library/code/evel_library/hashtable.h62
1 files changed, 57 insertions, 5 deletions
diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/hashtable.h b/vnfs/VES5.0/evel/evel-library/code/evel_library/hashtable.h
index 3f4febef..8be17dc1 100644
--- a/vnfs/VES5.0/evel/evel-library/code/evel_library/hashtable.h
+++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/hashtable.h
@@ -1,3 +1,6 @@
+#ifndef HASHTABLE_INCLUDED
+#define HASHTABLE_INCLUDED
+
/*************************************************************************//**
*
* Copyright © 2017 AT&T Intellectual Property. All rights reserved.
@@ -15,17 +18,13 @@
*
****************************************************************************/
-#ifndef HASHTABLE_INCLUDED
-#define HASHTABLE_INCLUDED
-
/**************************************************************************//**
* @file
* A simple hashtable.
*
* @note No thread protection so you will need to use appropriate
* synchronization if use spans multiple threads.
- *
- ****************************************************************************/
+*****************************************************************************/
typedef struct entry_s {
char *key;
@@ -42,4 +41,57 @@ typedef struct hashtable_s {
struct entry_s **table;
} HASHTABLE_T;
+/**************************************************************************//**
+ * Hashtable initialization.
+ *
+ * Initialize the list supplied to be empty.
+ *
+ * @param size Size of hashtable
+
+ * @returns Hashtable pointer
+******************************************************************************/
+/* Create a new hashtable. */
+HASHTABLE_T *ht_create( size_t size );
+
+/**************************************************************************//**
+ * Hash a string for a particular hash table.
+ *
+ * Initialize the list supplied to be empty.
+ *
+ * @param hashtable Pointer to the hashtable
+ * @param key String
+
+ * @returns hashvalue
+******************************************************************************/
+size_t ht_hash( HASHTABLE_T *hashtable, char *key );
+
+/**************************************************************************//**
+ * Create a key-value pair.
+ *
+ * @param key key string
+ * @param value value string
+ *
+ * @returns hashtable entry
+******************************************************************************/
+ENTRY_T *ht_newpair( char *key, void *value );
+
+/**************************************************************************//**
+ * Insert a key-value pair into a hash table.
+ *
+ * @param key key string
+ * @param value value string
+ *
+ * @returns Nothing
+******************************************************************************/
+void ht_set( HASHTABLE_T *hashtable, char *key, void *value );
+
+/**************************************************************************//**
+ * Retrieve a key-value pair from a hash table.
+ *
+ * @param key key string
+ *
+ * @returns value string
+******************************************************************************/
+void *ht_get( HASHTABLE_T *hashtable, char *key );
+
#endif