globus_common  15.26
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
globus_handle_table.h
Go to the documentation of this file.
1 /*
2  * Copyright 1999-2006 University of Chicago
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
36 #ifndef GLOBUS_HANDLE_TABLE_H
37 #define GLOBUS_HANDLE_TABLE_H
38 
39 #include "globus_types.h"
40 
41 #ifdef __cplusplus
42 extern "C" {
43 #endif
44 
49 typedef struct globus_l_handle_table_s * globus_handle_table_t;
50 
55 typedef int globus_handle_t;
56 
63 typedef
64 void
66  void * datum);
67 
73 #define GLOBUS_NULL_HANDLE 0
74 #define GLOBUS_HANDLE_TABLE_NO_HANDLE 0
75 
76 int
78  globus_handle_table_t * handle_table,
79  globus_handle_destructor_t destructor);
80 
81 int
83  globus_handle_table_t * handle_table);
84 
85 globus_handle_t
87  globus_handle_table_t * handle_table,
88  void * datum,
89  int initial_refs);
90 
93  globus_handle_table_t * handle_table,
94  globus_handle_t handle);
95 
98  globus_handle_table_t * handle_table,
99  globus_handle_t handle,
100  unsigned int inc);
101 
103 globus_handle_table_decrement_reference(
104  globus_handle_table_t * handle_table,
105  globus_handle_t handle);
106 
107 void *
109  globus_handle_table_t * handle_table,
110  globus_handle_t handle);
111 
112 #ifdef __cplusplus
113 }
114 #endif
115 
116 #endif /* GLOBUS_HANDLE_TABLE_H */