可搬用関数:ファイルの参照許可モードを変更します。
モジュール:USE DFPORT
形式
result = CHMOD (name, mode)
name
(入力) CHARACTER*(*)。参照許可モードを変更したいファイルの名前。単一パスでなければなりません。
mode
(入力) CHARACTER*(*)。読み取り,書き込み,または実行のファイル参照許可モード。mode パラメタはシンボルでも絶対値でもかまいません。絶対値モードは,8 進数で指定します。この値は,以下の特権ビットを OR で結合したどのような組み合わせも取ることができます。
特権ビット | 説明 | 動作 |
---|---|---|
4000 | 実行時にユーザー ID を設定します。 | 無視されます。決して真にはなりません。 |
2000 | 実行時にグループ ID を設定します。 | 無視されます。決して真にはなりません。 |
1000 | Sticky ビット | 無視されます。決して真にはなりません。 |
0400 | 所有者が読み取ることができます。 | 無視されます。常に真です。 |
0200 | 所有者が書き込むことができます。 | 設定可能です。 |
0100 | 所有者が実行することができます。 | 無視されます。ファイル名拡張子に依存します。 |
0040, 0020, 0010 |
グループで読み取り,書き込み,実行ができます。 | 無視されます。所有者の特権を仮定します。 |
0004, 0002, 0001 |
他の人が読み取り,書き込み,実行することができます。 | 無視されます。所有者の特権を仮定します。 |
以下の正則表現はシンボル・モードを表しています。
[ugoa]*[+-=] [rwxXst]*
"[ugoa]*" は無視されます。 "[+ - =]" は実行される操作を示しています。
+:特権を追加します。
-:特権を削除します。
=:無条件に特権を設定します。
"[rwxXst]*" は,特権を追加,除去または設定を示しています。"w" のみが意味を持ち,書き込み特権に影響を及ぼします。他の文字は無視されます。
結果
結果の型は INTEGER(4) です。成功裏にモードが変更されるとゼロが返されます,そうでなければエラー・コードが返されます。可能性のあるエラー・コードは以下のとおりです。
ENOENT - 指定したファイルがありません。
EINVAL - モード引数が不正です。
EPERM - 特権がありません。ファイルのモードを変更できません。
互換性
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB
関連情報
例USE DFPORT integer(4) I,Istatus I = ACCESS ("DATAFILE.TXT", "w") if (i) then ISTATUS = CHMOD ("datafile.txt", "[+w]") end if I = ACCESS ("DATAFILE.TXT","w") print *, i