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にします。
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_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)