Merge remote-tracking branch 'origin/master' into YaSp
[scilab.git] / scilab / modules / localization / src / c / hashtable_localization.h
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2006 - INRIA - Allan CORNET
4  * 
5  * This file must be used under the terms of the CeCILL.
6  * This source file is licensed as described in the file COPYING, which
7  * you should have received as part of this distribution.  The terms
8  * are also available at    
9  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10  *
11  */
12
13 #ifndef __HASHTABLE_LOCALIZATION_H__
14 #define __HASHTABLE_LOCALIZATION_H__
15 /*--------------------------------------------------------------------------*/ 
16 #include <stdlib.h>
17 #include "hashtable.h"
18 #include "BOOL.h" /* BOOL */
19 #include "MALLOC.h"
20 /*--------------------------------------------------------------------------*/ 
21 struct key_string
22 {
23         char *Key_String;
24 };
25 /*--------------------------------------------------------------------------*/ 
26 struct value_string
27 {
28         char *Value_String;
29         char *Path_String;
30 };
31 /*--------------------------------------------------------------------------*/ 
32 /**
33  * create a hashtable and return it 
34  */
35 struct hashtable *CreateHashtable_string(void);
36
37 /* destroy the hashtable and clean the resources used */
38 void DestroyHashtable_string(struct hashtable *hash_table);
39
40 /* search a key in a hashtable. if succeed, return the value needed. if failed, return NULL */
41 char *SearchHashtable_string(struct hashtable *hash_table, const char* key);
42
43 /* Insert a element in Hashtable */
44 int InsertHashtable_string(struct hashtable *hash_table,struct key_string *k, struct value_string *v);
45
46 /* Remove a element in Hastable */
47 BOOL RemoveHastable_string(struct hashtable *hash_table, const char* key);
48 /*--------------------------------------------------------------------------*/ 
49 #endif /* __HASHTABLE_LOCALIZATION_H__ */
50 /*--------------------------------------------------------------------------*/