aboutsummaryrefslogtreecommitdiff
path: root/bsd-user/errno_defs.h
blob: abe70119d90ff1682f40e89f1f1133feffb7e81f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
/*
 * Copyright (c) 1982, 1986, 1989, 1993
 *      The Regents of the University of California.  All rights reserved.
 * (c) UNIX System Laboratories, Inc.
 * All or some portions of this file are derived from material licensed
 * to the University of California by American Telephone and Telegraph
 * Co. or Unix System Laboratories, Inc. and are reproduced herein with
 * the permission of UNIX System Laboratories, Inc.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided 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.
 * 3. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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.
 *
 *      @(#)errno.h     8.5 (Berkeley) 1/21/94
 */

#ifndef ERRNO_DEFS_H
#define ERRNO_DEFS_H

#define TARGET_EPERM            1               /* Operation not permitted */
#define TARGET_ENOENT           2               /* No such file or directory */
#define TARGET_ESRCH            3               /* No such process */
#define TARGET_EINTR            4               /* Interrupted system call */
#define TARGET_EIO              5               /* Input/output error */
#define TARGET_ENXIO            6               /* Device not configured */
#define TARGET_E2BIG            7               /* Argument list too long */
#define TARGET_ENOEXEC          8               /* Exec format error */
#define TARGET_EBADF            9               /* Bad file descriptor */
#define TARGET_ECHILD           10              /* No child processes */
#define TARGET_EDEADLK          11              /* Resource deadlock avoided */
                                        /* 11 was EAGAIN */
#define TARGET_ENOMEM           12              /* Cannot allocate memory */
#define TARGET_EACCES           13              /* Permission denied */
#define TARGET_EFAULT           14              /* Bad address */
#define TARGET_ENOTBLK          15              /* Block device required */
#define TARGET_EBUSY            16              /* Device busy */
#define TARGET_EEXIST           17              /* File exists */
#define TARGET_EXDEV            18              /* Cross-device link */
#define TARGET_ENODEV           19              /* Operation not supported by device */
#define TARGET_ENOTDIR          20              /* Not a directory */
#define TARGET_EISDIR           21              /* Is a directory */
#define TARGET_EINVAL           22              /* Invalid argument */
#define TARGET_ENFILE           23              /* Too many open files in system */
#define TARGET_EMFILE           24              /* Too many open files */
#define TARGET_ENOTTY           25              /* Inappropriate ioctl for device */
#define TARGET_ETXTBSY          26              /* Text file busy */
#define TARGET_EFBIG            27              /* File too large */
#define TARGET_ENOSPC           28              /* No space left on device */
#define TARGET_ESPIPE           29              /* Illegal seek */
#define TARGET_EROFS            30              /* Read-only file system */
#define TARGET_EMLINK           31              /* Too many links */
#define TARGET_EPIPE            32              /* Broken pipe */

/* math software */
#define TARGET_EDOM             33              /* Numerical argument out of domain */
#define TARGET_ERANGE           34              /* Result too large */

/* non-blocking and interrupt i/o */
#define TARGET_EAGAIN           35              /* Resource temporarily unavailable */
#define TARGET_EWOULDBLOCK      EAGAIN          /* Operation would block */
#define TARGET_EINPROGRESS      36              /* Operation now in progress */
#define TARGET_EALREADY 37              /* Operation already in progress */

/* ipc/network software -- argument errors */
#define TARGET_ENOTSOCK 38              /* Socket operation on non-socket */
#define TARGET_EDESTADDRREQ     39              /* Destination address required */
#define TARGET_EMSGSIZE 40              /* Message too long */
#define TARGET_EPROTOTYPE       41              /* Protocol wrong type for socket */
#define TARGET_ENOPROTOOPT      42              /* Protocol not available */
#define TARGET_EPROTONOSUPPORT  43              /* Protocol not supported */
#define TARGET_ESOCKTNOSUPPORT  44              /* Socket type not supported */
#define TARGET_EOPNOTSUPP       45              /* Operation not supported */
#define TARGET_EPFNOSUPPORT     46              /* Protocol family not supported */
#define TARGET_EAFNOSUPPORT     47              /* Address family not supported by protocol family */
#define TARGET_EADDRINUSE       48              /* Address already in use */
#define TARGET_EADDRNOTAVAIL    49              /* Can't assign requested address */

/* ipc/network software -- operational errors */
#define TARGET_ENETDOWN 50              /* Network is down */
#define TARGET_ENETUNREACH      51              /* Network is unreachable */
#define TARGET_ENETRESET        52              /* Network dropped connection on reset */
#define TARGET_ECONNABORTED     53              /* Software caused connection abort */
#define TARGET_ECONNRESET       54              /* Connection reset by peer */
#define TARGET_ENOBUFS          55              /* No buffer space available */
#define TARGET_EISCONN          56              /* Socket is already connected */
#define TARGET_ENOTCONN 57              /* Socket is not connected */
#define TARGET_ESHUTDOWN        58              /* Can't send after socket shutdown */
#define TARGET_ETOOMANYREFS     59              /* Too many references: can't splice */
#define TARGET_ETIMEDOUT        60              /* Operation timed out */
#define TARGET_ECONNREFUSED     61              /* Connection refused */

#define TARGET_ELOOP            62              /* Too many levels of symbolic links */
#define TARGET_ENAMETOOLONG     63              /* File name too long */

/* should be rearranged */
#define TARGET_EHOSTDOWN        64              /* Host is down */
#define TARGET_EHOSTUNREACH     65              /* No route to host */
#define TARGET_ENOTEMPTY        66              /* Directory not empty */

/* quotas & mush */
#define TARGET_EPROCLIM 67              /* Too many processes */
#define TARGET_EUSERS           68              /* Too many users */
#define TARGET_EDQUOT           69              /* Disk quota exceeded */

/* Network File System */
#define TARGET_ESTALE           70              /* Stale NFS file handle */
#define TARGET_EREMOTE          71              /* Too many levels of remote in path */
#define TARGET_EBADRPC          72              /* RPC struct is bad */
#define TARGET_ERPCMISMATCH     73              /* RPC version wrong */
#define TARGET_EPROGUNAVAIL     74              /* RPC prog. not avail */
#define TARGET_EPROGMISMATCH    75              /* Program version wrong */
#define TARGET_EPROCUNAVAIL     76              /* Bad procedure for program */

#define TARGET_ENOLCK           77              /* No locks available */
#define TARGET_ENOSYS           78              /* Function not implemented */

#define TARGET_EFTYPE           79              /* Inappropriate file type or format */
#define TARGET_EAUTH            80              /* Authentication error */
#define TARGET_ENEEDAUTH        81              /* Need authenticator */
#define TARGET_EIPSEC           82              /* IPsec processing failure */
#define TARGET_ENOATTR          83              /* Attribute not found */
#define TARGET_EILSEQ           84              /* Illegal byte sequence */
#define TARGET_ENOMEDIUM        85              /* No medium found */
#define TARGET_EMEDIUMTYPE      86              /* Wrong Medium Type */
#define TARGET_EOVERFLOW        87              /* Conversion overflow */
#define TARGET_ECANCELED        88              /* Operation canceled */
#define TARGET_EIDRM            89              /* Identifier removed */
#define TARGET_ENOMSG           90              /* No message of desired type */
#define TARGET_ELAST            90              /* Must be equal largest errno */

/* Internal errors: */
#define TARGET_EJUSTRETURN      254             /* Just return without modifying regs */
#define TARGET_ERESTART         255             /* Restart syscall */

#include "special-errno.h"

_Static_assert(TARGET_ERESTART == QEMU_ERESTARTSYS,
               "TARGET_ERESTART and QEMU_ERESTARTSYS expected to match");

#endif /* ERRNO_DEFS_H */