globus_symboltable.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 1999-2006 University of Chicago
00003  * 
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  * 
00008  * http://www.apache.org/licenses/LICENSE-2.0
00009  * 
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
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 /* GLOBUS_SYMBOLTABLE_H */

Generated on 17 Mar 2017 for globus_common by  doxygen 1.4.7