fcntl.h ファイル
目的
ファイル制御オプションを定義します。
説明
/usr/include/fcntl.h ファイルは、 fcntl サブルーチンの Command および Argument パラメーターに指定できる値、および open サブルーチンの Oflag パラメーターに指定できる値を定義します。 オープン・ファイルのファイル状況フラグについては、以下で説明します。
オープン・サブルーチンのフラグ値
以下のフラグ値は、 オープン サブルーチンのみがアクセスできます。
| 項目 | 説明 |
|---|---|
| O_RDONLY | 読み取り専用 |
| O_WRONLY | 書き込み専用 |
| O_RDWR | 読み取りと書き込み |
| O_CREAT | ファイル作成で開く (3 番目の オープン 引数を使用) |
| O_TRUNC | 切り捨てによるオープン |
| O_DIRECT | 直接入出力用オープン |
| O_EXCL | 排他的オープン 注: O_EXCL フラグは、ネットワーク・ファイル・システム (NFS) では完全にはサポートされていません。 NFS プロトコルは、 O_EXCL フラグの設計された機能を保証しません。
|
| O_NOCTTY | 制御端末を割り当てない |
| O_RSHARE (_R) | 読み取り共用オープン |
| NSHARE (_N) | 読み取り共用オープン |
ファイル・アクセス・モード・マスク
O_ACCMODE (自動モード) マスクは、ファイル・アクセス・モードを決定するために使用されます。
オープン・サブルーチンおよび fcntl サブルーチンのファイル状況フラグ
以下のファイル状況フラグは、 オープン サブルーチンと 制御 サブルーチンの両方からアクセス可能です。
| 項目 | 説明 |
|---|---|
| O_NONBLOCK | POSIX 非ブロッキング入出力 |
| FNONBLOCK | POSIX 非ブロッキング入出力 |
| O_APPEND | 末尾に書き込みが保証されている追加 |
| FAPPEND | 末尾に書き込みが保証されている追加 |
| O_SYNC | 同期書き込みオプション |
| fsync | 同期書き込みオプション |
| O_DSYNC (非同期) | 同期書き込みオプション (ファイル・データのみ)。 |
| fdatasync | 同期書き込みオプション (ファイル・データのみ)。 |
| O_RSYNC (同期) | 読み取り時の同期ファイル属性。 |
| FREADSYNC (読み取り同期) | 読み取り時の同期ファイル属性。 |
| 非同期 | 非同期入出力 |
| O_NDELAY (Y) | 非ブロッキング I/O |
| FNDELAY | 非ブロッキング I/O |
| O_LARGEFILE | ラージ・ファイルへのアクセスが有効になりました。 |
オープン・サブルーチンのファイル状況フラグ
オープン サブルーチンは、以下のファイル状況フラグにアクセスできます。
| 項目 | 説明 |
|---|---|
| O_DEFER | 据え置き更新 |
| O_DELAY (Y) | 遅延して開く |
| O_DIRECT | 直接入出力用オープン |
fcntl サブルーチンのファイル・ディスクリプター・フラグ
制御 サブルーチンは、以下のファイル・ディスクリプター・フラグにアクセスできます。
| 項目 | 説明 |
|---|---|
| FD_CLOEXEC | EXEC の実行中にこのファイルをクローズします。 |
ファイル・アクセス・モードに対応するファイル・フラグ値は、以下のとおりです。
| 項目 | 説明 |
|---|---|
| fread | ファイルは読み取り用にオープンされています。 |
| fwrite | ファイルは書き込み用にオープンされています。 |
注:
- 読み取り フラグと 書き込み フラグは、 カーネル フラグが定義されていない限り使用できません。
- ldfcn.h ファイルは、 FREAD および FWRITE オプションにも値を割り当てます。 ldfcn.h および fcntl.h ファイルを直接または間接に一緒に使用する場合は、いずれかのヘッダー・ファイルの FREAD および FWRITE オプションで #undef ステートメントを使用する必要があります。 そうしないと、コンパイラーは重複した定義の使用に関する警告を戻します。
fcntl サブルーチン用のコマンド値
制御 サブルーチン (つまり、 制御 サブルーチン要求) の コマンド 値は、以下のとおりです。
| 項目 | 説明 |
|---|---|
| F_DUPFD | ファイル記述を複写してください。 |
| F_GETFD | ファイル記述フラグを取得します。 |
| F_SETFD | ファイル記述フラグを設定します。 |
| F_GETFL | ファイル状況フラグおよびファイル・アクセス・モードを取得します。 |
| F_SETFL | ファイル・フラグを設定します。 |
| F_GETLK | 既存のファイル・ロックに関する情報を返します。 |
| F_GETLK64 | 既存のファイル・ロックに関する情報を返します。 |
| F_SETLK | ファイル・ロックを設定またはクリアします。 |
| F_SETLK64 | ファイル・ロックを設定またはクリアします。 |
| F_SETLKW | ファイル・ロックを設定またはクリアし、ブロックされている場合は待機します。 |
| F_SETLKW64 | ファイル・ロックを設定またはクリアし、ブロックされている場合は待機します。 |
| F_GETOWN | 記述子の所有者を取得します。 |
| F_SETOWN | 記述子の所有者を設定します。 |
ソケットの制限
以下の コマンド 値は、ソケットの エインヴァル を戻します。
- F_SETLK
- F_SETLKW
- F_SETLK64
- F_SETLKW64
- F_GETLK
- F_GETLK64