SETMODE(3) FreeBSD ライブラリ関数マニュアル SETMODE(3)
名称
getmode, setmode − モードビットを更新する |
ライブラリ
標準 C ライブラリ (libc, −lc) |
書式
#include <unistd.h> mode_t |
getmode(const void *set, mode_t mode); void * |
setmode(const char *mode_str); |
解説 |
getmode() 関数は、 set が指す値によって変更された様にファイルパーミッショ ンビット mode のコピーを返します。モードビットだけが変更されるのに対し、 ファイルモードの他の部分を調査できます。 setmode() 関数は、 chmod(1) で述べた様に絶対値 (8 進数 ) またはシンボリッ ク値を引数として取り、 getmode() に与えられるモード値を指すポインタを返し ます。ファイル作成マスクには相対的なシンボリック値もあるので、 setmode() は umask(2) を呼び出すことがあります。これが生じた場合、ファイル作成マス クは setmode() が復帰する前に復元されます。呼び出しプログラムがファイル作 成マスクの値を setmode() を呼び出した後で変更する場合、将来のファイルモー ドを正しく更新するために getmode() を呼ぶなら、 setmode() をもう一度呼び 出す必要があります。 setmode() に渡されたモードが無効な場合、または戻り値に関するメモリを割り 当てできない場合、 setmode() は NULL を返します。 setmode() から返された値は malloc() から得られ、プログラムがその値に対す る処理を終えた時、通常は getmode() の呼び出しの後に、 free() でシステムに 返す必要があります。 |
エラー
setmode() 関数は、処理に失敗して errno をライブラリルーチン malloc(3) で 指定されたエラーのどれかに設定することがあります。 |
関連項目
歴史
getmode() 関数と setmode() 関数は 4.4BSD で最初に登場しました。 FreeBSD 10.0 April 28, 1995 FreeBSD 10.0 |