linux中根据socket errno来确定错误

在linux网络编程中,有时要用一个socket来bind一个ip和port,调试时可能会打印errno,如何根据errno来确定具体error信息,可以通过查看

errno.h头文件来获取确定的含义。路径可能如下:

./linux-2.6.x/include/asm-m68k/errno.h
./linux-2.6.x/include/asm-m68knommu/errno.h
./linux-2.6.x/include/asm-sparc/errno.h
./linux-2.6.x/include/asm-mips/errno.h
./linux-2.6.x/include/asm-m32r/errno.h
./linux-2.6.x/include/asm-s390/errno.h
./linux-2.6.x/include/asm-i386/errno.h
./linux-2.6.x/include/asm-frv/errno.h
./linux-2.6.x/include/asm-powerpc/errno.h
./linux-2.6.x/include/asm-blackfin/errno.h
./linux-2.6.x/include/asm-arm/errno.h
./linux-2.6.x/include/asm-ia64/errno.h
./linux-2.6.x/include/asm-parisc/errno.h
./linux-2.6.x/include/asm-arm26/errno.h
./linux-2.6.x/include/asm-um/errno.h
./linux-2.6.x/include/asm-x86_64/errno.h
./linux-2.6.x/include/asm-h8300/errno.h
./linux-2.6.x/include/asm-sparc64/errno.h
./linux-2.6.x/include/asm-xtensa/errno.h
./linux-2.6.x/include/linux/errno.h
./linux-2.6.x/include/asm-sh/errno.h
./linux-2.6.x/include/asm-alpha/errno.h
./linux-2.6.x/include/asm-sh64/errno.h
./linux-2.6.x/include/asm-generic/errno.h
./linux-2.6.x/include/asm-cris/errno.h
./linux-2.6.x/include/asm-v850/errno.h
./uClibc/libc/sysdeps/linux/common/bits/errno.h
./uClibc/include/errno.h
./uClibc/include/sys/errno.h
./lib/libc/include/errno.h
./lib/libc/include/sys/errno.h
./lib/libc/include/bsd/errno.h
./lib/libldap/include/ac/errno.h
./lib/STLport/stlport/errno.h
./user/perl/mint/errno.h

errno.h的定义视编译环境的不同而不同。我的是在include/asm/errno.h中。

当然,也可以用函数strerror(errno)来看是什么错误信息。

posted on 2011-10-17 22:14  挨踢剑客  阅读(3747)  评论(0)    收藏  举报

导航