1 /*- 2 * SPDX-License-Identifier: BSD-3-Clause 3 * 4 * Copyright (c) 2008 Apple Inc. 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: 10 * 1. Redistributions of source code must retain the above copyright 11 * notice, this list of conditions and the following disclaimer. 12 * 2. Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 3. Neither the name of Apple Inc. ("Apple") nor the names of 16 * its contributors may be used to endorse or promote products derived 17 * from this software without specific prior written permission. 18 * 19 * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND 20 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22 * ARE DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR 23 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 27 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 28 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 * POSSIBILITY OF SUCH DAMAGE. 30 * 31 * $FreeBSD$ 32 */ 33 34 #ifndef _BSM_AUDIT_ERRNO_H_ 35 #define _BSM_AUDIT_ERRNO_H_ 36 37 /* 38 * For the purposes of portable encoding, we convert between local error 39 * numbers and Solaris error numbers (as well as some extensions for error 40 * numbers that don't exist in Solaris). Although the first 35 or so 41 * constants are the same across all OS's, we don't handle that in any 42 * special way. 43 * 44 * When adding constants here, also add them to bsm_errno.c. 45 */ 46 #define BSM_ERRNO_ESUCCESS 0 47 #define BSM_ERRNO_EPERM 1 48 #define BSM_ERRNO_ENOENT 2 49 #define BSM_ERRNO_ESRCH 3 50 #define BSM_ERRNO_EINTR 4 51 #define BSM_ERRNO_EIO 5 52 #define BSM_ERRNO_ENXIO 6 53 #define BSM_ERRNO_E2BIG 7 54 #define BSM_ERRNO_ENOEXEC 8 55 #define BSM_ERRNO_EBADF 9 56 #define BSM_ERRNO_ECHILD 10 57 #define BSM_ERRNO_EAGAIN 11 58 #define BSM_ERRNO_ENOMEM 12 59 #define BSM_ERRNO_EACCES 13 60 #define BSM_ERRNO_EFAULT 14 61 #define BSM_ERRNO_ENOTBLK 15 62 #define BSM_ERRNO_EBUSY 16 63 #define BSM_ERRNO_EEXIST 17 64 #define BSM_ERRNO_EXDEV 18 65 #define BSM_ERRNO_ENODEV 19 66 #define BSM_ERRNO_ENOTDIR 20 67 #define BSM_ERRNO_EISDIR 21 68 #define BSM_ERRNO_EINVAL 22 69 #define BSM_ERRNO_ENFILE 23 70 #define BSM_ERRNO_EMFILE 24 71 #define BSM_ERRNO_ENOTTY 25 72 #define BSM_ERRNO_ETXTBSY 26 73 #define BSM_ERRNO_EFBIG 27 74 #define BSM_ERRNO_ENOSPC 28 75 #define BSM_ERRNO_ESPIPE 29 76 #define BSM_ERRNO_EROFS 30 77 #define BSM_ERRNO_EMLINK 31 78 #define BSM_ERRNO_EPIPE 32 79 #define BSM_ERRNO_EDOM 33 80 #define BSM_ERRNO_ERANGE 34 81 #define BSM_ERRNO_ENOMSG 35 82 #define BSM_ERRNO_EIDRM 36 83 #define BSM_ERRNO_ECHRNG 37 /* Solaris/Linux-specific. */ 84 #define BSM_ERRNO_EL2NSYNC 38 /* Solaris/Linux-specific. */ 85 #define BSM_ERRNO_EL3HLT 39 /* Solaris/Linux-specific. */ 86 #define BSM_ERRNO_EL3RST 40 /* Solaris/Linux-specific. */ 87 #define BSM_ERRNO_ELNRNG 41 /* Solaris/Linux-specific. */ 88 #define BSM_ERRNO_EUNATCH 42 /* Solaris/Linux-specific. */ 89 #define BSM_ERRNO_ENOCSI 43 /* Solaris/Linux-specific. */ 90 #define BSM_ERRNO_EL2HLT 44 /* Solaris/Linux-specific. */ 91 #define BSM_ERRNO_EDEADLK 45 92 #define BSM_ERRNO_ENOLCK 46 93 #define BSM_ERRNO_ECANCELED 47 94 #define BSM_ERRNO_ENOTSUP 48 95 #define BSM_ERRNO_EDQUOT 49 96 #define BSM_ERRNO_EBADE 50 /* Solaris/Linux-specific. */ 97 #define BSM_ERRNO_EBADR 51 /* Solaris/Linux-specific. */ 98 #define BSM_ERRNO_EXFULL 52 /* Solaris/Linux-specific. */ 99 #define BSM_ERRNO_ENOANO 53 /* Solaris/Linux-specific. */ 100 #define BSM_ERRNO_EBADRQC 54 /* Solaris/Linux-specific. */ 101 #define BSM_ERRNO_EBADSLT 55 /* Solaris/Linux-specific. */ 102 #define BSM_ERRNO_EDEADLOCK 56 /* Solaris-specific. */ 103 #define BSM_ERRNO_EBFONT 57 /* Solaris/Linux-specific. */ 104 #define BSM_ERRNO_EOWNERDEAD 58 /* Solaris/Linux-specific. */ 105 #define BSM_ERRNO_ENOTRECOVERABLE 59 /* Solaris/Linux-specific. */ 106 #define BSM_ERRNO_ENOSTR 60 /* Solaris/Darwin/Linux-specific. */ 107 #define BSM_ERRNO_ENODATA 61 /* Solaris/Darwin/Linux-specific. */ 108 #define BSM_ERRNO_ETIME 62 /* Solaris/Darwin/Linux-specific. */ 109 #define BSM_ERRNO_ENOSR 63 /* Solaris/Darwin/Linux-specific. */ 110 #define BSM_ERRNO_ENONET 64 /* Solaris/Linux-specific. */ 111 #define BSM_ERRNO_ENOPKG 65 /* Solaris/Linux-specific. */ 112 #define BSM_ERRNO_EREMOTE 66 113 #define BSM_ERRNO_ENOLINK 67 114 #define BSM_ERRNO_EADV 68 /* Solaris/Linux-specific. */ 115 #define BSM_ERRNO_ESRMNT 69 /* Solaris/Linux-specific. */ 116 #define BSM_ERRNO_ECOMM 70 /* Solaris/Linux-specific. */ 117 #define BSM_ERRNO_EPROTO 71 118 #define BSM_ERRNO_ELOCKUNMAPPED 72 /* Solaris-specific. */ 119 #define BSM_ERRNO_ENOTACTIVE 73 /* Solaris-specific. */ 120 #define BSM_ERRNO_EMULTIHOP 74 121 #define BSM_ERRNO_EBADMSG 77 122 #define BSM_ERRNO_ENAMETOOLONG 78 123 #define BSM_ERRNO_EOVERFLOW 79 124 #define BSM_ERRNO_ENOTUNIQ 80 /* Solaris/Linux-specific. */ 125 #define BSM_ERRNO_EBADFD 81 /* Solaris/Linux-specific. */ 126 #define BSM_ERRNO_EREMCHG 82 /* Solaris/Linux-specific. */ 127 #define BSM_ERRNO_ELIBACC 83 /* Solaris/Linux-specific. */ 128 #define BSM_ERRNO_ELIBBAD 84 /* Solaris/Linux-specific. */ 129 #define BSM_ERRNO_ELIBSCN 85 /* Solaris/Linux-specific. */ 130 #define BSM_ERRNO_ELIBMAX 86 /* Solaris/Linux-specific. */ 131 #define BSM_ERRNO_ELIBEXEC 87 /* Solaris/Linux-specific. */ 132 #define BSM_ERRNO_EILSEQ 88 133 #define BSM_ERRNO_ENOSYS 89 134 #define BSM_ERRNO_ELOOP 90 135 #define BSM_ERRNO_ERESTART 91 136 #define BSM_ERRNO_ESTRPIPE 92 /* Solaris/Linux-specific. */ 137 #define BSM_ERRNO_ENOTEMPTY 93 138 #define BSM_ERRNO_EUSERS 94 139 #define BSM_ERRNO_ENOTSOCK 95 140 #define BSM_ERRNO_EDESTADDRREQ 96 141 #define BSM_ERRNO_EMSGSIZE 97 142 #define BSM_ERRNO_EPROTOTYPE 98 143 #define BSM_ERRNO_ENOPROTOOPT 99 144 #define BSM_ERRNO_EPROTONOSUPPORT 120 145 #define BSM_ERRNO_ESOCKTNOSUPPORT 121 146 #define BSM_ERRNO_EOPNOTSUPP 122 147 #define BSM_ERRNO_EPFNOSUPPORT 123 148 #define BSM_ERRNO_EAFNOSUPPORT 124 149 #define BSM_ERRNO_EADDRINUSE 125 150 #define BSM_ERRNO_EADDRNOTAVAIL 126 151 #define BSM_ERRNO_ENETDOWN 127 152 #define BSM_ERRNO_ENETUNREACH 128 153 #define BSM_ERRNO_ENETRESET 129 154 #define BSM_ERRNO_ECONNABORTED 130 155 #define BSM_ERRNO_ECONNRESET 131 156 #define BSM_ERRNO_ENOBUFS 132 157 #define BSM_ERRNO_EISCONN 133 158 #define BSM_ERRNO_ENOTCONN 134 159 #define BSM_ERRNO_ESHUTDOWN 143 160 #define BSM_ERRNO_ETOOMANYREFS 144 161 #define BSM_ERRNO_ETIMEDOUT 145 162 #define BSM_ERRNO_ECONNREFUSED 146 163 #define BSM_ERRNO_EHOSTDOWN 147 164 #define BSM_ERRNO_EHOSTUNREACH 148 165 #define BSM_ERRNO_EALREADY 149 166 #define BSM_ERRNO_EINPROGRESS 150 167 #define BSM_ERRNO_ESTALE 151 168 169 /* 170 * OpenBSM constants for error numbers not defined in Solaris. In the event 171 * that these errors are added to Solaris, we will deprecate the OpenBSM 172 * numbers in the same way we do for audit event constants. 173 * 174 * ELAST doesn't get a constant in the BSM space. 175 */ 176 #define BSM_ERRNO_EPROCLIM 190 /* FreeBSD/Darwin-specific. */ 177 #define BSM_ERRNO_EBADRPC 191 /* FreeBSD/Darwin-specific. */ 178 #define BSM_ERRNO_ERPCMISMATCH 192 /* FreeBSD/Darwin-specific. */ 179 #define BSM_ERRNO_EPROGUNAVAIL 193 /* FreeBSD/Darwin-specific. */ 180 #define BSM_ERRNO_EPROGMISMATCH 194 /* FreeBSD/Darwin-specific. */ 181 #define BSM_ERRNO_EPROCUNAVAIL 195 /* FreeBSD/Darwin-specific. */ 182 #define BSM_ERRNO_EFTYPE 196 /* FreeBSD/Darwin-specific. */ 183 #define BSM_ERRNO_EAUTH 197 /* FreeBSD/Darwin-specific. */ 184 #define BSM_ERRNO_ENEEDAUTH 198 /* FreeBSD/Darwin-specific. */ 185 #define BSM_ERRNO_ENOATTR 199 /* FreeBSD/Darwin-specific. */ 186 #define BSM_ERRNO_EDOOFUS 200 /* FreeBSD-specific. */ 187 #define BSM_ERRNO_EJUSTRETURN 201 /* FreeBSD-specific. */ 188 #define BSM_ERRNO_ENOIOCTL 202 /* FreeBSD-specific. */ 189 #define BSM_ERRNO_EDIRIOCTL 203 /* FreeBSD-specific. */ 190 #define BSM_ERRNO_EPWROFF 204 /* Darwin-specific. */ 191 #define BSM_ERRNO_EDEVERR 205 /* Darwin-specific. */ 192 #define BSM_ERRNO_EBADEXEC 206 /* Darwin-specific. */ 193 #define BSM_ERRNO_EBADARCH 207 /* Darwin-specific. */ 194 #define BSM_ERRNO_ESHLIBVERS 208 /* Darwin-specific. */ 195 #define BSM_ERRNO_EBADMACHO 209 /* Darwin-specific. */ 196 #define BSM_ERRNO_EPOLICY 210 /* Darwin-specific. */ 197 #define BSM_ERRNO_EDOTDOT 211 /* Linux-specific. */ 198 #define BSM_ERRNO_EUCLEAN 212 /* Linux-specific. */ 199 #define BSM_ERRNO_ENOTNAM 213 /* Linux(Xenix?)-specific. */ 200 #define BSM_ERRNO_ENAVAIL 214 /* Linux(Xenix?)-specific. */ 201 #define BSM_ERRNO_EISNAM 215 /* Linux(Xenix?)-specific. */ 202 #define BSM_ERRNO_EREMOTEIO 216 /* Linux-specific. */ 203 #define BSM_ERRNO_ENOMEDIUM 217 /* Linux-specific. */ 204 #define BSM_ERRNO_EMEDIUMTYPE 218 /* Linux-specific. */ 205 #define BSM_ERRNO_ENOKEY 219 /* Linux-specific. */ 206 #define BSM_ERRNO_EKEYEXPIRED 220 /* Linux-specific. */ 207 #define BSM_ERRNO_EKEYREVOKED 221 /* Linux-specific. */ 208 #define BSM_ERRNO_EKEYREJECTED 222 /* Linux-specific. */ 209 #define BSM_ERRNO_ENOTCAPABLE 223 /* FreeBSD-specific. */ 210 #define BSM_ERRNO_ECAPMODE 224 /* FreeBSD-specific. */ 211 212 /* 213 * In the event that OpenBSM doesn't have a file representation of a local 214 * error number, use this. 215 */ 216 #define BSM_ERRNO_UNKNOWN 250 /* OpenBSM-specific. */ 217 218 #endif /* !_BSM_AUDIT_ERRNO_H_ */ 219