diff options
author | Ingo Huerner <ingo.huerner@xse.de> | 2015-01-23 15:48:34 +0100 |
---|---|---|
committer | Ingo Huerner <ingo.huerner@xse.de> | 2015-01-23 15:48:34 +0100 |
commit | 16239ca64c53eab04050a8a0672ef2520dad5773 (patch) | |
tree | 8068d472efba3d56642f13184a4b59323fa23084 /src/persistence_client_library_tree_helper.h | |
parent | 84210e9a13cf8b6b7496d0ed1615377a142cfe53 (diff) | |
download | persistence-client-library-16239ca64c53eab04050a8a0672ef2520dad5773.tar.gz |
Further code improvements
Diffstat (limited to 'src/persistence_client_library_tree_helper.h')
-rw-r--r-- | src/persistence_client_library_tree_helper.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/persistence_client_library_tree_helper.h b/src/persistence_client_library_tree_helper.h index 60ae99f..290a5ce 100644 --- a/src/persistence_client_library_tree_helper.h +++ b/src/persistence_client_library_tree_helper.h @@ -36,6 +36,9 @@ extern jsw_rbtree_t *gFileHandleTree; /// tree to store OSS file handle information extern jsw_rbtree_t *gOssFileHandleTree; +/// the rb tree +extern jsw_rbtree_t *gRb_tree_bl; + /// key handle data union definition typedef union KeyHandleData_u_ @@ -84,6 +87,14 @@ typedef struct _FileHandleTreeItem_s } FileHandleTreeItem_s; +/// structure definition for a key value item +typedef struct _key_value_s +{ + unsigned int key; + char* value; +}key_value_s; + + /** * @brief Compare function for file handle tree item @@ -141,5 +152,34 @@ void* kh_key_val_dup(void *p); void kh_key_val_rel(void *p ); +/** + * @brief Compare function for key tree item + * + * @param p1 pointer to the first item to compare + * @param p2 pointer to the second item to compare + * + * @return 0 if key is equal; -1 if p1 < p2; 1 if p1 > p2 + */ +int key_val_cmp(const void *p1, const void *p2 ); + + +/** + * @brief Duplicate function for key tree item + * + * @param p the pointer of the item to duplicate + * + * @return pointer to the duplicated item, on failure NULL + */ +void* key_val_dup(void *p); + + +/** + * @brief Release function for key tree item + * + * @param p pointer tp the item to release + */ +void key_val_rel(void *p); + + #endif /* PERSISTENCE_CLIENT_LIBRARY_TREE_HELPER_H */ |