# 23 `errno` -- 標準の errno システムシンボル

このモジュールから標準の `errno` システムシンボルを取得することが できます。個々のシンボルの値は `errno` に対応する整数値です。 これらのシンボルの名前は、linux/include/errno.h から借用され ており、かなり網羅的なはずです。

`errorcode`
  errno 値を背後のシステムにおける文字列表現に対応付ける辞書です。 例えば、`errno.errorcode[errno.EPERM]` は `'EPERM'` に対応付けられます。

数値のエラーコードをエラーメッセージに変換するには、 `os.strerror()` を使ってください。

以下のリストの内、現在のプラットフォームで使われていないシンボルは モジュール上で定義されていません。定義されているシンボルだけを挙げた リストは `errno.errorcode.keys()` として取得することができます。 取得できるシンボルには以下のようなものがあります:

`EPERM`
  許可されていない操作です (Operation not permitted)

`ENOENT`
  ファイルまたはディレクトリがありません (No such file or directory)

`ESRCH`
  指定したプロセスが存在しません (No such process)

`EINTR`
  割り込みシステムコールです (Interrupted system call)

`EIO`
  I/O エラーです (I/O error)

`ENXIO`
  そのようなデバイスまたはアドレスはありません (No such device or address)

`E2BIG`
  引数リストが長すぎます (Arg list too long)

`ENOEXEC`
  実行形式にエラーがあります (Exec format error)

`EBADF`
  ファイル番号が間違っています (Bad file number)

`ECHILD`
  子プロセスがありません (No child processes)

`EAGAIN`
  再試行してください (Try again)

`ENOMEM`
  空きメモリがありません (Out of memory)

`EACCES`
  許可がありません (Permission denied)

`EFAULT`
  不正なアドレスです (Bad address)

`ENOTBLK`
  ブロックデバイスが必要です (Block device required)

`EBUSY`
  そのデバイスまたは資源は使用中です (Device or resource busy)

`EEXIST`
  ファイルがすでに存在します (File exists)

`EXDEV`
  デバイス間のリンクです (Cross-device link)

`ENODEV`
  そのようなデバイスはありません (No such device)

`ENOTDIR`
  ディレクトリではありません (Not a directory)

`EISDIR`
  ディレクトリです (Is a directory)

`EINVAL`
  無効な引数です (Invalid argument)

`ENFILE`
  ファイルテーブルがオーバフローしています (File table overflow)

`EMFILE`
  開かれたファイルが多すぎます (Too many open files)

`ENOTTY`
  タイプライタではありません (Not a typewriter)

`ETXTBSY`
  テキストファイルが使用中です (Text file busy)

`EFBIG`
  ファイルが大きすぎます (File too large)

`ENOSPC`
  デバイス上に空きがありません (No space left on device)

`ESPIPE`
  不正なシークです (Illegal seek)

`EROFS`
  読み出し専用ファイルシステムです (Read-only file system)

`EMLINK`
  リンクが多すぎます (Too many links)

`EPIPE`
  パイプが壊れました (Broken pipe)

`EDOM`
  数学引数が関数の定義域を越えています (Math argument out of domain of func)

`ERANGE`
  表現できない数学演算結果になりました (Math result not representable)

`EDEADLK`
  リソースのデッドロックが起きます (Resource deadlock would occur)

`ENAMETOOLONG`
  ファイル名が長すぎます (File name too long)

`ENOLCK`
  レコードロッキングが利用できません (No record locks available)

`ENOSYS`
  実装されていない機能です (Function not implemented)

`ENOTEMPTY`
  ディレクトリが空ではありません (Directory not empty)

`ELOOP`
  これ以上シンボリックリンクを追跡できません (Too many symbolic links encountered)

`EWOULDBLOCK`
  操作がブロックします (Operation would block)

`ENOMSG`
  指定された型のメッセージはありません (No message of desired type)

`EIDRM`
  識別子が除去されました (Identifier removed)

`ECHRNG`
  チャネル番号が範囲を超えました (Channel number out of range)

`EL2NSYNC`
  レベル 2 で同期がとれていません (Level 2 not synchronized)

`EL3HLT`
  レベル 3 で終了しました (Level 3 halted)

`EL3RST`
  レベル 3 でリセットしました (Level 3 reset)

`ELNRNG`
  リンク番号が範囲を超えています (Link number out of range)

`EUNATCH`
  プロトコルドライバが接続されていません (Protocol driver not attached)

`ENOCSI`
  CSI 構造体がありません (No CSI structure available)

`EL2HLT`
  レベル 2 で終了しました (Level 2 halted)

`EBADE`
  無効な変換です (Invalid exchange)

`EBADR`
  無効な要求記述子です (Invalid request descriptor)

`EXFULL`
  変換テーブルが一杯です (Exchange full)

`ENOANO`
  陰極がありません (No anode)

`EBADRQC`
  無効なリクエストコードです (Invalid request code)

`EBADSLT`
  無効なスロットです (Invalid slot)

`EDEADLOCK`
  ファイルロックにおけるデッドロックエラーです (File locking deadlock error)

`EBFONT`
  フォントファイル形式が間違っています (Bad font file format)

`ENOSTR`
  ストリーム型でないデバイスです (Device not a stream)

`ENODATA`
  利用可能なデータがありません (No data available)

`ETIME`
  時間切れです (Timer expired)

`ENOSR`
  streams リソースを使い切りました (Out of streams resources)

`ENONET`
  計算機はネットワーク上にありません (Machine is not on the network)

`ENOPKG`
  パッケージがインストールされていません (Package not installed)

`EREMOTE`
  対象物は遠隔にあります (Object is remote)

`ENOLINK`
  リンクが切られました (Link has been severed)

`EADV`
  Advertise エラーです (Advertise error)

`ESRMNT`
  Srmount エラーです (Srmount error)

`ECOMM`
  送信時の通信エラーです (Communication error on send)

`EPROTO`
  プロトコルエラーです (Protocol error)

`EMULTIHOP`
  多重ホップを試みました (Multihop attempted)

`EDOTDOT`
  RFS 特有のエラーです (RFS specific error)

`EBADMSG`
  データメッセージではありません (Not a data message)

`EOVERFLOW`
  定義されたデータ型にとって大きすぎる値です (Value too large for defined data type)

`ENOTUNIQ`
  名前がネットワーク上で一意でありません (Name not unique on network)

`EBADFD`
  ファイル記述子の状態が不正です (File descriptor in bad state)

`EREMCHG`
  遠隔のアドレスが変更されました (Remote address changed)

`ELIBACC`
  必要な共有ライブラリにアクセスできません (Can not access a needed shared library)

`ELIBBAD`
  壊れた共有ライブラリにアクセスしています (Accessing a corrupted shared library)

`ELIBSCN`
  a.out の .lib セクションが壊れています (.lib section in a.out corrupted)

`ELIBMAX`
  リンクを試みる共有ライブラリが多すぎます (Attempting to link in too many shared libraries)

`ELIBEXEC`
  共有ライブラリを直接実行することができません (Cannot exec a shared library directly)

`EILSEQ`
  不正なバイト列です (Illegal byte sequence)

`ERESTART`
  割り込みシステムコールを復帰しなければなりません (Interrupted system call should be restarted)

`ESTRPIPE`
  ストリームパイプのエラーです (Streams pipe error)

`EUSERS`
  ユーザが多すぎます (Too many users)

`ENOTSOCK`
  非ソケットに対するソケット操作です (Socket operation on non-socket)

`EDESTADDRREQ`
  目的アドレスが必要です (Destination address required)

`EMSGSIZE`
  メッセージが長すぎます (Message too long)

`EPROTOTYPE`
  ソケットに対して不正なプロトコル型です (Protocol wrong type for socket)

`ENOPROTOOPT`
  利用できないプロトコルです (Protocol not available)

`EPROTONOSUPPORT`
  サポートされていないプロトコルです (Protocol not supported)

`ESOCKTNOSUPPORT`
  サポートされていないソケット型です (Socket type not supported)

`EOPNOTSUPP`
  通信端点に対してサポートされていない操作です (Operation not supported on transport endpoint)

`EPFNOSUPPORT`
  サポートされていないプロトコルファミリです (Protocol family not supported)

`EAFNOSUPPORT`
  プロトコルでサポートされていないアドレスファミリです (Address family not supported by protocol)

`EADDRINUSE`
  アドレスは使用中です (Address already in use)

`EADDRNOTAVAIL`
  要求されたアドレスを割り当てできません (Cannot assign requested address)

`ENETDOWN`
  ネットワークがダウンしています (Network is down)

`ENETUNREACH`
  ネットワークに到達できません (Network is unreachable)

`ENETRESET`
  リセットによってネットワーク接続が切られました (Network dropped connection because of reset)

`ECONNABORTED`
  ソフトウェアによって接続が終了されました (Software caused connection abort)

`ECONNRESET`
  接続がピアによってリセットされました (Connection reset by peer)

`ENOBUFS`
  バッファに空きがありません (No buffer space available)

`EISCONN`
  通信端点がすでに接続されています (Transport endpoint is already connected)

`ENOTCONN`
  通信端点が接続されていません (Transport endpoint is not connected)

`ESHUTDOWN`
  通信端点のシャットダウン後は送信できません (Cannot send after transport endpoint shutdown)

`ETOOMANYREFS`
  参照が多すぎます: 接続できません (Too many references: cannot splice)

`ETIMEDOUT`
  接続がタイムアウトしました (Connection timed out)

`ECONNREFUSED`
  接続を拒否されました (Connection refused)

`EHOSTDOWN`
  ホストはシステムダウンしています (Host is down)

`EHOSTUNREACH`
  ホストへの経路がありません (No route to host)

`EALREADY`
  すでに処理中です (Operation already in progress)

`EINPROGRESS`
  現在処理中です (Operation now in progress)

`ESTALE`
  無効な NFS ファイルハンドルです (Stale NFS file handle)

`EUCLEAN`
  (Structure needs cleaning)

`ENOTNAM`
  XENIX 名前付きファイルではありません (Not a XENIX named type file)

`ENAVAIL`
  XENIX セマフォは利用できません (No XENIX semaphores available)

`EISNAM`
  名前付きファイルです (Is a named type file)

`EREMOTEIO`
  遠隔側の I/O エラーです (Remote I/O error)

`EDQUOT`
  ディスククオータを超えました (Quota exceeded)