#include <gfarm/gfarm.h>
gfarm_error_t gfs_pio_open( |
gfarm_url, | |
flags, | ||
gfp) ; |
const char * gfarm_url
;int flags
;GFS_File * gfp
;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.
GFARM_FILE_APPEND
The file is opened in append mode.
GFARM_FILE_UNBUFFERED
The file is accessed without buffering.
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.
An error except the above occurred. The reason is shown by gfarm_error_string(3).