summaryrefslogtreecommitdiffstats
path: root/vnfs/VES5.0/evel/evel-library/code/evel_library/hashtable.h
diff options
context:
space:
mode:
authorgokuls <goksing@gmail.com>2017-07-14 16:02:58 -0400
committergokuls <goksing@gmail.com>2017-07-14 17:38:57 -0400
commit65c3a02cf2b1083debdd087fef9a656d3e3c6cea (patch)
treee9b3ea16f8c584e70a2d33a7c080b994b85e5491 /vnfs/VES5.0/evel/evel-library/code/evel_library/hashtable.h
parent1a92cb5c28ba17b4a57e4c02ad7223119c810c4a (diff)
Fixed bugs with VoiceQuality and TCA
Change-Id: I0d839079b3a97116db05fa261146998200eb9ae3 Signed-Off-By: Gokul Singaraju <goksing@gmail.com>
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