'\" t
.\" Title: gfs_pio_open
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets vsnapshot
.\" Date: 8 Aug 2020
.\" Manual: Gfarm
.\" Source: Gfarm
.\" Language: English
.\"
.TH "GFS_PIO_OPEN" "3" "8 Aug 2020" "Gfarm" "Gfarm"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
gfs_pio_open \- Gfarmファイルシステムのファイルのオープン
.SH "SYNOPSIS"
.sp
.ft B
.nf
#include
.fi
.ft
.HP \w'gfarm_error_t\ gfs_pio_open('u
.BI "gfarm_error_t\ gfs_pio_open(const\ char\ *\ " "gfarm_url" ", int\ " "flags" ", GFS_File\ *\ " "gfp" ");"
.SH "DESCRIPTION"
.PP
\fIgfarm_url\fR
で指定したファイルをオープンし、GFS_File 構造体を
\fIgfp\fR
の指す先に返します。
\fIgfarm_url\fR
はGfarmファイルシステムのパス名、 あるいは gfarm://metaserver:port/path/name 形式のGfarm URLです。
.PP
\fIflags\fR
は、以下のフラグの bitwise\-or で指定します。 はじめの三つのフラグはどれかが指定されている必要があります。
.PP
\fBGFARM_FILE_RDONLY\fR
.RS 4
読込みモードでファイルをオープンします。
.RE
.PP
\fBGFARM_FILE_WRONLY\fR
.RS 4
書込みモードでファイルをオープンします。
.RE
.PP
\fBGFARM_FILE_RDWR\fR
.RS 4
読み書きモードでファイルをオープンします。
.RE
.PP
\fBGFARM_FILE_TRUNC\fR
.RS 4
ファイルが存在し、レギュラーファイルで書込みが許される場合、 ファイルサイズを0にします。
.RE
.PP
\fBGFARM_FILE_APPEND\fR
.RS 4
ファイルをアペンドモードでオープンします。
.RE
.PP
\fBGFARM_FILE_UNBUFFERED\fR
.RS 4
バッファを用いないで読み書きを行います。
.RE
.SH "RETURN VALUES"
.PP
\fBGFARM_ERR_NO_ERROR\fR
.RS 4
正常終了を示します。
.RE
.PP
\fBGFARM_ERR_IS_A_DIRECTORY\fR
.RS 4
指定されたファイルはディレクトリです。
.RE
.PP
\fBGFARM_ERR_IS_A_SYMBOLIC_LINK\fR
.RS 4
指定されたファイルはシンボリックリンクです。
.RE
.PP
\fBGFARM_ERR_OPERATION_NOT_PERMITTED\fR
.RS 4
指定されたファイルはファイルではありません。
.RE
.PP
\fBGFARM_ERR_NO_SUCH_OBJECT\fR
.RS 4
指定されたファイルが存在しません。
.RE
.PP
\fBGFARM_ERR_NOT_A_DIRECTORY\fR
.RS 4
指定したパス名の親ディレクトリが、ディレクトリではありません。
.RE
.PP
\fBGFARM_ERR_PERMISSION_DENIED\fR
.RS 4
指定されたファイルに対し、
\fIflags\fR
で指定されたモードでアクセスする権限がないか、 メタデータサーバへの認証に失敗しました。
.RE
.PP
\fBGFARM_ERR_NO_MEMORY\fR
.RS 4
メモリ不足のため処理を中止しました。
.RE
.PP
\fBGFARM_ERR_INVALID_ARGUMENT\fR
.RS 4
\fIflags\fR
の指定が不正です。
.RE
.PP
\fBGFARM_ERR_GFARM_URL_HOST_IS_MISSING\fR
.RS 4
\fIgfarm_url\fR
で指定されたGfarm URLにおいて、 メタデータサーバが指定されていません。
.RE
.PP
\fBGFARM_ERR_GFARM_URL_PORT_IS_MISSING\fR
.RS 4
\fIgfarm_url\fR
で指定されたGfarm URLにおいて、 メタデータサーバのポート番号が指定されていません。
.RE
.PP
\fBGFARM_ERR_UNKNOWN_HOST\fR
.RS 4
指定されたメタデータサーバのアドレス解決ができません。
.RE
.PP
\fBGFARM_ERR_TOO_MANY_OPEN_FILES\fR
.RS 4
プロセスにおけるオープン可能なファイル数の限界に達しました。
.RE
.PP
\fBGFARM_ERR_TOO_MANY_OPEN_FILES_IN_SYSTEM\fR
.RS 4
システムにおけるオープンできるファイル数の限界に達しました。
.RE
.PP
\fBGFARM_ERR_NETWORK_IS_UNREACHABLE\fR
.RS 4
メタデータサーバに到達できません。
.RE
.PP
\fBGFARM_ERR_OPERATION_TIMED_OUT\fR
.RS 4
メタデータサーバへの接続がタイムアウトをおこしました。
.RE
.PP
\fBGFARM_ERR_PROTOCOL\fR
.RS 4
メタデータサーバとの通信にプロトコルエラーが発生しました。
.RE
.PP
\fBGFARM_ERR_BROKEN_PIPE\fR
.RS 4
メタデータサーバとの通信が切断しました。
.RE
.PP
\fBGFARM_ERR_PROTOCOL_NOT_SUPPORTED\fR
.RS 4
指定された認証プロトコルはサポートしていません。
.RE
.PP
\fBGFARM_ERR_AUTHENTICATION\fR
.RS 4
メタデータサーバに対する認証に失敗しました。
.RE
.PP
その他
.RS 4
上記以外のエラーが生じたことを示します。
\fBgfarm_error_string\fR(3)
によりエラーの原因を文字列に変換することができます。
.RE
.SH "SEE ALSO"
.PP
\fBgfs_pio_close\fR(3),
\fBgfs_pio_create\fR(3),
\fBgfs_pio_eof\fR(3),
\fBgfs_pio_error\fR(3),
\fBgfs_pio_flush\fR(3),
\fBgfs_pio_getc\fR(3),
\fBgfs_pio_getline\fR(3),
\fBgfs_pio_open\fR(3),
\fBgfs_pio_putc\fR(3),
\fBgfs_pio_putline\fR(3),
\fBgfs_pio_puts\fR(3),
\fBgfs_pio_read\fR(3),
\fBgfs_pio_seek\fR(3),
\fBgfs_pio_ungetc\fR(3),
\fBgfs_pio_write\fR(3)