#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_RDONLYOpen for reading only.
GFARM_FILE_WRONLYOpen for writing only.
GFARM_FILE_RDWROpen for reading and writing.
GFARM_FILE_TRUNCIf the file already exist and is a regular file, it will be truncated to length 0 if the open mode allows writing.
GFARM_FILE_APPENDThe file is opened in append mode.
GFARM_FILE_UNBUFFEREDThe file is accessed without buffering.
GFARM_ERR_NO_ERRORThe function terminated successfully.
GFARM_ERR_IS_A_DIRECTORYgfarm_url refers to a directory.
GFARM_ERR_IS_A_SYMBOLIC_LINKgfarm_url refers to a symbolic link.
GFARM_ERR_OPERATION_NOT_PERMITTEDgfarm_url refers to not a regular file.
GFARM_ERR_NO_SUCH_OBJECTA component used as a directory in gfarm_url does not exist.
GFARM_ERR_NOT_A_DIRECTORYA component used as a directory in gfarm_url is not, in fact, a
directory.
GFARM_ERR_PERMISSION_DENIEDThe 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_MEMORYInsufficient memory was available.
GFARM_ERR_INVALID_ARGUMENTflags
is not valid.
GFARM_ERR_GFARM_URL_HOST_IS_MISSINGgfarm_url
does not include a metadata server.
GFARM_ERR_GFARM_URL_PORT_IS_MISSINGgfarm_url
does not include a port number of the metadata server.
GFARM_ERR_UNKNOWN_HOSTThe metadata server cannot be resolved.
GFARM_ERR_TOO_MANY_OPEN_FILESThe process opens too many files.
GFARM_ERR_TOO_MANY_OPEN_FILES_IN_SYSTEMThe system limit on the total number of open files has been reached.
GFARM_ERR_NETWORK_IS_UNREACHABLENetwork is unrechable.
GFARM_ERR_OPERATION_TIMED_OUTConnetion timeout occurs.
GFARM_ERR_PROTOCOLProtocol error occurs.
GFARM_ERR_BROKEN_PIPEConnection to the metadata server is broken.
GFARM_ERR_PROTOCOL_NOT_SUPPORTEDSpecified authentication protocol is not supported.
GFARM_ERR_AUTHENTICATIONUser authentication failed when connecting to the metadata server.
An error except the above occurred. The reason is shown by gfarm_error_string(3).