globus_common
18.15
Toggle main menu visibility
Loading...
Searching...
No Matches
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
21
38
#ifndef GLOBUS_HANDLE_TABLE_H
39
#define GLOBUS_HANDLE_TABLE_H
40
41
#include "
globus_types.h
"
42
43
#ifdef __cplusplus
44
extern
"C"
{
45
#endif
46
51
typedef
struct
globus_l_handle_table_s *
globus_handle_table_t
;
52
57
typedef
int
globus_handle_t
;
58
65
typedef
66
void
67
(*
globus_handle_destructor_t
)(
68
void
* datum);
69
75
#define GLOBUS_NULL_HANDLE 0
76
#define GLOBUS_HANDLE_TABLE_NO_HANDLE 0
77
78
int
79
globus_handle_table_init
(
80
globus_handle_table_t
* handle_table,
81
globus_handle_destructor_t
destructor);
82
83
int
84
globus_handle_table_destroy
(
85
globus_handle_table_t
* handle_table);
86
87
globus_handle_t
88
globus_handle_table_insert
(
89
globus_handle_table_t
* handle_table,
90
void
* datum,
91
int
initial_refs);
92
93
globus_bool_t
94
globus_handle_table_increment_reference
(
95
globus_handle_table_t
* handle_table,
96
globus_handle_t
handle);
97
98
globus_bool_t
99
globus_handle_table_increment_reference_by
(
100
globus_handle_table_t
* handle_table,
101
globus_handle_t
handle,
102
unsigned
int
inc);
103
104
globus_bool_t
105
globus_handle_table_decrement_reference
(
106
globus_handle_table_t
* handle_table,
107
globus_handle_t
handle);
108
109
void
*
110
globus_handle_table_lookup
(
111
globus_handle_table_t
* handle_table,
112
globus_handle_t
handle);
113
114
#ifdef __cplusplus
115
}
116
#endif
117
118
#endif
/* GLOBUS_HANDLE_TABLE_H */
globus_types.h
Common Primitive Types.
globus_bool_t
int globus_bool_t
Boolean type.
Definition
globus_types.h:93
globus_handle_table_init
int globus_handle_table_init(globus_handle_table_t *handle_table, globus_handle_destructor_t destructor)
Definition
globus_handle_table.c:62
globus_handle_table_destroy
int globus_handle_table_destroy(globus_handle_table_t *handle_table)
Destroy a handle table.
Definition
globus_handle_table.c:109
globus_handle_destructor_t
void(* globus_handle_destructor_t)(void *datum)
Handle datum destructor.
Definition
globus_handle_table.h:67
globus_handle_t
int globus_handle_t
Handle abstract type.
Definition
globus_handle_table.h:57
globus_handle_table_insert
globus_handle_t globus_handle_table_insert(globus_handle_table_t *handle_table, void *datum, int initial_refs)
Definition
globus_handle_table.c:186
globus_handle_table_decrement_reference
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_handle_table_increment_reference_by
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
globus_handle_table_increment_reference
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
globus_handle_table_lookup
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
globus_handle_table_t
struct globus_l_handle_table_s * globus_handle_table_t
Handle table abstract type.
Definition
globus_handle_table.h:51
globus_handle_table.h
Generated by
1.17.0