125981136fb13bcacf5f475f3e0ec750341e1e671Christopher Ferris/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#ifndef _ASM_GENERIC_ERRNO_H
3224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define _ASM_GENERIC_ERRNO_H
4224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng
5224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#include <asm-generic/errno-base.h>
6224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng
7224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EDEADLK		35	/* Resource deadlock would occur */
8224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENAMETOOLONG	36	/* File name too long */
9224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENOLCK		37	/* No record locks available */
1012e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris
1112e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris/*
1212e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * This error code is special: arch syscall entry code will return
1312e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * -ENOSYS if users try to call a syscall that doesn't exist.  To keep
1412e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * failures of syscalls that really do exist distinguishable from
1512e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * failures due to attempts to use a nonexistent syscall, syscall
1612e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * implementations should refrain from returning -ENOSYS.
1712e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris */
1812e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#define	ENOSYS		38	/* Invalid system call number */
1912e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris
20224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENOTEMPTY	39	/* Directory not empty */
21224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ELOOP		40	/* Too many symbolic links encountered */
22224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EWOULDBLOCK	EAGAIN	/* Operation would block */
23224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENOMSG		42	/* No message of desired type */
24224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EIDRM		43	/* Identifier removed */
25224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ECHRNG		44	/* Channel number out of range */
26224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EL2NSYNC	45	/* Level 2 not synchronized */
27224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EL3HLT		46	/* Level 3 halted */
28224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EL3RST		47	/* Level 3 reset */
29224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ELNRNG		48	/* Link number out of range */
30224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EUNATCH		49	/* Protocol driver not attached */
31224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENOCSI		50	/* No CSI structure available */
32224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EL2HLT		51	/* Level 2 halted */
33224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EBADE		52	/* Invalid exchange */
34224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EBADR		53	/* Invalid request descriptor */
35224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EXFULL		54	/* Exchange full */
36224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENOANO		55	/* No anode */
37224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EBADRQC		56	/* Invalid request code */
38224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EBADSLT		57	/* Invalid slot */
39224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng
40224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EDEADLOCK	EDEADLK
41224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng
42224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EBFONT		59	/* Bad font file format */
43224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENOSTR		60	/* Device not a stream */
44224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENODATA		61	/* No data available */
45224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ETIME		62	/* Timer expired */
46224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENOSR		63	/* Out of streams resources */
47224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENONET		64	/* Machine is not on the network */
48224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENOPKG		65	/* Package not installed */
49224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EREMOTE		66	/* Object is remote */
50224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENOLINK		67	/* Link has been severed */
51224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EADV		68	/* Advertise error */
52224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ESRMNT		69	/* Srmount error */
53224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ECOMM		70	/* Communication error on send */
54224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EPROTO		71	/* Protocol error */
55224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EMULTIHOP	72	/* Multihop attempted */
56224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EDOTDOT		73	/* RFS specific error */
57224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EBADMSG		74	/* Not a data message */
58224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EOVERFLOW	75	/* Value too large for defined data type */
59224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENOTUNIQ	76	/* Name not unique on network */
60224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EBADFD		77	/* File descriptor in bad state */
61224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EREMCHG		78	/* Remote address changed */
62224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ELIBACC		79	/* Can not access a needed shared library */
63224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ELIBBAD		80	/* Accessing a corrupted shared library */
64224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ELIBSCN		81	/* .lib section in a.out corrupted */
65224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ELIBMAX		82	/* Attempting to link in too many shared libraries */
66224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ELIBEXEC	83	/* Cannot exec a shared library directly */
67224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EILSEQ		84	/* Illegal byte sequence */
68224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ERESTART	85	/* Interrupted system call should be restarted */
69224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ESTRPIPE	86	/* Streams pipe error */
70224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EUSERS		87	/* Too many users */
71224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENOTSOCK	88	/* Socket operation on non-socket */
72224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EDESTADDRREQ	89	/* Destination address required */
73224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EMSGSIZE	90	/* Message too long */
74224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EPROTOTYPE	91	/* Protocol wrong type for socket */
75224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENOPROTOOPT	92	/* Protocol not available */
76224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EPROTONOSUPPORT	93	/* Protocol not supported */
77224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ESOCKTNOSUPPORT	94	/* Socket type not supported */
78224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EOPNOTSUPP	95	/* Operation not supported on transport endpoint */
79224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EPFNOSUPPORT	96	/* Protocol family not supported */
80224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EAFNOSUPPORT	97	/* Address family not supported by protocol */
81224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EADDRINUSE	98	/* Address already in use */
82224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EADDRNOTAVAIL	99	/* Cannot assign requested address */
83224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENETDOWN	100	/* Network is down */
84224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENETUNREACH	101	/* Network is unreachable */
85224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENETRESET	102	/* Network dropped connection because of reset */
86224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ECONNABORTED	103	/* Software caused connection abort */
87224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ECONNRESET	104	/* Connection reset by peer */
88224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENOBUFS		105	/* No buffer space available */
89224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EISCONN		106	/* Transport endpoint is already connected */
90224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENOTCONN	107	/* Transport endpoint is not connected */
91224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ESHUTDOWN	108	/* Cannot send after transport endpoint shutdown */
92224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ETOOMANYREFS	109	/* Too many references: cannot splice */
93224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ETIMEDOUT	110	/* Connection timed out */
94224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ECONNREFUSED	111	/* Connection refused */
95224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EHOSTDOWN	112	/* Host is down */
96224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EHOSTUNREACH	113	/* No route to host */
97224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EALREADY	114	/* Operation already in progress */
98224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EINPROGRESS	115	/* Operation now in progress */
99e084501669a4e4931c9d648351ecd7d595b81b79Christopher Ferris#define	ESTALE		116	/* Stale file handle */
100224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EUCLEAN		117	/* Structure needs cleaning */
101224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENOTNAM		118	/* Not a XENIX named type file */
102224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENAVAIL		119	/* No XENIX semaphores available */
103224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EISNAM		120	/* Is a named type file */
104224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EREMOTEIO	121	/* Remote I/O error */
105224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EDQUOT		122	/* Quota exceeded */
106224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng
107224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENOMEDIUM	123	/* No medium found */
108224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EMEDIUMTYPE	124	/* Wrong medium type */
109224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ECANCELED	125	/* Operation Canceled */
110224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENOKEY		126	/* Required key not available */
111224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EKEYEXPIRED	127	/* Key has expired */
112224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EKEYREVOKED	128	/* Key has been revoked */
113224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EKEYREJECTED	129	/* Key was rejected by service */
114224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng
115224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng/* for robust mutexes */
116224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	EOWNERDEAD	130	/* Owner died */
117224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define	ENOTRECOVERABLE	131	/* State not recoverable */
118224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng
119224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define ERFKILL		132	/* Operation not possible due to RF-kill */
120224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng
121224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#define EHWPOISON	133	/* Memory page has hardware error */
122224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng
123224b54f69543a5c0ec18f99bd717d2b724582eb6Ben Cheng#endif
124