|
≫ |
|
|
|
HP OpenVMS HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)
新しいファイルが作成されるときに使用されるファイル保護マスクを作成し,以前のマスク値を返します。
形式
#include <stat.h>
mode_t umask (mode_t mode_complement);
引数
mode_complement新しいファイルが作成されるときに,どのビットをオフにするかを示します。各ビットの意味については,
chmodの説明を参照してください。
説明
初期状態では,ファイル保護マスクはカレント・プロセスのデフォルト・ファイル保護を元に設定されます。これは,C のメイン・プログラムがスタートアップするか,
DECC$CRTL_INIT( または
VAXC$CRTL_INIT) が呼び出されたときに行われます。この設定は,
umaskを呼び出すことで,プログラムが作成するすべてのファイルについて変更することもできますし,
chmodを使用して個々のファイルのファイル保護を変更することもできます。
openまたは
creatによって作成されるファイルのファイル保護は,
openと
creatのモード引数と,前の呼び出しで
umaskに渡された値の補数の間のビット論理積です。
| 注意
UNIX システム・コール関数
umask,
mkdir,
creat,および
openで OpenVMS RMS のデフォルト保護を持つファイルを作成するには,
umaskを決して呼び出さないプログラムの中で, 0777 のファイル保護モード引数を指定して
mkdir,
creat,および
openを呼び出します。これらのデフォルト保護では,ACL やファイルの以前のバージョンなどに基づいて,保護が正しく設定されます。
vfork/
exec呼び出しを行うプログラムでは,新しいプロセス・イメージは,
umaskが呼び出されたかどうかの状態を,呼び出し元のプロセス・イメージから継承します。
umask設定と,
umask関数が呼び出されたかどうかの状態は,どちらも属性として継承されます。
|
戻り値
|