globus_xio  6.3
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
globus_xio_types.h
1 
2 #if !defined(GLOBUS_XIO_TYPES_H)
3 #define GLOBUS_XIO_TYPES_H 1
4 
5 #include "globus_common.h"
6 
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 
11 #define GLOBUS_XIO_QUERY ((globus_xio_driver_t) 0x01)
12 
13 /*************************************************************************
14  * define types
15  ************************************************************************/
16 typedef struct globus_i_xio_handle_s * globus_xio_handle_t;
17 typedef struct globus_i_xio_context_entry_s * globus_xio_driver_handle_t;
18 typedef struct globus_i_xio_op_s * globus_xio_operation_t;
19 typedef struct globus_i_xio_driver_s * globus_xio_driver_t;
20 typedef struct globus_i_xio_attr_s * globus_xio_attr_t;
21 typedef struct globus_i_xio_stack_s * globus_xio_stack_t;
22 typedef struct globus_i_xio_server_s * globus_xio_server_t;
23 typedef struct globus_i_xio_server_s * globus_xio_driver_server_t;
24 typedef struct globus_i_xio_op_s * globus_xio_data_descriptor_t;
25 typedef struct iovec globus_xio_iovec_t;
26 
35 {
36  GLOBUS_XIO_OPERATION_TYPE_NONE,
37  GLOBUS_XIO_OPERATION_TYPE_FINISHED,
38  GLOBUS_XIO_OPERATION_TYPE_OPEN,
39  GLOBUS_XIO_OPERATION_TYPE_CLOSE,
40  GLOBUS_XIO_OPERATION_TYPE_READ,
41  GLOBUS_XIO_OPERATION_TYPE_WRITE,
42  GLOBUS_XIO_OPERATION_TYPE_ACCEPT,
43  GLOBUS_XIO_OPERATION_TYPE_DRIVER,
44  GLOBUS_XIO_OPERATION_TYPE_DD,
45  GLOBUS_XIO_OPERATION_TYPE_SERVER_INIT
47 
48 typedef enum globus_i_xio_signal_type_e
49 {
50  GLOBUS_XIO_SIGNAL_TYPE_NONE
51 } globus_xio_signal_type_t;
52 
53 typedef enum
54 {
55  GLOBUS_XIO_ERROR_CANCELED,
56  GLOBUS_XIO_ERROR_EOF,
57  GLOBUS_XIO_ERROR_COMMAND,
58  GLOBUS_XIO_ERROR_CONTACT_STRING,
59  GLOBUS_XIO_ERROR_PARAMETER,
60  GLOBUS_XIO_ERROR_MEMORY,
61  GLOBUS_XIO_ERROR_SYSTEM_ERROR,
62  GLOBUS_XIO_ERROR_SYSTEM_RESOURCE,
63  GLOBUS_XIO_ERROR_STACK,
64  GLOBUS_XIO_ERROR_DRIVER,
65  GLOBUS_XIO_ERROR_PASS,
66  GLOBUS_XIO_ERROR_ALREADY_REGISTERED,
67  GLOBUS_XIO_ERROR_STATE,
68  GLOBUS_XIO_ERROR_WRAPPED,
69  GLOBUS_XIO_ERROR_NOT_REGISTERED,
70  GLOBUS_XIO_ERROR_NOT_ACTIVATED,
71  GLOBUS_XIO_ERROR_UNLOADED,
72  GLOBUS_XIO_ERROR_TIMEOUT,
73  GLOBUS_XIO_ERROR_PARSE
74 } globus_xio_error_type_t;
75 
76 
77 /* ALL is all but ACCEPT */
78 typedef enum
79 {
80  GLOBUS_XIO_ATTR_SET_TIMEOUT_ALL,
81  GLOBUS_XIO_ATTR_SET_TIMEOUT_OPEN,
82  GLOBUS_XIO_ATTR_SET_TIMEOUT_CLOSE,
83  GLOBUS_XIO_ATTR_SET_TIMEOUT_READ,
84  GLOBUS_XIO_ATTR_SET_TIMEOUT_WRITE,
85  GLOBUS_XIO_ATTR_SET_TIMEOUT_ACCEPT,
86  GLOBUS_XIO_ATTR_SET_SPACE,
87  GLOBUS_XIO_ATTR_CLOSE_NO_CANCEL,
88  GLOBUS_XIO_ATTR_SET_CREDENTIAL,
89  GLOBUS_XIO_ATTR_GET_CREDENTIAL
90 } globus_xio_attr_cmd_t;
91 
102 typedef enum
103 {
104  /* Make sure this enum starts at a high number */
105 
118  /* char ** contact_string_out */
120 
131  /* char ** contact_string_out */
133 
144  /* char ** contact_string_out */
146 
157  /* char ** contact_string_out */
159 
167  /* globus_off_t offset */
169 
179  /* char * config_string */
181 
191  /* char ** config_string */
193 
203  /* const char ** driver_name */
205 
207 
208 typedef enum
209 {
210  GLOBUS_XIO_DD_SET_OFFSET,
211  GLOBUS_XIO_DD_GET_OFFSET
212 } globus_xio_dd_cmd_t;
213 
214 typedef enum
215 {
216  GLOBUS_XIO_CANCEL_OPEN = 0x01,
217  GLOBUS_XIO_CANCEL_CLOSE = 0x02,
218  GLOBUS_XIO_CANCEL_READ = 0x04,
219  GLOBUS_XIO_CANCEL_WRITE = 0x08
220 } globus_xio_cancel_t;
221 
222 typedef enum
223 {
224  GLOBUS_XIO_DEBUG_ERROR = 1,
225  GLOBUS_XIO_DEBUG_WARNING = 2,
226  GLOBUS_XIO_DEBUG_TRACE = 4,
227  GLOBUS_XIO_DEBUG_INTERNAL_TRACE = 8,
228  GLOBUS_XIO_DEBUG_INFO = 16,
229  GLOBUS_XIO_DEBUG_STATE = 32,
230  GLOBUS_XIO_DEBUG_INFO_VERBOSE = 64
231 } globus_xio_debug_levels_t;
232 
233 typedef struct
234 {
235  char * unparsed;
236  char * resource;
237  char * host;
238  char * port;
239  char * scheme;
240  char * user;
241  char * pass;
242  char * subject;
243 } globus_xio_contact_t;
244 
245 
246 typedef struct globus_xio_driver_list_ent_s
247 {
248  globus_xio_driver_t driver;
249  char * driver_name;
250  char * opts;
251  void * user_arg;
252  globus_bool_t loaded;
253 }globus_xio_driver_list_ent_t;
254 
255 #ifdef __cplusplus
256 }
257 #endif
258 
259 #endif
globus_xio_handle_cmd_t
Definition: globus_xio_types.h:101
Definition: globus_xio_types.h:111
Definition: globus_xio_types.h:119
enum globus_i_xio_op_type_e globus_xio_operation_type_t
Definition: globus_xio_types.h:107
Definition: globus_xio_types.h:123
Definition: globus_xio_types.h:127
Definition: globus_xio_types.h:115
globus_i_xio_op_type_e
Definition: globus_xio_types.h:34
Definition: globus_xio_types.h:131
Definition: globus_xio_types.h:135