shithub: scc

Download patch

ref: 8f0953979283c0b604bc4ed5e90ed20c870618fe
parent: 547837256d36eb84c1be8eccfdc6dd2353d49f3d
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Sun Dec 23 03:08:58 EST 2018

[libc] Add errno.h to the different systems

These files were not added because gitignore was hidding them.

--- a/include/bits/.gitignore
+++ /dev/null
@@ -1,1 +1,0 @@
-errno.h
--- /dev/null
+++ b/include/bits/darwin/sys/errno.h
@@ -1,0 +1,111 @@
+extern int errno;
+extern char *const _sys_errlist[];
+extern const int _sys_nerr;
+
+#define EPERM 	 1
+#define ENOENT 	 2
+#define ESRCH 	 3
+#define EINTR 	 4
+#define EIO 	 5
+#define ENXIO 	 6
+#define E2BIG 	 7
+#define ENOEXEC 	 8
+#define EBADF 	 9
+#define ECHILD 	 10
+#define EDEADLK 	 11
+#define ENOMEM 	 12
+#define EACCES 	 13
+#define EFAULT 	 14
+#define ENOTBLK 	 15
+#define EBUSY 	 16
+#define EEXIST 	 17
+#define EXDEV 	 18
+#define ENODEV 	 19
+#define ENOTDIR 	 20
+#define EISDIR 	 21
+#define EINVAL 	 22
+#define ENFILE 	 23
+#define EMFILE 	 24
+#define ENOTTY 	 25
+#define ETXTBSY 	 26
+#define EFBIG 	 27
+#define ENOSPC 	 28
+#define ESPIPE 	 29
+#define EROFS 	 30
+#define EMLINK 	 31
+#define EPIPE 	 32
+#define EDOM 	 33
+#define ERANGE 	 34
+#define EAGAIN 	 35
+#define EINPROGRESS 	 36
+#define EALREADY 	 37
+#define ENOTSOCK 	 38
+#define EDESTADDRREQ 	 39
+#define EMSGSIZE 	 40
+#define EPROTOTYPE 	 41
+#define ENOPROTOOPT 	 42
+#define EPROTONOSUPPORT 	 43
+#define ESOCKTNOSUPPORT 	 44
+#define ENOTSUP 	 45
+#define EPFNOSUPPORT 	 46
+#define EAFNOSUPPORT 	 47
+#define EADDRINUSE 	 48
+#define EADDRNOTAVAIL 	 49
+#define ENETDOWN 	 50
+#define ENETUNREACH 	 51
+#define ENETRESET 	 52
+#define ECONNABORTED 	 53
+#define ECONNRESET 	 54
+#define ENOBUFS 	 55
+#define EISCONN 	 56
+#define ENOTCONN 	 57
+#define ESHUTDOWN 	 58
+#define ETOOMANYREFS 	 59
+#define ETIMEDOUT 	 60
+#define ECONNREFUSED 	 61
+#define ELOOP 	 62
+#define ENAMETOOLONG 	 63
+#define EHOSTDOWN 	 64
+#define EHOSTUNREACH 	 65
+#define ENOTEMPTY 	 66
+#define EPROCLIM 	 67
+#define EUSERS 	 68
+#define EDQUOT 	 69
+#define ESTALE 	 70
+#define EREMOTE 	 71
+#define EBADRPC 	 72
+#define ERPCMISMATCH 	 73
+#define EPROGUNAVAIL 	 74
+#define EPROGMISMATCH 	 75
+#define EPROCUNAVAIL 	 76
+#define ENOLCK 	 77
+#define ENOSYS 	 78
+#define EFTYPE 	 79
+#define EAUTH 	 80
+#define ENEEDAUTH 	 81
+#define EPWROFF 	 82
+#define EDEVERR 	 83
+#define EOVERFLOW 	 84
+#define EBADEXEC 	 85
+#define EBADARCH 	 86
+#define ESHLIBVERS 	 87
+#define EBADMACHO 	 88
+#define ECANCELED 	 89
+#define EIDRM 	 90
+#define ENOMSG 	 91
+#define EILSEQ 	 92
+#define ENOATTR 	 93
+#define EBADMSG 	 94
+#define EMULTIHOP 	 95
+#define ENODATA 	 96
+#define ENOLINK 	 97
+#define ENOSR 	 98
+#define ENOSTR 	 99
+#define EPROTO 	 100
+#define ETIME 	 101
+#define EOPNOTSUPP 	 102
+#define ENOPOLICY 	 103
+#define ENOTRECOVERABLE 	 104
+#define EOWNERDEAD 	 105
+#define EQFULL 	 106
+#define EUNKNOWN 	 107
--- /dev/null
+++ b/include/bits/dragonfly/sys/errno.h
@@ -1,0 +1,97 @@
+extern int errno;
+extern char *const _sys_errlist[];
+extern const int _sys_nerr;
+
+#define	EPERM	1	/*  Operation not permitted */
+#define	ENOENT	2	/*  No such file or directory */
+#define	ESRCH	3	/*  No such process */
+#define	EINTR	4	/*  Interrupted system call */
+#define	EIO	5	/*  Input/output error */
+#define	ENXIO	6	/*  Device not configured */
+#define	E2BIG	7	/*  Argument list too long */
+#define	ENOEXEC	8	/*  Exec format error */
+#define	EBADF	9	/*  Bad file descriptor */
+#define	ECHILD	10	/*  No child processes */
+#define	EDEADLK	11	/*  Resource deadlock avoided */
+#define	ENOMEM	12	/*  Cannot allocate memory */
+#define	EACCES	13	/*  Permission denied */
+#define	EFAULT	14	/*  Bad address */
+#define	ENOTBLK	15	/*  Block device required */
+#define	EBUSY	16	/*  Device busy */
+#define	EEXIST	17	/*  File exists */
+#define	EXDEV	18	/*  Cross-device link */
+#define	ENODEV	19	/*  Operation not supported by device */
+#define	ENOTDIR	20	/*  Not a directory */
+#define	EISDIR	21	/*  Is a directory */
+#define	EINVAL	22	/*  Invalid argument */
+#define	ENFILE	23	/*  Too many open files in system */
+#define	EMFILE	24	/*  Too many open files */
+#define	ENOTTY	25	/*  Inappropriate ioctl for device */
+#define	ETXTBSY	26	/*  Text file busy */
+#define	EFBIG	27	/*  File too large */
+#define	ENOSPC	28	/*  No space left on device */
+#define	ESPIPE	29	/*  Illegal seek */
+#define	EROFS	30	/*  Read-only filesystem */
+#define	EMLINK	31	/*  Too many links */
+#define	EPIPE	32	/*  Broken pipe */
+#define	EDOM	33	/*  Numerical argument out of domain */
+#define	ERANGE	34	/*  Result too large */
+#define	EAGAIN	35	/*  Resource temporarily unavailable */
+#define	EINPROGRESS	36	/*  Operation now in progress */
+#define	EALREADY	37	/*  Operation already in progress */
+#define	ENOTSOCK	38	/*  Socket operation on non-socket */
+#define	EDESTADDRREQ	39	/*  Destination address required */
+#define	EMSGSIZE	40	/*  Message too long */
+#define	EPROTOTYPE	41	/*  Protocol wrong type for socket */
+#define	ENOPROTOOPT	42	/*  Protocol not available */
+#define	EPROTONOSUPPORT	43	/*  Protocol not supported */
+#define	ESOCKTNOSUPPORT	44	/*  Socket type not supported */
+#define	EOPNOTSUPP	45	/*  Operation not supported */
+#define	EPFNOSUPPORT	46	/*  Protocol family not supported */
+#define	EAFNOSUPPORT	47	/*  Address family not supported by protocol family */
+#define	EADDRINUSE	48	/*  Address already in use */
+#define	EADDRNOTAVAIL	49	/*  Can't assign requested address */
+#define	ENETDOWN	50	/*  Network is down */
+#define	ENETUNREACH	51	/*  Network is unreachable */
+#define	ENETRESET	52	/*  Network dropped connection on reset */
+#define	ECONNABORTED	53	/*  Software caused connection abort */
+#define	ECONNRESET	54	/*  Connection reset by peer */
+#define	ENOBUFS	55	/*  No buffer space available */
+#define	EISCONN	56	/*  Socket is already connected */
+#define	ENOTCONN	57	/*  Socket is not connected */
+#define	ESHUTDOWN	58	/*  Can't send after socket shutdown */
+#define	ETOOMANYREFS	59	/*  Too many references: can't splice */
+#define	ETIMEDOUT	60	/*  Operation timed out */
+#define	ECONNREFUSED	61	/*  Connection refused */
+#define	ELOOP	62	/*  Too many levels of symbolic links */
+#define	ENAMETOOLONG	63	/*  File name too long */
+#define	EHOSTDOWN	64	/*  Host is down */
+#define	EHOSTUNREACH	65	/*  No route to host */
+#define	ENOTEMPTY	66	/*  Directory not empty */
+#define	EPROCLIM	67	/*  Too many processes */
+#define	EUSERS	68	/*  Too many users */
+#define	EDQUOT	69	/*  Disc quota exceeded */
+#define	ESTALE	70	/*  Stale NFS file handle */
+#define	EREMOTE	71	/*  Too many levels of remote in path */
+#define	EBADRPC	72	/*  RPC struct is bad */
+#define	ERPCMISMATCH	73	/*  RPC version wrong */
+#define	EPROGUNAVAIL	74	/*  RPC prog. not avail */
+#define	EPROGMISMATCH	75	/*  Program version wrong */
+#define	EPROCUNAVAIL	76	/*  Bad procedure for program */
+#define	ENOLCK	77	/*  No locks available */
+#define	ENOSYS	78	/*  Function not implemented */
+#define	EFTYPE	79	/*  Inappropriate file type or format */
+#define	EAUTH	80	/*  Authentication error */
+#define	ENEEDAUTH	81	/*  Need authenticator */
+#define	EIDRM	82	/*  Identifier removed */
+#define	ENOMSG	83	/*  No message of desired type */
+#define	EOVERFLOW	84	/*  Value too large to be stored in data type */
+#define	ECANCELED	85	/*  Operation canceled */
+#define	EILSEQ	86	/*  Illegal byte sequence */
+#define	ENOATTR	87	/*  Attribute not found */
+#define	EDOOFUS	88	/*  Programming error */
+#define	EBADMSG	89	/*  Bad message */
+#define	EMULTIHOP	90	/*  Multihop attempted */
+#define	ENOLINK	91	/*  Link has been severed */
+#define	EPROTO	92	/*  Protocol error */
+#define EUNKNOWN 93	/*  Unknown error */
--- /dev/null
+++ b/include/bits/linux/sys/errno.h
@@ -1,0 +1,136 @@
+extern int errno;
+extern char *const _sys_errlist[];
+extern const int _sys_nerr;
+
+#define	EPERM	1	/*  Operation not permitted */
+#define	ENOENT	2	/*  No such file or directory */
+#define	ESRCH	3	/*  No such process */
+#define	EINTR	4	/*  Interrupted system call */
+#define	EIO	5	/*  I/O error */
+#define	ENXIO	6	/*  No such device or address */
+#define	E2BIG	7	/*  Argument list too long */
+#define	ENOEXEC	8	/*  Exec format error */
+#define	EBADF	9	/*  Bad file number */
+#define	ECHILD	10	/*  No child processes */
+#define	EAGAIN	11	/*  Try again */
+#define	ENOMEM	12	/*  Out of memory */
+#define	EACCES	13	/*  Permission denied */
+#define	EFAULT	14	/*  Bad address */
+#define	ENOTBLK	15	/*  Block device required */
+#define	EBUSY	16	/*  Device or resource busy */
+#define	EEXIST	17	/*  File exists */
+#define	EXDEV	18	/*  Cross-device link */
+#define	ENODEV	19	/*  No such device */
+#define	ENOTDIR	20	/*  Not a directory */
+#define	EISDIR	21	/*  Is a directory */
+#define	EINVAL	22	/*  Invalid argument */
+#define	ENFILE	23	/*  File table overflow */
+#define	EMFILE	24	/*  Too many open files */
+#define	ENOTTY	25	/*  Not a typewriter */
+#define	ETXTBSY	26	/*  Text file busy */
+#define	EFBIG	27	/*  File too large */
+#define	ENOSPC	28	/*  No space left on device */
+#define	ESPIPE	29	/*  Illegal seek */
+#define	EROFS	30	/*  Read-only file system */
+#define	EMLINK	31	/*  Too many links */
+#define	EPIPE	32	/*  Broken pipe */
+#define	EDOM	33	/*  Math argument out of domain of func */
+#define	ERANGE	34	/*  Math result not representable */
+#define	EDEADLK	35	/*  Resource deadlock would occur */
+#define	ENAMETOOLONG	36	/*  File name too long */
+#define	ENOLCK	37	/*  No record locks available */
+#define	ENOSYS	38	/*  Invalid system call number */
+#define	ENOTEMPTY	39	/*  Directory not empty */
+#define	ELOOP	40	/*  Too many symbolic links encountered */
+#define	ENOMSG	42	/*  No message of desired type */
+#define	EIDRM	43	/*  Identifier removed */
+#define	ECHRNG	44	/*  Channel number out of range */
+#define	EL2NSYNC	45	/*  Level 2 not synchronized */
+#define	EL3HLT	46	/*  Level 3 halted */
+#define	EL3RST	47	/*  Level 3 reset */
+#define	ELNRNG	48	/*  Link number out of range */
+#define	EUNATCH	49	/*  Protocol driver not attached */
+#define	ENOCSI	50	/*  No CSI structure available */
+#define	EL2HLT	51	/*  Level 2 halted */
+#define	EBADE	52	/*  Invalid exchange */
+#define	EBADR	53	/*  Invalid request descriptor */
+#define	EXFULL	54	/*  Exchange full */
+#define	ENOANO	55	/*  No anode */
+#define	EBADRQC	56	/*  Invalid request code */
+#define	EBADSLT	57	/*  Invalid slot */
+#define	EBFONT	59	/*  Bad font file format */
+#define	ENOSTR	60	/*  Device not a stream */
+#define	ENODATA	61	/*  No data available */
+#define	ETIME	62	/*  Timer expired */
+#define	ENOSR	63	/*  Out of streams resources */
+#define	ENONET	64	/*  Machine is not on the network */
+#define	ENOPKG	65	/*  Package not installed */
+#define	EREMOTE	66	/*  Object is remote */
+#define	ENOLINK	67	/*  Link has been severed */
+#define	EADV	68	/*  Advertise error */
+#define	ESRMNT	69	/*  Srmount error */
+#define	ECOMM	70	/*  Communication error on send */
+#define	EPROTO	71	/*  Protocol error */
+#define	EMULTIHOP	72	/*  Multihop attempted */
+#define	EDOTDOT	73	/*  RFS specific error */
+#define	EBADMSG	74	/*  Not a data message */
+#define	EOVERFLOW	75	/*  Value too large for defined data type */
+#define	ENOTUNIQ	76	/*  Name not unique on network */
+#define	EBADFD	77	/*  File descriptor in bad state */
+#define	EREMCHG	78	/*  Remote address changed */
+#define	ELIBACC	79	/*  Can not access a needed shared library */
+#define	ELIBBAD	80	/*  Accessing a corrupted shared library */
+#define	ELIBSCN	81	/*  .lib section in a.out corrupted */
+#define	ELIBMAX	82	/*  Attempting to link in too many shared libraries */
+#define	ELIBEXEC	83	/*  Cannot exec a shared library directly */
+#define	EILSEQ	84	/*  Illegal byte sequence */
+#define	ERESTART	85	/*  Interrupted system call should be restarted */
+#define	ESTRPIPE	86	/*  Streams pipe error */
+#define	EUSERS	87	/*  Too many users */
+#define	ENOTSOCK	88	/*  Socket operation on non-socket */
+#define	EDESTADDRREQ	89	/*  Destination address required */
+#define	EMSGSIZE	90	/*  Message too long */
+#define	EPROTOTYPE	91	/*  Protocol wrong type for socket */
+#define	ENOPROTOOPT	92	/*  Protocol not available */
+#define	EPROTONOSUPPORT	93	/*  Protocol not supported */
+#define	ESOCKTNOSUPPORT	94	/*  Socket type not supported */
+#define	EOPNOTSUPP	95	/*  Operation not supported on transport endpoint */
+#define	EPFNOSUPPORT	96	/*  Protocol family not supported */
+#define	EAFNOSUPPORT	97	/*  Address family not supported by protocol */
+#define	EADDRINUSE	98	/*  Address already in use */
+#define	EADDRNOTAVAIL	99	/*  Cannot assign requested address */
+#define	ENETDOWN	100	/*  Network is down */
+#define	ENETUNREACH	101	/*  Network is unreachable */
+#define	ENETRESET	102	/*  Network dropped connection because of reset */
+#define	ECONNABORTED	103	/*  Software caused connection abort */
+#define	ECONNRESET	104	/*  Connection reset by peer */
+#define	ENOBUFS	105	/*  No buffer space available */
+#define	EISCONN	106	/*  Transport endpoint is already connected */
+#define	ENOTCONN	107	/*  Transport endpoint is not connected */
+#define	ESHUTDOWN	108	/*  Cannot send after transport endpoint shutdown */
+#define	ETOOMANYREFS	109	/*  Too many references: cannot splice */
+#define	ETIMEDOUT	110	/*  Connection timed out */
+#define	ECONNREFUSED	111	/*  Connection refused */
+#define	EHOSTDOWN	112	/*  Host is down */
+#define	EHOSTUNREACH	113	/*  No route to host */
+#define	EALREADY	114	/*  Operation already in progress */
+#define	EINPROGRESS	115	/*  Operation now in progress */
+#define	ESTALE	116	/*  Stale file handle */
+#define	EUCLEAN	117	/*  Structure needs cleaning */
+#define	ENOTNAM	118	/*  Not a XENIX named type file */
+#define	ENAVAIL	119	/*  No XENIX semaphores available */
+#define	EISNAM	120	/*  Is a named type file */
+#define	EREMOTEIO	121	/*  Remote I/O error */
+#define	EDQUOT	122	/*  Quota exceeded */
+#define	ENOMEDIUM	123	/*  No medium found */
+#define	EMEDIUMTYPE	124	/*  Wrong medium type */
+#define	ECANCELED	125	/*  Operation Canceled */
+#define	ENOKEY	126	/*  Required key not available */
+#define	EKEYEXPIRED	127	/*  Key has expired */
+#define	EKEYREVOKED	128	/*  Key has been revoked */
+#define	EKEYREJECTED	129	/*  Key was rejected by service */
+#define	EOWNERDEAD	130	/*  Owner died */
+#define	ENOTRECOVERABLE	131	/*  State not recoverable */
+#define	ERFKILL	132	/*  Operation not possible due to RF-kill */
+#define	EHWPOISON	133	/*  Memory page has hardware error */
+#define EUNKNOWN	134	/*  Unknown error */
--- /dev/null
+++ b/include/bits/netbsd/sys/errno.h
@@ -1,0 +1,101 @@
+extern int errno;
+extern char *const _sys_errlist[];
+extern const int _sys_nerr;
+
+#define	EPERM	1	/*  Operation not permitted */
+#define	ENOENT	2	/*  No such file or directory */
+#define	ESRCH	3	/*  No such process */
+#define	EINTR	4	/*  Interrupted system call */
+#define	EIO	5	/*  Input/output error */
+#define	ENXIO	6	/*  Device not configured */
+#define	E2BIG	7	/*  Argument list too long */
+#define	ENOEXEC	8	/*  Exec format error */
+#define	EBADF	9	/*  Bad file descriptor */
+#define	ECHILD	10	/*  No child processes */
+#define	EDEADLK	11	/*  Resource deadlock avoided */
+#define	ENOMEM	12	/*  Cannot allocate memory */
+#define	EACCES	13	/*  Permission denied */
+#define	EFAULT	14	/*  Bad address */
+#define	ENOTBLK	15	/*  Block device required */
+#define	EBUSY	16	/*  Device busy */
+#define	EEXIST	17	/*  File exists */
+#define	EXDEV	18	/*  Cross-device link */
+#define	ENODEV	19	/*  Operation not supported by device */
+#define	ENOTDIR	20	/*  Not a directory */
+#define	EISDIR	21	/*  Is a directory */
+#define	EINVAL	22	/*  Invalid argument */
+#define	ENFILE	23	/*  Too many open files in system */
+#define	EMFILE	24	/*  Too many open files */
+#define	ENOTTY	25	/*  Inappropriate ioctl for device */
+#define	ETXTBSY	26	/*  Text file busy */
+#define	EFBIG	27	/*  File too large */
+#define	ENOSPC	28	/*  No space left on device */
+#define	ESPIPE	29	/*  Illegal seek */
+#define	EROFS	30	/*  Read-only file system */
+#define	EMLINK	31	/*  Too many links */
+#define	EPIPE	32	/*  Broken pipe */
+#define	EDOM	33	/*  Numerical argument out of domain */
+#define	ERANGE	34	/*  Result too large or too small */
+#define	EAGAIN	35	/*  Resource temporarily unavailable */
+#define	EINPROGRESS	36	/*  Operation now in progress */
+#define	EALREADY	37	/*  Operation already in progress */
+#define	ENOTSOCK	38	/*  Socket operation on non-socket */
+#define	EDESTADDRREQ	39	/*  Destination address required */
+#define	EMSGSIZE	40	/*  Message too long */
+#define	EPROTOTYPE	41	/*  Protocol wrong type for socket */
+#define	ENOPROTOOPT	42	/*  Protocol option not available */
+#define	EPROTONOSUPPORT	43	/*  Protocol not supported */
+#define	ESOCKTNOSUPPORT	44	/*  Socket type not supported */
+#define	EOPNOTSUPP	45	/*  Operation not supported */
+#define	EPFNOSUPPORT	46	/*  Protocol family not supported */
+#define	EAFNOSUPPORT	47	/*  Address family not supported by protocol family */
+#define	EADDRINUSE	48	/*  Address already in use */
+#define	EADDRNOTAVAIL	49	/*  Can't assign requested address */
+#define	ENETDOWN	50	/*  Network is down */
+#define	ENETUNREACH	51	/*  Network is unreachable */
+#define	ENETRESET	52	/*  Network dropped connection on reset */
+#define	ECONNABORTED	53	/*  Software caused connection abort */
+#define	ECONNRESET	54	/*  Connection reset by peer */
+#define	ENOBUFS	55	/*  No buffer space available */
+#define	EISCONN	56	/*  Socket is already connected */
+#define	ENOTCONN	57	/*  Socket is not connected */
+#define	ESHUTDOWN	58	/*  Can't send after socket shutdown */
+#define	ETOOMANYREFS	59	/*  Too many references: can't splice */
+#define	ETIMEDOUT	60	/*  Operation timed out */
+#define	ECONNREFUSED	61	/*  Connection refused */
+#define	ELOOP	62	/*  Too many levels of symbolic links */
+#define	ENAMETOOLONG	63	/*  File name too long */
+#define	EHOSTDOWN	64	/*  Host is down */
+#define	EHOSTUNREACH	65	/*  No route to host */
+#define	ENOTEMPTY	66	/*  Directory not empty */
+#define	EPROCLIM	67	/*  Too many processes */
+#define	EUSERS	68	/*  Too many users */
+#define	EDQUOT	69	/*  Disc quota exceeded */
+#define	ESTALE	70	/*  Stale NFS file handle */
+#define	EREMOTE	71	/*  Too many levels of remote in path */
+#define	EBADRPC	72	/*  RPC struct is bad */
+#define	ERPCMISMATCH	73	/*  RPC version wrong */
+#define	EPROGUNAVAIL	74	/*  RPC prog. not avail */
+#define	EPROGMISMATCH	75	/*  Program version wrong */
+#define	EPROCUNAVAIL	76	/*  Bad procedure for program */
+#define	ENOLCK	77	/*  No locks available */
+#define	ENOSYS	78	/*  Function not implemented */
+#define	EFTYPE	79	/*  Inappropriate file type or format */
+#define	EAUTH	80	/*  Authentication error */
+#define	ENEEDAUTH	81	/*  Need authenticator */
+#define	EIDRM	82	/*  Identifier removed */
+#define	ENOMSG	83	/*  No message of desired type */
+#define	EOVERFLOW	84	/*  Value too large to be stored in data type */
+#define	EILSEQ	85	/*  Illegal byte sequence */
+#define	ENOTSUP	86	/*  Not supported */
+#define	ECANCELED	87	/*  Operation canceled */
+#define	EBADMSG	88	/*  Bad or Corrupt message */
+#define	ENODATA	89	/*  No message available */
+#define	ENOSR	90	/*  No STREAM resources */
+#define	ENOSTR	91	/*  Not a STREAM */
+#define	ETIME	92	/*  STREAM ioctl timeout */
+#define	ENOATTR	93	/*  Attribute not found */
+#define	EMULTIHOP	94	/*  Multihop attempted */
+#define	ENOLINK	95	/*  Link has been severed */
+#define	EPROTO	96	/*  Protocol error */
+#define EUNKNOWN 97	/*  Unknown error */
--- /dev/null
+++ b/include/bits/openbsd/sys/errno.h
@@ -1,0 +1,100 @@
+extern int errno;
+extern char *const _sys_errlist[];
+extern const int _sys_nerr;
+
+#define	EPERM	1	/*  Operation not permitted */
+#define	ENOENT	2	/*  No such file or directory */
+#define	ESRCH	3	/*  No such process */
+#define	EINTR	4	/*  Interrupted system call */
+#define	EIO	5	/*  Input/output error */
+#define	ENXIO	6	/*  Device not configured */
+#define	E2BIG	7	/*  Argument list too long */
+#define	ENOEXEC	8	/*  Exec format error */
+#define	EBADF	9	/*  Bad file descriptor */
+#define	ECHILD	10	/*  No child processes */
+#define	EDEADLK	11	/*  Resource deadlock avoided */
+#define	ENOMEM	12	/*  Cannot allocate memory */
+#define	EACCES	13	/*  Permission denied */
+#define	EFAULT	14	/*  Bad address */
+#define	ENOTBLK	15	/*  Block device required */
+#define	EBUSY	16	/*  Device busy */
+#define	EEXIST	17	/*  File exists */
+#define	EXDEV	18	/*  Cross-device link */
+#define	ENODEV	19	/*  Operation not supported by device */
+#define	ENOTDIR	20	/*  Not a directory */
+#define	EISDIR	21	/*  Is a directory */
+#define	EINVAL	22	/*  Invalid argument */
+#define	ENFILE	23	/*  Too many open files in system */
+#define	EMFILE	24	/*  Too many open files */
+#define	ENOTTY	25	/*  Inappropriate ioctl for device */
+#define	ETXTBSY	26	/*  Text file busy */
+#define	EFBIG	27	/*  File too large */
+#define	ENOSPC	28	/*  No space left on device */
+#define	ESPIPE	29	/*  Illegal seek */
+#define	EROFS	30	/*  Read-only file system */
+#define	EMLINK	31	/*  Too many links */
+#define	EPIPE	32	/*  Broken pipe */
+#define	EDOM	33	/*  Numerical argument out of domain */
+#define	ERANGE	34	/*  Result too large */
+#define	EAGAIN	35	/*  Resource temporarily unavailable */
+#define	EINPROGRESS	36	/*  Operation now in progress */
+#define	EALREADY	37	/*  Operation already in progress */
+#define	ENOTSOCK	38	/*  Socket operation on non-socket */
+#define	EDESTADDRREQ	39	/*  Destination address required */
+#define	EMSGSIZE	40	/*  Message too long */
+#define	EPROTOTYPE	41	/*  Protocol wrong type for socket */
+#define	ENOPROTOOPT	42	/*  Protocol not available */
+#define	EPROTONOSUPPORT	43	/*  Protocol not supported */
+#define	ESOCKTNOSUPPORT	44	/*  Socket type not supported */
+#define	EOPNOTSUPP	45	/*  Operation not supported */
+#define	EPFNOSUPPORT	46	/*  Protocol family not supported */
+#define	EAFNOSUPPORT	47	/*  Address family not supported by protocol family */
+#define	EADDRINUSE	48	/*  Address already in use */
+#define	EADDRNOTAVAIL	49	/*  Can't assign requested address */
+#define	ENETDOWN	50	/*  Network is down */
+#define	ENETUNREACH	51	/*  Network is unreachable */
+#define	ENETRESET	52	/*  Network dropped connection on reset */
+#define	ECONNABORTED	53	/*  Software caused connection abort */
+#define	ECONNRESET	54	/*  Connection reset by peer */
+#define	ENOBUFS	55	/*  No buffer space available */
+#define	EISCONN	56	/*  Socket is already connected */
+#define	ENOTCONN	57	/*  Socket is not connected */
+#define	ESHUTDOWN	58	/*  Can't send after socket shutdown */
+#define	ETOOMANYREFS	59	/*  Too many references: can't splice */
+#define	ETIMEDOUT	60	/*  Operation timed out */
+#define	ECONNREFUSED	61	/*  Connection refused */
+#define	ELOOP	62	/*  Too many levels of symbolic links */
+#define	ENAMETOOLONG	63	/*  File name too long */
+#define	EHOSTDOWN	64	/*  Host is down */
+#define	EHOSTUNREACH	65	/*  No route to host */
+#define	ENOTEMPTY	66	/*  Directory not empty */
+#define	EPROCLIM	67	/*  Too many processes */
+#define	EUSERS	68	/*  Too many users */
+#define	EDQUOT	69	/*  Disk quota exceeded */
+#define	ESTALE	70	/*  Stale NFS file handle */
+#define	EREMOTE	71	/*  Too many levels of remote in path */
+#define	EBADRPC	72	/*  RPC struct is bad */
+#define	ERPCMISMATCH	73	/*  RPC version wrong */
+#define	EPROGUNAVAIL	74	/*  RPC program not available */
+#define	EPROGMISMATCH	75	/*  Program version wrong */
+#define	EPROCUNAVAIL	76	/*  Bad procedure for program */
+#define	ENOLCK	77	/*  No locks available */
+#define	ENOSYS	78	/*  Function not implemented */
+#define	EFTYPE	79	/*  Inappropriate file type or format */
+#define	EAUTH	80	/*  Authentication error */
+#define	ENEEDAUTH	81	/*  Need authenticator */
+#define	EIPSEC	82	/*  IPsec processing failure */
+#define	ENOATTR	83	/*  Attribute not found */
+#define	EILSEQ	84	/*  Illegal byte sequence */
+#define	ENOMEDIUM	85	/*  No medium found */
+#define	EMEDIUMTYPE	86	/*  Wrong medium type */
+#define	EOVERFLOW	87	/*  Value too large to be stored in data type */
+#define	ECANCELED	88	/*  Operation canceled */
+#define	EIDRM	89	/*  Identifier removed */
+#define	ENOMSG	90	/*  No message of desired type */
+#define	ENOTSUP	91	/*  Not supported */
+#define	EBADMSG	92	/*  Bad message */
+#define	ENOTRECOVERABLE	93	/*  State not recoverable */
+#define	EOWNERDEAD	94	/*  Previous owner died */
+#define	EPROTO	95	/*  Protocol error */
+#define EUNKNOWN	96	/*  Unknown error */