00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00022 #ifndef GLOBUS_SYMBOLTABLE_H
00023 #define GLOBUS_SYMBOLTABLE_H
00024
00025 #include "globus_hashtable.h"
00026
00027 #ifdef __cplusplus
00028 extern "C" {
00029 #endif
00030
00031 struct globus_symboltable_s;
00032 typedef struct globus_symboltable_s * globus_symboltable_t;
00033
00034 extern int
00035 globus_symboltable_init(
00036 globus_symboltable_t * table,
00037 globus_hashtable_hash_func_t hash_func,
00038 globus_hashtable_keyeq_func_t keyeq_func);
00039
00040
00041 extern void *
00042 globus_symboltable_lookup (globus_symboltable_t *table, void *symbol);
00043
00044 extern int
00045 globus_symboltable_insert (globus_symboltable_t *table,
00046 void *symbol,
00047 void *datum);
00048
00049 extern void *
00050 globus_symboltable_remove (globus_symboltable_t *table, void *symbol);
00051
00052
00053 extern int
00054 globus_symboltable_create_scope (globus_symboltable_t *table);
00055
00056 extern int
00057 globus_symboltable_remove_scope (globus_symboltable_t *table);
00058
00059
00060 extern int
00061 globus_symboltable_destroy (globus_symboltable_t *table);
00062
00063
00064 #ifdef __cplusplus
00065 }
00066 #endif
00067
00068 #endif