EN JA
SETMODE(3)
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