Man page - errno(3)

Packages contains this manual

Available languages:

en fr pl ja ru de

Manual

ERRNO

名 前
書 åŧ
čĒŦ 明
errno
エ ナ ãƒŧ į•Ē åˇ と エ ナ ãƒŧ 名
エ ナ ãƒŧ 名 ぎ 一 čϧ
æŗ¨ 意
é–ĸ 逪 項 į›Ž
こ ぎ 文 書 ãĢ つ い ãĻ

名 前

errno - į›´ čŋ‘ ãĢ į™ē į”Ÿ し た エ ナ ãƒŧ ぎ į•Ē åˇ

書 åŧ

#include <errno.h>

čĒŦ 明

ヘ ッ ダ ãƒŧ フ ã‚Ą イ ãƒĢ <errno.h> で 整 数 型 ぎ 変 数 errno が 厚 įžŠ さ れ ãĻ お り 、 ã‚ˇ ゚ テ ム ã‚ŗ ãƒŧ ãƒĢ や い く つ か ぎ ナ イ ブ ナ ãƒĒ é–ĸ 数 は 、 エ ナ ãƒŧ が į™ē į”Ÿ し た 際 ãĢ こ ぎ 変 数 ãĢ そ ぎ 原 因 を į¤ē す 値 を 設 厚 す る 。

errno

errno ぎ 値 は å‘ŧ ãŗ å‡ē し ぎ čŋ” り 値 が エ ナ ãƒŧ (ãģ と ん お ぎ ã‚ˇ ゚ テ ム ã‚ŗ ãƒŧ ãƒĢ で は -1 で 、 ãģ と ん お ぎ ナ イ ブ ナ ãƒĒ é–ĸ 数 で は -1 か NULL) を į¤ē し た と き ãĢ ぎ ãŋ 意 呺 を 持 つ が 、 é–ĸ 数 は 成 功 し た å ´ 合 も errno を 変 更 す る こ と が 「 訹 さ れ ãĻ い る 」 。 お ぎ ã‚ˇ ゚ テ ム ã‚ŗ ãƒŧ ãƒĢ も ナ イ ブ ナ ãƒĒ é–ĸ 数 も errno ぎ 値 を 0 ãĢ 設 厚 す る こ と は ãĒ い 。

い く つ か ぎ ã‚ˇ ゚ テ ム ã‚ŗ ãƒŧ ãƒĢ や ナ イ ブ ナ ãƒĒ é–ĸ 数 (例 え ば getpriority (2)) で は 、 成 功 し た å ´ 合 ぎ 有 劚 ãĒ čŋ” り 値 と し ãĻ -1 が čŋ” さ れ る こ と が あ る 。 こ ぎ よ う ãĒ å ´ 合 、 成 功 ãĒ ぎ か エ ナ ãƒŧ ãĒ ぎ か を åŒē åˆĨ す る た め ãĢ は 、 å‘ŧ ãŗ å‡ē し ぎ 前 ãĢ errno を 0 ãĢ 設 厚 し ãĻ お け ば よ い 。 å‘ŧ ãŗ å‡ē し ぎ čŋ” り 値 が エ ナ ãƒŧ į™ē į”Ÿ ぎ 可 čƒŊ 性 を į¤ē す も ぎ だ ãŖ た å ´ 合 ãĢ は 、 errno が 0 äģĨ 外 ぎ 値 か を čĻ‹ ãĻ įĸē čĒ す れ ば よ い 。

errno は 、 ISO C standard で int 型 ぎ 変 更 可 čƒŊ ãĒ åˇĻ čžē 値 と し ãĻ 厚 įžŠ さ れ ãĻ お り 、 明 į¤ē įš„ ãĢ åŽŖ 言 を 行 ãŖ ãĻ は ãĒ ら ãĒ い ; errno は マ ク ロ ぎ å ´ 合 も あ り え る 。 errno は ゚ ãƒŦ ッ ド 毎 ãĢ 値 を 持 つ 。 つ ぞ り あ る ゚ ãƒŦ ッ ド で errno が 設 厚 さ れ ãĻ も 、 äģ– ãŽ ゚ ãƒŦ ッ ド ぎ errno ãĢ は åŊą éŸŋ し ãĒ い 。

エ ナ ãƒŧ į•Ē åˇ と エ ナ ãƒŧ 名

有 劚 ãĒ エ ナ ãƒŧ į•Ē åˇ は す ず ãĻ æ­Ŗ ぎ 数 字 で あ る 。 ヘ ッ ダ ãƒŧ フ ã‚Ą イ ãƒĢ <errno.h> で 、 errno で äŊŋ わ れ る 可 čƒŊ 性 ぎ あ る す ず ãĻ ぎ エ ナ ãƒŧ į•Ē åˇ ãĢ 寞 し ãĻ ã‚ˇ ãƒŗ ボ ãƒĢ 名 が 厚 įžŠ さ れ ãĻ い る 。

POSIX.1 で 厚 įžŠ さ れ ãĻ い る す ず ãĻ ぎ エ ナ ãƒŧ 名 ãĢ は 、 そ れ ぞ れ į•° ãĒ る 値 が 寞 åŋœ し ãĻ い ãĒ け れ ば ãĒ ら ãĒ い 。 äŊ† し 、 EAGAIN と EWOULDBLOCK は 例 外 で 、 こ れ ら は 同 じ 値 を 持 ãŖ ãĻ も よ い 。 Linux で は 、 す ず ãĻ ぎ ã‚ĸ ãƒŧ キ テ ク チ ãƒŖ ãƒŧ で こ れ ら äēŒ ã¤ は 同 じ 値 で あ る 。

各 ã‚ˇ ãƒŗ ボ ãƒĢ 名 ãĢ 寞 åŋœ す る エ ナ ãƒŧ į•Ē åˇ は UNIX ã‚ˇ ゚ テ ム ãĢ よ り į•° ãĒ り 、 Linux で は ã‚ĸ ãƒŧ キ テ ク チ ãƒŖ ãƒŧ ãĢ よ ãŖ ãĻ も į•° ãĒ ãŖ ãĻ い る 。 し た が ãŖ ãĻ 、 数 値 は äģĨ 下 ぎ エ ナ ãƒŧ 名 ぎ 一 čϧ ãĢ は åĢ ぞ れ ãĻ い ãĒ い 。 é–ĸ 数 perror (3) と strerror (3) を äŊŋ う と 、 こ れ ら ぎ 名 前 を 、 寞 åŋœ す る テ キ ゚ ト ぎ エ ナ ãƒŧ ãƒĄ ッ ã‚ģ ãƒŧ ジ ãĢ 変 換 で き る 。

各 Linux ã‚ˇ ゚ テ ム で は 、 errno (1) ã‚ŗ マ ãƒŗ ド ( moreutils パ ッ ã‚ą ãƒŧ ジ ãĢ åĢ ぞ れ ãĻ い る ) を äŊŋ ãŖ ãĻ 、 す ず ãĻ ぎ エ ナ ãƒŧ ぎ ã‚ˇ ãƒŗ ボ ãƒĢ 名 と 寞 åŋœ す る エ ナ ãƒŧ į•Ē åˇ ぎ 一 čϧ を 取 åž— で き る 。

$ errno -l
EPERM 1 Operation not permitted
ENOENT 2 No such file or directory
ESRCH 3 No such process
EINTR 4 Interrupted system call
EIO 5 Input/output error
...

errno (1) ã‚ŗ マ ãƒŗ ド を äŊŋ う と 、 個 々 ぎ エ ナ ãƒŧ į•Ē åˇ や エ ナ ãƒŧ 名 を čĒŋ ず た り 、 エ ナ ãƒŧ ぎ čĒŦ 明 ãĢ 寞 す る 文 字 列 検 į´ĸ で エ ナ ãƒŧ を 検 į´ĸ し た り で き る 。 äģĨ 下 ãĢ 例 を į¤ē す 。

$ errno 2
ENOENT 2 No such file or directory
$ errno ESRCH
ESRCH 3 No such process
$ errno -s permission
EACCES 13 Permission denied

エ ナ ãƒŧ 名 ぎ 一 čϧ

äģĨ 下 ぎ エ ナ ãƒŧ ぎ ã‚ˇ ãƒŗ ボ ãƒĢ 名 ぎ 一 čϧ で 、 ã‚ˇ ãƒŗ ボ ãƒĢ 名 ãĢ äģ˜ ã„ ãĻ い る æŗ¨ 記 は äģĨ 下 ぎ 通 り で あ る 。

*

POSIX.1-2001 : 名 前 が POSIX.1-2001 と そ れ äģĨ 降 ぎ バ ãƒŧ ジ ョ ãƒŗ ぎ POSIX.1 で 厚 įžŠ さ れ ãĻ い る 。 äŊ† し 書 き が あ る å ´ 合 を 除 く 。

*

POSIX.1-2008 : 名 前 が POSIX.1-2008 で 厚 įžŠ さ れ ãĻ い る が 、 そ れ äģĨ 前 ぎ POSIX.1 標 æē– ãĢ は 存 在 し ãĒ い 。

*

C99 : 名 前 が C99 で 厚 įžŠ さ れ ãĻ い る 。

äģĨ 下 は Linux で 厚 įžŠ さ れ ãĻ い る エ ナ ãƒŧ ぎ ã‚ˇ ãƒŗ ボ ãƒĢ 名 ぎ 一 čϧ で あ る 。

E2BIG

åŧ• 数 ãƒĒ ゚ ト が 長 過 ぎ る (POSIX.1-2001)

EACCES

訹 可 が ãĒ い (POSIX.1-2001)

EADDRINUSE

ã‚ĸ ド ãƒŦ ゚ が す で ãĢ äŊŋ ᔍ さ れ ãĻ い る (POSIX.1-2001)

EADDRNOTAVAIL

ã‚ĸ ド ãƒŦ ゚ が äŊŋ ᔍ で き ãĒ い (POSIX.1-2001)

EAFNOSUPPORT

ã‚ĸ ド ãƒŦ ゚ フ ã‚Ą ミ ãƒĒ ãƒŧ が ã‚ĩ ポ ãƒŧ ト さ れ ãĻ い ãĒ い (POSIX.1-2001)

EAGAIN

ãƒĒ ã‚Ŋ ãƒŧ ゚ が 一 時 įš„ ãĢ 刊 ᔍ 不 可 ( EWOULDBLOCK と 同 じ 値 で も よ い ) (POSIX.1-2001)

EALREADY

æŽĨ įļš ãŒ æ—ĸ ãĢ å‡Ļ ᐆ 中 で あ る (POSIX.1-2001)

EBADE

不 æ­Ŗ ãĒ や り 取 り (exchange) で あ る

EBADF

フ ã‚Ą イ ãƒĢ デ ã‚Ŗ ゚ ク ãƒĒ プ ã‚ŋ ãƒŧ が 不 æ­Ŗ で あ る (POSIX.1-2001)

EBADFD

フ ã‚Ą イ ãƒĢ デ ã‚Ŗ ゚ ク ãƒĒ プ ã‚ŋ ãƒŧ が 不 æ­Ŗ ãĒ įŠļ 態 で あ る

EBADMSG

ãƒĄ ッ ã‚ģ ãƒŧ ジ が 不 æ­Ŗ で あ る (POSIX.1-2001)

EBADR

不 æ­Ŗ ãĒ ãƒĒ ク エ ゚ ト デ ã‚Ŗ ゚ ク ãƒĒ プ ã‚ŋ ãƒŧ

EBADRQC

不 æ­Ŗ ãĒ ãƒĒ ク エ ゚ ト ã‚ŗ ãƒŧ ド

EBADSLT

不 æ­Ŗ ãĒ ゚ ロ ッ ト

EBUSY

ãƒĒ ã‚Ŋ ãƒŧ ゚ が äŊŋ ᔍ 中 で あ る (POSIX.1-2001)

ECANCELED

操 äŊœ が キ ãƒŖ ãƒŗ ã‚ģ ãƒĢ さ れ た (POSIX.1-2001)

ECHILD

子 プ ロ ã‚ģ ゚ が ãĒ い (POSIX.1-2001)

ECHRNG

チ ãƒŖ ãƒŗ ネ ãƒĢ į•Ē åˇ が ᝄ 回 外 で あ る

ECOMM

送 äŋĄ 時 ãĢ 通 äŋĄ エ ナ ãƒŧ が į™ē į”Ÿ し た

ECONNABORTED

æŽĨ įļš ãŒ į•° 常 įĩ‚ äē† ã— た (POSIX.1-2001)

ECONNREFUSED

æŽĨ įļš ãŒ 拒 åĻ さ れ た (POSIX.1-2001)

ECONNRESET

æŽĨ įļš ãŒ ãƒĒ ã‚ģ ッ ト さ れ た (POSIX.1-2001)

EDEADLK

ãƒĒ ã‚Ŋ ãƒŧ ゚ ぎ デ ッ ド ロ ッ ク を 回 éŋ し た (POSIX.1-2001)

EDEADLOCK

ãģ と ん お ぎ ã‚ĸ ãƒŧ キ テ ク チ ãƒŖ ãƒŧ で は 、 EDEADLK ぎ 同 įžŠ čĒž で あ る 。 い く つ か ぎ ã‚ĸ ãƒŧ キ テ ク チ ãƒŖ ãƒŧ (Linux MIPS, PowerPC, SPARC ãĒ お ) で は 、 åˆĨ ぎ エ ナ ãƒŧ ã‚ŗ ãƒŧ ド "File locking deadlock error" で あ る 。

EDESTADDRREQ

厛 先 ã‚ĸ ド ãƒŦ ゚ が åŋ… čρ で あ る (POSIX.1-2001)

EDOM

数 å­Ļ é–ĸ 数 で åŧ• 数 が 領 域 外 (out of domain) で あ る (POSIX.1, C99)

EDQUOT

デ ã‚Ŗ ゚ ク ク り ãƒŧ ã‚ŋ (quota) を čļ… éŽ し た (POSIX.1-2001)

EEXIST

フ ã‚Ą イ ãƒĢ が 存 在 す る (POSIX.1-2001)

EFAULT

ã‚ĸ ド ãƒŦ ゚ が 不 æ­Ŗ で あ る (POSIX.1-2001)

EFBIG

フ ã‚Ą イ ãƒĢ が 大 き 過 ぎ る (POSIX.1-2001)

EHOSTDOWN

ホ ゚ ト が ダ ã‚Ļ ãƒŗ し ãĻ い る

EHOSTUNREACH

ホ ゚ ト ãĢ 到 達 不 čƒŊ で あ る (POSIX.1-2001)

EHWPOISON

ãƒĄ ãƒĸ ãƒĒ ãƒŧ ペ ãƒŧ ジ ãĢ ハ ãƒŧ ド ã‚Ļ ェ ã‚ĸ エ ナ ãƒŧ が あ る

EIDRM

識 åˆĨ 子 が 削 除 さ れ た (POSIX.1-2001)

EILSEQ

į„Ą 劚 も し く は 不 厌 全 ãĒ マ ãƒĢ チ バ イ ト 文 字 、 ワ イ ド 文 字 で あ る (POSIX.1, C99).

こ こ ãĢ 襨 į¤ē し ãĻ い る テ キ ゚ ト は glibc ぎ エ ナ ãƒŧ ぎ čĒŦ 明 で あ る 。 POSIX.1-2001 で は 、 こ ぎ エ ナ ãƒŧ ぎ čĒŦ 明 は 「 不 æ­Ŗ ãĒ バ イ ト ã‚ˇ ãƒŧ ã‚ą ãƒŗ ゚ 」 ("Illegal byte sequence") と ãĒ ãŖ ãĻ い る 。

EINPROGRESS

操 äŊœ が 原 行 中 で あ る (POSIX.1-2001)

EINTR

é–ĸ 数 å‘ŧ ãŗ å‡ē し が 剞 り čžŧ ぞ れ た (POSIX.1-2001); signal (7) 参 į…§ 。

EINVAL

åŧ• 数 が į„Ą 劚 で あ る (POSIX.1-2001)

EIO

å…Ĩ å‡ē 力 エ ナ ãƒŧ (POSIX.1-2001)

EISCONN

ã‚Ŋ ã‚ą ッ ト が æŽĨ įļš ã• れ ãĻ い る (POSIX.1-2001)

EISDIR

デ ã‚Ŗ ãƒŦ ク ト ãƒĒ で あ る (POSIX.1-2001)

EISNAM

名 前 äģ˜ ã ぎ フ ã‚Ą イ ãƒĢ で あ る

EKEYEXPIRED

éĩ が 期 限 切 れ と ãĒ ãŖ た

EKEYREJECTED

éĩ が ã‚ĩ ãƒŧ バ ãĢ よ り 拒 åĻ さ れ た

EKEYREVOKED

éĩ が į„Ą 劚 と ãĒ ãŖ た

EL2HLT

停 æ­ĸ (ãƒŦ ベ ãƒĢ 2)

EL2NSYNC

同 期 で き ãĻ い ãĒ い (ãƒŦ ベ ãƒĢ 2)

EL3HLT

停 æ­ĸ (ãƒŦ ベ ãƒĢ 3)

EL3RST

停 æ­ĸ (ãƒŦ ベ ãƒĢ 3)

ELIBACC

åŋ… čρ ãĒ å…ą 有 ナ イ ブ ナ ãƒĒ ãĢ ã‚ĸ ク ã‚ģ ゚ で き ãĒ か ãŖ た

ELIBBAD

媊 れ た å…ą 有 ナ イ ブ ナ ãƒĒ ãĢ ã‚ĸ ク ã‚ģ ゚ し よ う と し た

ELIBMAX

ãƒĒ ãƒŗ ク し よ う と し た å…ą 有 ナ イ ブ ナ ãƒĒ が 多 過 ぎ る

ELIBSCN

a.out ぎ .lib ã‚ģ ク ã‚ˇ ョ ãƒŗ が 媊 れ ãĻ い る (corrupted)

ELIBEXEC

å…ą 有 ナ イ ブ ナ ãƒĒ を į›´ æŽĨ 原 行 で き ãĒ か ãŖ た

ELNRANGE

ãƒĒ ãƒŗ ク į•Ē åˇ が ᝄ 回 外 で あ る

ELOOP

ã‚ˇ ãƒŗ ボ ãƒĒ ッ ク ãƒĒ ãƒŗ ク ぎ 回 数 が 多 過 ぎ る (POSIX.1-2001)

EMEDIUMTYPE

間 違 ãŖ た ãƒĄ デ ã‚Ŗ ã‚ĸ į¨Ž åˆĨ で あ る

EMFILE

ã‚Ē ãƒŧ プ ãƒŗ し ãĻ い る フ ã‚Ą イ ãƒĢ が 多 過 ぎ る (POSIX.1-2001)。 通 常 は getrlimit (2) ãĢ čĒŦ 明 が あ る ãƒĒ ã‚Ŋ ãƒŧ ゚ 上 限 RLIMIT_NOFILE を čļ… éŽ し た å ´ 合 ãĢ į™ē į”Ÿ す る 。 /proc/sys/fs/nr_open で 指 厚 さ れ た 上 限 を čļ… éŽ し た å ´ 合 ãĢ も į™ē į”Ÿ す る 。

EMLINK

ãƒĒ ãƒŗ ク が 多 過 ぎ る (POSIX.1-2001)

EMSGSIZE

ãƒĄ ッ ã‚ģ ãƒŧ ジ が 長 過 ぎ る (POSIX.1-2001)

EMULTIHOP

マ ãƒĢ チ ホ ッ プ (multihop) を čŠĻ ãŋ た (POSIX.1-2001)

ENAMETOOLONG

フ ã‚Ą イ ãƒĢ 名 が 長 過 ぎ る (POSIX.1-2001)

ENETDOWN

ネ ッ ト ワ ãƒŧ ク が 不 通 で あ る (POSIX.1-2001)

ENETRESET

æŽĨ įļš ãŒ ネ ッ ト ワ ãƒŧ ク 側 か ら 中 æ­ĸ さ れ た (POSIX.1-2001)

ENETUNREACH

ネ ッ ト ワ ãƒŧ ク が 到 達 不 čƒŊ で あ る (POSIX.1-2001)

ENFILE

ã‚ˇ ゚ テ ム で ã‚Ē ãƒŧ プ ãƒŗ さ れ た フ ã‚Ą イ ãƒĢ が 多 す ぎ る (POSIX.1-2001)。 Linux で は 、 た い ãĻ い /proc/sys/fs/file-max 上 限 ãĢ 達 し た įĩ 果 で あ る ( proc (5) を 参 į…§ )。

ENOANO

anode が ãĒ い

ENOBUFS

äŊŋ ᔍ 可 čƒŊ ãĒ バ ッ フ ã‚Ą ãƒŧ įŠē 間 が ãĒ い (POSIX.1 (XSI STREAMS ã‚Ē プ ã‚ˇ ョ ãƒŗ ))

ENODATA

゚ ト ãƒĒ ãƒŧ ム ぎ čĒ­ ãŋ å‡ē し キ ãƒĨ ãƒŧ ぎ 先 é ­ ãĢ čĒ­ ãŋ å‡ē し 可 čƒŊ ãĒ ãƒĄ ッ ã‚ģ ãƒŧ ジ が ãĒ い (POSIX.1-2001)

ENODEV

そ ぎ よ う ãĒ デ バ イ ゚ は ãĒ い (POSIX.1-2001)

ENOENT

そ ぎ よ う ãĒ フ ã‚Ą イ ãƒĢ や デ ã‚Ŗ ãƒŦ ク ト ãƒĒ は ãĒ い (POSIX.1-2001)

通 常 は 、 こ ぎ エ ナ ãƒŧ は 、 指 厚 さ れ た パ ゚ 名 が 存 在 し ãĒ い か 、 パ ゚ 名 ぎ デ ã‚Ŗ ãƒŦ ク ト ãƒĒ プ ãƒŦ フ ã‚Ŗ ッ ク ゚ ぎ 構 成 čρ į´  ぎ い ず れ か が 存 在 し ãĒ い か 、 指 厚 さ れ た パ ゚ 名 が 媊 れ た (dangling) ã‚ˇ ãƒŗ ボ ãƒĒ ッ ク ãƒĒ ãƒŗ ク 、 ぎ å ´ 合 ãĢ į™ē į”Ÿ す る 。

ENOEXEC

原 行 フ ã‚Ą イ ãƒĢ åŊĸ åŧ ぎ エ ナ ãƒŧ (POSIX.1-2001)

ENOKEY

čρ æą‚ さ れ た éĩ が 刊 ᔍ で き ãĒ い

ENOLCK

刊 ᔍ で き る ロ ッ ク が ãĒ い (POSIX.1-2001)

ENOLINK

ãƒĒ ãƒŗ ク が 切 れ ãĻ い る (POSIX.1-2001)

ENOMEDIUM

ãƒĄ デ ã‚Ŗ ã‚ĸ が čĻ‹ つ か ら ãĒ い

ENOMEM

十 分 ãĒ įŠē き ãƒĄ ãƒĸ ãƒĒ ãƒŧ 領 域 が ãĒ い /ãƒĄ ãƒĸ ãƒĒ を 剞 り åŊ“ ãĻ る こ と が で き ãĒ い (POSIX.1-2001)

ENOMSG

čρ æą‚ さ れ た 型 ぎ ãƒĄ ッ ã‚ģ ãƒŧ ジ が 存 在 し ãĒ い (POSIX.1-2001)

ENONET

マ ã‚ˇ ãƒŗ が ネ ッ ト ワ ãƒŧ ク 上 ãĢ ãĒ い

ENOPKG

パ ッ ã‚ą ãƒŧ ジ が イ ãƒŗ ゚ ト ãƒŧ ãƒĢ さ れ ãĻ い ãĒ い

ENOPROTOOPT

指 厚 さ れ た プ ロ ト ã‚ŗ ãƒĢ が 刊 ᔍ で き ãĒ い (POSIX.1-2001)

ENOSPC

デ バ イ ゚ ãĢ įŠē き 領 域 が ãĒ い (POSIX.1-2001)

ENOSR

指 厚 さ れ た ゚ ト ãƒĒ ãƒŧ ム ãƒĒ ã‚Ŋ ãƒŧ ゚ が 存 在 し ãĒ い (POSIX.1 (XSI STREAMS ã‚Ē プ ã‚ˇ ョ ãƒŗ ))

ENOSTR

゚ ト ãƒĒ ãƒŧ ム で は ãĒ い (POSIX.1 (XSI STREAMS ã‚Ē プ ã‚ˇ ョ ãƒŗ ))

ENOSYS

é–ĸ 数 が 原 čŖ… さ れ ãĻ い ãĒ い (POSIX.1-2001)

ENOTBLK

ブ ロ ッ ク デ バ イ ゚ が åŋ… čρ で あ る

ENOTCONN

ã‚Ŋ ã‚ą ッ ト が æŽĨ įļš ã• れ ãĻ い ãĒ い (POSIX.1-2001)

ENOTDIR

デ ã‚Ŗ ãƒŦ ク ト ãƒĒ で は ãĒ い (POSIX.1-2001)

ENOTEMPTY

デ ã‚Ŗ ãƒŦ ク ト ãƒĒ が įŠē で は ãĒ い (POSIX.1-2001)

ENOTRECOVERABLE

įŠļ 態 が 垊 元 不 可 čƒŊ で あ る (POSIX.1-2008)

ENOTSOCK

ã‚Ŋ ã‚ą ッ ト で は ãĒ い (POSIX.1-2001)

ENOTSUP

操 äŊœ が ã‚ĩ ポ ãƒŧ ト さ れ ãĻ い ãĒ い (POSIX.1-2001)

ENOTTY

I/O åˆļ åžĄ 操 äŊœ が 遊 切 で ãĒ い (POSIX.1-2001)

ENOTUNIQ

名 前 が ネ ッ ト ワ ãƒŧ ク で 一 意 で は ãĒ い

ENXIO

そ ぎ よ う ãĒ デ バ イ ゚ や ã‚ĸ ド ãƒŦ ゚ は ãĒ い (POSIX.1-2001)

EOPNOTSUPP

ã‚Ŋ ã‚ą ッ ト で ã‚ĩ ポ ãƒŧ ト し ãĻ い ãĒ い 操 äŊœ で あ る (POSIX.1-2001)

(Linux で は ENOTSUP と EOPNOTSUPP は 同 じ 値 を 持 つ が 、 POSIX.1 ãĢ åž“ え ば 严 者 ぎ エ ナ ãƒŧ 値 は åŒē åˆĨ さ れ る ず き で あ る 。 )

EOVERFLOW

指 厚 さ れ た デ ãƒŧ ã‚ŋ 型 ãĢ æ ŧ į´ す る ãĢ は 値 が 大 き 過 ぎ る (POSIX.1-2001)

EOWNERDEAD

所 有 者 が æ­ģ ん で い る (POSIX.1-2008)

EPERM

操 äŊœ が 訹 可 さ れ ãĻ い ãĒ い (POSIX.1-2001)

EPFNOSUPPORT

ã‚ĩ ポ ãƒŧ ト さ れ ãĻ い ãĒ い プ ロ ト ã‚ŗ ãƒĢ フ ã‚Ą ミ ãƒĒ ãƒŧ で あ る

EPIPE

パ イ プ が 媊 れ ãĻ い る (POSIX.1-2001)

EPROTO

プ ロ ト ã‚ŗ ãƒĢ エ ナ ãƒŧ (POSIX.1-2001)

EPROTONOSUPPORT

プ ロ ト ã‚ŗ ãƒĢ が ã‚ĩ ポ ãƒŧ ト さ れ ãĻ い ãĒ い (POSIX.1-2001)

EPROTOTYPE

ã‚Ŋ ã‚ą ッ ト ãĢ 指 厚 で き ãĒ い プ ロ ト ã‚ŗ ãƒĢ ã‚ŋ イ プ で あ る (POSIX.1-2001)

ERANGE

įĩ 果 が 大 き 過 ぎ る (POSIX.1, C99)

EREMCHG

ãƒĒ ãƒĸ ãƒŧ ト ã‚ĸ ド ãƒŦ ゚ が 変 わ ãŖ た

EREMOTE

ã‚Ē ブ ジ ェ ク ト が ãƒĒ ãƒĸ ãƒŧ ト ãĢ あ る

EREMOTEIO

ãƒĒ ãƒĸ ãƒŧ ト I/O エ ナ ãƒŧ

ERESTART

ã‚ˇ ゚ テ ム ã‚ŗ ãƒŧ ãƒĢ が 中 断 さ れ 再 ゚ ã‚ŋ ãƒŧ ト が åŋ… čρ で あ る

ERFKILL

RF-kill ぎ た め 操 äŊœ 不 可 čƒŊ

EROFS

čĒ­ ãŋ å‡ē し 専 ᔍ ぎ フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム で あ る (POSIX.1-2001)

ESHUTDOWN

通 äŋĄ ᛏ 手 が ã‚ˇ ãƒŖ ッ ト ダ ã‚Ļ ãƒŗ さ れ ãĻ 送 äŋĄ で き ãĒ い

ESPIPE

į„Ą 劚 ãĒ ã‚ˇ ãƒŧ ク (POSIX.1-2001)

ESOCKTNOSUPPORT

ã‚ĩ ポ ãƒŧ ト さ れ ãĻ い ãĒ い ã‚Ŋ ã‚ą ッ ト į¨Ž åˆĨ で あ る

ESRCH

そ ぎ よ う ãĒ プ ロ ã‚ģ ゚ は ãĒ い (POSIX.1-2001)

ESTALE

フ ã‚Ą イ ãƒĢ ハ ãƒŗ ド ãƒĢ が 古 い įŠļ 態 ãĢ ãĒ ãŖ ãĻ い る (POSIX.1-2001)

NFS や äģ– ãŽ フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム で čĩˇ こ り う る 。

ESTRPIPE

゚ ト ãƒĒ ãƒŧ ム パ イ プ エ ナ ãƒŧ

ETIME

時 間 が įĩŒ 過 し た (POSIX.1 (XSI STREAMS option))

(POSIX.1 で は "STREAM ioctl (2) timeout" と 書 か れ ãĻ い る )

ETIMEDOUT

操 äŊœ が ã‚ŋ イ ム ã‚ĸ ã‚Ļ ト し た (POSIX.1-2001)

ETOOMANYREFS

参 į…§ が 多 す ぎ る : æŽĨ 合 で き ãĒ い

ETXTBSY

テ キ ゚ ト フ ã‚Ą イ ãƒĢ が äŊŋ ᔍ 中 で あ る (POSIX.1-2001)

EUCLEAN

デ ãƒŧ ã‚ŋ 構 造 を き れ い ãĢ す る åŋ… čρ が あ る

EUNATCH

プ ロ ト ã‚ŗ ãƒĢ ぎ ド ナ イ バ が äģ˜ ä¸Ž (attach) さ れ ãĻ い ãĒ い

EUSERS

ãƒĻ ãƒŧ ã‚ļ ãƒŧ 数 が 多 過 ぎ る

EWOULDBLOCK

操 äŊœ が ブ ロ ッ ク さ れ る čĻ‹ čžŧ ãŋ で あ る ( EAGAIN と 同 じ 値 で も よ い ) (POSIX.1-2001)

EXDEV

不 遊 切 ãĒ ãƒĒ ãƒŗ ク (POSIX.1-2001)

EXFULL

変 換 テ ãƒŧ ブ ãƒĢ が 一 杯 で あ る

æŗ¨ 意

äģĨ 下 は よ く や る 間 違 い で あ る 。

if (somecall() == -1) {
printf("somecall() failed\n");
if (errno == ...) { ... }
}

こ ぎ よ う ãĢ す る と 、 参 į…§ し ãĻ い る 時 į‚š で は errno は も は や somecall () か ら čŋ” さ れ た 値 を äŋ 持 し ãĻ い る と は 限 ら ãĒ い ( printf (3) ãĢ よ り 変 更 さ れ ãĻ い る か も し れ ãĒ い )。 ナ イ ブ ナ ãƒĒ ã‚ŗ ãƒŧ ãƒĢ を ぞ た い で errno ぎ 値 を äŋ 存 し た い å ´ 合 は 、 äģĨ 下 ぎ よ う ãĢ äŋ 存 し ãĒ け れ ば ãĒ ら ãĒ い :

if (somecall() == -1) {
int errsv = errno;
printf("somecall() failed\n");
if (errsv == ...) { ... }
}

POSIX ゚ ãƒŦ ッ ド API は 、 エ ナ ãƒŧ ぎ å ´ 合 ãĢ errno を 設 厚 「 し ãĒ い 」 į‚š ãĢ æŗ¨ 意 す る こ と 。 äģŖ ã‚ り ãĢ 、 エ ナ ãƒŧ ぎ å ´ 合 、 é–ĸ 数 ぎ įĩ 果 と し ãĻ エ ナ ãƒŧ į•Ē åˇ が čŋ” さ れ る 。 こ れ ら ぎ エ ナ ãƒŧ į•Ē åˇ は 、 äģ– ãŽ API で errno で čŋ” さ れ る エ ナ ãƒŧ į•Ē åˇ と 同 じ 意 呺 を 持 つ 。

い く つ か ぎ 古 い ã‚ˇ ゚ テ ム で は 、 <errno.h> は 存 在 し ãĒ か ãŖ た り 、 errno を 厚 įžŠ し ãĻ い ãĒ か ãŖ た 。 そ ぎ た め 、 errno を 手 動 で ( extern int errno ぎ よ う ãĢ ) 厚 įžŠ す る åŋ… čρ が あ ãŖ た 。 こ ぎ よ う ãĒ こ と は し ãĒ い こ と 。 ず ãŖ と äģĨ 前 ãĢ こ ぎ よ う ãĢ す る åŋ… čρ は ãĒ く ãĒ ãŖ ãĻ お り 、 最 čŋ‘ ぎ バ ãƒŧ ジ ョ ãƒŗ ぎ C ナ イ ブ ナ ãƒĒ で は 問 題 ãĢ ãĒ る か ら で あ る 。

é–ĸ 逪 項 į›Ž

errno (1), err (3), error (3), perror (3), strerror (3)

こ ぎ 文 書 ãĢ つ い ãĻ

こ ぎ man ペ ãƒŧ ジ は Linux man-pages プ ロ ジ ェ ク ト ぎ ãƒĒ ãƒĒ ãƒŧ ゚ 5.10 ぎ 一 部 で あ る 。 プ ロ ジ ェ ク ト ぎ čĒŦ 明 と バ グ å ą 告 ãĢ é–ĸ す る 情 å ą は https://www.kernel.org/doc/man-pages/ ãĢ 書 か れ ãĻ い る 。