NAME¶
gfarm - Gfarm ファイルシステム
API ライブラリ
SYNOPSIS¶
#include <gfarm/gfarm.h>
DESCRIPTION¶
Gfarm ライブラリは,Gfarm
ファイルシステムや,スケジューリング
機能に対するインターフェースを提供します.このマニュアルはライブラリ
の概要を記述します.各関数の詳細は,関数単位のマニュアルを参照して
ください.
初期化/終了処理¶
gfarm_initialize(3) 関数は Gfarm
ライブラリの初期化に,
gfarm_terminate(3) 関数は Gfarm
ライブラリの終了処理に用います.
ファイル入出力処理¶
既存のファイルをストリームとしてオープンするには
gfs_pio_open(3) 関数を,
新規ファイルを作成してストリームとしてオープンするには
gfs_pio_create(3)
関数を用います.
ファイルのクローズは
gfs_pio_close(3)
関数を使います.
gfs_pio_error(3)
関数はオープンしているストリームに関してエラーが生じているか
を判別し,
gfs_pio_eof(3)
関数は読み込みオープンしているストリームがファイル
末尾に達しているかを判別します.
gfs_pio_seek(3)
関数は,ストリーム中の現在位置を変更します.
gfs_pio_getc(3)
関数はストリームから一文字読み込み,
gfs_pio_ungetc(3)
関数は逆に読み込んだ一文字をストリームに戻します.
gfs_pio_getline(3) 関数や
gfs_pio_gets(3)
関数,
gfs_pio_readline(3)
関数は,ストリームから一行を読み込み,
gfs_pio_readdelim(3)
関数は,ストリームから指定したデリミタまでを読み込みます.
gfs_pio_read(3)
関数は,ストリームから指定したバイト数だけ読み込みます.
gfs_pio_putc(3)
関数はストリームへ一文字書きだし,
gfs_pio_putline(3) 関数や
gfs_pio_puts(3)
関数はストリームへ一行書きだします.
gfs_pio_write(3)
関数は,ストリームへ指定したバイト数だけ書き込みます.
gfs_pio_flush(3) 関数や,
gfs_pio_sync(3) 関数,
gfs_pio_datasync(3)
関数は,バッファリングしているデータを記憶装置に書き出します.
gfs_pio_truncate(3)
関数は,ファイルのサイズを変更します.
ディレクトリアクセス¶
gfs_opendir(3)
関数でディレクトリをオープンすると,
gfs_readdir(3)
関数で,そのディレクトリを構成するエントリを得ることが
できます.オープンしたディレクトリへのアクセスは,
gfs_closedir(3)
関数で終了します.
gfs_glob_init(3)
関数で初期化した gfs_glob_t
を
gfs_glob(3)
関数に渡すことで,ワイルドカードの展開を行うことが
できます.
利用が終わったら,この領域は
gfs_glob_free(3)
関数で開放します.
gfs_glob_add(3) 関数は,gfs_glob_t
にエントリを追加するのに用います.
ファイル/ディレクトリ操作¶
gfs_chmod(3)
関数でファイルのモードを変更し,
gfs_chown(3)
関数でファイルの所有者を変更し,
gfs_utimes(3)
関数でファイルの更新時刻とアクセス時刻を変更します.
gfs_mkdir(3)
関数はディレクトリを作成し,
gfs_rmdir(3)
関数はディレクトリを削除します.
gfs_unlink(3)
関数はファイルを削除し,
gfs_rename(3)
関数はディレクトリやファイルを改名します.
gfs_stat(3)
関数は指定したファイルあるいはディレクトリのサイズや
更新時刻などの情報を返します.
この関数が返した gfs_stat
構造体は
gfs_stat_free(3)
関数を用いて解放する必要があります.
エラーコード¶
ほとんどの Gfarm
ライブラリの関数は
gfarm_error_t 型の Gfarm エラーコー
ドを返します。
gfarm_error_string(3) 関数は Gfarm
エラーコードを表す文字列を返します。
gfarm_errno_to_error(3) 関数は errno を Gfarm
エラーコードに変換します。
gfarm_error_to_errno(3) 関数は Gfarm
エラーコードを errno
に変換します。
文字列配列操作ユーティリティ¶
文字列配列を表す
gfarm_stringlist 型の変数は,
gfarm_stringlist_init(3)
関数で初期化し,
gfarm_stringlist_add(3)
関数で文字列を一つ追加し,
gfarm_stringlist_cat(3)
関数で文字列を複数追加し,
gfarm_stringlist_free(3)
関数で解放することができます.
文字列配列の各要素文字列には
gfarm_stringlist_elem(3)
関数あるいは GFARM_STRINGLIST_ELEM()
マクロでアクセスすることができます.
また,文字列配列を構成する文字列の数は
gfarm_stringlist_length(3)
関数で得ることができます.
gfarm_strings_free_deeply(3)
関数は,文字列配列およびそれを構成する各文字列に対して
標準ライブラリ関数の
free()
を呼び出して解放します.
文字列配列操作ユーティリティマクロ¶
- GFARM_STRINGLIST_ELEM(list, i)
- gfarm_stringlist 型の list
引数が表す文字列配列の
i 番目の要素を
表すマクロです.このマクロは左辺値として使えます.
値として評価した場合には
gfarm_stringlist_elem(3)
関数と同一の結果を返します.
- GFARM_STRINGLIST_STRARRAY(list)
- gfarm_stringlist 型の list
引数が
表す文字列配列の先頭要素へのポインタを返します.
返り値は,文字へのポインタへのポインタとなります.