Grid Community Toolkit  6.2.1541705016
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 
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 
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 */
Common Primitive Types.
int globus_handle_table_destroy(globus_handle_table_t *handle_table)
Destroy a handle table.
Definition: globus_handle_table.c:109
struct globus_l_handle_table_s * globus_handle_table_t
Handle table abstract type.
Definition: globus_handle_table.h:49
int globus_bool_t
Boolean type.
Definition: globus_types.h:93
globus_handle_t globus_handle_table_insert(globus_handle_table_t *handle_table, void *datum, int initial_refs)
Definition: globus_handle_table.c:186
void * globus_handle_table_lookup(globus_handle_table_t *handle_table, globus_handle_t handle)
Resolve a handle its datum.
Definition: globus_handle_table.c:414
int globus_handle_t
Handle abstract type.
Definition: globus_handle_table.h:55
globus_bool_t globus_handle_table_increment_reference_by(globus_handle_table_t *handle_table, globus_handle_t handle, unsigned int inc)
Increment the reference count for handle.
Definition: globus_handle_table.c:268
void(* globus_handle_destructor_t)(void *datum)
Handle datum destructor.
Definition: globus_handle_table.h:65
globus_bool_t globus_handle_table_decrement_reference(globus_handle_table_t *handle_table, globus_handle_t handle)
Remove a reference to a handle.
Definition: globus_handle_table.c:325
globus_bool_t globus_handle_table_increment_reference(globus_handle_table_t *handle_table, globus_handle_t handle)
Add a reference to a handle table entry.
Definition: globus_handle_table.c:391
int globus_handle_table_init(globus_handle_table_t *handle_table, globus_handle_destructor_t destructor)
Definition: globus_handle_table.c:62