globus_xio  6.3
globus_xio_file_driver.h
Go to the documentation of this file.
1 
2 #ifndef GLOBUS_XIO_FILE_DRIVER_H
3 #define GLOBUS_XIO_FILE_DRIVER_H
8 #include "globus_xio_system.h"
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
125 #define GLOBUS_XIO_FILE_INVALID_HANDLE GLOBUS_XIO_SYSTEM_INVALID_FILE
126 
138 typedef enum
139 {
153  /* int mode */
155 
163  /* int * mode_out */
165 
179  /* int flags */
181 
189  /* int * flags_out */
191 
204  /* globus_off_t offset */
206 
214  /* globus_off_t * offset_out */
216 
226  /* globus_xio_system_file_t handle */
228 
237  /* globus_xio_system_file_t * handle_out */
239 
249  /* globus_bool_t use_blocking_io */
251 
261  /* globus_bool_t * use_blocking_io_out */
263 
278  /* globus_off_t * in_out_offset,
279  * globus_xio_file_whence_t whence */
282 
290 typedef enum
291 {
293  GLOBUS_XIO_FILE_CREAT = O_CREAT,
295  GLOBUS_XIO_FILE_EXCL = O_EXCL,
299  GLOBUS_XIO_FILE_WRONLY = O_WRONLY,
301  GLOBUS_XIO_FILE_RDWR = O_RDWR,
303  GLOBUS_XIO_FILE_TRUNC = O_TRUNC,
305  GLOBUS_XIO_FILE_APPEND = O_APPEND,
306 #ifdef TARGET_ARCH_CYGWIN
307  GLOBUS_XIO_FILE_BINARY = O_BINARY,
308  GLOBUS_XIO_FILE_TEXT = O_TEXT
309 #else
314 #endif
316 
327 typedef enum
328 {
330  GLOBUS_XIO_FILE_IRWXU = S_IRWXU,
334  GLOBUS_XIO_FILE_IWUSR = S_IWUSR,
336  GLOBUS_XIO_FILE_IXUSR = S_IXUSR,
338  GLOBUS_XIO_FILE_IRWXO = S_IRWXO,
342  GLOBUS_XIO_FILE_IWOTH = S_IWOTH,
344  GLOBUS_XIO_FILE_IXOTH = S_IXOTH,
346  GLOBUS_XIO_FILE_IRWXG = S_IRWXG,
348  GLOBUS_XIO_FILE_IRGRP = S_IRGRP,
352  GLOBUS_XIO_FILE_IXGRP = S_IXGRP
354 
361 typedef enum
362 {
364  GLOBUS_XIO_FILE_SEEK_SET = SEEK_SET,
366  GLOBUS_XIO_FILE_SEEK_CUR = SEEK_CUR,
370 
371 #ifdef __cplusplus
372 }
373 #endif
374 
375 #endif /* GLOBUS_XIO_FILE_DRIVER_H */
globus_xio_file_attr_cmd_t
Definition: globus_xio_file_driver.h:137
@ GLOBUS_XIO_FILE_SET_BLOCKING_IO
Definition: globus_xio_file_driver.h:172
@ GLOBUS_XIO_FILE_SEEK
Definition: globus_xio_file_driver.h:180
@ GLOBUS_XIO_FILE_GET_HANDLE
Definition: globus_xio_file_driver.h:168
@ GLOBUS_XIO_FILE_GET_TRUNC_OFFSET
Definition: globus_xio_file_driver.h:160
@ GLOBUS_XIO_FILE_GET_MODE
Definition: globus_xio_file_driver.h:144
@ GLOBUS_XIO_FILE_SET_HANDLE
Definition: globus_xio_file_driver.h:164
@ GLOBUS_XIO_FILE_SET_MODE
Definition: globus_xio_file_driver.h:140
@ GLOBUS_XIO_FILE_SET_FLAGS
Definition: globus_xio_file_driver.h:148
@ GLOBUS_XIO_FILE_GET_FLAGS
Definition: globus_xio_file_driver.h:152
@ GLOBUS_XIO_FILE_GET_BLOCKING_IO
Definition: globus_xio_file_driver.h:176
@ GLOBUS_XIO_FILE_SET_TRUNC_OFFSET
Definition: globus_xio_file_driver.h:156
globus_xio_file_flag_t
Definition: globus_xio_file_driver.h:191
globus_xio_file_mode_t
Definition: globus_xio_file_driver.h:228
globus_xio_file_whence_t
Definition: globus_xio_file_driver.h:262
@ GLOBUS_XIO_FILE_TEXT
Definition: globus_xio_file_driver.h:213
@ GLOBUS_XIO_FILE_BINARY
Definition: globus_xio_file_driver.h:211
@ GLOBUS_XIO_FILE_RDWR
Definition: globus_xio_file_driver.h:201
@ GLOBUS_XIO_FILE_APPEND
Definition: globus_xio_file_driver.h:205
@ GLOBUS_XIO_FILE_WRONLY
Definition: globus_xio_file_driver.h:199
@ GLOBUS_XIO_FILE_TRUNC
Definition: globus_xio_file_driver.h:203
@ GLOBUS_XIO_FILE_RDONLY
Definition: globus_xio_file_driver.h:197
@ GLOBUS_XIO_FILE_CREAT
Definition: globus_xio_file_driver.h:193
@ GLOBUS_XIO_FILE_EXCL
Definition: globus_xio_file_driver.h:195
@ GLOBUS_XIO_FILE_IXGRP
Definition: globus_xio_file_driver.h:252
@ GLOBUS_XIO_FILE_IRUSR
Definition: globus_xio_file_driver.h:232
@ GLOBUS_XIO_FILE_IRWXG
Definition: globus_xio_file_driver.h:246
@ GLOBUS_XIO_FILE_IXOTH
Definition: globus_xio_file_driver.h:244
@ GLOBUS_XIO_FILE_IXUSR
Definition: globus_xio_file_driver.h:236
@ GLOBUS_XIO_FILE_IWOTH
Definition: globus_xio_file_driver.h:242
@ GLOBUS_XIO_FILE_IWGRP
Definition: globus_xio_file_driver.h:250
@ GLOBUS_XIO_FILE_IRGRP
Definition: globus_xio_file_driver.h:248
@ GLOBUS_XIO_FILE_IRWXU
Definition: globus_xio_file_driver.h:230
@ GLOBUS_XIO_FILE_IRWXO
Definition: globus_xio_file_driver.h:238
@ GLOBUS_XIO_FILE_IWUSR
Definition: globus_xio_file_driver.h:234
@ GLOBUS_XIO_FILE_IROTH
Definition: globus_xio_file_driver.h:240
@ GLOBUS_XIO_FILE_SEEK_CUR
Definition: globus_xio_file_driver.h:266
@ GLOBUS_XIO_FILE_SEEK_END
Definition: globus_xio_file_driver.h:268
@ GLOBUS_XIO_FILE_SEEK_SET
Definition: globus_xio_file_driver.h:264