Scroll to navigation

GFS_PIO_OPEN(3) Gfarm GFS_PIO_OPEN(3)

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_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)
8 Aug 2020 Gfarm