Grid Community Toolkit  6.2.1541705016
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 
140 #define GLOBUS_XIO_FILE_INVALID_HANDLE GLOBUS_XIO_SYSTEM_INVALID_FILE
141 
153 typedef enum
154 {
168  /* int mode */
170 
178  /* int * mode_out */
180 
194  /* int flags */
196 
204  /* int * flags_out */
206 
219  /* globus_off_t offset */
221 
229  /* globus_off_t * offset_out */
231 
241  /* globus_xio_system_file_t handle */
243 
252  /* globus_xio_system_file_t * handle_out */
254 
264  /* globus_bool_t use_blocking_io */
266 
276  /* globus_bool_t * use_blocking_io_out */
278 
293  /* globus_off_t * in_out_offset,
294  * globus_xio_file_whence_t whence */
297 
305 typedef enum
306 {
308  GLOBUS_XIO_FILE_CREAT = O_CREAT,
310  GLOBUS_XIO_FILE_EXCL = O_EXCL,
312  GLOBUS_XIO_FILE_RDONLY = O_RDONLY,
314  GLOBUS_XIO_FILE_WRONLY = O_WRONLY,
316  GLOBUS_XIO_FILE_RDWR = O_RDWR,
318  GLOBUS_XIO_FILE_TRUNC = O_TRUNC,
320  GLOBUS_XIO_FILE_APPEND = O_APPEND,
321 #ifdef TARGET_ARCH_CYGWIN
322  GLOBUS_XIO_FILE_BINARY = O_BINARY,
323  GLOBUS_XIO_FILE_TEXT = O_TEXT
324 #else
325 
329 #endif
331 
342 typedef enum
343 {
345  GLOBUS_XIO_FILE_IRWXU = S_IRWXU,
347  GLOBUS_XIO_FILE_IRUSR = S_IRUSR,
349  GLOBUS_XIO_FILE_IWUSR = S_IWUSR,
351  GLOBUS_XIO_FILE_IXUSR = S_IXUSR,
353  GLOBUS_XIO_FILE_IRWXO = S_IRWXO,
355  GLOBUS_XIO_FILE_IROTH = S_IROTH,
357  GLOBUS_XIO_FILE_IWOTH = S_IWOTH,
359  GLOBUS_XIO_FILE_IXOTH = S_IXOTH,
361  GLOBUS_XIO_FILE_IRWXG = S_IRWXG,
363  GLOBUS_XIO_FILE_IRGRP = S_IRGRP,
365  GLOBUS_XIO_FILE_IWGRP = S_IWGRP,
367  GLOBUS_XIO_FILE_IXGRP = S_IXGRP
369 
376 typedef enum
377 {
379  GLOBUS_XIO_FILE_SEEK_SET = SEEK_SET,
381  GLOBUS_XIO_FILE_SEEK_CUR = SEEK_CUR,
383  GLOBUS_XIO_FILE_SEEK_END = SEEK_END
385 
386 #ifdef __cplusplus
387 }
388 #endif
389 
390 #endif /* GLOBUS_XIO_FILE_DRIVER_H */
Definition: globus_xio_file_driver.h:251
Definition: globus_xio_file_driver.h:279
Definition: globus_xio_file_driver.h:216
Definition: globus_xio_file_driver.h:265
Definition: globus_xio_file_driver.h:220
Definition: globus_xio_file_driver.h:255
Definition: globus_xio_file_driver.h:267
Definition: globus_xio_file_driver.h:210
Definition: globus_xio_file_driver.h:253
Definition: globus_xio_file_driver.h:257
Definition: globus_xio_file_driver.h:155
Definition: globus_xio_file_driver.h:259
Definition: globus_xio_file_driver.h:218
Definition: globus_xio_file_driver.h:263
Definition: globus_xio_file_driver.h:228
Definition: globus_xio_file_driver.h:171
Definition: globus_xio_file_driver.h:214
Definition: globus_xio_file_driver.h:249
Definition: globus_xio_file_driver.h:226
Definition: globus_xio_file_driver.h:281
Definition: globus_xio_file_driver.h:187
Definition: globus_xio_file_driver.h:163
globus_xio_file_mode_t
Definition: globus_xio_file_driver.h:242
Definition: globus_xio_file_driver.h:245
Definition: globus_xio_file_driver.h:208
Definition: globus_xio_file_driver.h:175
Definition: globus_xio_file_driver.h:283
Definition: globus_xio_file_driver.h:179
Definition: globus_xio_file_driver.h:261
globus_xio_file_attr_cmd_t
Definition: globus_xio_file_driver.h:151
Definition: globus_xio_file_driver.h:247
globus_xio_file_whence_t
Definition: globus_xio_file_driver.h:276
Definition: globus_xio_file_driver.h:159
globus_xio_file_flag_t
Definition: globus_xio_file_driver.h:205
Definition: globus_xio_file_driver.h:167
Definition: globus_xio_file_driver.h:183
Definition: globus_xio_file_driver.h:195
Definition: globus_xio_file_driver.h:212
Definition: globus_xio_file_driver.h:191