X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=release%2Fman3%2Ferrno.3;h=455bab6221b3e24ea0c530c3ca7f12e5afbc3a31;hb=385329a00e7910812cffee7720cbd7ae0321afc5;hp=60ca6c569c72ddad6e1cfbd14ba7ac3754ad2313;hpb=633a2252e0be3c867dce264a180a89ce8181d36f;p=linuxjm%2FLDP_man-pages.git diff --git a/release/man3/errno.3 b/release/man3/errno.3 index 60ca6c56..455bab62 100644 --- a/release/man3/errno.3 +++ b/release/man3/errno.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 1996 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" 5 Oct 2002, Modified by Michael Kerrisk .\" Updated for POSIX.1 2001 @@ -27,6 +28,12 @@ .\" 2006-02-09 Kurt Wall, mtk .\" Added non-POSIX errors .\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.\" .\" Japanese Version Copyright (c) 1997 HIROFUMI Nishizuka .\" all rights reserved. .\" Translated 1997-12-24, HIROFUMI Nishizuka @@ -38,461 +45,423 @@ .\" Updated 2006-07-14, Akihiro MOTOKI, Catch up to LDP v2.34 .\" Updated 2008-08-07, Akihiro MOTOKI, Catch up to LDP v3.05 .\" -.TH ERRNO 3 2008-07-09 "" "Linux Programmer's Manual" -.SH ̾Á° -errno \- ľ¶á¤ËȯÀ¸¤·¤¿¥¨¥é¡¼¤ÎÈÖ¹æ -.SH ½ñ¼° -.B #include +.TH ERRNO 3 2008\-07\-09 "" "Linux Programmer's Manual" +.SH 名前 +errno \- 直近に発生したエラーの番号 +.SH 書式 .\".sp .\".BI "extern int " errno ; -.SH ÀâÌÀ -¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë -.I -¤ÇÀ°¿ô·¿¤ÎÊÑ¿ô -.I errno -¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢ -¥·¥¹¥Æ¥à¥³¡¼¥ë¤ä¤¤¤¯¤Ä¤«¤Î¥é¥¤¥Ö¥é¥ê´Ø¿ô¤Ï¡¢¥¨¥é¡¼¤¬È¯À¸¤·¤¿ºÝ¤Ë -¤³¤ÎÊÑ¿ô¤Ë¤½¤Î¸¶°ø¤ò¼¨¤¹ÃͤòÀßÄꤹ¤ë¡£ -¤³¤ÎÃͤϸƤӽФ·¤ÎÊÖ¤êÃͤ¬¥¨¥é¡¼ (¤Û¤È¤ó¤É¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ç¤Ï -\-1 ¤Ç¡¢¤Û¤È¤ó¤É¤Î¥é¥¤¥Ö¥é¥ê´Ø¿ô¤Ç¤Ï \-1 ¤« NULL) ¤ò¼¨¤·¤¿¤È¤­¤Ë -¤Î¤ß°ÕÌ£¤ò»ý¤Ä¤¬¡¢¥é¥¤¥Ö¥é¥ê´Ø¿ô¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤â -.I errno -¤òÊѹ¹¤¹¤ë¤³¤È¤¬µö¤µ¤ì¤Æ¤¤¤ë¡£ +\fB#include \fP +.SH 説明 +ヘッダファイル \fI\fP で整数型の変数 \fIerrno\fP が定義されており、 +システムコールやいくつかのライブラリ関数は、エラーが発生した際に この変数にその原因を示す値を設定する。 この値は呼び出しの返り値がエラー +(ほとんどのシステムコールでは \-1 で、ほとんどのライブラリ関数では \-1 か NULL) を示したときに +のみ意味を持つが、ライブラリ関数は成功した場合も \fIerrno\fP を変更することが許されている。 -Í­¸ú¤Ê¥¨¥é¡¼ÈÖ¹æ¤Ï¤¤¤º¤ì¤â 0 °Ê³°¤ÎÃͤò»ý¤Ä¡£ -¤É¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤â¥é¥¤¥Ö¥é¥ê´Ø¿ô¤â -\fIerrno\fP ¤ò 0 ¤ËÀßÄꤹ¤ë¤³¤È¤Ï¤Ê¤¤¡£ +有効なエラー番号はいずれも 0 以外の値を持つ。 どのシステムコールもライブラリ関数も \fIerrno\fP を 0 に設定することはない。 -¤¤¤¯¤Ä¤«¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤ä¥é¥¤¥Ö¥é¥ê´Ø¿ô (Î㤨¤Ð -.BR getpriority (2)) -¤Ç¤Ï¡¢À®¸ù¤·¤¿¾ì¹ç¤ÎÍ­¸ú¤ÊÊÖ¤êÃͤȤ·¤Æ \-1 ¤¬ÊÖ¤µ¤ì¤ë¤³¤È¤¬¤¢¤ë¡£ -¤³¤Î¤è¤¦¤Ê¾ì¹ç¡¢À®¸ù¤Ê¤Î¤«¥¨¥é¡¼¤Ê¤Î¤«¤ò¶èÊ̤¹¤ë¤¿¤á¤Ë¤Ï¡¢ -¸Æ¤Ó½Ð¤·¤ÎÁ°¤Ë -.I errno -¤ò 0 ¤ËÀßÄꤷ¤Æ¤ª¤±¤Ð¤è¤¤¡£¸Æ¤Ó½Ð¤·¤ÎÊÖ¤êÃͤ¬¥¨¥é¡¼È¯À¸¤Î²ÄǽÀ­¤ò -¼¨¤¹¤â¤Î¤À¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢ -.I errno -¤¬ 0 °Ê³°¤ÎÃͤ«¤ò¸«¤Æ³Îǧ¤¹¤ì¤Ð¤è¤¤¡£ +いくつかのシステムコールやライブラリ関数 (例えば \fBgetpriority\fP(2)) では、成功した場合の有効な返り値として \-1 +が返されることがある。 このような場合、成功なのかエラーなのかを区別するためには、 呼び出しの前に \fIerrno\fP を 0 +に設定しておけばよい。呼び出しの返り値がエラー発生の可能性を 示すものだった場合には、 \fIerrno\fP が 0 以外の値かを見て確認すればよい。 -\fIerrno\fP ¤Ï¡¢ISO C standard ¤Ç \fIint\fP ·¿¤ÎÊѹ¹²Äǽ¤Êº¸ÊÕÃÍ -¤È¤·¤ÆÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢ÌÀ¼¨Åª¤ËÀë¸À¤ò¹Ô¤Ã¤Æ¤Ï¤Ê¤é¤Ê¤¤; -\fIerrno\fP ¤Ï¥Þ¥¯¥í¤Î¾ì¹ç¤â¤¢¤ê¤¨¤ë¡£ -\fIerrno\fP ¤Ï¥¹¥ì¥Ã¥ÉËè¤ËÃͤò»ý¤Ä¡£ -¤Ä¤Þ¤ê¤¢¤ë¥¹¥ì¥Ã¥É¤Ç \fIerrno\fP ¤¬ÀßÄꤵ¤ì¤Æ¤â¡¢ -¾¤Î¥¹¥ì¥Ã¥É¤Î \fIerrno\fP ¤Ë¤Ï±Æ¶Á¤·¤Ê¤¤¡£ +\fIerrno\fP は、ISO C standard で \fIint\fP 型の変更可能な左辺値 として定義されており、明示的に宣言を行ってはならない; +\fIerrno\fP はマクロの場合もありえる。 \fIerrno\fP はスレッド毎に値を持つ。 つまりあるスレッドで \fIerrno\fP が設定されても、 +他のスレッドの \fIerrno\fP には影響しない。 -POSIX.1 ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥¨¥é¡¼Ì¾¤Ë¤Ï¡¢ -¤½¤ì¤¾¤ì°Û¤Ê¤ëÃͤ¬Âбþ¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ -⤷¡¢ -.B EAGAIN -¤È -.B EWOULDBLOCK -¤ÏÎã³°¤Ç¡¢¤³¤ì¤é¤ÏƱ¤¸Ãͤò»ý¤Ã¤Æ¤â¤è¤¤¡£ +POSIX.1 で定義されているすべてのエラー名には、 それぞれ異なる値が対応していなければならない。 但し、 \fBEAGAIN\fP と +\fBEWOULDBLOCK\fP は例外で、これらは同じ値を持ってもよい。 .\" The following is now -.\" POSIX.1 (2001 ǯÈÇ) ¤Ç¤Î¥¨¥é¡¼Ì¾¥·¥ó¥Ü¥ë¤Î¥ê¥¹¥È¤ò°Ê²¼¤Ë¼¨¤¹¡£ -.\" ¤³¤ì¤é¤Î¤¦¤Á¡¢ \fBEDOM\fP ¤È \fBERANGE\fP ¤Ï ISO C standard ¤Ë¤¢¤ë¡£ -.\" ¤µ¤é¤Ë¡¢ISO C Amendment 1 ¤Ç¤Ï¡¢¥¨¥é¡¼ÈÖ¹æ \fBEILSEQ\fP ¤¬ -.\" ¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¤ä¥ï¥¤¥Éʸ»ú¤Ç¤ÎÉä¹æ²½¥¨¥é¡¼¤òɽ¤¹¤¿¤á¤Ë -.\" ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£ +.\" POSIX.1 (2001 edition) lists the following symbolic error names. Of +.\" these, \fBEDOM\fP and \fBERANGE\fP are in the ISO C standard. ISO C +.\" Amendment 1 defines the additional error number \fBEILSEQ\fP for +.\" coding errors in multibyte or wide characters. .\" -.TP 16 -.B E2BIG -°ú¤­¿ô¥ê¥¹¥È¤¬Ä¹²á¤®¤ë (POSIX.1) -.TP -.B EACCES -µö²Ä¤¬¤Ê¤¤ (POSIX.1) -.TP -.B EADDRINUSE -¥¢¥É¥ì¥¹¤¬¤¹¤Ç¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤ë (POSIX.1) -.TP -.B EADDRNOTAVAIL -¥¢¥É¥ì¥¹¤¬»ÈÍѤǤ­¤Ê¤¤ (POSIX.1) -.\" EADV ¤Ï HURD ¤Ë¤ª¤¤¤Æ¤À¤±¤Î¥¨¥é¡¼(?) -.TP -.B EAFNOSUPPORT -¥¢¥É¥ì¥¹¡¦¥Õ¥¡¥ß¥ê¡¼¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤ (POSIX.1) -.TP -.B EAGAIN -¥ê¥½¡¼¥¹¤¬°ì»þŪ¤ËÍøÍÑÉÔ²Ä -.RB ( EWOULDBLOCK -¤ÈƱ¤¸ÃͤǤâ¤è¤¤) (POSIX.1) -.TP -.B EALREADY -Àܳ¤¬´û¤Ë½èÍýÃæ¤Ç¤¢¤ë (POSIX.1) -.TP -.B EBADE -ÉÔÀµ¤Ê¤ä¤ê¼è¤ê (exchange) ¤Ç¤¢¤ë -.TP -.B EBADF -¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬ÉÔÀµ¤Ç¤¢¤ë (POSIX.1) -.TP -.B EBADFD -¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬ÉÔÀµ¤Ê¾õÂ֤Ǥ¢¤ë -.TP -.B EBADMSG -¥á¥Ã¥»¡¼¥¸¤¬ÉÔÀµ¤Ç¤¢¤ë (POSIX.1) -.TP -.B EBADR -ÉÔÀµ¤Ê¥ê¥¯¥¨¥¹¥È¥Ç¥£¥¹¥¯¥ê¥×¥¿ -.TP -.B EBADRQC -ÉÔÀµ¤Ê¥ê¥¯¥¨¥¹¥È¥³¡¼¥É -.TP -.B EBADSLT -ÉÔÀµ¤Ê¥¹¥í¥Ã¥È +Below is a list of the symbolic error names that are defined on Linux. Some +of these are marked \fIPOSIX.1\fP, indicating that the name is defined by +POSIX.1\-2001, or \fIC99\fP, indicating that the name is defined by C99. +.TP 16 +\fBE2BIG\fP +引き数リストが長過ぎる (POSIX.1) +.TP +\fBEACCES\fP +許可がない (POSIX.1) +.TP +\fBEADDRINUSE\fP +アドレスがすでに使用されている (POSIX.1) +.TP +\fBEADDRNOTAVAIL\fP +.\" EADV is only an error on HURD(?) +アドレスが使用できない (POSIX.1) +.TP +\fBEAFNOSUPPORT\fP +アドレス・ファミリーがサポートされていない (POSIX.1) +.TP +\fBEAGAIN\fP +リソースが一時的に利用不可 (\fBEWOULDBLOCK\fP と同じ値でもよい) (POSIX.1) +.TP +\fBEALREADY\fP +接続が既に処理中である (POSIX.1) +.TP +\fBEBADE\fP +不正なやり取り (exchange) である +.TP +\fBEBADF\fP +ファイルディスクリプタが不正である (POSIX.1) +.TP +\fBEBADFD\fP +ファイルディスクリプタが不正な状態である +.TP +\fBEBADMSG\fP +メッセージが不正である (POSIX.1) +.TP +\fBEBADR\fP +不正なリクエストディスクリプタ +.TP +\fBEBADRQC\fP +不正なリクエストコード +.TP +\fBEBADSLT\fP .\" EBFONT is defined but appears not to be used by kernel or glibc. -.TP -.B EBUSY -¥ê¥½¡¼¥¹¤¬»ÈÍÑÃæ¤Ç¤¢¤ë (POSIX.1) -.TP -.B ECANCELED -Áàºî¤¬¥­¥ã¥ó¥»¥ë¤µ¤ì¤¿ (POSIX.1) -.TP -.B ECHILD -»Ò¥×¥í¥»¥¹¤¬Ìµ¤¤ (POSIX.1) -.TP -.B ECHRNG -¥Á¥ã¥ó¥Í¥ëÈֹ椬Èϰϳ°¤Ç¤¢¤ë -.TP -.B ECOMM -Á÷¿®»þ¤ËÄÌ¿®¥¨¥é¡¼¤¬È¯À¸¤·¤¿ -.TP -.B ECONNABORTED -Àܳ¤¬Ãæ»ß¤µ¤ì¤¿ (POSIX.1) -.TP -.B ECONNREFUSED -Àܳ¤¬µñÈݤµ¤ì¤¿ (POSIX.1) -.TP -.B ECONNRESET -Àܳ¤¬¥ê¥»¥Ã¥È¤µ¤ì¤¿ (POSIX.1) -.TP -.B EDEADLK -¥ê¥½¡¼¥¹¤Î¥Ç¥Ã¥É¥í¥Ã¥¯¤ò²óÈò¤·¤¿ (POSIX.1) -.TP -.B EDEADLOCK -.B EDEADLK -¤ÎƱµÁ¸ì -.TP -.B EDESTADDRREQ -°¸À襢¥É¥ì¥¹¤¬É¬ÍפǤ¢¤ë (POSIX.1) -.TP -.B EDOM -¿ô³Ø´Ø¿ô¤Ç°ú¤­¿ô¤¬Îΰ賰¤Ç¤¢¤ë (out of domain) +不正なスロット +.TP +\fBEBUSY\fP +リソースが使用中である (POSIX.1) +.TP +\fBECANCELED\fP +操作がキャンセルされた (POSIX.1) +.TP +\fBECHILD\fP +子プロセスが無い (POSIX.1) +.TP +\fBECHRNG\fP +チャンネル番号が範囲外である +.TP +\fBECOMM\fP +送信時に通信エラーが発生した +.TP +\fBECONNABORTED\fP +接続が中止された (POSIX.1) +.TP +\fBECONNREFUSED\fP +接続が拒否された (POSIX.1) +.TP +\fBECONNRESET\fP +接続がリセットされた (POSIX.1) +.TP +\fBEDEADLK\fP +リソースのデッドロックを回避した (POSIX.1) +.TP +\fBEDEADLOCK\fP +\fBEDEADLK\fP の同義語 +.TP +\fBEDESTADDRREQ\fP +宛先アドレスが必要である (POSIX.1) +.TP +\fBEDOM\fP .\" EDOTDOT is defined but appears to be unused -.TP -.B EDQUOT +数学関数で引き数が領域外である (out of domain) +.TP +\fBEDQUOT\fP .\" POSIX just says "Reserved" -¥Ç¥£¥¹¥¯¡¦¥¯¥©¡¼¥¿ (quota) ¤òĶ²á¤·¤¿ (POSIX.1) -.TP -.B EEXIST -¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë (POSIX.1) -.TP -.B EFAULT -¥¢¥É¥ì¥¹¤¬ÉÔÀµ¤Ç¤¢¤ë (POSIX.1) -.TP -.B EFBIG -¥Õ¥¡¥¤¥ë¤¬Â礭²á¤®¤ë (POSIX.1) -.TP -.B EHOSTDOWN -¥Û¥¹¥È¤¬¥À¥¦¥ó¤·¤Æ¤¤¤ë -.TP -.B EHOSTUNREACH -¥Û¥¹¥È¤ËÅþãÉÔǽ¤Ç¤¢¤ë (POSIX.1) -.TP -.B EIDRM -¼±Ê̻Ҥ¬ºï½ü¤µ¤ì¤¿ (POSIX.1) -.TP -.B EILSEQ -ÉÔÀµ¤Ê¥Ð¥¤¥ÈÎó (POSIX.1, C99) -.TP -.B EINPROGRESS -Áàºî¤¬¼Â¹ÔÃæ¤Ç¤¢¤ë (POSIX.1) -.TP -.B EINTR -´Ø¿ô¸Æ¤Ó½Ð¤·¤¬³ä¤ê¹þ¤Þ¤ì¤¿ (POSIX.1); -.BR signal (7) -»²¾È¡£ -.TP -.B EINVAL -°ú¿ô¤¬Ìµ¸ú¤Ç¤¢¤ë (POSIX.1) -.TP -.B EIO -Æþ½ÐÎÏ¥¨¥é¡¼ (POSIX.1) -.TP -.B EISCONN -¥½¥±¥Ã¥È¤¬Àܳ¤µ¤ì¤Æ¤¤¤ë (POSIX.1) -.TP -.B EISDIR -¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë (POSIX.1) -.TP -.B EISNAM -̾Á°ÉÕ¤­¤Î¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë -.TP -.B EKEYEXPIRED -¸°¤¬´ü¸ÂÀÚ¤ì¤È¤Ê¤Ã¤¿ -.TP -.B EKEYREJECTED -¸°¤¬¥µ¡¼¥Ð¤Ë¤è¤êµñÈݤµ¤ì¤¿ -.TP -.B EKEYREVOKED -¸°¤¬Ìµ¸ú¤È¤Ê¤Ã¤¿ -.TP -.B EL2HLT -Ää»ß (¥ì¥Ù¥ë 2) -.TP -.B EL2NSYNC -Ʊ´ü¤Ç¤­¤Æ¤¤¤Ê¤¤ (¥ì¥Ù¥ë 2) -.TP -.B EL3HLT -Ää»ß (¥ì¥Ù¥ë 3) -.TP -.B EL3RST -¥ê¥»¥Ã¥È (¥ì¥Ù¥ë 3) -.TP -.B ELIBACC -ɬÍפʶ¦Í­¥é¥¤¥Ö¥é¥ê¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤«¤Ã¤¿ -.TP -.B ELIBBAD -²õ¤ì¤¿¶¦Í­¥é¥¤¥Ö¥é¥ê¤Ë¥¢¥¯¥»¥¹¤·¤è¤¦¤È¤·¤¿ -.TP -.B ELIBMAX -¥ê¥ó¥¯¤·¤è¤¦¤È¤·¤¿¶¦Í­¥é¥¤¥Ö¥é¥ê¤¬Â¿²á¤®¤ë -.TP -.B ELIBSCN -a.out ¤Î¥é¥¤¥Ö¥é¥ê¥»¥¯¥·¥ç¥ó¤¬²õ¤ì¤Æ¤¤¤ë (corrupted) -.TP -.B ELIBEXEC -¶¦Í­¥é¥¤¥Ö¥é¥ê¤òľÀܼ¹ԤǤ­¤Ê¤«¤Ã¤¿ -.TP -.B ELOOP -¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Î²ó¿ô¤¬Â¿²á¤®¤ë (POSIX.1) +ディスク・クォータ (quota) を超過した (POSIX.1) +.TP +\fBEEXIST\fP +ファイルが存在する (POSIX.1) +.TP +\fBEFAULT\fP +アドレスが不正である (POSIX.1) +.TP +\fBEFBIG\fP +ファイルが大き過ぎる (POSIX.1) +.TP +\fBEHOSTDOWN\fP +ホストがダウンしている +.TP +\fBEHOSTUNREACH\fP +ホストに到達不能である (POSIX.1) +.TP +\fBEIDRM\fP +識別子が削除された (POSIX.1) +.TP +\fBEILSEQ\fP +不正なバイト列 (POSIX.1, C99) +.TP +\fBEINPROGRESS\fP +操作が実行中である (POSIX.1) +.TP +\fBEINTR\fP +関数呼び出しが割り込まれた (POSIX.1); \fBsignal\fP(7) 参照。 +.TP +\fBEINVAL\fP +引数が無効である (POSIX.1) +.TP +\fBEIO\fP +入出力エラー (POSIX.1) +.TP +\fBEISCONN\fP +ソケットが接続されている (POSIX.1) +.TP +\fBEISDIR\fP +ディレクトリである (POSIX.1) +.TP +\fBEISNAM\fP +名前付きのファイルである +.TP +\fBEKEYEXPIRED\fP +鍵が期限切れとなった +.TP +\fBEKEYREJECTED\fP +鍵がサーバにより拒否された +.TP +\fBEKEYREVOKED\fP +鍵が無効となった +.TP +\fBEL2HLT\fP +停止 (レベル 2) +.TP +\fBEL2NSYNC\fP +同期できていない (レベル 2) +.TP +\fBEL3HLT\fP +停止 (レベル 3) +.TP +\fBEL3RST\fP +停止 (レベル 3) +.TP +\fBELIBACC\fP +必要な共有ライブラリにアクセスできなかった +.TP +\fBELIBBAD\fP +壊れた共有ライブラリにアクセスしようとした +.TP +\fBELIBMAX\fP +リンクしようとした共有ライブラリが多過ぎる +.TP +\fBELIBSCN\fP +a.out のライブラリセクションが壊れている (corrupted) +.TP +\fBELIBEXEC\fP +共有ライブラリを直接実行できなかった +.TP +\fBELOOP\fP .\" ELNRNG is defined but appears to be unused -.TP -.B EMEDIUMTYPE -´Ö°ã¤Ã¤¿¥á¥Ç¥£¥¢¼ïÊ̤Ǥ¢¤ë -.TP -.B EMFILE -¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤¬Â¿²á¤®¤ë (POSIX.1) -.TP -.B EMLINK -¥ê¥ó¥¯¤¬Â¿²á¤®¤ë (POSIX.1) -.TP -.B EMSGSIZE -¥á¥Ã¥»¡¼¥¸¤¬Ä¹²á¤®¤ë (POSIX.1) -.TP -.B EMULTIHOP +シンボリック・リンクの回数が多過ぎる (POSIX.1) +.TP +\fBEMEDIUMTYPE\fP +間違ったメディア種別である +.TP +\fBEMFILE\fP +オープンされているファイルが多過ぎる (POSIX.1) +.TP +\fBEMLINK\fP +リンクが多過ぎる (POSIX.1) +.TP +\fBEMSGSIZE\fP +メッセージが長過ぎる (POSIX.1) +.TP +\fBEMULTIHOP\fP .\" POSIX says "Reserved" -¥Þ¥ë¥Á¥Û¥Ã¥× (multihop) ¤ò»î¤ß¤¿ (POSIX.1) -.TP -.B ENAMETOOLONG -¥Õ¥¡¥¤¥ë̾¤¬Ä¹²á¤®¤ë (POSIX.1) +マルチホップ (multihop) を試みた (POSIX.1) +.TP +\fBENAMETOOLONG\fP .\" ENAVAIL is defined, but appears not to be used -.TP -.B ENETDOWN -¥Í¥Ã¥È¥ï¡¼¥¯¤¬ÉÔÄ̤Ǥ¢¤ë (POSIX.1) -.TP -.B ENETRESET -Àܳ¤¬¥Í¥Ã¥È¥ï¡¼¥¯Â¦¤«¤éÃæ»ß¤µ¤ì¤¿ (POSIX.1) -.TP -.B ENETUNREACH -¥Í¥Ã¥È¥ï¡¼¥¯¤¬ÅþãÉÔǽ¤Ç¤¢¤ë (POSIX.1) -.TP -.B ENFILE -¥·¥¹¥Æ¥àÁ´ÂΤǥª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤¬Â¿²á¤®¤ë (POSIX.1) +ファイル名が長過ぎる (POSIX.1) +.TP +\fBENETDOWN\fP +ネットワークが不通である (POSIX.1) +.TP +\fBENETRESET\fP +接続がネットワーク側から中止された (POSIX.1) +.TP +\fBENETUNREACH\fP +ネットワークが到達不能である (POSIX.1) +.TP +\fBENFILE\fP .\" ENOANO is defined but appears to be unused. -.TP -.B ENOBUFS -»ÈÍѲÄǽ¤Ê¥Ð¥Ã¥Õ¥¡¶õ´Ö¤¬¤Ê¤¤ (POSIX.1 (XSI STREAMS option)) +システム全体でオープンされているファイルが多過ぎる (POSIX.1) +.TP +\fBENOBUFS\fP .\" ENOCSI is defined but appears to be unused. -.TP -.B ENODATA -¥¹¥È¥ê¡¼¥à¤ÎÆɤ߽Ф·¥­¥å¡¼¤ÎÀèƬ¤ËÆɤ߽Ф·²Äǽ¤Ê¥á¥Ã¥»¡¼¥¸¤¬¤Ê¤¤ -(POSIX.1) -.TP -.B ENODEV -¤½¤Î¤è¤¦¤Ê¥Ç¥Ð¥¤¥¹¤Ï̵¤¤ (POSIX.1) -.TP -.B ENOENT -¤½¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤Ï̵¤¤ (POSIX.1) -.TP -.B ENOEXEC -¼Â¹Ô¥Õ¥¡¥¤¥ë·Á¼°¤Î¥¨¥é¡¼ (POSIX.1) -.TP -.B ENOKEY -Í׵ᤵ¤ì¤¿¸°¤¬ÍøÍѤǤ­¤Ê¤¤ -.TP -.B ENOLCK -ÍøÍѤǤ­¤ë¥í¥Ã¥¯¤¬Ìµ¤¤ (POSIX.1) -.TP -.B ENOLINK +使用可能なバッファ空間がない (POSIX.1 (XSI STREAMS option)) +.TP +\fBENODATA\fP +ストリームの読み出しキューの先頭に読み出し可能なメッセージがない (POSIX.1) +.TP +\fBENODEV\fP +そのようなデバイスは無い (POSIX.1) +.TP +\fBENOENT\fP +そのようなファイルやディレクトリは無い (POSIX.1) +.TP +\fBENOEXEC\fP +実行ファイル形式のエラー (POSIX.1) +.TP +\fBENOKEY\fP +要求された鍵が利用できない +.TP +\fBENOLCK\fP +利用できるロックが無い (POSIX.1) +.TP +\fBENOLINK\fP .\" POSIX says "Reserved" -¥ê¥ó¥¯¤¬ÀÚ¤ì¤Æ¤¤¤ë (POSIX.1) -.TP -.B ENOMEDIUM -¥á¥Ç¥£¥¢¤¬¸«¤Ä¤«¤é¤Ê¤¤ -.TP -.B ENOMEM -½½Ê¬¤Ê¶õ¤­¥á¥â¥êÎΰ褬̵¤¤ (POSIX.1) -.TP -.B ENOMSG -Í׵ᤵ¤ì¤¿·¿¤Î¥á¥Ã¥»¡¼¥¸¤¬Â¸ºß¤·¤Ê¤¤ (POSIX.1) -.TP -.B ENONET -¥Þ¥·¥ó¤¬¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Ë¤Ê¤¤ -.TP -.B ENOPKG -¥Ñ¥Ã¥±¡¼¥¸¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤ -.TP -.B ENOPROTOOPT -»ØÄꤵ¤ì¤¿¥×¥í¥È¥³¥ë¤¬ÍøÍѤǤ­¤Ê¤¤ (POSIX.1) -.TP -.B ENOSPC -¥Ç¥Ð¥¤¥¹¤Ë¶õ¤­Îΰ褬̵¤¤ (POSIX.1) -.TP -.B ENOSR -»ØÄꤵ¤ì¤¿¥¹¥È¥ê¡¼¥à¡¦¥ê¥½¡¼¥¹¤¬Â¸ºß¤·¤Ê¤¤ (POSIX.1 (XSI STREAMS option)) -.TP -.B ENOSTR -¥¹¥È¥ê¡¼¥à¤Ç¤Ï¤Ê¤¤ (POSIX.1 (XSI STREAMS option)) -.TP -.B ENOSYS -´Ø¿ô¤¬¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤ (POSIX.1) -.TP -.B ENOTBLK -¥Ö¥í¥Ã¥¯¥Ç¥Ð¥¤¥¹¤¬É¬ÍפǤ¢¤ë -.TP -.B ENOTCONN -¥½¥±¥Ã¥È¤¬Àܳ¤µ¤ì¤Æ¤¤¤Ê¤¤ (POSIX.1) -.TP -.B ENOTDIR -¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤Ê¤¤ (POSIX.1) -.TP -.B ENOTEMPTY -¥Ç¥£¥ì¥¯¥È¥ê¤¬¶õ¤Ç¤Ï¤Ê¤¤ (POSIX.1) +リンクが切れている (POSIX.1) +.TP +\fBENOMEDIUM\fP +メディアが見つからない +.TP +\fBENOMEM\fP +十分な空きメモリ領域が無い (POSIX.1) +.TP +\fBENOMSG\fP +要求された型のメッセージが存在しない (POSIX.1) +.TP +\fBENONET\fP +マシンがネットワーク上にない +.TP +\fBENOPKG\fP +パッケージがインストールされていない +.TP +\fBENOPROTOOPT\fP +指定されたプロトコルが利用できない (POSIX.1) +.TP +\fBENOSPC\fP +デバイスに空き領域が無い (POSIX.1) +.TP +\fBENOSR\fP +指定されたストリーム・リソースが存在しない (POSIX.1 (XSI STREAMS option)) +.TP +\fBENOSTR\fP +ストリームではない (POSIX.1 (XSI STREAMS option)) +.TP +\fBENOSYS\fP +関数が実装されていない (POSIX.1) +.TP +\fBENOTBLK\fP +ブロックデバイスが必要である +.TP +\fBENOTCONN\fP +ソケットが接続されていない (POSIX.1) +.TP +\fBENOTDIR\fP +ディレクトリではない (POSIX.1) +.TP +\fBENOTEMPTY\fP .\" ENOTNAM is defined but appears to be unused. -.TP -.B ENOTSOCK -¥½¥±¥Ã¥È¤Ç¤Ï¤Ê¤¤ (POSIX.1) -.TP -.B ENOTSUP -Áàºî¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤ (POSIX.1) -.TP -.B ENOTTY -I/O À©¸æÁàºî¤¬Å¬ÀڤǤʤ¤ (POSIX.1) -.TP -.B ENOTUNIQ -̾Á°¤¬¥Í¥Ã¥È¥ï¡¼¥¯¤Ç°ì°Õ¤Ç¤Ï¤Ê¤¤ -.TP -.B ENXIO -¤½¤Î¤è¤¦¤Ê¥Ç¥Ð¥¤¥¹¤ä¥¢¥É¥ì¥¹¤Ï¤Ê¤¤ (POSIX.1) -.TP -.B EOPNOTSUPP -¥½¥±¥Ã¥È¤Ç¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤Áàºî¤Ç¤¢¤ë (POSIX.1) +ディレクトリが空ではない (POSIX.1) +.TP +\fBENOTSOCK\fP +ソケットではない (POSIX.1) +.TP +\fBENOTSUP\fP +操作がサポートされていない (POSIX.1) +.TP +\fBENOTTY\fP +I/O 制御操作が適切でない (POSIX.1) +.TP +\fBENOTUNIQ\fP +名前がネットワークで一意ではない +.TP +\fBENXIO\fP +そのようなデバイスやアドレスはない (POSIX.1) +.TP +\fBEOPNOTSUPP\fP +ソケットでサポートしていない操作である (POSIX.1) .sp -(Linux ¤Ç¤Ï -.B ENOTSUP -¤È -.B EOPNOTSUPP -¤ÏƱ¤¸Ãͤò»ý¤Ä¤¬¡¢ -POSIX.1 ¤Ë½¾¤¨¤Ðξ¼Ô¤Î¥¨¥é¡¼Ãͤ϶èÊ̤µ¤ì¤ë¤Ù¤­¤Ç¤¢¤ë¡£) -.TP -.B EOVERFLOW -»ØÄꤵ¤ì¤¿¥Ç¡¼¥¿·¿¤Ë³ÊǼ¤¹¤ë¤Ë¤ÏÃͤ¬Â礭²á¤®¤ë (POSIX.1) -.TP -.B EPERM -Áàºî¤¬µö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤ (POSIX.1) -.TP -.B EPFNOSUPPORT -¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥×¥í¥È¥³¥ë¥Õ¥¡¥ß¥ê¡¼¤Ç¤¢¤ë -.TP -.B EPIPE -¥Ñ¥¤¥×¤¬²õ¤ì¤Æ¤¤¤ë (POSIX.1) -.TP -.B EPROTO -¥×¥í¥È¥³¥ë¡¦¥¨¥é¡¼ (POSIX.1) -.TP -.B EPROTONOSUPPORT -¥×¥í¥È¥³¥ë¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤ (POSIX.1) -.TP -.B EPROTOTYPE -¥½¥±¥Ã¥È¤Ë»ØÄê¤Ç¤­¤Ê¤¤¥×¥í¥È¥³¥ë¡¦¥¿¥¤¥×¤Ç¤¢¤ë (POSIX.1) -.TP -.B ERANGE -·ë²Ì¤¬Â礭²á¤®¤ë (POSIX.1, C99) -.TP -.B EREMCHG -¥ê¥â¡¼¥È¥¢¥É¥ì¥¹¤¬ÊѤï¤Ã¤¿ -.TP -.B EREMOTE -¥ª¥Ö¥¸¥§¥¯¥È¤¬¥ê¥â¡¼¥È¤Ë¤¢¤ë -.TP -.B EREMOTEIO -¥ê¥â¡¼¥È I/O ¥¨¥é¡¼ -.TP -.B ERESTART -¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬ÃæÃǤµ¤ìºÆ¥¹¥¿¡¼¥È¤¬É¬ÍפǤ¢¤ë -.TP -.B EROFS -Æɤ߽Ф·ÀìÍѤΥե¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¤¢¤ë (POSIX.1) -.TP -.B ESHUTDOWN -ÄÌ¿®Áê¼ê¤¬¥·¥ã¥Ã¥È¥À¥¦¥ó¤µ¤ì¤ÆÁ÷¿®¤Ç¤­¤Ê¤¤ -.TP -.B ESPIPE -̵¸ú¤Ê¥·¡¼¥¯ (POSIX.1) -.TP -.B ESOCKTNOSUPPORT -¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥½¥±¥Ã¥È¼ïÊ̤Ǥ¢¤ë -.TP -.B ESRCH -¤½¤Î¤è¤¦¤Ê¥×¥í¥»¥¹¤Ï̵¤¤ (POSIX.1) +(Linux では \fBENOTSUP\fP と \fBEOPNOTSUPP\fP は同じ値を持つが、 POSIX.1 +に従えば両者のエラー値は区別されるべきである。) +.TP +\fBEOVERFLOW\fP +指定されたデータ型に格納するには値が大き過ぎる (POSIX.1) +.TP +\fBEPERM\fP +操作が許可されていない (POSIX.1) +.TP +\fBEPFNOSUPPORT\fP +サポートされていないプロトコルファミリーである +.TP +\fBEPIPE\fP +パイプが壊れている (POSIX.1) +.TP +\fBEPROTO\fP +プロトコル・エラー (POSIX.1) +.TP +\fBEPROTONOSUPPORT\fP +プロトコルがサポートされていない (POSIX.1) +.TP +\fBEPROTOTYPE\fP +ソケットに指定できないプロトコル・タイプである (POSIX.1) +.TP +\fBERANGE\fP +結果が大き過ぎる (POSIX.1, C99) +.TP +\fBEREMCHG\fP +リモートアドレスが変わった +.TP +\fBEREMOTE\fP +オブジェクトがリモートにある +.TP +\fBEREMOTEIO\fP +リモート I/O エラー +.TP +\fBERESTART\fP +システムコールが中断され再スタートが必要である +.TP +\fBEROFS\fP +読み出し専用のファイルシステムである (POSIX.1) +.TP +\fBESHUTDOWN\fP +通信相手がシャットダウンされて送信できない +.TP +\fBESPIPE\fP +無効なシーク (POSIX.1) +.TP +\fBESOCKTNOSUPPORT\fP +サポートされていないソケット種別である +.TP +\fBESRCH\fP .\" ESRMNT is defined but appears not to be used -.TP -.B ESTALE -¥Õ¥¡¥¤¥ë¥Ï¥ó¥É¥ë¤¬¸Å¤¤¾õÂ֤ˤʤäƤ¤¤ë (POSIX.1) +そのようなプロセスは無い (POSIX.1) +.TP +\fBESTALE\fP +ファイルハンドルが古い状態になっている (POSIX.1) .sp -NFS ¤ä¾¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Çµ¯¤³¤ê¤¦¤ë¡£ -.TP -.B ESTRPIPE -¥¹¥È¥ê¡¼¥à¡¦¥Ñ¥¤¥×¡¦¥¨¥é¡¼ -.TP -.B ETIME -»þ´Ö¤¬·Ð²á¤·¤¿ -(POSIX.1 (XSI STREAMS option)) +NFS や他のファイルシステムで起こりうる。 +.TP +\fBESTRPIPE\fP +ストリーム・パイプ・エラー +.TP +\fBETIME\fP +時間が経過した (POSIX.1 (XSI STREAMS option)) .sp -(POSIX.1 ¤Ç¤Ï "STREAM -.BR ioctl (2) -timeout" ¤È½ñ¤«¤ì¤Æ¤¤¤ë) -.TP -.B ETIMEDOUT -Áàºî¤¬¥¿¥¤¥à¥¢¥¦¥È¤·¤¿ (POSIX.1) +(POSIX.1 では "STREAM \fBioctl\fP(2) timeout" と書かれている) +.TP +\fBETIMEDOUT\fP .\" ETOOMANYREFS is defined, but appears not to be used. -.TP -.B ETXTBSY -¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤¬»ÈÍÑÃæ¤Ç¤¢¤ë (POSIX.1) -.TP -.B EUCLEAN +操作がタイムアウトした (POSIX.1) +.TP +\fBETXTBSY\fP +テキストファイルが使用中である (POSIX.1) +.TP +\fBEUCLEAN\fP Structure needs cleaning -.TP -.B EUNATCH -¥×¥í¥È¥³¥ë¤Î¥É¥é¥¤¥Ð¤¬ÉÕÍ¿ (attach) ¤µ¤ì¤Æ¤¤¤Ê¤¤ -.TP -.B EUSERS -¥æ¡¼¥¶¿ô¤¬Â¿²á¤®¤ë -.TP -.B EWOULDBLOCK -Áàºî¤¬¥Ö¥í¥Ã¥¯¤µ¤ì¤ë¸«¹þ¤ß¤Ç¤¢¤ë -.RB ( EAGAIN -¤ÈƱ¤¸ÃͤǤâ¤è¤¤) (POSIX.1) -.TP -.B EXDEV -ÉÔŬÀڤʥê¥ó¥¯ (POSIX.1) -.TP -.B EXFULL -ÊÑ´¹¥Æ¡¼¥Ö¥ë¤¬°ìÇդǤ¢¤ë -.SH Ãí°Õ -°Ê²¼¤Ï¤è¤¯¤ä¤ë´Ö°ã¤¤¤Ç¤¢¤ë¡£ +.TP +\fBEUNATCH\fP +プロトコルのドライバが付与 (attach) されていない +.TP +\fBEUSERS\fP +ユーザ数が多過ぎる +.TP +\fBEWOULDBLOCK\fP +操作がブロックされる見込みである (\fBEAGAIN\fP と同じ値でもよい) (POSIX.1) +.TP +\fBEXDEV\fP +不適切なリンク (POSIX.1) +.TP +\fBEXFULL\fP +変換テーブルが一杯である +.SH 注意 +以下はよくやる間違いである。 .in +4n .nf @@ -503,16 +472,9 @@ if (somecall() == \-1) { .fi .in -¤³¤Î¤è¤¦¤Ë¤¹¤ë¤È¡¢»²¾È¤·¤Æ¤¤¤ë»þÅÀ¤Ç¤Ï -.I errno -¤Ï¤â¤Ï¤ä -.IR somecall () -¤«¤éÊÖ¤µ¤ì¤¿ÃͤòÊÝ»ý¤·¤Æ¤¤¤ë¤È¤Ï¸Â¤é¤Ê¤¤ -.RB ( printf (3) -¤Ë¤è¤êÊѹ¹¤µ¤ì¤Æ¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤)¡£ -¥é¥¤¥Ö¥é¥ê¥³¡¼¥ë¤ò¤Þ¤¿¤¤¤Ç -.I errno -¤ÎÃͤòÊݸ¤·¤¿¤¤¾ì¹ç¤Ï¡¢°Ê²¼¤Î¤è¤¦¤ËÊݸ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤: +このようにすると、参照している時点では \fIerrno\fP はもはや \fIsomecall\fP() から返された値を保持しているとは限らない +(\fBprintf\fP(3) により変更されているかもしれない)。 ライブラリコールをまたいで \fIerrno\fP +の値を保存したい場合は、以下のように保存しなければならない: .in +4n .nf @@ -524,19 +486,13 @@ if (somecall() == \-1) { .fi .in .PP -ÀΤΠC ¤Ç¤Ï¡¢ -.I -¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯ -.I errno -¤ò¼êÆ°¤Ç -.RI ( "extern int errno" -¤Î¤è¤¦¤Ë) ÄêµÁ¤¹¤ë¤Î¤¬°ìÈÌŪ¤Ç¤¢¤Ã¤¿¡£ -.BR "¤³¤Î¤è¤¦¤Ê¤³¤È¤Ï¤·¤Ê¤¤¤³¤È" "¡£" -¤³¤¦¤¹¤ë¤È¡¢ºÇ¶á¤Î¥Ð¡¼¥¸¥ç¥ó¤Î C ¥é¥¤¥Ö¥é¥ê¤Ç¤ÏÀµ¤·¤¯Æ°ºî¤·¤Ê¤¤¤À¤í¤¦¡£ -¤·¤«¤·¡¢(Èó¾ï¤Ë) ¸Å¤¤ Unix ¥·¥¹¥Æ¥à¤Ç¤Ï¡¢ -.I -¤¬¤Ê¤¯¡¢Àë¸À¤¬É¬Íפʤ³¤È¤¬¤¢¤ë¤«¤â¤·¤ì¤Ê¤¤¡£ -.BR err (3), -.BR error (3), -.BR perror (3), -.BR strerror (3) +昔の C では、 \fI\fP をインクルードするのではなく \fIerrno\fP を手動で (\fIextern int +errno\fP のように) 定義するのが一般的であった。 \fBこのようなことはしないこと\fP。 こうすると、最近のバージョンの C +ライブラリでは正しく動作しないだろう。 しかし、(非常に) 古い UNIX システムでは、 \fI\fP +がなく、宣言が必要なことがあるかもしれない。 +.SH 関連項目 +\fBerr\fP(3), \fBerror\fP(3), \fBperror\fP(3), \fBstrerror\fP(3) +.SH この文書について +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.68 の一部 +である。プロジェクトの説明とバグ報告に関する情報は +http://www.kernel.org/doc/man\-pages/ に書かれている。