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