NAME¶
gfs_pio_open - open a file in the Gfarm file system
SYNOPSIS¶
#include <gfarm/gfarm.h>
gfarm_error_t gfs_pio_open (const char *
gfarm_url, int
flags , GFS_File * gfp);
DESCRIPTION¶
gfs_pio_open() opens a file in the Gfarm file system specified by
gfarm_url, and returns a
GFS_File structure to the address
pointed by
gfp.
gfarm_url is a path name in the Gfarm file
system, or a Gfarm URL in the form of
gfarm://metaserver:port/path/name.
Values of
flags are constructed by a bitwise-inclusive-OR of the
following list. Exactly one of the first three values should be specified:
- GFARM_FILE_RDONLY
- Open for reading only.
- GFARM_FILE_WRONLY
- Open for writing only.
- GFARM_FILE_RDWR
- Open for reading and writing.
- GFARM_FILE_TRUNC
- If the file already exist and is a regular file, it will be
truncated to length 0 if the open mode allows writing.
RETURN VALUES¶
- GFARM_ERR_NO_ERROR
- The function terminated successfully.
- GFARM_ERR_IS_A_DIRECTORY
- gfarm_url refers to a directory.
- GFARM_ERR_IS_A_SYMBOLIC_LINK
- gfarm_url refers to a symbolic link.
- GFARM_ERR_OPERATION_NOT_PERMITTED
- gfarm_url refers to not a regular file.
- GFARM_ERR_NO_SUCH_OBJECT
- A component used as a directory in gfarm_url does
not exist.
- GFARM_ERR_NOT_A_DIRECTORY
- A component used as a directory in gfarm_url is not,
in fact, a directory.
- GFARM_ERR_PERMISSION_DENIED
- The requested access to the file is not allowed, or one of
the directories in gfarm_url did not allow search (execute)
permission. Or, the authentication to the metadata server fails.
- GFARM_ERR_NO_MEMORY
- Insufficient memory was available.
- GFARM_ERR_INVALID_ARGUMENT
- flags is not valid.
- GFARM_ERR_GFARM_URL_HOST_IS_MISSING
- gfarm_url does not include a metadata server.
- GFARM_ERR_GFARM_URL_PORT_IS_MISSING
- gfarm_url does not include a port number of the
metadata server.
- GFARM_ERR_UNKNOWN_HOST
- The metadata server cannot be resolved.
- GFARM_ERR_TOO_MANY_OPEN_FILES
- The process opens too many files.
- GFARM_ERR_TOO_MANY_OPEN_FILES_IN_SYSTEM
- The system limit on the total number of open files has been
reached.
- GFARM_ERR_NETWORK_IS_UNREACHABLE
- Network is unrechable.
- GFARM_ERR_OPERATION_TIMED_OUT
- Connetion timeout occurs.
- GFARM_ERR_PROTOCOL
- Protocol error occurs.
- GFARM_ERR_BROKEN_PIPE
- Connection to the metadata server is broken.
- GFARM_ERR_PROTOCOL_NOT_SUPPORTED
- Specified authentication protocol is not supported.
- GFARM_ERR_AUTHENTICATION
- User authentication failed when connecting to the metadata
server.
- Others
- An error except the above occurred. The reason is shown by
gfarm_error_string(3).
SEE ALSO¶
gfs_pio_close(3),
gfs_pio_create(3),
gfs_pio_eof(3),
gfs_pio_error(3),
gfs_pio_flush(3),
gfs_pio_getc(3),
gfs_pio_getline(3),
gfs_pio_open(3),
gfs_pio_putc(3),
gfs_pio_putline(3),
gfs_pio_puts(3),
gfs_pio_read(3),
gfs_pio_seek(3),
gfs_pio_ungetc(3),
gfs_pio_write(3)