码迷,mamicode.com
首页 > 其他好文 > 详细

errno.h 错误码描述.

时间:2014-09-02 10:26:34      阅读:383      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   os   io   使用   ar   

描述:一般说的Linux源码的目录,默认是基于 /usr/include/ 的.

  使用 

1 char *strerror(int errnum);

  函数打印错误代码的描述.我简单对比了一下,发现描述大体一致,但有些地方, strerror 函数的描述还稍微详细点.

  在实际编程中用这一招解决了不少原本看来莫名其妙的问题。比较 麻烦的是每次都要去linux源代码里面查找错误代码的含义,现在把它贴出来,以后需要查时就来这里看了:

  实现代码:

 1 #include <string.h>    //for strerror(i)
 2 #include <stdlib.h>
 3 #include <stdio.h>
 4 
 5 int
 6 main(void) {
 7     int errno;
 8     for(errno = 0; errno <= 256; errno++)
 9         printf("errno.%2d-%s\n", errno, strerror(errno));
10     exit(0);
11 }

结果如下:

  1 errno. 0-Success
  2 errno. 1-Operation not permitted
  3 errno. 2-No such file or directory
  4 errno. 3-No such process
  5 errno. 4-Interrupted system call
  6 errno. 5-Input/output error
  7 errno. 6-No such device or address
  8 errno. 7-Argument list too long
  9 errno. 8-Exec format error
 10 errno. 9-Bad file descriptor
 11 errno.10-No child processes
 12 errno.11-Resource temporarily unavailable
 13 errno.12-Cannot allocate memory
 14 errno.13-Permission denied
 15 errno.14-Bad address
 16 errno.15-Block device required
 17 errno.16-Device or resource busy
 18 errno.17-File exists
 19 errno.18-Invalid cross-device link
 20 errno.19-No such device
 21 errno.20-Not a directory
 22 errno.21-Is a directory
 23 errno.22-Invalid argument
 24 errno.23-Too many open files in system
 25 errno.24-Too many open files
 26 errno.25-Inappropriate ioctl for device
 27 errno.26-Text file busy
 28 errno.27-File too large
 29 errno.28-No space left on device
 30 errno.29-Illegal seek
 31 errno.30-Read-only file system
 32 errno.31-Too many links
 33 errno.32-Broken pipe
 34 errno.33-Numerical argument out of domain
 35 errno.34-Numerical result out of range
 36 errno.35-Resource deadlock avoided
 37 errno.36-File name too long
 38 errno.37-No locks available
 39 errno.38-Function not implemented
 40 errno.39-Directory not empty
 41 errno.40-Too many levels of symbolic links
 42 errno.41-Unknown error 41
 43 errno.42-No message of desired type
 44 errno.43-Identifier removed
 45 errno.44-Channel number out of range
 46 errno.45-Level 2 not synchronized
 47 errno.46-Level 3 halted
 48 errno.47-Level 3 reset
 49 errno.48-Link number out of range
 50 errno.49-Protocol driver not attached
 51 errno.50-No CSI structure available
 52 errno.51-Level 2 halted
 53 errno.52-Invalid exchange
 54 errno.53-Invalid request descriptor
 55 errno.54-Exchange full
 56 errno.55-No anode
 57 errno.56-Invalid request code
 58 errno.57-Invalid slot
 59 errno.58-Unknown error 58
 60 errno.59-Bad font file format
 61 errno.60-Device not a stream
 62 errno.61-No data available
 63 errno.62-Timer expired
 64 errno.63-Out of streams resources
 65 errno.64-Machine is not on the network
 66 errno.65-Package not installed
 67 errno.66-Object is remote
 68 errno.67-Link has been severed
 69 errno.68-Advertise error
 70 errno.69-Srmount error
 71 errno.70-Communication error on send
 72 errno.71-Protocol error
 73 errno.72-Multihop attempted
 74 errno.73-RFS specific error
 75 errno.74-Bad message
 76 errno.75-Value too large for defined data type
 77 errno.76-Name not unique on network
 78 errno.77-File descriptor in bad state
 79 errno.78-Remote address changed
 80 errno.79-Can not access a needed shared library
 81 errno.80-Accessing a corrupted shared library
 82 errno.81-.lib section in a.out corrupted
 83 errno.82-Attempting to link in too many shared libraries
 84 errno.83-Cannot exec a shared library directly
 85 errno.84-Invalid or incomplete multibyte or wide character
 86 errno.85-Interrupted system call should be restarted
 87 errno.86-Streams pipe error
 88 errno.87-Too many users
 89 errno.88-Socket operation on non-socket
 90 errno.89-Destination address required
 91 errno.90-Message too long
 92 errno.91-Protocol wrong type for socket
 93 errno.92-Protocol not available
 94 errno.93-Protocol not supported
 95 errno.94-Socket type not supported
 96 errno.95-Operation not supported
 97 errno.96-Protocol family not supported
 98 errno.97-Address family not supported by protocol
 99 errno.98-Address already in use
100 errno.99-Cannot assign requested address
101 errno.100-Network is down
102 errno.101-Network is unreachable
103 errno.102-Network dropped connection on reset
104 errno.103-Software caused connection abort
105 errno.104-Connection reset by peer
106 errno.105-No buffer space available
107 errno.106-Transport endpoint is already connected
108 errno.107-Transport endpoint is not connected
109 errno.108-Cannot send after transport endpoint shutdown
110 errno.109-Too many references: cannot splice
111 errno.110-Connection timed out
112 errno.111-Connection refused
113 errno.112-Host is down
114 errno.113-No route to host
115 errno.114-Operation already in progress
116 errno.115-Operation now in progress
117 errno.116-Stale NFS file handle
118 errno.117-Structure needs cleaning
119 errno.118-Not a XENIX named type file
120 errno.119-No XENIX semaphores available
121 errno.120-Is a named type file
122 errno.121-Remote I/O error
123 errno.122-Disk quota exceeded
124 errno.123-No medium found
125 errno.124-Wrong medium type
126 errno.125-Operation canceled
127 errno.126-Required key not available
128 errno.127-Key has expired
129 errno.128-Key has been revoked
130 errno.129-Key was rejected by service
131 errno.130-Owner died
132 errno.131-State not recoverable

  其中,132及其往后的,都显示unknown error,没有被使用.

  从 errno.h头文件,向上追溯,发现根据不同的机器,放在不同的头文件. 基本上,这些错误码的具体描述都放在 asm-generic/errno-base.h 和 asm-generic/errno.h 这两个头文件中.

  引自: http://blog.csdn.net/kofiory/article/details/5790409

errno.h 错误码描述.

标签:des   style   blog   http   color   os   io   使用   ar   

原文地址:http://www.cnblogs.com/listened/p/3950723.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!