#include <gfarm/gfarm.h>
gfarm_error_t gfs_pio_open( |
gfarm_url, | |
| flags, | ||
gfp); |
const char * gfarm_url;int flags;GFS_File * gfp;
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_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_ARGUMENTflags
の指定が不正です。
GFARM_ERR_GFARM_URL_HOST_IS_MISSINGgfarm_url
で指定されたGfarm URLにおいて、
メタデータサーバが指定されていません。
GFARM_ERR_GFARM_URL_PORT_IS_MISSINGgfarm_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) によりエラーの原因を文字列に変換することができます。