Grid Community Toolkit  6.2.1705709074 (tag: v6.2.20240202)
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
globus_xio_file_driver.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 
17 #ifndef GLOBUS_XIO_FILE_DRIVER_H
18 #define GLOBUS_XIO_FILE_DRIVER_H
19 
23 #include "globus_xio_system.h"
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
148 #define GLOBUS_XIO_FILE_INVALID_HANDLE GLOBUS_XIO_SYSTEM_INVALID_FILE
149 
161 typedef enum
162 {
176  /* int mode */
178 
186  /* int * mode_out */
188 
202  /* int flags */
204 
212  /* int * flags_out */
214 
227  /* globus_off_t offset */
229 
237  /* globus_off_t * offset_out */
239 
249  /* globus_xio_system_file_t handle */
251 
260  /* globus_xio_system_file_t * handle_out */
262 
272  /* globus_bool_t use_blocking_io */
274 
284  /* globus_bool_t * use_blocking_io_out */
286 
301  /* globus_off_t * in_out_offset,
302  * globus_xio_file_whence_t whence */
305 
313 typedef enum
314 {
316  GLOBUS_XIO_FILE_CREAT = O_CREAT,
318  GLOBUS_XIO_FILE_EXCL = O_EXCL,
320  GLOBUS_XIO_FILE_RDONLY = O_RDONLY,
322  GLOBUS_XIO_FILE_WRONLY = O_WRONLY,
324  GLOBUS_XIO_FILE_RDWR = O_RDWR,
326  GLOBUS_XIO_FILE_TRUNC = O_TRUNC,
328  GLOBUS_XIO_FILE_APPEND = O_APPEND,
329 #ifdef TARGET_ARCH_CYGWIN
330  GLOBUS_XIO_FILE_BINARY = O_BINARY,
331  GLOBUS_XIO_FILE_TEXT = O_TEXT
332 #else
333 
334  GLOBUS_XIO_FILE_BINARY = 0,
336  GLOBUS_XIO_FILE_TEXT = 0
337 #endif
339 
350 typedef enum
351 {
353  GLOBUS_XIO_FILE_IRWXU = S_IRWXU,
355  GLOBUS_XIO_FILE_IRUSR = S_IRUSR,
357  GLOBUS_XIO_FILE_IWUSR = S_IWUSR,
359  GLOBUS_XIO_FILE_IXUSR = S_IXUSR,
361  GLOBUS_XIO_FILE_IRWXO = S_IRWXO,
363  GLOBUS_XIO_FILE_IROTH = S_IROTH,
365  GLOBUS_XIO_FILE_IWOTH = S_IWOTH,
367  GLOBUS_XIO_FILE_IXOTH = S_IXOTH,
369  GLOBUS_XIO_FILE_IRWXG = S_IRWXG,
371  GLOBUS_XIO_FILE_IRGRP = S_IRGRP,
373  GLOBUS_XIO_FILE_IWGRP = S_IWGRP,
375  GLOBUS_XIO_FILE_IXGRP = S_IXGRP
377 
384 typedef enum
385 {
387  GLOBUS_XIO_FILE_SEEK_SET = SEEK_SET,
389  GLOBUS_XIO_FILE_SEEK_CUR = SEEK_CUR,
391  GLOBUS_XIO_FILE_SEEK_END = SEEK_END
393 
394 #ifdef __cplusplus
395 }
396 #endif
397 
398 #endif /* GLOBUS_XIO_FILE_DRIVER_H */
Definition: globus_xio_file_driver.h:259
Definition: globus_xio_file_driver.h:287
Definition: globus_xio_file_driver.h:224
Definition: globus_xio_file_driver.h:273
Definition: globus_xio_file_driver.h:228
Definition: globus_xio_file_driver.h:263
Definition: globus_xio_file_driver.h:275
Definition: globus_xio_file_driver.h:218
Definition: globus_xio_file_driver.h:261
Definition: globus_xio_file_driver.h:265
Definition: globus_xio_file_driver.h:163
Definition: globus_xio_file_driver.h:267
Definition: globus_xio_file_driver.h:226
Definition: globus_xio_file_driver.h:271
Definition: globus_xio_file_driver.h:236
Definition: globus_xio_file_driver.h:179
Definition: globus_xio_file_driver.h:222
Definition: globus_xio_file_driver.h:257
Definition: globus_xio_file_driver.h:234
Definition: globus_xio_file_driver.h:289
Definition: globus_xio_file_driver.h:195
Definition: globus_xio_file_driver.h:171
globus_xio_file_mode_t
Definition: globus_xio_file_driver.h:250
Definition: globus_xio_file_driver.h:253
Definition: globus_xio_file_driver.h:216
Definition: globus_xio_file_driver.h:183
Definition: globus_xio_file_driver.h:291
Definition: globus_xio_file_driver.h:187
Definition: globus_xio_file_driver.h:269
globus_xio_file_attr_cmd_t
Definition: globus_xio_file_driver.h:159
Definition: globus_xio_file_driver.h:255
globus_xio_file_whence_t
Definition: globus_xio_file_driver.h:284
Definition: globus_xio_file_driver.h:167
globus_xio_file_flag_t
Definition: globus_xio_file_driver.h:213
Definition: globus_xio_file_driver.h:175
Definition: globus_xio_file_driver.h:191
Definition: globus_xio_file_driver.h:203
Definition: globus_xio_file_driver.h:220
Definition: globus_xio_file_driver.h:199