globus_xio 6.6
Loading...
Searching...
No Matches
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
23#include "globus_xio_system.h"
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
148#define GLOBUS_XIO_FILE_INVALID_HANDLE GLOBUS_XIO_SYSTEM_INVALID_FILE
149
161typedef enum
162{
176 /* int mode */
178
186 /* int * mode_out */
188
202 /* int flags */
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
313typedef enum
314{
316 GLOBUS_XIO_FILE_CREAT = O_CREAT,
318 GLOBUS_XIO_FILE_EXCL = O_EXCL,
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
337#endif
339
350typedef enum
351{
353 GLOBUS_XIO_FILE_IRWXU = S_IRWXU,
357 GLOBUS_XIO_FILE_IWUSR = S_IWUSR,
359 GLOBUS_XIO_FILE_IXUSR = S_IXUSR,
361 GLOBUS_XIO_FILE_IRWXO = S_IRWXO,
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,
375 GLOBUS_XIO_FILE_IXGRP = S_IXGRP
377
384typedef enum
385{
387 GLOBUS_XIO_FILE_SEEK_SET = SEEK_SET,
389 GLOBUS_XIO_FILE_SEEK_CUR = SEEK_CUR,
393
394#ifdef __cplusplus
395}
396#endif
397
398#endif /* GLOBUS_XIO_FILE_DRIVER_H */
globus_xio_file_attr_cmd_t
Definition: globus_xio_file_driver.h:160
@ GLOBUS_XIO_FILE_SET_BLOCKING_IO
Definition: globus_xio_file_driver.h:195
@ GLOBUS_XIO_FILE_SEEK
Definition: globus_xio_file_driver.h:203
@ GLOBUS_XIO_FILE_GET_HANDLE
Definition: globus_xio_file_driver.h:191
@ GLOBUS_XIO_FILE_GET_TRUNC_OFFSET
Definition: globus_xio_file_driver.h:183
@ GLOBUS_XIO_FILE_GET_MODE
Definition: globus_xio_file_driver.h:167
@ GLOBUS_XIO_FILE_SET_HANDLE
Definition: globus_xio_file_driver.h:187
@ GLOBUS_XIO_FILE_SET_MODE
Definition: globus_xio_file_driver.h:163
@ GLOBUS_XIO_FILE_SET_FLAGS
Definition: globus_xio_file_driver.h:171
@ GLOBUS_XIO_FILE_GET_FLAGS
Definition: globus_xio_file_driver.h:175
@ GLOBUS_XIO_FILE_GET_BLOCKING_IO
Definition: globus_xio_file_driver.h:199
@ GLOBUS_XIO_FILE_SET_TRUNC_OFFSET
Definition: globus_xio_file_driver.h:179
globus_xio_file_flag_t
Definition: globus_xio_file_driver.h:214
globus_xio_file_mode_t
Definition: globus_xio_file_driver.h:251
globus_xio_file_whence_t
Definition: globus_xio_file_driver.h:285
@ GLOBUS_XIO_FILE_TEXT
Definition: globus_xio_file_driver.h:236
@ GLOBUS_XIO_FILE_BINARY
Definition: globus_xio_file_driver.h:234
@ GLOBUS_XIO_FILE_RDWR
Definition: globus_xio_file_driver.h:224
@ GLOBUS_XIO_FILE_APPEND
Definition: globus_xio_file_driver.h:228
@ GLOBUS_XIO_FILE_WRONLY
Definition: globus_xio_file_driver.h:222
@ GLOBUS_XIO_FILE_TRUNC
Definition: globus_xio_file_driver.h:226
@ GLOBUS_XIO_FILE_RDONLY
Definition: globus_xio_file_driver.h:220
@ GLOBUS_XIO_FILE_CREAT
Definition: globus_xio_file_driver.h:216
@ GLOBUS_XIO_FILE_EXCL
Definition: globus_xio_file_driver.h:218
@ GLOBUS_XIO_FILE_IXGRP
Definition: globus_xio_file_driver.h:275
@ GLOBUS_XIO_FILE_IRUSR
Definition: globus_xio_file_driver.h:255
@ GLOBUS_XIO_FILE_IRWXG
Definition: globus_xio_file_driver.h:269
@ GLOBUS_XIO_FILE_IXOTH
Definition: globus_xio_file_driver.h:267
@ GLOBUS_XIO_FILE_IXUSR
Definition: globus_xio_file_driver.h:259
@ GLOBUS_XIO_FILE_IWOTH
Definition: globus_xio_file_driver.h:265
@ GLOBUS_XIO_FILE_IWGRP
Definition: globus_xio_file_driver.h:273
@ GLOBUS_XIO_FILE_IRGRP
Definition: globus_xio_file_driver.h:271
@ GLOBUS_XIO_FILE_IRWXU
Definition: globus_xio_file_driver.h:253
@ GLOBUS_XIO_FILE_IRWXO
Definition: globus_xio_file_driver.h:261
@ GLOBUS_XIO_FILE_IWUSR
Definition: globus_xio_file_driver.h:257
@ GLOBUS_XIO_FILE_IROTH
Definition: globus_xio_file_driver.h:263
@ GLOBUS_XIO_FILE_SEEK_CUR
Definition: globus_xio_file_driver.h:289
@ GLOBUS_XIO_FILE_SEEK_END
Definition: globus_xio_file_driver.h:291
@ GLOBUS_XIO_FILE_SEEK_SET
Definition: globus_xio_file_driver.h:287