ライブラリ関数の実行中,エラー情報としてDSYSERRが設定されると,さらに詳細な情報(詳細エラーコード)がグローバル変数errnoに設定されます。
詳細エラーコードに対応するエラー名称は,ヘッダファイルerrno.hに設定されています。詳細エラーコードの意味と対処方法を表3-3に示します。
表3-3 詳細エラーコードの意味と対処方法
名称 | 値 | 意味 | 対処 |
---|---|---|---|
ENOENT | 2 | 通信管理を識別するファイルがありません。 | 正しいパス名を指定してください。 |
EINTR | 4 | シグナルを受信しました。 | アプリケーションプロセスを終了してください。 |
ENXIO | 6 | 通信管理が動作不能になりました。 | アプリケーションプロセスを終了してください。 |
EBADF | 9 | データリンク端点識別子が不正です。 | 正しいデータリンク端点識別子を指定してください。 |
EACCES | 13 | データリンク端点を確立する際に,通信管理を識別するファイルのアクセス権がありません。 | ファイルの属性を修正してください。 |
EFAULT | 14 | 不正な領域が指定されているため,メモリ異常が発生しました。 | 正しい領域アドレスを指定してください。 |
ENOTDIR | 20 | 通信管理を識別するファイルのパスプレフィックス(パス名の最後を除いた部分)がディレクトリではありません。 | 正しいパス名を指定してください。 |
EISDIR | 21 | 通信管理を識別するファイルがディレクトリです。 | 正しいパス名を指定してください。 |
EINVAL | 22 | 引数が無効です。 | 正しい引数を指定してください。 |
ENFILE | 23 | システムでオープンできるファイルの上限値を超えました。 | システムのファイル数を見直してください。 |
データリンク端点の数が,システムで確立できる上限値を超えました。 | 構成定義のconfiguration文のmax_HDLCpass_linkの値を見直してください。 | ||
EMFILE | 24 | 1プロセスで同時にオープンできるファイルの上限値を超えました。 | 1プロセスで接続するコネクション数を見直してください。 |
ENOTTY | 25 | 通信管理を識別するファイルがキャラクタスペシャルファイルではありません。 | 正しいパス名を指定してください。 |