- 浏览: 271401 次
- 来自: 广州
最新评论
-
cloudmail:
http://blog.csdn.net/zhang_red/ ...
awk合并行、linux shell 字符串操作、sed字符替换 -
cloudmail:
逐行读取文件时支持读取以空格开头的内容:IFS="& ...
awk合并行、linux shell 字符串操作、sed字符替换 -
cloudmail:
sina返回的结果:[{"url_short&quo ...
PHP调用t.cn新浪短网址服务API(JSON版) -
cloudmail:
http://www.dwz.cn/http://help.b ...
PHP调用t.cn新浪短网址服务API(JSON版) -
cloudmail:
for i in {1..2000}; do wget -O ...
PHP调用t.cn新浪短网址服务API(JSON版)
22:参数错误,比如ip地址不合法,没有目标端口等
101:网络不可达,比如不能ping通
111:链接被拒绝,比如目标关闭链接等
115:当链接设置为非阻塞时,目标没有及时应答,返回此错误,socket可以继续使用
Linux通过errno这个变量来记录最近一次出错的内容,类似Windows下的GetLastError()函数的返回值。
/* errno is not a global variable, because that would make using it non-reentrant. Instead, its address is returned by the function __errno. */ #ifndef _SYS_ERRNO_H_ #ifdef __cplusplus extern "C" { #endif #define _SYS_ERRNO_H_ #include <sys/reent.h> #ifndef _REENT_ONLY #define errno (*__errno()) extern int *__errno _PARAMS ((void)); #endif /* Please don't use these variables directly. Use strerror instead. */ extern __IMPORT _CONST char * _CONST _sys_errlist[]; extern __IMPORT int _sys_nerr; #ifdef __CYGWIN__ extern __IMPORT const char * const sys_errlist[]; extern __IMPORT int sys_nerr; #endif #define __errno_r(ptr) ((ptr)->_errno) #define EPERM 1 /* Not super-user */ #define ENOENT 2 /* No such file or directory */ #define ESRCH 3 /* No such process */ #define EINTR 4 /* Interrupted system call */ #define EIO 5 /* I/O error */ #define ENXIO 6 /* No such device or address */ #define E2BIG 7 /* Arg list too long */ #define ENOEXEC 8 /* Exec format error */ #define EBADF 9 /* Bad file number */ #define ECHILD 10 /* No children */ #define EAGAIN 11 /* No more processes */ #define ENOMEM 12 /* Not enough core */ #define EACCES 13 /* Permission denied */ #define EFAULT 14 /* Bad address */ #ifdef __LINUX_ERRNO_EXTENSIONS__ #define ENOTBLK 15 /* Block device required */ #endif #define EBUSY 16 /* Mount device busy */ #define EEXIST 17 /* File exists */ #define EXDEV 18 /* Cross-device link */ #define ENODEV 19 /* No such device */ #define ENOTDIR 20 /* Not a directory */ #define EISDIR 21 /* Is a directory */ #define EINVAL 22 /* Invalid argument */ #define ENFILE 23 /* Too many open files in system */ #define EMFILE 24 /* Too many open files */ #define ENOTTY 25 /* Not a typewriter */ #define ETXTBSY 26 /* Text file busy */ #define EFBIG 27 /* File too large */ #define ENOSPC 28 /* No space left on device */ #define ESPIPE 29 /* Illegal seek */ #define EROFS 30 /* Read only file system */ #define EMLINK 31 /* Too many links */ #define EPIPE 32 /* Broken pipe */ #define EDOM 33 /* Math arg out of domain of func */ #define ERANGE 34 /* Math result not representable */ #define ENOMSG 35 /* No message of desired type */ #define EIDRM 36 /* Identifier removed */ #ifdef __LINUX_ERRNO_EXTENSIONS__ #define ECHRNG 37 /* Channel number out of range */ #define EL2NSYNC 38 /* Level 2 not synchronized */ #define EL3HLT 39 /* Level 3 halted */ #define EL3RST 40 /* Level 3 reset */ #define ELNRNG 41 /* Link number out of range */ #define EUNATCH 42 /* Protocol driver not attached */ #define ENOCSI 43 /* No CSI structure available */ #define EL2HLT 44 /* Level 2 halted */ #endif #define EDEADLK 45 /* Deadlock condition */ #define ENOLCK 46 /* No record locks available */ #ifdef __LINUX_ERRNO_EXTENSIONS__ #define EBADE 50 /* Invalid exchange */ #define EBADR 51 /* Invalid request descriptor */ #define EXFULL 52 /* Exchange full */ #define ENOANO 53 /* No anode */ #define EBADRQC 54 /* Invalid request code */ #define EBADSLT 55 /* Invalid slot */ #define EDEADLOCK 56 /* File locking deadlock error */ #define EBFONT 57 /* Bad font file fmt */ #endif #define ENOSTR 60 /* Device not a stream */ #define ENODATA 61 /* No data (for no delay io) */ #define ETIME 62 /* Timer expired */ #define ENOSR 63 /* Out of streams resources */ #ifdef __LINUX_ERRNO_EXTENSIONS__ #define ENONET 64 /* Machine is not on the network */ #define ENOPKG 65 /* Package not installed */ #define EREMOTE 66 /* The object is remote */ #endif #define ENOLINK 67 /* The link has been severed */ #ifdef __LINUX_ERRNO_EXTENSIONS__ #define EADV 68 /* Advertise error */ #define ESRMNT 69 /* Srmount error */ #define ECOMM 70 /* Communication error on send */ #endif #define EPROTO 71 /* Protocol error */ #define EMULTIHOP 74 /* Multihop attempted */ #ifdef __LINUX_ERRNO_EXTENSIONS__ #define ELBIN 75 /* Inode is remote (not really error) */ #define EDOTDOT 76 /* Cross mount point (not really error) */ #endif #define EBADMSG 77 /* Trying to read unreadable message */ #define EFTYPE 79 /* Inappropriate file type or format */ #ifdef __LINUX_ERRNO_EXTENSIONS__ #define ENOTUNIQ 80 /* Given log. name not unique */ #define EBADFD 81 /* f.d. invalid for this operation */ #define EREMCHG 82 /* Remote address changed */ #define ELIBACC 83 /* Can't access a needed shared lib */ #define ELIBBAD 84 /* Accessing a corrupted shared lib */ #define ELIBSCN 85 /* .lib section in a.out corrupted */ #define ELIBMAX 86 /* Attempting to link in too many libs */ #define ELIBEXEC 87 /* Attempting to exec a shared library */ #endif #define ENOSYS 88 /* Function not implemented */ #ifdef __CYGWIN__ #define ENMFILE 89 /* No more files */ #endif #define ENOTEMPTY 90 /* Directory not empty */ #define ENAMETOOLONG 91 /* File or path name too long */ #define ELOOP 92 /* Too many symbolic links */ #define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */ #define EPFNOSUPPORT 96 /* Protocol family not supported */ #define ECONNRESET 104 /* Connection reset by peer */ #define ENOBUFS 105 /* No buffer space available */ #define EAFNOSUPPORT 106 /* Address family not supported by protocol family */ #define EPROTOTYPE 107 /* Protocol wrong type for socket */ #define ENOTSOCK 108 /* Socket operation on non-socket */ #define ENOPROTOOPT 109 /* Protocol not available */ #ifdef __LINUX_ERRNO_EXTENSIONS__ #define ESHUTDOWN 110 /* Can't send after socket shutdown */ #endif #define ECONNREFUSED 111 /* Connection refused */ #define EADDRINUSE 112 /* Address already in use */ #define ECONNABORTED 113 /* Connection aborted */ #define ENETUNREACH 114 /* Network is unreachable */ #define ENETDOWN 115 /* Network interface is not configured */ #define ETIMEDOUT 116 /* Connection timed out */ #define EHOSTDOWN 117 /* Host is down */ #define EHOSTUNREACH 118 /* Host is unreachable */ #define EINPROGRESS 119 /* Connection already in progress */ #define EALREADY 120 /* Socket already connected */ #define EDESTADDRREQ 121 /* Destination address required */ #define EMSGSIZE 122 /* Message too long */ #define EPROTONOSUPPORT 123 /* Unknown protocol */ #ifdef __LINUX_ERRNO_EXTENSIONS__ #define ESOCKTNOSUPPORT 124 /* Socket type not supported */ #endif #define EADDRNOTAVAIL 125 /* Address not available */ #define ENETRESET 126 #define EISCONN 127 /* Socket is already connected */ #define ENOTCONN 128 /* Socket is not connected */ #define ETOOMANYREFS 129 #ifdef __LINUX_ERRNO_EXTENSIONS__ #define EPROCLIM 130 #define EUSERS 131 #endif #define EDQUOT 132 #define ESTALE 133 #define ENOTSUP 134 /* Not supported */ #ifdef __LINUX_ERRNO_EXTENSIONS__ #define ENOMEDIUM 135 /* No medium (in tape drive) */ #endif #ifdef __CYGWIN__ #define ENOSHARE 136 /* No such host or network path */ #define ECASECLASH 137 /* Filename exists with different case */ #endif #define EILSEQ 138 #define EOVERFLOW 139 /* Value too large for defined data type */ #define ECANCELED 140 /* Operation canceled */ #define ENOTRECOVERABLE 141 /* State not recoverable */ #define EOWNERDEAD 142 /* Previous owner died */ #ifdef __LINUX_ERRNO_EXTENSIONS__ #define ESTRPIPE 143 /* Streams pipe error */ #endif #define EWOULDBLOCK EAGAIN /* Operation would block */ #define __ELASTERROR 2000 /* Users can add values starting here */ #ifdef __cplusplus } #endif #endif /* _SYS_ERRNO_H */
发表评论
-
使用dig查询dns解析
2017-03-06 17:22 0dig命令使用大全(linux上域名查询) Dig HOWT ... -
awk用法小结
2016-09-20 14:23 3526原文网址: http://www.cnblogs.com/ ... -
nginx内置预定义变量
2015-01-25 21:25 1022nginx的配置文件中可以使用的内置变量以美元符$开始,也有 ... -
awk合并行、linux shell 字符串操作、sed字符替换
2015-01-18 16:13 4252四行合一行 cat filename 111111 ... -
PHP调用t.cn新浪短网址服务API(JSON版)
2014-11-08 14:25 7912没什么好讲了,重要的地方我都在代码中注释了,主要是APP_ ... -
【转】How To Use Dropbox As An SVN Repository
2014-01-18 18:53 861How To Use Dropbox As An SVN R ... -
【转】时区简写及时间格式解析
2013-11-11 15:33 19751今天在解析CST时区时发现时间不对,原来使用的代码将CS ... -
C 语言执行 whois 查询
2013-06-28 11:09 1123http://www.binarytides.com/c-c ... -
在Redhat Linux上安装和使用subversion
2012-10-17 18:28 24081,安装: wget http://m ... -
【转】 使用 Bash 编写的 TCP 端口扫描器
2012-09-03 12:50 1348我突然有一个用 Bash 来编写 TCP 端口扫描器的想 ... -
Linux Shell实现"多进程"编程
2012-09-02 20:14 2395单进程模式代码: #!/bin/sh pl ... -
Perl使用Net::SMTP_auth认证发送邮件
2012-08-29 17:33 3172#!/usr/bin/perl -w # http:/ ... -
Perl使用Net::SMTP_auth认证发邮件
2012-08-29 17:28 1#!/usr/bin/perl -w # http: ... -
通过awk在Linux下打乱文件内容的顺序
2012-06-26 18:17 4932假设一个文件是已经排好序的,现随机抽取里面的部分。为了达到随机 ... -
EDM邮箱数据库设计
2012-06-13 18:06 29一,业务需求: 1) 分页获取某企业下的邮箱列表,按最 ... -
一步一步学PHP(1): Windows下配置Nginx + PHP开发环境
2012-05-21 23:22 26991,下载并安装nginx 1.1 下载地址:http://n ... -
MySQL导出指定表中的数据
2012-05-21 12:44 0MySQL导出指定表中的数据 要求: 1. ... -
用shell脚本实现递归创建目录
2012-05-09 17:19 6019用shell脚本实现递归创建目录,相当于mkdir -p /t ... -
ALPHA、BETA、RC、GA版本的区别
2012-05-08 13:04 1114Alpha:是内部测试版, ... -
在RHEL5 源码编译安装MySQL 5.5.23
2012-05-04 14:43 15221.安装前装备 1.1已经安装gcc(gcc-c++) ...
相关推荐
Linux errno.h 文件错误号说明 errno.h 文件是 Linux 系统中一个非常重要的头文件,它定义了一系列的错误号,每个错误号对应着一个特定的错误信息。了解这些错误号对于 Linux 系统的开发和调试至关重要。 在 Linux...
在Linux系统中,为了进行《UNIX环境高级编程》的学习与实践,我们经常需要使用到apue.h这个头文件。这个头文件包含了多个用于系统编程的辅助函数和宏定义,是根据《UNIX环境高级编程》一书中的接口进行封装的。在...
#include <linux/errno.h> #include <linux/init.h> #include <linux/netdevice.h> #include <linux/etherdevice.h> #include <linux/ethtool.h> #include <linux/tcp.h> #include <linux/skbuff.h> #include <linux...
`fcntl.h`是Unix和类Unix系统(如Linux)中用于处理文件控制操作的头文件,它包含了对文件描述符的管理和文件状态标志设置等功能。在Windows CE中,由于系统内核与标准Unix系统不同,`fcntl.h`的功能并不完全相同,...
Linux 中 errno 使用 Linux 操作系统中的 errno 变量是一个非常重要的概念,它用于记录函数调用时出现的错误信息。errno 变量是通过 include errno.h 头文件来定义的,errno 的值是一个整数,它的值可以通过查看 ...
#include <linux/errno.h> #include <linux/miscdevice.h> #include <linux/fcntl.h> #include <linux/init.h> #include <linux/delay.h> #include <linux/proc_fs.h> #include <linux/workqueue.h> #include ...
* `errno.h`:定义了错误号,包含系统中各种出错号。 * `fcntl.h`:定义了文件控制头文件,用于文件及其描述符的操作控制常数符号的定义。 * `signal.h`:定义了信号符号常量,信号结构以及信号操作函数原型。 * `...
当linux系统函数出错时,通常会返回一个负值,而且整型变量errno通常被设置为具有特定信息的值。例如,open 函数如果成功执行 则返回一个非负文件描述符,如出错则返回−1。在 open出错时,有大约15种不同的errno值(文件...
#include <errno.h> #include <getopt.h> #include <limits.h> #include <libgen.h> #include <locale.h> #include <stdbool.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> ...
<errno.h > 出错码 <fcntl.h > 文件控制 <float.h > 浮点常数 <signal.h > 信号 <stdarg.h > 可变参数表 <stddef.h > 标准定义 <stdio.h > 标准I/O库 <stdlib.h > 公用函数 <string.h > 字符串操作 ......
#include <linux/errno.h> #include <linux/types.h> #include <linux/fcntl.h> #include <linux/init.h> #include <linux/poll.h> #include <asm/uaccess.h> #include <asm/system.h> #ifndef VFIFO_MAJOR #define ...
#include <errno.h> //定义错误码 #include <string.h>//字符串处理 #include <netdb.h> #include <sys/types.h>//send();recv(); #include <netinet/in.h>//htons(); #include <sys/socket.h>//send();recv(); #...
3. `<linux/errno.h>`:提供了系统错误号的宏定义,使开发者可以通过`perror`函数输出错误信息。 4. `<linux/types.h>`:定义了一些特定的类型,如`dev_t`, `off_t`, `pid_t`等,方便代码的可读性和一致性。 5. `...
.....\.......\errno.h .....\.......\fcntl.h .....\.......\linux .....\.......\.....\config.h .....\.......\.....\fs.h .....\.......\.....\hdreg.h .....\.......\.....\head.h .....\.......\........
1. **头文件与预处理**:在Linux C编程中,常用头文件如`<stdio.h>`,`<stdlib.h>`,`<string.h>`等,预处理器指令如`#include`,`#define`,`#ifdef`等用于引入库函数和定义常量。 2. **标准输入/输出**:C语言中...
5. `<errno.h>`:提供了错误码定义,当Linux C API函数出错时,会设置全局变量`errno`来指示错误原因。通过查询`errno`的值,开发者可以了解程序运行中的错误。 6. `<getopt.h>`:处理命令行参数解析,`getopt()`...
3. **标准库函数**:描述中的“库函数”指的是标准C库中的函数,如<stdio.h>中的输入输出函数,<string.h>中的字符串操作函数,<stdlib.h>中的内存管理和转换函数等。手册可能详细列出了每个函数的用途、参数和...
9. **错误处理**:在Linux C编程中,需要学会使用`errno`和`perror`处理运行时错误,以及使用`assert`进行断言检查,以确保程序的健壮性。 10. **多线程编程**:Linux支持POSIX线程(pthread),通过`pthread_...
- **`linux/errno.h`**:提供了错误号的宏定义,允许用户程序通过`perror`函数输出错误信息,增强了调试便利性。 - **`linux/types.h`**:定义了一些特殊类型,如`dev_t`、`off_t`和`pid_t`等,这些类型大多是基于...
`<errno.h>` - **用途**: 定义了`errno`全局变量及其对应的错误码。 - **功能**: 用于获取和解析系统调用失败的原因。 - **示例**: `if (open(fd, O_RDONLY) == -1) { perror("Open error"); }` #### 5. `<getopt....