NAME
gfs_pio_open - GfarmファイルシステムのファイルのオープンSYNOPSIS
#include <gfarm/gfarm.h>
gfarm_error_t gfs_pio_open(const char * gfarm_url,
int flags,
GFS_File * gfp);
DESCRIPTION
gfarm_url で指定したファイルをオープンし、GFS_File 構造体を gfp の指す先に返します。 gfarm_url はGfarmファイルシステムのパス名、 あるいは gfarm://metaserver:port/path/name 形式のGfarm URLです。 flags は、以下のフラグの bitwise-or で指定します。 はじめの三つのフラグはどれかが指定されている必要があります。 GFARM_FILE_RDONLY読込みモードでファイルをオープンします。
GFARM_FILE_WRONLY
書込みモードでファイルをオープンします。
GFARM_FILE_RDWR
読み書きモードでファイルをオープンします。
GFARM_FILE_TRUNC
ファイルが存在し、レギュラーファイルで書込みが許される場合、
ファイルサイズを0にします。
GFARM_FILE_APPEND
ファイルをアペンドモードでオープンします。
GFARM_FILE_UNBUFFERED
バッファを用いないで読み書きを行います。
RETURN VALUES
GFARM_ERR_NO_ERROR正常終了を示します。
GFARM_ERR_IS_A_DIRECTORY
指定されたファイルはディレクトリです。
GFARM_ERR_IS_A_SYMBOLIC_LINK
指定されたファイルはシンボリックリンクです。
GFARM_ERR_OPERATION_NOT_PERMITTED
指定されたファイルはファイルではありません。
GFARM_ERR_NO_SUCH_OBJECT
指定されたファイルが存在しません。
GFARM_ERR_NOT_A_DIRECTORY
指定したパス名の親ディレクトリが、ディレクトリではありません。
GFARM_ERR_PERMISSION_DENIED
指定されたファイルに対し、
flags
で指定されたモードでアクセスする権限がないか、
メタデータサーバへの認証に失敗しました。
GFARM_ERR_NO_MEMORY
メモリ不足のため処理を中止しました。
GFARM_ERR_INVALID_ARGUMENT
flags
の指定が不正です。
GFARM_ERR_GFARM_URL_HOST_IS_MISSING
gfarm_url
で指定されたGfarm
URLにおいて、
メタデータサーバが指定されていません。
GFARM_ERR_GFARM_URL_PORT_IS_MISSING
gfarm_url
で指定されたGfarm
URLにおいて、
メタデータサーバのポート番号が指定されていません。
GFARM_ERR_UNKNOWN_HOST
指定されたメタデータサーバのアドレス解決ができません。
GFARM_ERR_TOO_MANY_OPEN_FILES
プロセスにおけるオープン可能なファイル数の限界に達しました。
GFARM_ERR_TOO_MANY_OPEN_FILES_IN_SYSTEM
システムにおけるオープンできるファイル数の限界に達しました。
GFARM_ERR_NETWORK_IS_UNREACHABLE
メタデータサーバに到達できません。
GFARM_ERR_OPERATION_TIMED_OUT
メタデータサーバへの接続がタイムアウトをおこしました。
GFARM_ERR_PROTOCOL
メタデータサーバとの通信にプロトコルエラーが発生しました。
GFARM_ERR_BROKEN_PIPE
メタデータサーバとの通信が切断しました。
GFARM_ERR_PROTOCOL_NOT_SUPPORTED
指定された認証プロトコルはサポートしていません。
GFARM_ERR_AUTHENTICATION
メタデータサーバに対する認証に失敗しました。
その他
上記以外のエラーが生じたことを示します。
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_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)8 Aug 2020 | Gfarm |