xref: /arm-trusted-firmware/include/lib/libc/errno.h (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu /*-
2*91f16700Schasinglulu  * SPDX-License-Identifier: BSD-3-Clause
3*91f16700Schasinglulu  *
4*91f16700Schasinglulu  * Copyright (c) 1982, 1986, 1989, 1993
5*91f16700Schasinglulu  *	The Regents of the University of California.  All rights reserved.
6*91f16700Schasinglulu  * (c) UNIX System Laboratories, Inc.
7*91f16700Schasinglulu  * All or some portions of this file are derived from material licensed
8*91f16700Schasinglulu  * to the University of California by American Telephone and Telegraph
9*91f16700Schasinglulu  * Co. or Unix System Laboratories, Inc. and are reproduced herein with
10*91f16700Schasinglulu  * the permission of UNIX System Laboratories, Inc.
11*91f16700Schasinglulu  *
12*91f16700Schasinglulu  * Redistribution and use in source and binary forms, with or without
13*91f16700Schasinglulu  * modification, are permitted provided that the following conditions
14*91f16700Schasinglulu  * are met:
15*91f16700Schasinglulu  * 1. Redistributions of source code must retain the above copyright
16*91f16700Schasinglulu  *    notice, this list of conditions and the following disclaimer.
17*91f16700Schasinglulu  * 2. Redistributions in binary form must reproduce the above copyright
18*91f16700Schasinglulu  *    notice, this list of conditions and the following disclaimer in the
19*91f16700Schasinglulu  *    documentation and/or other materials provided with the distribution.
20*91f16700Schasinglulu  * 3. Neither the name of the University nor the names of its contributors
21*91f16700Schasinglulu  *    may be used to endorse or promote products derived from this software
22*91f16700Schasinglulu  *    without specific prior written permission.
23*91f16700Schasinglulu  *
24*91f16700Schasinglulu  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
25*91f16700Schasinglulu  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26*91f16700Schasinglulu  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27*91f16700Schasinglulu  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
28*91f16700Schasinglulu  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29*91f16700Schasinglulu  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30*91f16700Schasinglulu  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31*91f16700Schasinglulu  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32*91f16700Schasinglulu  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33*91f16700Schasinglulu  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34*91f16700Schasinglulu  * SUCH DAMAGE.
35*91f16700Schasinglulu  *
36*91f16700Schasinglulu  *	@(#)errno.h	8.5 (Berkeley) 1/21/94
37*91f16700Schasinglulu  * $FreeBSD$
38*91f16700Schasinglulu  */
39*91f16700Schasinglulu /*
40*91f16700Schasinglulu  * Portions copyright (c) 2018, Arm Limited and Contributors.
41*91f16700Schasinglulu  * All rights reserved.
42*91f16700Schasinglulu  */
43*91f16700Schasinglulu 
44*91f16700Schasinglulu #ifndef ERRNO_H
45*91f16700Schasinglulu #define ERRNO_H
46*91f16700Schasinglulu 
47*91f16700Schasinglulu #define	EPERM		1		/* Operation not permitted */
48*91f16700Schasinglulu #define	ENOENT		2		/* No such file or directory */
49*91f16700Schasinglulu #define	ESRCH		3		/* No such process */
50*91f16700Schasinglulu #define	EINTR		4		/* Interrupted system call */
51*91f16700Schasinglulu #define	EIO		5		/* Input/output error */
52*91f16700Schasinglulu #define	ENXIO		6		/* Device not configured */
53*91f16700Schasinglulu #define	E2BIG		7		/* Argument list too long */
54*91f16700Schasinglulu #define	ENOEXEC		8		/* Exec format error */
55*91f16700Schasinglulu #define	EBADF		9		/* Bad file descriptor */
56*91f16700Schasinglulu #define	ECHILD		10		/* No child processes */
57*91f16700Schasinglulu #define	EDEADLK		11		/* Resource deadlock avoided */
58*91f16700Schasinglulu 					/* 11 was EAGAIN */
59*91f16700Schasinglulu #define	ENOMEM		12		/* Cannot allocate memory */
60*91f16700Schasinglulu #define	EACCES		13		/* Permission denied */
61*91f16700Schasinglulu #define	EFAULT		14		/* Bad address */
62*91f16700Schasinglulu #define	ENOTBLK		15		/* Block device required */
63*91f16700Schasinglulu #define	EBUSY		16		/* Device busy */
64*91f16700Schasinglulu #define	EEXIST		17		/* File exists */
65*91f16700Schasinglulu #define	EXDEV		18		/* Cross-device link */
66*91f16700Schasinglulu #define	ENODEV		19		/* Operation not supported by device */
67*91f16700Schasinglulu #define	ENOTDIR		20		/* Not a directory */
68*91f16700Schasinglulu #define	EISDIR		21		/* Is a directory */
69*91f16700Schasinglulu #define	EINVAL		22		/* Invalid argument */
70*91f16700Schasinglulu #define	ENFILE		23		/* Too many open files in system */
71*91f16700Schasinglulu #define	EMFILE		24		/* Too many open files */
72*91f16700Schasinglulu #define	ENOTTY		25		/* Inappropriate ioctl for device */
73*91f16700Schasinglulu #define	ETXTBSY		26		/* Text file busy */
74*91f16700Schasinglulu #define	EFBIG		27		/* File too large */
75*91f16700Schasinglulu #define	ENOSPC		28		/* No space left on device */
76*91f16700Schasinglulu #define	ESPIPE		29		/* Illegal seek */
77*91f16700Schasinglulu #define	EROFS		30		/* Read-only filesystem */
78*91f16700Schasinglulu #define	EMLINK		31		/* Too many links */
79*91f16700Schasinglulu #define	EPIPE		32		/* Broken pipe */
80*91f16700Schasinglulu 
81*91f16700Schasinglulu /* math software */
82*91f16700Schasinglulu #define	EDOM		33		/* Numerical argument out of domain */
83*91f16700Schasinglulu #define	ERANGE		34		/* Result too large */
84*91f16700Schasinglulu 
85*91f16700Schasinglulu /* non-blocking and interrupt i/o */
86*91f16700Schasinglulu #define	EAGAIN		35		/* Resource temporarily unavailable */
87*91f16700Schasinglulu #define	EWOULDBLOCK	EAGAIN		/* Operation would block */
88*91f16700Schasinglulu #define	EINPROGRESS	36		/* Operation now in progress */
89*91f16700Schasinglulu #define	EALREADY	37		/* Operation already in progress */
90*91f16700Schasinglulu 
91*91f16700Schasinglulu /* ipc/network software -- argument errors */
92*91f16700Schasinglulu #define	ENOTSOCK	38		/* Socket operation on non-socket */
93*91f16700Schasinglulu #define	EDESTADDRREQ	39		/* Destination address required */
94*91f16700Schasinglulu #define	EMSGSIZE	40		/* Message too long */
95*91f16700Schasinglulu #define	EPROTOTYPE	41		/* Protocol wrong type for socket */
96*91f16700Schasinglulu #define	ENOPROTOOPT	42		/* Protocol not available */
97*91f16700Schasinglulu #define	EPROTONOSUPPORT	43		/* Protocol not supported */
98*91f16700Schasinglulu #define	ESOCKTNOSUPPORT	44		/* Socket type not supported */
99*91f16700Schasinglulu #define	EOPNOTSUPP	45		/* Operation not supported */
100*91f16700Schasinglulu #define	ENOTSUP		EOPNOTSUPP	/* Operation not supported */
101*91f16700Schasinglulu #define	EPFNOSUPPORT	46		/* Protocol family not supported */
102*91f16700Schasinglulu #define	EAFNOSUPPORT	47		/* Address family not supported by protocol family */
103*91f16700Schasinglulu #define	EADDRINUSE	48		/* Address already in use */
104*91f16700Schasinglulu #define	EADDRNOTAVAIL	49		/* Can't assign requested address */
105*91f16700Schasinglulu 
106*91f16700Schasinglulu /* ipc/network software -- operational errors */
107*91f16700Schasinglulu #define	ENETDOWN	50		/* Network is down */
108*91f16700Schasinglulu #define	ENETUNREACH	51		/* Network is unreachable */
109*91f16700Schasinglulu #define	ENETRESET	52		/* Network dropped connection on reset */
110*91f16700Schasinglulu #define	ECONNABORTED	53		/* Software caused connection abort */
111*91f16700Schasinglulu #define	ECONNRESET	54		/* Connection reset by peer */
112*91f16700Schasinglulu #define	ENOBUFS		55		/* No buffer space available */
113*91f16700Schasinglulu #define	EISCONN		56		/* Socket is already connected */
114*91f16700Schasinglulu #define	ENOTCONN	57		/* Socket is not connected */
115*91f16700Schasinglulu #define	ESHUTDOWN	58		/* Can't send after socket shutdown */
116*91f16700Schasinglulu #define	ETOOMANYREFS	59		/* Too many references: can't splice */
117*91f16700Schasinglulu #define	ETIMEDOUT	60		/* Operation timed out */
118*91f16700Schasinglulu #define	ECONNREFUSED	61		/* Connection refused */
119*91f16700Schasinglulu 
120*91f16700Schasinglulu #define	ELOOP		62		/* Too many levels of symbolic links */
121*91f16700Schasinglulu #define	ENAMETOOLONG	63		/* File name too long */
122*91f16700Schasinglulu 
123*91f16700Schasinglulu /* should be rearranged */
124*91f16700Schasinglulu #define	EHOSTDOWN	64		/* Host is down */
125*91f16700Schasinglulu #define	EHOSTUNREACH	65		/* No route to host */
126*91f16700Schasinglulu #define	ENOTEMPTY	66		/* Directory not empty */
127*91f16700Schasinglulu 
128*91f16700Schasinglulu /* quotas & mush */
129*91f16700Schasinglulu #define	EPROCLIM	67		/* Too many processes */
130*91f16700Schasinglulu #define	EUSERS		68		/* Too many users */
131*91f16700Schasinglulu #define	EDQUOT		69		/* Disc quota exceeded */
132*91f16700Schasinglulu 
133*91f16700Schasinglulu /* Network File System */
134*91f16700Schasinglulu #define	ESTALE		70		/* Stale NFS file handle */
135*91f16700Schasinglulu #define	EREMOTE		71		/* Too many levels of remote in path */
136*91f16700Schasinglulu #define	EBADRPC		72		/* RPC struct is bad */
137*91f16700Schasinglulu #define	ERPCMISMATCH	73		/* RPC version wrong */
138*91f16700Schasinglulu #define	EPROGUNAVAIL	74		/* RPC prog. not avail */
139*91f16700Schasinglulu #define	EPROGMISMATCH	75		/* Program version wrong */
140*91f16700Schasinglulu #define	EPROCUNAVAIL	76		/* Bad procedure for program */
141*91f16700Schasinglulu 
142*91f16700Schasinglulu #define	ENOLCK		77		/* No locks available */
143*91f16700Schasinglulu #define	ENOSYS		78		/* Function not implemented */
144*91f16700Schasinglulu 
145*91f16700Schasinglulu #define	EFTYPE		79		/* Inappropriate file type or format */
146*91f16700Schasinglulu #define	EAUTH		80		/* Authentication error */
147*91f16700Schasinglulu #define	ENEEDAUTH	81		/* Need authenticator */
148*91f16700Schasinglulu #define	EIDRM		82		/* Identifier removed */
149*91f16700Schasinglulu #define	ENOMSG		83		/* No message of desired type */
150*91f16700Schasinglulu #define	EOVERFLOW	84		/* Value too large to be stored in data type */
151*91f16700Schasinglulu #define	ECANCELED	85		/* Operation canceled */
152*91f16700Schasinglulu #define	EILSEQ		86		/* Illegal byte sequence */
153*91f16700Schasinglulu #define	ENOATTR		87		/* Attribute not found */
154*91f16700Schasinglulu 
155*91f16700Schasinglulu #define	EDOOFUS		88		/* Programming error */
156*91f16700Schasinglulu 
157*91f16700Schasinglulu #define	EBADMSG		89		/* Bad message */
158*91f16700Schasinglulu #define	EMULTIHOP	90		/* Multihop attempted */
159*91f16700Schasinglulu #define	ENOLINK		91		/* Link has been severed */
160*91f16700Schasinglulu #define	EPROTO		92		/* Protocol error */
161*91f16700Schasinglulu 
162*91f16700Schasinglulu #define	ENOTCAPABLE	93		/* Capabilities insufficient */
163*91f16700Schasinglulu #define	ECAPMODE	94		/* Not permitted in capability mode */
164*91f16700Schasinglulu #define	ENOTRECOVERABLE	95		/* State not recoverable */
165*91f16700Schasinglulu #define	EOWNERDEAD	96		/* Previous owner died */
166*91f16700Schasinglulu 
167*91f16700Schasinglulu #define	ELAST		96		/* Must be equal largest errno */
168*91f16700Schasinglulu 
169*91f16700Schasinglulu #endif /* ERRNO_H */
170