Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

/*
 * Copyright 2016 Chris Torek <torek@ixsystems.com>
 * All rights reserved
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted providing that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 */

#ifndef LIB9P_LINUX_ERRNO_H
#define LIB9P_LINUX_ERRNO_H

/*
 * Linux error numbers that are outside of the original base range
 * (which ends with ERANGE).
 *
 * This is pretty much the same as Linux's errno.h except that the
 * names are prefixed with "LINUX_", and we add _STR with the
 * string name.
 *
 * The string expansions were obtained with a little program to
 * print every strerror().
 *
 * Note that BSD EDEADLK is 11 and BSD EAGAIN is 35, vs
 * Linux / Plan9 EAGAIN at 11.  So one value in the ERANGE
 * range still needs translation too.
 */

#define	LINUX_EAGAIN		11
#define	LINUX_EAGAIN_STR	"Resource temporarily unavailable"

#define	LINUX_EDEADLK		35
#define	LINUX_EDEADLK_STR	"Resource deadlock avoided"
#define	LINUX_ENAMETOOLONG	36
#define	LINUX_ENAMETOOLONG_STR	"File name too long"
#define	LINUX_ENOLCK		37
#define	LINUX_ENOLCK_STR	"No locks available"
#define	LINUX_ENOSYS		38
#define	LINUX_ENOSYS_STR	"Function not implemented"
#define	LINUX_ENOTEMPTY		39
#define	LINUX_ENOTEMPTY_STR	"Directory not empty"
#define	LINUX_ELOOP		40
#define	LINUX_ELOOP_STR		"Too many levels of symbolic links"
/*				41 unused */
#define	LINUX_ENOMSG		42
#define	LINUX_ENOMSG_STR	"No message of desired type"
#define	LINUX_EIDRM		43
#define	LINUX_EIDRM_STR		"Identifier removed"
#define	LINUX_ECHRNG		44
#define	LINUX_ECHRNG_STR	"Channel number out of range"
#define	LINUX_EL2NSYNC		45
#define	LINUX_EL2NSYNC_STR	"Level 2 not synchronized"
#define	LINUX_EL3HLT		46
#define	LINUX_EL3HLT_STR	"Level 3 halted"
#define	LINUX_EL3RST		47
#define	LINUX_EL3RST_STR	"Level 3 reset"
#define	LINUX_ELNRNG		48
#define	LINUX_ELNRNG_STR	"Link number out of range"
#define	LINUX_EUNATCH		49
#define	LINUX_EUNATCH_STR	"Protocol driver not attached"
#define	LINUX_ENOCSI		50
#define	LINUX_ENOCSI_STR	"No CSI structure available"
#define	LINUX_EL2HLT		51
#define	LINUX_EL2HLT_STR	"Level 2 halted"
#define	LINUX_EBADE		52
#define	LINUX_EBADE_STR		"Invalid exchange"
#define	LINUX_EBADR		53
#define	LINUX_EBADR_STR		"Invalid request descriptor"
#define	LINUX_EXFULL		54
#define	LINUX_EXFULL_STR	"Exchange full"
#define	LINUX_ENOANO		55
#define	LINUX_ENOANO_STR	"No anode"
#define	LINUX_EBADRQC		56
#define	LINUX_EBADRQC_STR	"Invalid request code"
#define	LINUX_EBADSLT		57
#define	LINUX_EBADSLT_STR	"Invalid slot"
/*				58 unused */
#define	LINUX_EBFONT		59
#define	LINUX_EBFONT_STR	"Bad font file format"
#define	LINUX_ENOSTR		60
#define	LINUX_ENOSTR_STR	"Device not a stream"
#define	LINUX_ENODATA		61
#define	LINUX_ENODATA_STR	"No data available"
#define	LINUX_ETIME		62
#define	LINUX_ETIME_STR		"Timer expired"
#define	LINUX_ENOSR		63
#define	LINUX_ENOSR_STR		"Out of streams resources"
#define	LINUX_ENONET		64
#define	LINUX_ENONET_STR	"Machine is not on the network"
#define	LINUX_ENOPKG		65
#define	LINUX_ENOPKG_STR	"Package not installed"
#define	LINUX_EREMOTE		66
#define	LINUX_EREMOTE_STR	"Object is remote"
#define	LINUX_ENOLINK		67
#define	LINUX_ENOLINK_STR	"Link has been severed"
#define	LINUX_EADV		68
#define	LINUX_EADV_STR		"Advertise error"
#define	LINUX_ESRMNT		69
#define	LINUX_ESRMNT_STR	"Srmount error"
#define	LINUX_ECOMM		70
#define	LINUX_ECOMM_STR		"Communication error on send"
#define	LINUX_EPROTO		71
#define	LINUX_EPROTO_STR	"Protocol error"
#define	LINUX_EMULTIHOP		72
#define	LINUX_EMULTIHOP_STR	"Multihop attempted"
#define	LINUX_EDOTDOT		73
#define	LINUX_EDOTDOT_STR	"RFS specific error"
#define	LINUX_EBADMSG		74
#define	LINUX_EBADMSG_STR	"Bad message"
#define	LINUX_EOVERFLOW		75
#define	LINUX_EOVERFLOW_STR	"Value too large for defined data type"
#define	LINUX_ENOTUNIQ		76
#define	LINUX_ENOTUNIQ_STR	"Name not unique on network"
#define	LINUX_EBADFD		77
#define	LINUX_EBADFD_STR	"File descriptor in bad state"
#define	LINUX_EREMCHG		78
#define	LINUX_EREMCHG_STR	"Remote address changed"
#define	LINUX_ELIBACC		79
#define	LINUX_ELIBACC_STR	"Can not access a needed shared library"
#define	LINUX_ELIBBAD		80
#define	LINUX_ELIBBAD_STR	"Accessing a corrupted shared library"
#define	LINUX_ELIBSCN		81
#define	LINUX_ELIBSCN_STR	".lib section in a.out corrupted"
#define	LINUX_ELIBMAX		82
#define	LINUX_ELIBMAX_STR	"Attempting to link in too many shared libraries"
#define	LINUX_ELIBEXEC		83
#define	LINUX_ELIBEXEC_STR	"Cannot exec a shared library directly"
#define	LINUX_EILSEQ		84
#define	LINUX_EILSEQ_STR	"Invalid or incomplete multibyte or wide character"
#define	LINUX_ERESTART		85
#define	LINUX_ERESTART_STR	"Interrupted system call should be restarted"
#define	LINUX_ESTRPIPE		86
#define	LINUX_ESTRPIPE_STR	"Streams pipe error"
#define	LINUX_EUSERS		87
#define	LINUX_EUSERS_STR	"Too many users"
#define	LINUX_ENOTSOCK		88
#define	LINUX_ENOTSOCK_STR	"Socket operation on non-socket"
#define	LINUX_EDESTADDRREQ	89
#define	LINUX_EDESTADDRREQ_STR	"Destination address required"
#define	LINUX_EMSGSIZE		90
#define	LINUX_EMSGSIZE_STR	"Message too long"
#define	LINUX_EPROTOTYPE	91
#define	LINUX_EPROTOTYPE_STR	"Protocol wrong type for socket"
#define	LINUX_ENOPROTOOPT	92
#define	LINUX_ENOPROTOOPT_STR	"Protocol not available"
#define	LINUX_EPROTONOSUPPORT	93
#define	LINUX_EPROTONOSUPPORT_STR "Protocol not supported"
#define	LINUX_ESOCKTNOSUPPORT	94
#define	LINUX_ESOCKTNOSUPPORT_STR "Socket type not supported"
#define	LINUX_EOPNOTSUPP	95
#define	LINUX_EOPNOTSUPP_STR	"Operation not supported"
#define	LINUX_EPFNOSUPPORT	96
#define	LINUX_EPFNOSUPPORT_STR	"Protocol family not supported"
#define	LINUX_EAFNOSUPPORT	97
#define	LINUX_EAFNOSUPPORT_STR	"Address family not supported by protocol"
#define	LINUX_EADDRINUSE	98
#define	LINUX_EADDRINUSE_STR	"Address already in use"
#define	LINUX_EADDRNOTAVAIL	99
#define	LINUX_EADDRNOTAVAIL_STR	"Cannot assign requested address"
#define	LINUX_ENETDOWN		100
#define	LINUX_ENETDOWN_STR	"Network is down"
#define	LINUX_ENETUNREACH	101
#define	LINUX_ENETUNREACH_STR	"Network is unreachable"
#define	LINUX_ENETRESET		102
#define	LINUX_ENETRESET_STR	"Network dropped connection on reset"
#define	LINUX_ECONNABORTED	103
#define	LINUX_ECONNABORTED_STR	"Software caused connection abort"
#define	LINUX_ECONNRESET	104
#define	LINUX_ECONNRESET_STR	"Connection reset by peer"
#define	LINUX_ENOBUFS		105
#define	LINUX_ENOBUFS_STR	"No buffer space available"
#define	LINUX_EISCONN		106
#define	LINUX_EISCONN_STR	"Transport endpoint is already connected"
#define	LINUX_ENOTCONN		107
#define	LINUX_ENOTCONN_STR	"Transport endpoint is not connected"
#define	LINUX_ESHUTDOWN		108
#define	LINUX_ESHUTDOWN_STR	"Cannot send after transport endpoint shutdown"
#define	LINUX_ETOOMANYREFS	109
#define	LINUX_ETOOMANYREFS_STR	"Too many references: cannot splice"
#define	LINUX_ETIMEDOUT		110
#define	LINUX_ETIMEDOUT_STR	"Connection timed out"
#define	LINUX_ECONNREFUSED	111
#define	LINUX_ECONNREFUSED_STR	"Connection refused"
#define	LINUX_EHOSTDOWN		112
#define	LINUX_EHOSTDOWN_STR	"Host is down"
#define	LINUX_EHOSTUNREACH	113
#define	LINUX_EHOSTUNREACH_STR	"No route to host"
#define	LINUX_EALREADY		114
#define	LINUX_EALREADY_STR	"Operation already in progress"
#define	LINUX_EINPROGRESS	115
#define	LINUX_EINPROGRESS_STR	"Operation now in progress"
#define	LINUX_ESTALE		116
#define	LINUX_ESTALE_STR	"Stale file handle"
#define	LINUX_EUCLEAN		117
#define	LINUX_EUCLEAN_STR	"Structure needs cleaning"
#define	LINUX_ENOTNAM		118
#define	LINUX_ENOTNAM_STR	"Not a XENIX named type file"
#define	LINUX_ENAVAIL		119
#define	LINUX_ENAVAIL_STR	"No XENIX semaphores available"
#define	LINUX_EISNAM		120
#define	LINUX_EISNAM_STR	"Is a named type file"
#define	LINUX_EREMOTEIO		121
#define	LINUX_EREMOTEIO_STR	"Remote I/O error"
#define	LINUX_EDQUOT		122
#define	LINUX_EDQUOT_STR	"Quota exceeded"
#define	LINUX_ENOMEDIUM		123
#define	LINUX_ENOMEDIUM_STR	"No medium found"
#define	LINUX_EMEDIUMTYPE	124
#define	LINUX_EMEDIUMTYPE_STR	"Wrong medium type"
#define	LINUX_ECANCELED		125
#define	LINUX_ECANCELED_STR	"Operation canceled"
#define	LINUX_ENOKEY		126
#define	LINUX_ENOKEY_STR	"Required key not available"
#define	LINUX_EKEYEXPIRED	127
#define	LINUX_EKEYEXPIRED_STR	"Key has expired"
#define	LINUX_EKEYREVOKED	128
#define	LINUX_EKEYREVOKED_STR	"Key has been revoked"
#define	LINUX_EKEYREJECTED	129
#define	LINUX_EKEYREJECTED_STR	"Key was rejected by service"
#define	LINUX_EOWNERDEAD	130
#define	LINUX_EOWNERDEAD_STR	"Owner died"
#define	LINUX_ENOTRECOVERABLE	131
#define	LINUX_ENOTRECOVERABLE_STR "State not recoverable"
#define	LINUX_ERFKILL		132
#define	LINUX_ERFKILL_STR	"Operation not possible due to RF-kill"
#define	LINUX_EHWPOISON		133
#define	LINUX_EHWPOISON_STR	"Memory page has hardware error"

#endif	/* LIB9P_LINUX_ERRNO_H */