-
Notifications
You must be signed in to change notification settings - Fork 16
/
errno.txt
157 lines (149 loc) · 8.12 KB
/
errno.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
ERRNO
errno #INT_VAR de valeur 0 par défaut.
#Une fonction rencontrant une erreur modifie parfois
#errno vers une des valeurs prédéfinies (en plus de
#retourner elle-même une valeur tel que -1 souvent)
#errno est volatile sig_atomic_t, et peut donc être
#accédée par un signal handler (c'est d'ailleurs ainsi
#qu'il doit l'être en théorie)
#Checker errno doit être fait immédiatement après
#cette fonction, car appeler une nouvelle fonction
#pourrait modifier errno.
#Quelques rares fonctions modifient toujours errno, même
#sans erreur, mais pour notifier quelque chose
#On peut utiliser strerr(errno) (voir string.h)
VALEURS D'ERREUR #Ces macros renvoient des INT_VAL, qui sont des codes
PREDEFINIES ==> #d'erreur spécifiques pour un type d'erreur donné.
#Souvent utilisé pour modifier errno.
#Les INT_VAL de ces macros sont spécifiques aux
#implémentations, il ne faut pas checker la valeur
#INT_VAL exacte donc, mais la macro.
#Certaines macros sont spécifiques aux implémentations.
#Voici celles spécifiées par C99 :
EDOM #Mathematics argument out of domain of function
EILSEQ #Illegal byte sequence
ERANGE #Result too large
#Voici celles spécifiées par POSIX.1 :
E2BIG #Argument list too long
EACCES #Permission denied
EADDRINUSE #Address already in use
EADDRNOTAVAIL #Address not available
EAFNOSUPPORT #Address family not supported
EAGAIN #Resource temporarily unavailable (may be the same
#value as EWOULDBLOCK)
EALREADY #Connection already in progress
EBADF #Bad file descriptor
EBADMSG #Bad message
EBUSY #Device or resource busy
ECANCELED #Operation canceled
ECHILD #No child processes
ECONNABORTED #Connection aborted
ECONNREFUSED #Connection refused
ECONNRESET #Connection reset
EDEADLK #Resource deadlock avoided
EDESTADDRREQ #Destination address required
EDQUOT #Disk quota exceeded
EEXIST #File exists
EFAULT #Bad address
EFBIG #File too large
EHOSTUNREACH #Host is unreachable
EIDRM #Identifier removed
EINPROGRESS #Operation in progress
EINTR #Interrupted function call .
EINVAL #Invalid argument
EIO #Input/output error
EISCONN #Socket is connected
EISDIR #Is a directory
ELOOP #Too many levels of symbolic links
EMFILE #Too many open files
EMLINK #Too many links
EMSGSIZE #Message too long
EMULTIHOP #Multihop attempted
ENAMETOOLONG #Filename too long
ENETDOWN #Network is down
ENETRESET #Connection aborted by network
ENETUNREACH #Network unreachable
ENFILE #Too many open files in system
ENODATA #No message is available on the STREAM head read queue
ENODEV #No such device
ENOENT #No such file or directory
ENOEXEC #Exec format error
ENOLCK #No locks available
ENOLINK #Link has been severed
ENOMEM #Not enough space
ENOMSG #No message of the desired type
ENOPROTOOPT #Protocol not available
ENOSPC #No space left on device
ENOSR #No STREAM resources
ENOSTR #Not a STREAM
ENOSYS #Function not implemented
ENOTCONN #The socket is not connected
ENOTDIR #Not a directory
ENOTEMPTY #Directory not empty
ENOTSOCK #Not a socket
ENOTSUP #Operation not supported
ENOTTY #Inappropriate I/O control operation
ENXIO #No such device or address
ENOTSUP
EOPNOTSUPP #Operation not supported on socket
EOVERFLOW #Value too large to be stored in data type
EPERM #Operation not permitted (droits d'accès)
EPIPE #Broken pipe
EPROTO #Protocol error
EPROTONOSUPPORT #Protocol not supported
EPROTOTYPE #Protocol wrong type for socket
EROFS #Read-only file system
ESPIPE #Invalid seek
ESRCH #No such process
ESTALE #Stale file handle. This error can occur for NFS and
#for other file systems
ETIME #Timer expired
ETIMEDOUT #Connection timed out
ETXTBSY #Text file busy
EWOULDBLOCK #Operation would block (may be same value as EAGAIN)
EXDEV #Improper link
#Voici les autres :
EBADE #Invalid exchange
EBADFD #File descriptor in bad state
EBADR #Invalid request descriptor
EBADRQC #Invalid request code
EBADSLT #Invalid slot
ECHRNG #Channel number out of range
ECOMM #Communication error on send
EDEADLOCK #Synonym for EDEADLK
EHOSTDOWN #Host is down
EISNAM #Is a named type file
EKEYEXPIRED #Key has expired
EKEYREJECTED #Key was rejected by service
EKEYREVOKED #Key has been revoked
EL2HLT #Level 2 halted
EL2NSYNC #Level 2 not synchronized
EL3HLT #Level 3 halted
EL3RST #Level 3 halted
ELIBACC #Cannot access a needed shared library
ELIBBAD #Accessing a corrupted shared library
ELIBMAX #Attempting to link in too many shared libraries
ELIBSCN #lib section in a.out corrupted
ELIBEXEC #Cannot exec a shared library directly
EMEDIUMTYPE #Wrong medium type
ENOBUFS #No buffer space available
ENOKEY #Required key not available
ENOMEDIUM #No medium found
ENONET #Machine is not on the network
ENOPKG #Package not installed
ENOTBLK #Block device required
ENOTUNIQ #Name not unique on network
EPFNOSUPPORT #Protocol family not supported
EREMCHG #Remote address changed
EREMOTE #Object is remote
EREMOTEIO #Remote I/O error
ERESTART #Interrupted system call should be restarted
ESHUTDOWN #Cannot send after transport endpoint shutdown
ESOCKTNOSUPPORT #Socket type not supported
ESTRPIPE #Streams pipe error
EUCLEAN #Structure needs cleaning
EUNATCH #Protocol driver not attached
EUSERS #Too many users
EXFULL #Exchange full