DUP3(3) | FreeBSD Library Functions Manual | DUP3(3) |
名称
dup3 — 既存のファイル記述子を複写するライブラリ
Standard C Library (libc, -lc)解説
dup3() 関数は、指定される新しい記述子の値を可能にする間に既存のオブジェクトの記述子を複写します。新しいファイル記述子の close-on-exec フラグは、 flags の O_CLOEXEC ビットによって決定されます。
oldd ≠ newd and flags == 0 であるなら、振る舞いは、 dup2(oldd, newd)
と同一です。
oldd == newd であるなら、 dup3() は、 dup2(2) と異なり失敗します。
戻り値
エラーが生じるなら、値 -1 が返されます。外部変数 errno は、エラーの原因を示します。エラー
dup3() 関数は、次の場合に失敗します:- [ EBADF]
- oldd 引数が、有効でアクティブな記述子でないか、または newd 引数が負であるか、または、最大の許可できる記述子の番号を越えています、
- [ EINVAL]
- oldd 引数が newd 引数と等しい。
- [ EINVAL]
- flags 引数に、 O_CLOEXEC 以外に設定されたビットがあります。
関連項目
accept(2), close(2), dup2(2), fcntl(2), getdtablesize(2), open(2), pipe(2), socket(2), socketpair(2)規格
dup3() 関数は、あらゆる標準に適合しません。歴史
dup3() 関数は、 FreeBSD 10.0 で登場しました。August 16, 2013 | FreeBSD |