我是靠谱客的博主 拉长歌曲,最近开发中收集的这篇文章主要介绍errno,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我老是碰见的errno是 13:Permission denied 和 22:Invalid argument。

老得查,干脆整理下咯。

首先是 asm-generic/errno-base.h 中的内容:

#ifndef _ASM_GENERIC_ERRNO_BASE_H
#define _ASM_GENERIC_ERRNO_BASE_H
#define EPERM
1
/* Operation not permitted */
#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
/* Argument list too long */
#define ENOEXEC
8
/* Exec format error */
#define EBADF
9
/* Bad file number */
#define ECHILD
10
/* No child processes */
#define EAGAIN
11
/* Try again */
#define ENOMEM
12
/* Out of memory */
#define EACCES
13
/* Permission denied */
#define EFAULT
14
/* Bad address */
#define ENOTBLK
15
/* Block device required */
#define EBUSY
16
/* Device or resource 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
/* File table overflow */
#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 argument out of domain of func */
#define ERANGE
34
/* Math result not representable */
#endif

然后是 asm-generic/errno.h 的补充:

#ifndef _ASM_GENERIC_ERRNO_H
#define _ASM_GENERIC_ERRNO_H
#include <asm-generic/errno-base.h>
#define EDEADLK
35
/* Resource deadlock would occur */
#define ENAMETOOLONG
36
/* File name too long */
#define ENOLCK
37
/* No record locks available */
#define ENOSYS
38
/* Invalid system call number */
#define ENOTEMPTY
39
/* Directory not empty */
#define ELOOP
40
/* Too many symbolic links encountered */
#define EWOULDBLOCK EAGAIN
/* Operation would block */
#define ENOMSG
42
/* No message of desired type */
#define EIDRM
43
/* Identifier removed */
#define ECHRNG
44
/* Channel number out of range */
#define EL2NSYNC
45
/* Level 2 not synchronized */
#define EL3HLT
46
/* Level 3 halted */
#define EL3RST
47
/* Level 3 reset */
#define ELNRNG
48
/* Link number out of range */
#define EUNATCH
49
/* Protocol driver not attached */
#define ENOCSI
50
/* No CSI structure available */
#define EL2HLT
51
/* Level 2 halted */
#define EBADE
52
/* Invalid exchange */
#define EBADR
53
/* Invalid request descriptor */
#define EXFULL
54
/* Exchange full */
#define ENOANO
55
/* No anode */
#define EBADRQC
56
/* Invalid request code */
#define EBADSLT
57
/* Invalid slot */
#define EDEADLOCK
EDEADLK
#define EBFONT
59
/* Bad font file format */
#define ENOSTR
60
/* Device not a stream */
#define ENODATA
61
/* No data available */
#define ETIME
62
/* Timer expired */
#define ENOSR
63
/* Out of streams resources */
#define ENONET
64
/* Machine is not on the network */
#define ENOPKG
65
/* Package not installed */
#define EREMOTE
66
/* Object is remote */
#define ENOLINK
67
/* Link has been severed */
#define EADV
68
/* Advertise error */
#define ESRMNT
69
/* Srmount error */
#define ECOMM
70
/* Communication error on send */
#define EPROTO
71
/* Protocol error */
#define EMULTIHOP
72
/* Multihop attempted */
#define EDOTDOT
73
/* RFS specific error */
#define EBADMSG
74
/* Not a data message */
#define EOVERFLOW
75
/* Value too large for defined data type */
#define ENOTUNIQ
76
/* Name not unique on network */
#define EBADFD
77
/* File descriptor in bad state */
#define EREMCHG
78
/* Remote address changed */
#define ELIBACC
79
/* Can not access a needed shared library */
#define ELIBBAD
80
/* Accessing a corrupted shared library */
#define ELIBSCN
81
/* .lib section in a.out corrupted */
#define ELIBMAX
82
/* Attempting to link in too many shared libraries */
#define ELIBEXEC
83
/* Cannot exec a shared library directly */
#define EILSEQ
84
/* Illegal byte sequence */
#define ERESTART
85
/* Interrupted system call should be restarted */
#define ESTRPIPE
86
/* Streams pipe error */
#define EUSERS
87
/* Too many users */
#define ENOTSOCK
88
/* Socket operation on non-socket */
#define EDESTADDRREQ
89
/* Destination address required */
#define EMSGSIZE
90
/* Message too long */
#define EPROTOTYPE
91
/* Protocol wrong type for socket */
#define ENOPROTOOPT 92
/* Protocol not available */
#define EPROTONOSUPPORT 93
/* Protocol not supported */
#define ESOCKTNOSUPPORT 94
/* Socket type not supported */
#define EOPNOTSUPP
95
/* Operation not supported on transport endpoint */
#define EPFNOSUPPORT
96
/* Protocol family not supported */
#define EAFNOSUPPORT
97
/* Address family not supported by protocol */
#define EADDRINUSE
98
/* Address already in use */
#define EADDRNOTAVAIL
99
/* Cannot assign requested address */
#define ENETDOWN
100 /* Network is down */
#define ENETUNREACH 101 /* Network is unreachable */
#define ENETRESET
102 /* Network dropped connection because of reset */
#define ECONNABORTED
103 /* Software caused connection abort */
#define ECONNRESET
104 /* Connection reset by peer */
#define ENOBUFS
105 /* No buffer space available */
#define EISCONN
106 /* Transport endpoint is already connected */
#define ENOTCONN
107 /* Transport endpoint is not connected */
#define ESHUTDOWN
108 /* Cannot send after transport endpoint shutdown */
#define ETOOMANYREFS
109 /* Too many references: cannot splice */
#define ETIMEDOUT
110 /* Connection timed out */
#define ECONNREFUSED
111 /* Connection refused */
#define EHOSTDOWN
112 /* Host is down */
#define EHOSTUNREACH
113 /* No route to host */
#define EALREADY
114 /* Operation already in progress */
#define EINPROGRESS 115 /* Operation now in progress */
#define ESTALE
116 /* Stale file handle */
#define EUCLEAN
117 /* Structure needs cleaning */
#define ENOTNAM
118 /* Not a XENIX named type file */
#define ENAVAIL
119 /* No XENIX semaphores available */
#define EISNAM
120 /* Is a named type file */
#define EREMOTEIO
121 /* Remote I/O error */
#define EDQUOT
122 /* Quota exceeded */
#define ENOMEDIUM
123 /* No medium found */
#define EMEDIUMTYPE 124 /* Wrong medium type */
#define ECANCELED
125 /* Operation Canceled */
#define ENOKEY
126 /* Required key not available */
#define EKEYEXPIRED 127 /* Key has expired */
#define EKEYREVOKED 128 /* Key has been revoked */
#define EKEYREJECTED
129 /* Key was rejected by service */
/* for robust mutexes */
#define EOWNERDEAD
130 /* Owner died */
#define ENOTRECOVERABLE 131 /* State not recoverable */
#define ERFKILL
132 /* Operation not possible due to RF-kill */
#define EHWPOISON
133 /* Memory page has hardware error */
#endif

最后

以上就是拉长歌曲为你收集整理的errno的全部内容,希望文章能够帮你解决errno所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部