]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/bsm/audit_errno.h
xnu-1456.1.26.tar.gz
[apple/xnu.git] / bsd / bsm / audit_errno.h
diff --git a/bsd/bsm/audit_errno.h b/bsd/bsm/audit_errno.h
new file mode 100644 (file)
index 0000000..f7dec8d
--- /dev/null
@@ -0,0 +1,214 @@
+/*-
+ * Copyright (c) 2008 Apple Inc.
+ * All rights reserved.
+ *
+ * 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 Apple Inc. ("Apple") 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 APPLE AND ITS 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 APPLE OR ITS 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. 
+ *
+ * $P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit_errno.h#5 $
+ */
+
+#ifndef _BSM_AUDIT_ERRNO_H_
+#define        _BSM_AUDIT_ERRNO_H_
+
+/*
+ * For the purposes of portable encoding, we convert between local error
+ * numbers and Solaris error numbers (as well as some extensions for error
+ * numbers that don't exist in Solaris).  Although the first 35 or so
+ * constants are the same across all OS's, we don't handle that in any
+ * special way.
+ *
+ * When adding constants here, also add them to bsm_errno.c.
+ */
+#define        BSM_ERRNO_ESUCCESS              0
+#define        BSM_ERRNO_EPERM                 1
+#define        BSM_ERRNO_ENOENT                2
+#define        BSM_ERRNO_ESRCH                 3
+#define        BSM_ERRNO_EINTR                 4
+#define        BSM_ERRNO_EIO                   5
+#define        BSM_ERRNO_ENXIO                 6
+#define        BSM_ERRNO_E2BIG                 7
+#define        BSM_ERRNO_ENOEXEC               8
+#define        BSM_ERRNO_EBADF                 9
+#define        BSM_ERRNO_ECHILD                10
+#define        BSM_ERRNO_EAGAIN                11
+#define        BSM_ERRNO_ENOMEM                12
+#define        BSM_ERRNO_EACCES                13
+#define        BSM_ERRNO_EFAULT                14
+#define        BSM_ERRNO_ENOTBLK               15
+#define        BSM_ERRNO_EBUSY                 16
+#define        BSM_ERRNO_EEXIST                17
+#define        BSM_ERRNO_EXDEV                 18
+#define        BSM_ERRNO_ENODEV                19
+#define        BSM_ERRNO_ENOTDIR               20
+#define        BSM_ERRNO_EISDIR                21
+#define        BSM_ERRNO_EINVAL                22
+#define        BSM_ERRNO_ENFILE                23
+#define        BSM_ERRNO_EMFILE                24
+#define        BSM_ERRNO_ENOTTY                25
+#define        BSM_ERRNO_ETXTBSY               26
+#define        BSM_ERRNO_EFBIG                 27
+#define        BSM_ERRNO_ENOSPC                28
+#define        BSM_ERRNO_ESPIPE                29
+#define        BSM_ERRNO_EROFS                 30
+#define        BSM_ERRNO_EMLINK                31
+#define        BSM_ERRNO_EPIPE                 32
+#define        BSM_ERRNO_EDOM                  33
+#define        BSM_ERRNO_ERANGE                34
+#define        BSM_ERRNO_ENOMSG                35
+#define        BSM_ERRNO_EIDRM                 36
+#define        BSM_ERRNO_ECHRNG                37      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_EL2NSYNC              38      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_EL3HLT                39      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_EL3RST                40      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_ELNRNG                41      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_EUNATCH               42      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_ENOCSI                43      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_EL2HLT                44      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_EDEADLK               45
+#define        BSM_ERRNO_ENOLCK                46
+#define        BSM_ERRNO_ECANCELED             47
+#define        BSM_ERRNO_ENOTSUP               48
+#define        BSM_ERRNO_EDQUOT                49
+#define        BSM_ERRNO_EBADE                 50      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_EBADR                 51      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_EXFULL                52      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_ENOANO                53      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_EBADRQC               54      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_EBADSLT               55      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_EDEADLOCK             56      /* Solaris-specific. */
+#define        BSM_ERRNO_EBFONT                57      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_EOWNERDEAD            58      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_ENOTRECOVERABLE       59      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_ENOSTR                60      /* Solaris/Darwin/Linux-specific. */
+#define        BSM_ERRNO_ENODATA               61      /* Solaris/Darwin/Linux-specific. */
+#define        BSM_ERRNO_ETIME                 62      /* Solaris/Darwin/Linux-specific. */
+#define        BSM_ERRNO_ENOSR                 63      /* Solaris/Darwin/Linux-specific. */
+#define        BSM_ERRNO_ENONET                64      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_ENOPKG                65      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_EREMOTE               66
+#define        BSM_ERRNO_ENOLINK               67
+#define        BSM_ERRNO_EADV                  68      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_ESRMNT                69      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_ECOMM                 70      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_EPROTO                71
+#define        BSM_ERRNO_ELOCKUNMAPPED         72      /* Solaris-specific. */
+#define        BSM_ERRNO_ENOTACTIVE            73      /* Solaris-specific. */
+#define        BSM_ERRNO_EMULTIHOP             74
+#define        BSM_ERRNO_EBADMSG               77
+#define        BSM_ERRNO_ENAMETOOLONG          78
+#define        BSM_ERRNO_EOVERFLOW             79
+#define        BSM_ERRNO_ENOTUNIQ              80      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_EBADFD                81      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_EREMCHG               82      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_ELIBACC               83      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_ELIBBAD               84      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_ELIBSCN               85      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_ELIBMAX               86      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_ELIBEXEC              87      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_EILSEQ                88
+#define        BSM_ERRNO_ENOSYS                89
+#define        BSM_ERRNO_ELOOP                 90
+#define        BSM_ERRNO_ERESTART              91
+#define        BSM_ERRNO_ESTRPIPE              92      /* Solaris/Linux-specific. */
+#define        BSM_ERRNO_ENOTEMPTY             93
+#define        BSM_ERRNO_EUSERS                94
+#define        BSM_ERRNO_ENOTSOCK              95
+#define        BSM_ERRNO_EDESTADDRREQ          96
+#define        BSM_ERRNO_EMSGSIZE              97
+#define        BSM_ERRNO_EPROTOTYPE            98
+#define        BSM_ERRNO_ENOPROTOOPT           99
+#define        BSM_ERRNO_EPROTONOSUPPORT       120
+#define        BSM_ERRNO_ESOCKTNOSUPPORT       121
+#define        BSM_ERRNO_EOPNOTSUPP            122
+#define        BSM_ERRNO_EPFNOSUPPORT          123
+#define        BSM_ERRNO_EAFNOSUPPORT          124
+#define        BSM_ERRNO_EADDRINUSE            125
+#define        BSM_ERRNO_EADDRNOTAVAIL         126
+#define        BSM_ERRNO_ENETDOWN              127
+#define        BSM_ERRNO_ENETUNREACH           128
+#define        BSM_ERRNO_ENETRESET             129
+#define        BSM_ERRNO_ECONNABORTED          130
+#define        BSM_ERRNO_ECONNRESET            131
+#define        BSM_ERRNO_ENOBUFS               132
+#define        BSM_ERRNO_EISCONN               133
+#define        BSM_ERRNO_ENOTCONN              134
+#define        BSM_ERRNO_ESHUTDOWN             143
+#define        BSM_ERRNO_ETOOMANYREFS          144
+#define        BSM_ERRNO_ETIMEDOUT             145
+#define        BSM_ERRNO_ECONNREFUSED          146
+#define        BSM_ERRNO_EHOSTDOWN             147
+#define        BSM_ERRNO_EHOSTUNREACH          148
+#define        BSM_ERRNO_EALREADY              149
+#define        BSM_ERRNO_EINPROGRESS           150
+#define        BSM_ERRNO_ESTALE                151
+
+/*
+ * OpenBSM constants for error numbers not defined in Solaris.  In the event
+ * that these errors are added to Solaris, we will deprecate the OpenBSM
+ * numbers in the same way we do for audit event constants.
+ *
+ * ELAST doesn't get a constant in the BSM space.
+ */
+#define        BSM_ERRNO_EPROCLIM              190     /* FreeBSD/Darwin-specific. */
+#define        BSM_ERRNO_EBADRPC               191     /* FreeBSD/Darwin-specific. */
+#define        BSM_ERRNO_ERPCMISMATCH          192     /* FreeBSD/Darwin-specific. */
+#define        BSM_ERRNO_EPROGUNAVAIL          193     /* FreeBSD/Darwin-specific. */
+#define        BSM_ERRNO_EPROGMISMATCH         194     /* FreeBSD/Darwin-specific. */
+#define        BSM_ERRNO_EPROCUNAVAIL          195     /* FreeBSD/Darwin-specific. */
+#define        BSM_ERRNO_EFTYPE                196     /* FreeBSD/Darwin-specific. */
+#define        BSM_ERRNO_EAUTH                 197     /* FreeBSD/Darwin-specific. */
+#define        BSM_ERRNO_ENEEDAUTH             198     /* FreeBSD/Darwin-specific. */
+#define        BSM_ERRNO_ENOATTR               199     /* FreeBSD/Darwin-specific. */
+#define        BSM_ERRNO_EDOOFUS               200     /* FreeBSD-specific. */
+#define        BSM_ERRNO_EJUSTRETURN           201     /* FreeBSD-specific. */
+#define        BSM_ERRNO_ENOIOCTL              202     /* FreeBSD-specific. */
+#define        BSM_ERRNO_EDIRIOCTL             203     /* FreeBSD-specific. */
+#define        BSM_ERRNO_EPWROFF               204     /* Darwin-specific. */
+#define        BSM_ERRNO_EDEVERR               205     /* Darwin-specific. */
+#define        BSM_ERRNO_EBADEXEC              206     /* Darwin-specific. */
+#define        BSM_ERRNO_EBADARCH              207     /* Darwin-specific. */
+#define        BSM_ERRNO_ESHLIBVERS            208     /* Darwin-specific. */
+#define        BSM_ERRNO_EBADMACHO             209     /* Darwin-specific. */
+#define        BSM_ERRNO_EPOLICY               210     /* Darwin-specific. */
+#define        BSM_ERRNO_EDOTDOT               211     /* Linux-specific. */
+#define        BSM_ERRNO_EUCLEAN               212     /* Linux-specific. */
+#define        BSM_ERRNO_ENOTNAM               213     /* Linux(Xenix?)-specific. */
+#define        BSM_ERRNO_ENAVAIL               214     /* Linux(Xenix?)-specific. */
+#define        BSM_ERRNO_EISNAM                215     /* Linux(Xenix?)-specific. */
+#define        BSM_ERRNO_EREMOTEIO             216     /* Linux-specific. */
+#define        BSM_ERRNO_ENOMEDIUM             217     /* Linux-specific. */
+#define        BSM_ERRNO_EMEDIUMTYPE           218     /* Linux-specific. */
+#define        BSM_ERRNO_ENOKEY                219     /* Linux-specific. */
+#define        BSM_ERRNO_EKEYEXPIRED           220     /* Linux-specific. */
+#define        BSM_ERRNO_EKEYREVOKED           221     /* Linux-specific. */
+#define        BSM_ERRNO_EKEYREJECTED          222     /* Linux-specific. */
+
+/*
+ * In the event that OpenBSM doesn't have a file representation of a local
+ * error number, use this.
+ */
+#define        BSM_ERRNO_UNKNOWN               250     /* OpenBSM-specific. */
+
+#endif /* !_BSM_AUDIT_ERRNO_H_ */