SETMODE(3) | FreeBSD Library Functions Manual | SETMODE(3) |
名称
getmode, setmode — モードビットを修正するライブラリ
Standard C Library (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() を呼び出した後に、そのファイル作成マスクの値を変更するなら、 setmode() は、 getmode() が将来のファイルモードを正確に修正するなら、再び呼び出されなければなりません。
setmode() に渡されたモードが無効であるか、または返り値のためのメモリを割り付けることができないなら、 setmode() は、 NULL を返します。
setmode() から返された値は、 malloc() から得られ、一般的に、プログラムが getmode() への呼び出しの後に、終了するとき、 free() でシステムに返されるべきです。
エラー
setmode() 関数は、失敗して、ライブラリルーチン malloc(3) で明記されたエラーのいずれかを errno に設定します。歴史
getmode() と setmode() 関数は、 4.4BSD ではじめて登場しました。April 28, 1995 | FreeBSD |