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 ファイルは書き込み用にオープンされています。
注:
  1. 読み取り フラグと 書き込み フラグは、 カーネル フラグが定義されていない限り使用できません。
  2. 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