Skip to content

Commit 2473396

Browse files
committed
add asm-generic/errno.h to rust Error
Signed-off-by: Finn Behrens <[email protected]>
1 parent ea56df0 commit 2473396

File tree

1 file changed

+201
-0
lines changed

1 file changed

+201
-0
lines changed

rust/kernel/error.rs

Lines changed: 201 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,209 @@ impl Error {
108108

109109
declare_err!(ENAMETOOLONG, "File name too long");
110110

111+
declare_err!(ENOLCK, "No record locks available");
112+
113+
declare_err!(
114+
ENOSYS,
115+
"Invalid system call number.",
116+
"",
117+
"This error code is special: arch syscall entry code will return",
118+
"[`Self::ENOSYS`] if users try to call a syscall that doesn't exist.",
119+
"To keep failures of syscalls that really do exist distinguishable from",
120+
"failures due to attempts to use a nonexistent syscall, syscall",
121+
"implementations should refrain from returning [`Self::ENOSYS`]."
122+
);
123+
124+
declare_err!(ENOTEMPTY, "Directory not empty.");
125+
126+
declare_err!(ELOOP, "Too many symbolic links encountered.");
127+
128+
declare_err!(EWOULDBLOCK, "Operation would block.");
129+
130+
declare_err!(ENOMSG, "No message of desired type.");
131+
132+
declare_err!(EIDRM, "Identifier removed.");
133+
134+
declare_err!(ECHRNG, "Channel number out of range.");
135+
136+
declare_err!(EL2NSYNC, "Level 2 not synchronized.");
137+
138+
declare_err!(EL3HLT, "Level 3 halted.");
139+
140+
declare_err!(EL3RST, "Level 3 reset.");
141+
142+
declare_err!(ELNRNG, "Link number out of range.");
143+
144+
declare_err!(EUNATCH, "Protocol driver not attached.");
145+
146+
declare_err!(ENOCSI, "No CSI structure available.");
147+
148+
declare_err!(EL2HLT, "Level 2 halted.");
149+
150+
declare_err!(EBADE, "Invalid exchange.");
151+
152+
declare_err!(EBADR, "Invalid request descriptor.");
153+
154+
declare_err!(EXFULL, "Exchange full.");
155+
156+
declare_err!(ENOANO, "No anode.");
157+
158+
declare_err!(EBADRQC, "Invalid request code.");
159+
160+
declare_err!(EBADSLT, "Invalid slot.");
161+
162+
declare_err!(EDEADLOCK, "Resource deadlock would occur.");
163+
164+
declare_err!(EBFONT, "Bad font file format.");
165+
166+
declare_err!(ENOSTR, "Device not a stream.");
167+
168+
declare_err!(ENODATA, "No data available.");
169+
170+
declare_err!(ETIME, "Timer expired.");
171+
172+
declare_err!(ENOSR, "Out of streams resources.");
173+
174+
declare_err!(ENONET, "Machine is not on the network.");
175+
176+
declare_err!(ENOPKG, "Package not installed.");
177+
178+
declare_err!(EREMOTE, "Object is remote.");
179+
180+
declare_err!(ENOLINK, "Link has been severed.");
181+
182+
declare_err!(EADV, "Advertise error.");
183+
184+
declare_err!(ESRMNT, "Srmount error.");
185+
186+
declare_err!(ECOMM, "Communication error on send.");
187+
188+
declare_err!(EPROTO, "Protocol error.");
189+
190+
declare_err!(EMULTIHOP, "Multihop attempted.");
191+
192+
declare_err!(EDOTDOT, "RFS specific error.");
193+
194+
declare_err!(EBADMSG, "Not a data message.");
195+
196+
declare_err!(EOVERFLOW, "Value too large for defined data type.");
197+
198+
declare_err!(ENOTUNIQ, "Name not unique on network.");
199+
200+
declare_err!(EBADFD, "File descriptor in bad state.");
201+
202+
declare_err!(EREMCHG, "Remote address changed.");
203+
204+
declare_err!(ELIBACC, "Can not access a needed shared library.");
205+
206+
declare_err!(ELIBBAD, "Accessing a corrupted shared library.");
207+
208+
declare_err!(ELIBSCN, ".lib section in a.out corrupted.");
209+
210+
declare_err!(ELIBMAX, "Attempting to link in too many shared libraries.");
211+
212+
declare_err!(ELIBEXEC, "Cannot exec a shared library directly.");
213+
214+
declare_err!(EILSEQ, "Illegal byte sequence.");
215+
216+
declare_err!(ERESTART, "Interrupted system call should be restarted.");
217+
218+
declare_err!(ESTRPIPE, "Streams pipe error.");
219+
220+
declare_err!(EUSERS, "Too many users.");
221+
222+
declare_err!(ENOTSOCK, "Socket operation on non-socket.");
223+
224+
declare_err!(EDESTADDRREQ, "Destination address required.");
225+
226+
declare_err!(EMSGSIZE, "Message too long.");
227+
228+
declare_err!(EPROTOTYPE, "Protocol wrong type for socket.");
229+
230+
declare_err!(ENOPROTOOPT, "Protocol not available.");
231+
232+
declare_err!(EPROTONOSUPPORT, "Protocol not supported.");
233+
234+
declare_err!(ESOCKTNOSUPPORT, "Socket type not supported.");
235+
236+
declare_err!(EOPNOTSUPP, "Operation not supported on transport endpoint.");
237+
238+
declare_err!(EPFNOSUPPORT, "Protocol family not supported.");
239+
240+
declare_err!(EAFNOSUPPORT, "Address family not supported by protocol.");
241+
242+
declare_err!(EADDRINUSE, "Address already in use.");
243+
111244
declare_err!(EADDRNOTAVAIL, "Cannot assign requested address.");
112245

246+
declare_err!(ENETDOWN, "Network is down.");
247+
248+
declare_err!(ENETUNREACH, "Network is unreachable.");
249+
250+
declare_err!(ENETRESET, "Network dropped connection because of reset.");
251+
252+
declare_err!(ECONNABORTED, "Software caused connection abort.");
253+
254+
declare_err!(ECONNRESET, "Connection reset by peer.");
255+
256+
declare_err!(ENOBUFS, "No buffer space available.");
257+
258+
declare_err!(EISCONN, "Transport endpoint is already connected.");
259+
260+
declare_err!(ENOTCONN, "Transport endpoint is not connected.");
261+
262+
declare_err!(ESHUTDOWN, "Cannot send after transport endpoint shutdown.");
263+
264+
declare_err!(ETOOMANYREFS, "Too many references: cannot splice.");
265+
266+
declare_err!(ETIMEDOUT, "Connection timed out.");
267+
268+
declare_err!(ECONNREFUSED, "Connection refused.");
269+
270+
declare_err!(EHOSTDOWN, "Host is down.");
271+
272+
declare_err!(EHOSTUNREACH, "No route to host.");
273+
274+
declare_err!(EALREADY, "Operation already in progress.");
275+
276+
declare_err!(EINPROGRESS, "Operation now in progress.");
277+
278+
declare_err!(ESTALE, "Stale file handle.");
279+
280+
declare_err!(EUCLEAN, "Structure needs cleaning.");
281+
282+
declare_err!(ENOTNAM, "Not a XENIX named type file.");
283+
284+
declare_err!(ENAVAIL, "No XENIX semaphores available.");
285+
286+
declare_err!(EISNAM, "Is a named type file.");
287+
288+
declare_err!(EREMOTEIO, "Remote I/O error.");
289+
290+
declare_err!(EDQUOT, "Quota exceeded.");
291+
292+
declare_err!(ENOMEDIUM, "No medium found.");
293+
294+
declare_err!(EMEDIUMTYPE, "Wrong medium type.");
295+
296+
declare_err!(ECANCELED, "Operation Canceled.");
297+
298+
declare_err!(ENOKEY, "Required key not available.");
299+
300+
declare_err!(EKEYEXPIRED, "Key has expired.");
301+
302+
declare_err!(EKEYREVOKED, "Key has been revoked.");
303+
304+
declare_err!(EKEYREJECTED, "Key was rejected by service.");
305+
306+
declare_err!(EOWNERDEAD, "Owner died.", "", "For robust mutexes.");
307+
308+
declare_err!(ENOTRECOVERABLE, "State not recoverable.");
309+
310+
declare_err!(ERFKILL, "Operation not possible due to RF-kill.");
311+
312+
declare_err!(EHWPOISON, "Memory page has hardware error.");
313+
113314
declare_err!(ERESTARTSYS, "Restart the system call.");
114315

115316
/// Creates an [`Error`] from a kernel error code.

0 commit comments

Comments
 (0)