| author | |
| committer | |
| log | b27bdd5af0976d0b94819d6dda557d0dbb8f0d98 |
| tree | 65aab9d9e4310feeb0acff512f852d32161d55d0 |
| parent | 442592855c655f20b8b51db9ac75e17485c4e685 |
Accidentally removed in #30135.8 files changed, 2143 insertions(+), 0 deletions(-)
lib/libc/include/generic-freebsd/bsm/audit.h created+345| ... | ... | @@ -0,0 +1,345 @@ |
| 1 | /*- | |
| 2 | * SPDX-License-Identifier: BSD-3-Clause | |
| 3 | * | |
| 4 | * Copyright (c) 2005-2009 Apple Inc. | |
| 5 | * Copyright (c) 2016 Robert N. M. Watson | |
| 6 | * All rights reserved. | |
| 7 | * | |
| 8 | * Portions of this software were developed by BAE Systems, the University of | |
| 9 | * Cambridge Computer Laboratory, and Memorial University under DARPA/AFRL | |
| 10 | * contract FA8650-15-C-7558 ("CADETS"), as part of the DARPA Transparent | |
| 11 | * Computing (TC) research program. | |
| 12 | * | |
| 13 | * Redistribution and use in source and binary forms, with or without | |
| 14 | * modification, are permitted provided that the following conditions | |
| 15 | * are met: | |
| 16 | * | |
| 17 | * 1. Redistributions of source code must retain the above copyright | |
| 18 | * notice, this list of conditions and the following disclaimer. | |
| 19 | * 2. Redistributions in binary form must reproduce the above copyright | |
| 20 | * notice, this list of conditions and the following disclaimer in the | |
| 21 | * documentation and/or other materials provided with the distribution. | |
| 22 | * 3. Neither the name of Apple Inc. ("Apple") nor the names of | |
| 23 | * its contributors may be used to endorse or promote products derived | |
| 24 | * from this software without specific prior written permission. | |
| 25 | * | |
| 26 | * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY | |
| 27 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |
| 28 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |
| 29 | * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY | |
| 30 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | |
| 31 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | |
| 32 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | |
| 33 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
| 34 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | |
| 35 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
| 36 | */ | |
| 37 | ||
| 38 | #ifndef	_BSM_AUDIT_H | |
| 39 | #define	_BSM_AUDIT_H | |
| 40 | ||
| 41 | #include <sys/param.h> | |
| 42 | #include <sys/types.h> | |
| 43 | ||
| 44 | #define	AUDIT_RECORD_MAGIC	0x828a0f1b | |
| 45 | #define	MAX_AUDIT_RECORDS	20 | |
| 46 | #define	MAXAUDITDATA		(0x8000 - 1) | |
| 47 | #define	MAX_AUDIT_RECORD_SIZE	MAXAUDITDATA | |
| 48 | #define	MIN_AUDIT_FILE_SIZE	(512 * 1024) | |
| 49 | ||
| 50 | /* | |
| 51 | * Minimum noumber of free blocks on the filesystem containing the audit | |
| 52 | * log necessary to avoid a hard log rotation. DO NOT SET THIS VALUE TO 0 | |
| 53 | * as the kernel does an unsigned compare, plus we want to leave a few blocks | |
| 54 | * free so userspace can terminate the log, etc. | |
| 55 | */ | |
| 56 | #define	AUDIT_HARD_LIMIT_FREE_BLOCKS	4 | |
| 57 | ||
| 58 | /* | |
| 59 | * Triggers for the audit daemon. | |
| 60 | */ | |
| 61 | #define	AUDIT_TRIGGER_MIN		1 | |
| 62 | #define	AUDIT_TRIGGER_LOW_SPACE		1	/* Below low watermark. */ | |
| 63 | #define	AUDIT_TRIGGER_ROTATE_KERNEL	2	/* Kernel requests rotate. */ | |
| 64 | #define	AUDIT_TRIGGER_READ_FILE		3	/* Re-read config file. */ | |
| 65 | #define	AUDIT_TRIGGER_CLOSE_AND_DIE	4	/* Terminate audit. */ | |
| 66 | #define	AUDIT_TRIGGER_NO_SPACE		5	/* Below min free space. */ | |
| 67 | #define	AUDIT_TRIGGER_ROTATE_USER	6	/* User requests rotate. */ | |
| 68 | #define	AUDIT_TRIGGER_INITIALIZE	7	/* User initialize of auditd. */ | |
| 69 | #define	AUDIT_TRIGGER_EXPIRE_TRAILS	8	/* User expiration of trails. */ | |
| 70 | #define	AUDIT_TRIGGER_MAX		8 | |
| 71 | ||
| 72 | /* | |
| 73 | * The special device filename (FreeBSD). | |
| 74 | */ | |
| 75 | #define	AUDITDEV_FILENAME	"audit" | |
| 76 | #define	AUDIT_TRIGGER_FILE	("/dev/" AUDITDEV_FILENAME) | |
| 77 | ||
| 78 | /* | |
| 79 | * Pre-defined audit IDs | |
| 80 | */ | |
| 81 | #define	AU_DEFAUDITID	(uid_t)(-1) | |
| 82 | #define	AU_DEFAUDITSID	 0 | |
| 83 | #define	AU_ASSIGN_ASID	-1 | |
| 84 | ||
| 85 | /* | |
| 86 | * IPC types. | |
| 87 | */ | |
| 88 | #define	AT_IPC_MSG	((u_char)1)	/* Message IPC id. */ | |
| 89 | #define	AT_IPC_SEM	((u_char)2)	/* Semaphore IPC id. */ | |
| 90 | #define	AT_IPC_SHM	((u_char)3)	/* Shared mem IPC id. */ | |
| 91 | ||
| 92 | /* | |
| 93 | * Audit conditions. | |
| 94 | */ | |
| 95 | #define	AUC_UNSET		0 | |
| 96 | #define	AUC_AUDITING		1 | |
| 97 | #define	AUC_NOAUDIT		2 | |
| 98 | #define	AUC_DISABLED		-1 | |
| 99 | ||
| 100 | /* | |
| 101 | * auditon(2) commands. | |
| 102 | */ | |
| 103 | #define	A_OLDGETPOLICY	2 | |
| 104 | #define	A_OLDSETPOLICY	3 | |
| 105 | #define	A_GETKMASK	4 | |
| 106 | #define	A_SETKMASK	5 | |
| 107 | #define	A_OLDGETQCTRL	6 | |
| 108 | #define	A_OLDSETQCTRL	7 | |
| 109 | #define	A_GETCWD	8 | |
| 110 | #define	A_GETCAR	9 | |
| 111 | #define	A_GETSTAT	12 | |
| 112 | #define	A_SETSTAT	13 | |
| 113 | #define	A_SETUMASK	14 | |
| 114 | #define	A_SETSMASK	15 | |
| 115 | #define	A_OLDGETCOND	20 | |
| 116 | #define	A_OLDSETCOND	21 | |
| 117 | #define	A_GETCLASS	22 | |
| 118 | #define	A_SETCLASS	23 | |
| 119 | #define	A_GETPINFO	24 | |
| 120 | #define	A_SETPMASK	25 | |
| 121 | #define	A_SETFSIZE	26 | |
| 122 | #define	A_GETFSIZE	27 | |
| 123 | #define	A_GETPINFO_ADDR	28 | |
| 124 | #define	A_GETKAUDIT	29 | |
| 125 | #define	A_SETKAUDIT	30 | |
| 126 | #define	A_SENDTRIGGER	31 | |
| 127 | #define	A_GETSINFO_ADDR	32 | |
| 128 | #define	A_GETPOLICY	33 | |
| 129 | #define	A_SETPOLICY	34 | |
| 130 | #define	A_GETQCTRL	35 | |
| 131 | #define	A_SETQCTRL	36 | |
| 132 | #define	A_GETCOND	37 | |
| 133 | #define	A_SETCOND	38 | |
| 134 | #define	A_GETEVENT	39	/* Get audit event-to-name mapping. */ | |
| 135 | #define	A_SETEVENT	40	/* Set audit event-to-name mapping. */ | |
| 136 | ||
| 137 | /* | |
| 138 | * Audit policy controls. | |
| 139 | */ | |
| 140 | #define	AUDIT_CNT	0x0001 | |
| 141 | #define	AUDIT_AHLT	0x0002 | |
| 142 | #define	AUDIT_ARGV	0x0004 | |
| 143 | #define	AUDIT_ARGE	0x0008 | |
| 144 | #define	AUDIT_SEQ	0x0010 | |
| 145 | #define	AUDIT_WINDATA	0x0020 | |
| 146 | #define	AUDIT_USER	0x0040 | |
| 147 | #define	AUDIT_GROUP	0x0080 | |
| 148 | #define	AUDIT_TRAIL	0x0100 | |
| 149 | #define	AUDIT_PATH	0x0200 | |
| 150 | #define	AUDIT_SCNT	0x0400 | |
| 151 | #define	AUDIT_PUBLIC	0x0800 | |
| 152 | #define	AUDIT_ZONENAME	0x1000 | |
| 153 | #define	AUDIT_PERZONE	0x2000 | |
| 154 | ||
| 155 | /* | |
| 156 | * Default audit queue control parameters. | |
| 157 | */ | |
| 158 | #define	AQ_HIWATER	100 | |
| 159 | #define	AQ_MAXHIGH	10000 | |
| 160 | #define	AQ_LOWATER	10 | |
| 161 | #define	AQ_BUFSZ	MAXAUDITDATA | |
| 162 | #define	AQ_MAXBUFSZ	1048576 | |
| 163 | ||
| 164 | /* | |
| 165 | * Default minimum percentage free space on file system. | |
| 166 | */ | |
| 167 | #define	AU_FS_MINFREE	20 | |
| 168 | ||
| 169 | /* | |
| 170 | * Type definitions used indicating the length of variable length addresses | |
| 171 | * in tokens containing addresses, such as header fields. | |
| 172 | */ | |
| 173 | #define	AU_IPv4		4 | |
| 174 | #define	AU_IPv6		16 | |
| 175 | ||
| 176 | __BEGIN_DECLS | |
| 177 | ||
| 178 | typedef	uid_t		au_id_t; | |
| 179 | typedef	pid_t		au_asid_t; | |
| 180 | typedef	u_int16_t	au_event_t; | |
| 181 | typedef	u_int16_t	au_emod_t; | |
| 182 | typedef	u_int32_t	au_class_t; | |
| 183 | typedef	u_int64_t	au_asflgs_t __attribute__ ((aligned (8))); | |
| 184 | ||
| 185 | struct au_tid { | |
| 186 | 	u_int32_t	port;		/* XXX dev_t compatibility */ | |
| 187 | 	u_int32_t	machine; | |
| 188 | }; | |
| 189 | typedef	struct au_tid	au_tid_t; | |
| 190 | ||
| 191 | struct au_tid_addr { | |
| 192 | 	u_int32_t	at_port;	/* XXX dev_t compatibility */ | |
| 193 | 	u_int32_t	at_type; | |
| 194 | 	u_int32_t	at_addr[4]; | |
| 195 | }; | |
| 196 | typedef	struct au_tid_addr	au_tid_addr_t; | |
| 197 | ||
| 198 | struct au_mask { | |
| 199 | 	unsigned int am_success; /* Success bits. */ | |
| 200 | 	unsigned int am_failure; /* Failure bits. */ | |
| 201 | }; | |
| 202 | typedef	struct au_mask	au_mask_t; | |
| 203 | ||
| 204 | struct auditinfo { | |
| 205 | 	au_id_t		ai_auid;	/* Audit user ID. */ | |
| 206 | 	au_mask_t	ai_mask;	/* Audit masks. */ | |
| 207 | 	au_tid_t	ai_termid;	/* Terminal ID. */ | |
| 208 | 	au_asid_t	ai_asid;	/* Audit session ID. */ | |
| 209 | }; | |
| 210 | typedef	struct auditinfo	auditinfo_t; | |
| 211 | ||
| 212 | struct auditinfo_addr { | |
| 213 | 	au_id_t		ai_auid;	/* Audit user ID. */ | |
| 214 | 	au_mask_t	ai_mask;	/* Audit masks. */ | |
| 215 | 	au_tid_addr_t	ai_termid;	/* Terminal ID. */ | |
| 216 | 	au_asid_t	ai_asid;	/* Audit session ID. */ | |
| 217 | 	au_asflgs_t	ai_flags;	/* Audit session flags. */ | |
| 218 | }; | |
| 219 | typedef	struct auditinfo_addr	auditinfo_addr_t; | |
| 220 | ||
| 221 | struct auditpinfo { | |
| 222 | 	pid_t		ap_pid;		/* ID of target process. */ | |
| 223 | 	au_id_t		ap_auid;	/* Audit user ID. */ | |
| 224 | 	au_mask_t	ap_mask;	/* Audit masks. */ | |
| 225 | 	au_tid_t	ap_termid;	/* Terminal ID. */ | |
| 226 | 	au_asid_t	ap_asid;	/* Audit session ID. */ | |
| 227 | }; | |
| 228 | typedef	struct auditpinfo	auditpinfo_t; | |
| 229 | ||
| 230 | struct auditpinfo_addr { | |
| 231 | 	pid_t		ap_pid;		/* ID of target process. */ | |
| 232 | 	au_id_t		ap_auid;	/* Audit user ID. */ | |
| 233 | 	au_mask_t	ap_mask;	/* Audit masks. */ | |
| 234 | 	au_tid_addr_t	ap_termid;	/* Terminal ID. */ | |
| 235 | 	au_asid_t	ap_asid;	/* Audit session ID. */ | |
| 236 | 	au_asflgs_t	ap_flags;	/* Audit session flags. */ | |
| 237 | }; | |
| 238 | typedef	struct auditpinfo_addr	auditpinfo_addr_t; | |
| 239 | ||
| 240 | struct au_session { | |
| 241 | 	auditinfo_addr_t	*as_aia_p;	/* Ptr to full audit info. */ | |
| 242 | 	au_mask_t		 as_mask;	/* Process Audit Masks. */ | |
| 243 | }; | |
| 244 | typedef struct au_session au_session_t; | |
| 245 | ||
| 246 | /* | |
| 247 | * Contents of token_t are opaque outside of libbsm. | |
| 248 | */ | |
| 249 | typedef	struct au_token	token_t; | |
| 250 | ||
| 251 | /* | |
| 252 | * Kernel audit queue control parameters: | |
| 253 | * 			Default:		Maximum: | |
| 254 | * 	aq_hiwater:	AQ_HIWATER (100)	AQ_MAXHIGH (10000) | |
| 255 | * 	aq_lowater:	AQ_LOWATER (10)		<aq_hiwater | |
| 256 | * 	aq_bufsz:	AQ_BUFSZ (32767)	AQ_MAXBUFSZ (1048576) | |
| 257 | * 	aq_delay:	20			20000 (not used) | |
| 258 | */ | |
| 259 | struct au_qctrl { | |
| 260 | 	int	aq_hiwater;	/* Max # of audit recs in queue when */ | |
| 261 | 				/* threads with new ARs get blocked. */ | |
| 262 | ||
| 263 | 	int	aq_lowater;	/* # of audit recs in queue when */ | |
| 264 | 				/* blocked threads get unblocked. */ | |
| 265 | ||
| 266 | 	int	aq_bufsz;	/* Max size of audit record for audit(2). */ | |
| 267 | 	int	aq_delay;	/* Queue delay (not used). */ | |
| 268 | 	int	aq_minfree;	/* Minimum filesystem percent free space. */ | |
| 269 | }; | |
| 270 | typedef	struct au_qctrl	au_qctrl_t; | |
| 271 | ||
| 272 | /* | |
| 273 | * Structure for the audit statistics. | |
| 274 | */ | |
| 275 | struct audit_stat { | |
| 276 | 	unsigned int	as_version; | |
| 277 | 	unsigned int	as_numevent; | |
| 278 | 	int		as_generated; | |
| 279 | 	int		as_nonattrib; | |
| 280 | 	int		as_kernel; | |
| 281 | 	int		as_audit; | |
| 282 | 	int		as_auditctl; | |
| 283 | 	int		as_enqueue; | |
| 284 | 	int		as_written; | |
| 285 | 	int		as_wblocked; | |
| 286 | 	int		as_rblocked; | |
| 287 | 	int		as_dropped; | |
| 288 | 	int		as_totalsize; | |
| 289 | 	unsigned int	as_memused; | |
| 290 | }; | |
| 291 | typedef	struct audit_stat	au_stat_t; | |
| 292 | ||
| 293 | /* | |
| 294 | * Structure for the audit file statistics. | |
| 295 | */ | |
| 296 | struct audit_fstat { | |
| 297 | 	u_int64_t	af_filesz; | |
| 298 | 	u_int64_t	af_currsz; | |
| 299 | }; | |
| 300 | typedef	struct audit_fstat	au_fstat_t; | |
| 301 | ||
| 302 | /* | |
| 303 | * Audit to event class mapping. | |
| 304 | */ | |
| 305 | struct au_evclass_map { | |
| 306 | 	au_event_t	ec_number; | |
| 307 | 	au_class_t	ec_class; | |
| 308 | }; | |
| 309 | typedef	struct au_evclass_map	au_evclass_map_t; | |
| 310 | ||
| 311 | /* | |
| 312 | * Event-to-name mapping. | |
| 313 | */ | |
| 314 | #define	EVNAMEMAP_NAME_SIZE	64 | |
| 315 | struct au_evname_map { | |
| 316 | 	au_event_t	en_number; | |
| 317 | 	char		en_name[EVNAMEMAP_NAME_SIZE]; | |
| 318 | }; | |
| 319 | typedef struct au_evname_map	au_evname_map_t; | |
| 320 | ||
| 321 | /* | |
| 322 | * Audit system calls. | |
| 323 | */ | |
| 324 | #if !defined(_KERNEL) && !defined(KERNEL) | |
| 325 | int	audit(const void *, int); | |
| 326 | int	auditon(int, void *, int); | |
| 327 | int	auditctl(const char *); | |
| 328 | int	getauid(au_id_t *); | |
| 329 | int	setauid(const au_id_t *); | |
| 330 | int	getaudit(struct auditinfo *); | |
| 331 | int	setaudit(const struct auditinfo *); | |
| 332 | int	getaudit_addr(struct auditinfo_addr *, int); | |
| 333 | int	setaudit_addr(const struct auditinfo_addr *, int); | |
| 334 | ||
| 335 | #ifdef __APPLE_API_PRIVATE | |
| 336 | #include <mach/port.h> | |
| 337 | mach_port_name_t audit_session_self(void); | |
| 338 | au_asid_t	 audit_session_join(mach_port_name_t port); | |
| 339 | #endif /* __APPLE_API_PRIVATE */ | |
| 340 | ||
| 341 | #endif /* defined(_KERNEL) || defined(KERNEL) */ | |
| 342 | ||
| 343 | __END_DECLS | |
| 344 | ||
| 345 | #endif /* !_BSM_AUDIT_H */ |
lib/libc/include/generic-freebsd/bsm/audit_domain.h created+114| ... | ... | @@ -0,0 +1,114 @@ |
| 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 | ||
| 32 | #ifndef _BSM_AUDIT_DOMAIN_H_ | |
| 33 | #define	_BSM_AUDIT_DOMAIN_H_ | |
| 34 | ||
| 35 | /* | |
| 36 | * BSM protocol domain constants - protocol domains defined in Solaris. | |
| 37 | */ | |
| 38 | #define	BSM_PF_UNSPEC		0 | |
| 39 | #define	BSM_PF_LOCAL		1 | |
| 40 | #define	BSM_PF_INET		2 | |
| 41 | #define	BSM_PF_IMPLINK		3 | |
| 42 | #define	BSM_PF_PUP		4 | |
| 43 | #define	BSM_PF_CHAOS		5 | |
| 44 | #define	BSM_PF_NS		6 | |
| 45 | #define	BSM_PF_NBS		7	/* Solaris-specific. */ | |
| 46 | #define	BSM_PF_ECMA		8 | |
| 47 | #define	BSM_PF_DATAKIT		9 | |
| 48 | #define	BSM_PF_CCITT		10 | |
| 49 | #define	BSM_PF_SNA		11 | |
| 50 | #define	BSM_PF_DECnet		12 | |
| 51 | #define	BSM_PF_DLI		13 | |
| 52 | #define	BSM_PF_LAT		14 | |
| 53 | #define	BSM_PF_HYLINK		15 | |
| 54 | #define	BSM_PF_APPLETALK	16 | |
| 55 | #define	BSM_PF_NIT		17	/* Solaris-specific. */ | |
| 56 | #define	BSM_PF_802		18	/* Solaris-specific. */ | |
| 57 | #define	BSM_PF_OSI		19 | |
| 58 | #define	BSM_PF_X25		20	/* Solaris/Linux-specific. */ | |
| 59 | #define	BSM_PF_OSINET		21	/* Solaris-specific. */ | |
| 60 | #define	BSM_PF_GOSIP		22	/* Solaris-specific. */ | |
| 61 | #define	BSM_PF_IPX		23 | |
| 62 | #define	BSM_PF_ROUTE		24 | |
| 63 | #define	BSM_PF_LINK		25 | |
| 64 | #define	BSM_PF_INET6		26 | |
| 65 | #define	BSM_PF_KEY		27 | |
| 66 | #define	BSM_PF_NCA		28	/* Solaris-specific. */ | |
| 67 | #define	BSM_PF_POLICY		29	/* Solaris-specific. */ | |
| 68 | #define	BSM_PF_INET_OFFLOAD	30	/* Solaris-specific. */ | |
| 69 | ||
| 70 | /* | |
| 71 | * BSM protocol domain constants - protocol domains not defined in Solaris. | |
| 72 | */ | |
| 73 | #define	BSM_PF_NETBIOS		500	/* FreeBSD/Darwin-specific. */ | |
| 74 | #define	BSM_PF_ISO		501	/* FreeBSD/Darwin-specific. */ | |
| 75 | #define	BSM_PF_XTP		502	/* FreeBSD/Darwin-specific. */ | |
| 76 | #define	BSM_PF_COIP		503	/* FreeBSD/Darwin-specific. */ | |
| 77 | #define	BSM_PF_CNT		504	/* FreeBSD/Darwin-specific. */ | |
| 78 | #define	BSM_PF_RTIP		505	/* FreeBSD/Darwin-specific. */ | |
| 79 | #define	BSM_PF_SIP		506	/* FreeBSD/Darwin-specific. */ | |
| 80 | #define	BSM_PF_PIP		507	/* FreeBSD/Darwin-specific. */ | |
| 81 | #define	BSM_PF_ISDN		508	/* FreeBSD/Darwin-specific. */ | |
| 82 | #define	BSM_PF_E164		509	/* FreeBSD/Darwin-specific. */ | |
| 83 | #define	BSM_PF_NATM		510	/* FreeBSD/Darwin-specific. */ | |
| 84 | #define	BSM_PF_ATM		511	/* FreeBSD/Darwin-specific. */ | |
| 85 | #define	BSM_PF_NETGRAPH		512	/* FreeBSD/Darwin-specific. */ | |
| 86 | #define	BSM_PF_SLOW		513	/* FreeBSD-specific. */ | |
| 87 | #define	BSM_PF_SCLUSTER		514	/* FreeBSD-specific. */ | |
| 88 | #define	BSM_PF_ARP		515	/* FreeBSD-specific. */ | |
| 89 | #define	BSM_PF_BLUETOOTH	516	/* FreeBSD-specific. */ | |
| 90 | 					/* 517: unallocated. */ | |
| 91 | #define	BSM_PF_AX25		518	/* Linux-specific. */ | |
| 92 | #define	BSM_PF_ROSE		519	/* Linux-specific. */ | |
| 93 | #define	BSM_PF_NETBEUI		520	/* Linux-specific. */ | |
| 94 | #define	BSM_PF_SECURITY		521	/* Linux-specific. */ | |
| 95 | #define	BSM_PF_PACKET		522	/* Linux-specific. */ | |
| 96 | #define	BSM_PF_ASH		523	/* Linux-specific. */ | |
| 97 | #define	BSM_PF_ECONET		524	/* Linux-specific. */ | |
| 98 | #define	BSM_PF_ATMSVC		525	/* Linux-specific. */ | |
| 99 | #define	BSM_PF_IRDA		526	/* Linux-specific. */ | |
| 100 | #define	BSM_PF_PPPOX		527	/* Linux-specific. */ | |
| 101 | #define	BSM_PF_WANPIPE		528	/* Linux-specific. */ | |
| 102 | #define	BSM_PF_LLC		529	/* Linux-specific. */ | |
| 103 | #define	BSM_PF_CAN		530	/* Linux-specific. */ | |
| 104 | #define	BSM_PF_TIPC		531	/* Linux-specific. */ | |
| 105 | #define	BSM_PF_IUCV		532	/* Linux-specific. */ | |
| 106 | #define	BSM_PF_RXRPC		533	/* Linux-specific. */ | |
| 107 | #define	BSM_PF_PHONET		534	/* Linux-specific. */ | |
| 108 | ||
| 109 | /* | |
| 110 | * Used when there is no mapping from a local to BSM protocol domain. | |
| 111 | */ | |
| 112 | #define	BSM_PF_UNKNOWN		700	/* OpenBSM-specific. */ | |
| 113 | ||
| 114 | #endif /* !_BSM_AUDIT_DOMAIN_H_ */ |
lib/libc/include/generic-freebsd/bsm/audit_errno.h created+217| ... | ... | @@ -0,0 +1,217 @@ |
| 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 | ||
| 32 | #ifndef _BSM_AUDIT_ERRNO_H_ | |
| 33 | #define	_BSM_AUDIT_ERRNO_H_ | |
| 34 | ||
| 35 | /* | |
| 36 | * For the purposes of portable encoding, we convert between local error | |
| 37 | * numbers and Solaris error numbers (as well as some extensions for error | |
| 38 | * numbers that don't exist in Solaris). Although the first 35 or so | |
| 39 | * constants are the same across all OS's, we don't handle that in any | |
| 40 | * special way. | |
| 41 | * | |
| 42 | * When adding constants here, also add them to bsm_errno.c. | |
| 43 | */ | |
| 44 | #define	BSM_ERRNO_ESUCCESS		0 | |
| 45 | #define	BSM_ERRNO_EPERM			1 | |
| 46 | #define	BSM_ERRNO_ENOENT		2 | |
| 47 | #define	BSM_ERRNO_ESRCH			3 | |
| 48 | #define	BSM_ERRNO_EINTR			4 | |
| 49 | #define	BSM_ERRNO_EIO			5 | |
| 50 | #define	BSM_ERRNO_ENXIO			6 | |
| 51 | #define	BSM_ERRNO_E2BIG			7 | |
| 52 | #define	BSM_ERRNO_ENOEXEC		8 | |
| 53 | #define	BSM_ERRNO_EBADF			9 | |
| 54 | #define	BSM_ERRNO_ECHILD		10 | |
| 55 | #define	BSM_ERRNO_EAGAIN		11 | |
| 56 | #define	BSM_ERRNO_ENOMEM		12 | |
| 57 | #define	BSM_ERRNO_EACCES		13 | |
| 58 | #define	BSM_ERRNO_EFAULT		14 | |
| 59 | #define	BSM_ERRNO_ENOTBLK		15 | |
| 60 | #define	BSM_ERRNO_EBUSY			16 | |
| 61 | #define	BSM_ERRNO_EEXIST		17 | |
| 62 | #define	BSM_ERRNO_EXDEV			18 | |
| 63 | #define	BSM_ERRNO_ENODEV		19 | |
| 64 | #define	BSM_ERRNO_ENOTDIR		20 | |
| 65 | #define	BSM_ERRNO_EISDIR		21 | |
| 66 | #define	BSM_ERRNO_EINVAL		22 | |
| 67 | #define	BSM_ERRNO_ENFILE		23 | |
| 68 | #define	BSM_ERRNO_EMFILE		24 | |
| 69 | #define	BSM_ERRNO_ENOTTY		25 | |
| 70 | #define	BSM_ERRNO_ETXTBSY		26 | |
| 71 | #define	BSM_ERRNO_EFBIG			27 | |
| 72 | #define	BSM_ERRNO_ENOSPC		28 | |
| 73 | #define	BSM_ERRNO_ESPIPE		29 | |
| 74 | #define	BSM_ERRNO_EROFS			30 | |
| 75 | #define	BSM_ERRNO_EMLINK		31 | |
| 76 | #define	BSM_ERRNO_EPIPE			32 | |
| 77 | #define	BSM_ERRNO_EDOM			33 | |
| 78 | #define	BSM_ERRNO_ERANGE		34 | |
| 79 | #define	BSM_ERRNO_ENOMSG		35 | |
| 80 | #define	BSM_ERRNO_EIDRM			36 | |
| 81 | #define	BSM_ERRNO_ECHRNG		37	/* Solaris/Linux-specific. */ | |
| 82 | #define	BSM_ERRNO_EL2NSYNC		38	/* Solaris/Linux-specific. */ | |
| 83 | #define	BSM_ERRNO_EL3HLT		39	/* Solaris/Linux-specific. */ | |
| 84 | #define	BSM_ERRNO_EL3RST		40	/* Solaris/Linux-specific. */ | |
| 85 | #define	BSM_ERRNO_ELNRNG		41	/* Solaris/Linux-specific. */ | |
| 86 | #define	BSM_ERRNO_EUNATCH		42	/* Solaris/Linux-specific. */ | |
| 87 | #define	BSM_ERRNO_ENOCSI		43	/* Solaris/Linux-specific. */ | |
| 88 | #define	BSM_ERRNO_EL2HLT		44	/* Solaris/Linux-specific. */ | |
| 89 | #define	BSM_ERRNO_EDEADLK		45 | |
| 90 | #define	BSM_ERRNO_ENOLCK		46 | |
| 91 | #define	BSM_ERRNO_ECANCELED		47 | |
| 92 | #define	BSM_ERRNO_ENOTSUP		48 | |
| 93 | #define	BSM_ERRNO_EDQUOT		49 | |
| 94 | #define	BSM_ERRNO_EBADE			50	/* Solaris/Linux-specific. */ | |
| 95 | #define	BSM_ERRNO_EBADR			51	/* Solaris/Linux-specific. */ | |
| 96 | #define	BSM_ERRNO_EXFULL		52	/* Solaris/Linux-specific. */ | |
| 97 | #define	BSM_ERRNO_ENOANO		53	/* Solaris/Linux-specific. */ | |
| 98 | #define	BSM_ERRNO_EBADRQC		54	/* Solaris/Linux-specific. */ | |
| 99 | #define	BSM_ERRNO_EBADSLT		55	/* Solaris/Linux-specific. */ | |
| 100 | #define	BSM_ERRNO_EDEADLOCK		56	/* Solaris-specific. */ | |
| 101 | #define	BSM_ERRNO_EBFONT		57	/* Solaris/Linux-specific. */ | |
| 102 | #define	BSM_ERRNO_EOWNERDEAD		58	/* Solaris/Linux-specific. */ | |
| 103 | #define	BSM_ERRNO_ENOTRECOVERABLE	59	/* Solaris/Linux-specific. */ | |
| 104 | #define	BSM_ERRNO_ENOSTR		60	/* Solaris/Darwin/Linux-specific. */ | |
| 105 | #define	BSM_ERRNO_ENODATA		61	/* Solaris/Darwin/Linux-specific. */ | |
| 106 | #define	BSM_ERRNO_ETIME			62	/* Solaris/Darwin/Linux-specific. */ | |
| 107 | #define	BSM_ERRNO_ENOSR			63	/* Solaris/Darwin/Linux-specific. */ | |
| 108 | #define	BSM_ERRNO_ENONET		64	/* Solaris/Linux-specific. */ | |
| 109 | #define	BSM_ERRNO_ENOPKG		65	/* Solaris/Linux-specific. */ | |
| 110 | #define	BSM_ERRNO_EREMOTE		66 | |
| 111 | #define	BSM_ERRNO_ENOLINK		67 | |
| 112 | #define	BSM_ERRNO_EADV			68	/* Solaris/Linux-specific. */ | |
| 113 | #define	BSM_ERRNO_ESRMNT		69	/* Solaris/Linux-specific. */ | |
| 114 | #define	BSM_ERRNO_ECOMM			70	/* Solaris/Linux-specific. */ | |
| 115 | #define	BSM_ERRNO_EPROTO		71 | |
| 116 | #define	BSM_ERRNO_ELOCKUNMAPPED		72	/* Solaris-specific. */ | |
| 117 | #define	BSM_ERRNO_ENOTACTIVE		73	/* Solaris-specific. */ | |
| 118 | #define	BSM_ERRNO_EMULTIHOP		74 | |
| 119 | #define	BSM_ERRNO_EBADMSG		77 | |
| 120 | #define	BSM_ERRNO_ENAMETOOLONG		78 | |
| 121 | #define	BSM_ERRNO_EOVERFLOW		79 | |
| 122 | #define	BSM_ERRNO_ENOTUNIQ		80	/* Solaris/Linux-specific. */ | |
| 123 | #define	BSM_ERRNO_EBADFD		81	/* Solaris/Linux-specific. */ | |
| 124 | #define	BSM_ERRNO_EREMCHG		82	/* Solaris/Linux-specific. */ | |
| 125 | #define	BSM_ERRNO_ELIBACC		83	/* Solaris/Linux-specific. */ | |
| 126 | #define	BSM_ERRNO_ELIBBAD		84	/* Solaris/Linux-specific. */ | |
| 127 | #define	BSM_ERRNO_ELIBSCN		85	/* Solaris/Linux-specific. */ | |
| 128 | #define	BSM_ERRNO_ELIBMAX		86	/* Solaris/Linux-specific. */ | |
| 129 | #define	BSM_ERRNO_ELIBEXEC		87	/* Solaris/Linux-specific. */ | |
| 130 | #define	BSM_ERRNO_EILSEQ		88 | |
| 131 | #define	BSM_ERRNO_ENOSYS		89 | |
| 132 | #define	BSM_ERRNO_ELOOP			90 | |
| 133 | #define	BSM_ERRNO_ERESTART		91 | |
| 134 | #define	BSM_ERRNO_ESTRPIPE		92	/* Solaris/Linux-specific. */ | |
| 135 | #define	BSM_ERRNO_ENOTEMPTY		93 | |
| 136 | #define	BSM_ERRNO_EUSERS		94 | |
| 137 | #define	BSM_ERRNO_ENOTSOCK		95 | |
| 138 | #define	BSM_ERRNO_EDESTADDRREQ		96 | |
| 139 | #define	BSM_ERRNO_EMSGSIZE		97 | |
| 140 | #define	BSM_ERRNO_EPROTOTYPE		98 | |
| 141 | #define	BSM_ERRNO_ENOPROTOOPT		99 | |
| 142 | #define	BSM_ERRNO_EPROTONOSUPPORT	120 | |
| 143 | #define	BSM_ERRNO_ESOCKTNOSUPPORT	121 | |
| 144 | #define	BSM_ERRNO_EOPNOTSUPP		122 | |
| 145 | #define	BSM_ERRNO_EPFNOSUPPORT		123 | |
| 146 | #define	BSM_ERRNO_EAFNOSUPPORT		124 | |
| 147 | #define	BSM_ERRNO_EADDRINUSE		125 | |
| 148 | #define	BSM_ERRNO_EADDRNOTAVAIL		126 | |
| 149 | #define	BSM_ERRNO_ENETDOWN		127 | |
| 150 | #define	BSM_ERRNO_ENETUNREACH		128 | |
| 151 | #define	BSM_ERRNO_ENETRESET		129 | |
| 152 | #define	BSM_ERRNO_ECONNABORTED		130 | |
| 153 | #define	BSM_ERRNO_ECONNRESET		131 | |
| 154 | #define	BSM_ERRNO_ENOBUFS		132 | |
| 155 | #define	BSM_ERRNO_EISCONN		133 | |
| 156 | #define	BSM_ERRNO_ENOTCONN		134 | |
| 157 | #define	BSM_ERRNO_ESHUTDOWN		143 | |
| 158 | #define	BSM_ERRNO_ETOOMANYREFS		144 | |
| 159 | #define	BSM_ERRNO_ETIMEDOUT		145 | |
| 160 | #define	BSM_ERRNO_ECONNREFUSED		146 | |
| 161 | #define	BSM_ERRNO_EHOSTDOWN		147 | |
| 162 | #define	BSM_ERRNO_EHOSTUNREACH		148 | |
| 163 | #define	BSM_ERRNO_EALREADY		149 | |
| 164 | #define	BSM_ERRNO_EINPROGRESS		150 | |
| 165 | #define	BSM_ERRNO_ESTALE		151 | |
| 166 | ||
| 167 | /* | |
| 168 | * OpenBSM constants for error numbers not defined in Solaris. In the event | |
| 169 | * that these errors are added to Solaris, we will deprecate the OpenBSM | |
| 170 | * numbers in the same way we do for audit event constants. | |
| 171 | * | |
| 172 | * ELAST doesn't get a constant in the BSM space. | |
| 173 | */ | |
| 174 | #define	BSM_ERRNO_EPROCLIM		190	/* FreeBSD/Darwin-specific. */ | |
| 175 | #define	BSM_ERRNO_EBADRPC		191	/* FreeBSD/Darwin-specific. */ | |
| 176 | #define	BSM_ERRNO_ERPCMISMATCH		192	/* FreeBSD/Darwin-specific. */ | |
| 177 | #define	BSM_ERRNO_EPROGUNAVAIL		193	/* FreeBSD/Darwin-specific. */ | |
| 178 | #define	BSM_ERRNO_EPROGMISMATCH		194	/* FreeBSD/Darwin-specific. */ | |
| 179 | #define	BSM_ERRNO_EPROCUNAVAIL		195	/* FreeBSD/Darwin-specific. */ | |
| 180 | #define	BSM_ERRNO_EFTYPE		196	/* FreeBSD/Darwin-specific. */ | |
| 181 | #define	BSM_ERRNO_EAUTH			197	/* FreeBSD/Darwin-specific. */ | |
| 182 | #define	BSM_ERRNO_ENEEDAUTH		198	/* FreeBSD/Darwin-specific. */ | |
| 183 | #define	BSM_ERRNO_ENOATTR		199	/* FreeBSD/Darwin-specific. */ | |
| 184 | #define	BSM_ERRNO_EDOOFUS		200	/* FreeBSD-specific. */ | |
| 185 | #define	BSM_ERRNO_EJUSTRETURN		201	/* FreeBSD-specific. */ | |
| 186 | #define	BSM_ERRNO_ENOIOCTL		202	/* FreeBSD-specific. */ | |
| 187 | #define	BSM_ERRNO_EDIRIOCTL		203	/* FreeBSD-specific. */ | |
| 188 | #define	BSM_ERRNO_EPWROFF		204	/* Darwin-specific. */ | |
| 189 | #define	BSM_ERRNO_EDEVERR		205	/* Darwin-specific. */ | |
| 190 | #define	BSM_ERRNO_EBADEXEC		206	/* Darwin-specific. */ | |
| 191 | #define	BSM_ERRNO_EBADARCH		207	/* Darwin-specific. */ | |
| 192 | #define	BSM_ERRNO_ESHLIBVERS		208	/* Darwin-specific. */ | |
| 193 | #define	BSM_ERRNO_EBADMACHO		209	/* Darwin-specific. */ | |
| 194 | #define	BSM_ERRNO_EPOLICY		210	/* Darwin-specific. */ | |
| 195 | #define	BSM_ERRNO_EDOTDOT		211	/* Linux-specific. */ | |
| 196 | #define	BSM_ERRNO_EUCLEAN		212	/* Linux-specific. */ | |
| 197 | #define	BSM_ERRNO_ENOTNAM		213	/* Linux(Xenix?)-specific. */ | |
| 198 | #define	BSM_ERRNO_ENAVAIL		214	/* Linux(Xenix?)-specific. */ | |
| 199 | #define	BSM_ERRNO_EISNAM		215	/* Linux(Xenix?)-specific. */ | |
| 200 | #define	BSM_ERRNO_EREMOTEIO		216	/* Linux-specific. */ | |
| 201 | #define	BSM_ERRNO_ENOMEDIUM		217	/* Linux-specific. */ | |
| 202 | #define	BSM_ERRNO_EMEDIUMTYPE		218	/* Linux-specific. */ | |
| 203 | #define	BSM_ERRNO_ENOKEY		219	/* Linux-specific. */ | |
| 204 | #define	BSM_ERRNO_EKEYEXPIRED		220	/* Linux-specific. */ | |
| 205 | #define	BSM_ERRNO_EKEYREVOKED		221	/* Linux-specific. */ | |
| 206 | #define	BSM_ERRNO_EKEYREJECTED		222	/* Linux-specific. */ | |
| 207 | #define	BSM_ERRNO_ENOTCAPABLE		223	/* FreeBSD-specific. */ | |
| 208 | #define	BSM_ERRNO_ECAPMODE		224	/* FreeBSD-specific. */ | |
| 209 | #define	BSM_ERRNO_EINTEGRITY		225	/* FreeBSD-specific. */ | |
| 210 | ||
| 211 | /* | |
| 212 | * In the event that OpenBSM doesn't have a file representation of a local | |
| 213 | * error number, use this. | |
| 214 | */ | |
| 215 | #define	BSM_ERRNO_UNKNOWN		250	/* OpenBSM-specific. */ | |
| 216 | ||
| 217 | #endif /* !_BSM_AUDIT_ERRNO_H_ */ |
lib/libc/include/generic-freebsd/bsm/audit_fcntl.h created+140| ... | ... | @@ -0,0 +1,140 @@ |
| 1 | /*- | |
| 2 | * SPDX-License-Identifier: BSD-3-Clause | |
| 3 | * | |
| 4 | * Copyright (c) 2009 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 | ||
| 32 | #ifndef	_BSM_AUDIT_FCNTL_H_ | |
| 33 | #define	_BSM_AUDIT_FCNTL_H_ | |
| 34 | ||
| 35 | /* | |
| 36 | * Shared and Solaris-specific: (0-99). | |
| 37 | */ | |
| 38 | #define	BSM_F_DUPFD		0 | |
| 39 | #define	BSM_F_GETFD		1 | |
| 40 | #define	BSM_F_SETFD		2 | |
| 41 | #define	BSM_F_GETFL		3 | |
| 42 | #define	BSM_F_SETFL		4 | |
| 43 | #define	BSM_F_O_GETLK		5	/* Solaris-specific. */ | |
| 44 | #define	BSM_F_SETLK		6 | |
| 45 | #define	BSM_F_SETLKW		7 | |
| 46 | #define	BSM_F_CHKFL		8	/* Solaris-specific. */ | |
| 47 | #define	BSM_F_DUP2FD		9	/* FreeBSD/Solaris-specific. */ | |
| 48 | #define	BSM_F_ALLOCSP		10	/* Solaris-specific. */ | |
| 49 | #define	BSM_F_FREESP		11	/* Solaris-specific. */ | |
| 50 | ||
| 51 | #define	BSM_F_ISSTREAM		13	/* Solaris-specific. */ | |
| 52 | #define	BSM_F_GETLK		14	 | |
| 53 | #define	BSM_F_PRIV		15	/* Solaris-specific. */ | |
| 54 | #define	BSM_F_NPRIV		16	/* Solaris-specific. */ | |
| 55 | #define	BSM_F_QUOTACTL		17	/* Solaris-specific. */ | |
| 56 | #define	BSM_F_BLOCKS		18	/* Solaris-specific. */ | |
| 57 | #define	BSM_F_BLKSIZE		19	/* Solaris-specific. */ | |
| 58 | ||
| 59 | #define	BSM_F_GETOWN		23 | |
| 60 | #define	BSM_F_SETOWN		24 | |
| 61 | #define	BSM_F_REVOKE		25	/* Solaris-specific. */ | |
| 62 | #define	BSM_F_HASREMOTELOCKS	26	/* Solaris-specific. */ | |
| 63 | #define	BSM_F_FREESP64		27	/* Solaris-specific. */ | |
| 64 | #define	BSM_F_ALLOCSP64		28	/* Solaris-specific. */ | |
| 65 | ||
| 66 | #define	BSM_F_GETLK64		33	/* Solaris-specific. */ | |
| 67 | #define	BSM_F_SETLK64		34	/* Solaris-specific. */ | |
| 68 | #define	BSM_F_SETLKW64		35	/* Solaris-specific. */ | |
| 69 | ||
| 70 | #define	BSM_F_SHARE		40	/* Solaris-specific. */ | |
| 71 | #define	BSM_F_UNSHARE		41 	/* Solaris-specific. */ | |
| 72 | #define	BSM_F_SETLK_NBMAND	42	/* Solaris-specific. */ | |
| 73 | #define	BSM_F_SHARE_NBMAND	43	/* Solaris-specific. */ | |
| 74 | #define	BSM_F_SETLK64_NBMAND	44 	/* Solaris-specific. */ | |
| 75 | #define	BSM_F_GETXFL		45	/* Solaris-specific. */ | |
| 76 | #define	BSM_F_BADFD		46	/* Solaris-specific. */ | |
| 77 | ||
| 78 | /* | |
| 79 | * FreeBSD-specific (100-199). | |
| 80 | */ | |
| 81 | #define	BSM_F_OGETLK		107	/* FreeBSD-specific. */ | |
| 82 | #define	BSM_F_OSETLK		108	/* FreeBSD-specific. */ | |
| 83 | #define	BSM_F_OSETLKW		109	/* FreeBSD-specific. */ | |
| 84 | ||
| 85 | #define	BSM_F_SETLK_REMOTE	114	/* FreeBSD-specific. */ | |
| 86 | ||
| 87 | /* | |
| 88 | * Linux-specific (200-299). | |
| 89 | */ | |
| 90 | #define	BSM_F_SETSIG		210	/* Linux-specific. */ | |
| 91 | #define	BSM_F_GETSIG		211	/* Linux-specific. */ | |
| 92 | ||
| 93 | /* | |
| 94 | * Darwin-specific (300-399). | |
| 95 | */ | |
| 96 | #define	BSM_F_CHKCLEAN 		341	/* Darwin-specific. */ | |
| 97 | #define	BSM_F_PREALLOCATE	342	/* Darwin-specific. */ | |
| 98 | #define	BSM_F_SETSIZE		343	/* Darwin-specific. */ | |
| 99 | #define	BSM_F_RDADVISE		344	/* Darwin-specific. */ | |
| 100 | #define	BSM_F_RDAHEAD		345	/* Darwin-specific. */ | |
| 101 | #define	BSM_F_READBOOTSTRAP	346	/* Darwin-specific. */ | |
| 102 | #define	BSM_F_WRITEBOOTSTRAP	347	/* Darwin-specific. */ | |
| 103 | #define	BSM_F_NOCACHE		348	/* Darwin-specific. */ | |
| 104 | #define	BSM_F_LOG2PHYS		349	/* Darwin-specific. */ | |
| 105 | #define	BSM_F_GETPATH		350	/* Darwin-specific. */ | |
| 106 | #define	BSM_F_FULLFSYNC		351	/* Darwin-specific. */ | |
| 107 | #define	BSM_F_PATHPKG_CHECK	352	/* Darwin-specific. */ | |
| 108 | #define	BSM_F_FREEZE_FS		353	/* Darwin-specific. */ | |
| 109 | #define	BSM_F_THAW_FS		354	/* Darwin-specific. */ | |
| 110 | #define	BSM_F_GLOBAL_NOCACHE	355	/* Darwin-specific. */ | |
| 111 | #define	BSM_F_OPENFROM		356	/* Darwin-specific. */ | |
| 112 | #define	BSM_F_UNLINKFROM	357	/* Darwin-specific. */ | |
| 113 | #define	BSM_F_CHECK_OPENEVT	358	/* Darwin-specific. */ | |
| 114 | #define	BSM_F_ADDSIGS		359	/* Darwin-specific. */ | |
| 115 | #define	BSM_F_MARKDEPENDENCY	360	/* Darwin-specific. */ | |
| 116 | ||
| 117 | /* | |
| 118 | * Darwin file system specific (400-499). | |
| 119 | */ | |
| 120 | #define	BSM_F_FS_SPECIFIC_0	400	/* Darwin-fs-specific. */ | |
| 121 | #define	BSM_F_FS_SPECIFIC_1	401	/* Darwin-fs-specific. */ | |
| 122 | #define	BSM_F_FS_SPECIFIC_2	402	/* Darwin-fs-specific. */ | |
| 123 | #define	BSM_F_FS_SPECIFIC_3	403	/* Darwin-fs-specific. */ | |
| 124 | #define	BSM_F_FS_SPECIFIC_4	404	/* Darwin-fs-specific. */ | |
| 125 | #define	BSM_F_FS_SPECIFIC_5	405	/* Darwin-fs-specific. */ | |
| 126 | #define	BSM_F_FS_SPECIFIC_6	406	/* Darwin-fs-specific. */ | |
| 127 | #define	BSM_F_FS_SPECIFIC_7	407	/* Darwin-fs-specific. */ | |
| 128 | #define	BSM_F_FS_SPECIFIC_8	408	/* Darwin-fs-specific. */ | |
| 129 | #define	BSM_F_FS_SPECIFIC_9	409	/* Darwin-fs-specific. */ | |
| 130 | #define	BSM_F_FS_SPECIFIC_10	410	/* Darwin-fs-specific. */ | |
| 131 | #define	BSM_F_FS_SPECIFIC_11	411	/* Darwin-fs-specific. */ | |
| 132 | #define	BSM_F_FS_SPECIFIC_12	412	/* Darwin-fs-specific. */ | |
| 133 | #define	BSM_F_FS_SPECIFIC_13	413	/* Darwin-fs-specific. */ | |
| 134 | #define	BSM_F_FS_SPECIFIC_14	414	/* Darwin-fs-specific. */ | |
| 135 | #define	BSM_F_FS_SPECIFIC_15	415	/* Darwin-fs-specific. */ | |
| 136 | ||
| 137 | ||
| 138 | #define	BSM_F_UNKNOWN		0xFFFF	 | |
| 139 | ||
| 140 | #endif /* !_BSM_AUDIT_FCNTL_H_ */ |
lib/libc/include/generic-freebsd/bsm/audit_internal.h created+117| ... | ... | @@ -0,0 +1,117 @@ |
| 1 | /*- | |
| 2 | * SPDX-License-Identifier: BSD-3-Clause | |
| 3 | * | |
| 4 | * Copyright (c) 2005-2008 Apple Inc. | |
| 5 | * Copyright (c) 2005 SPARTA, Inc. | |
| 6 | * All rights reserved. | |
| 7 | * | |
| 8 | * This code was developed in part by Robert N. M. Watson, Senior Principal | |
| 9 | * Scientist, SPARTA, Inc. | |
| 10 | * | |
| 11 | * Redistribution and use in source and binary forms, with or without | |
| 12 | * modification, are permitted provided that the following conditions | |
| 13 | * are met: | |
| 14 | * | |
| 15 | * 1. Redistributions of source code must retain the above copyright | |
| 16 | * notice, this list of conditions and the following disclaimer. | |
| 17 | * 2. Redistributions in binary form must reproduce the above copyright | |
| 18 | * notice, this list of conditions and the following disclaimer in the | |
| 19 | * documentation and/or other materials provided with the distribution. | |
| 20 | * 3. Neither the name of Apple Inc. ("Apple") nor the names of | |
| 21 | * its contributors may be used to endorse or promote products derived | |
| 22 | * from this software without specific prior written permission. | |
| 23 | * | |
| 24 | * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY | |
| 25 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |
| 26 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |
| 27 | * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY | |
| 28 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | |
| 29 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | |
| 30 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | |
| 31 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
| 32 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | |
| 33 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
| 34 | */ | |
| 35 | ||
| 36 | #ifndef _AUDIT_INTERNAL_H | |
| 37 | #define	_AUDIT_INTERNAL_H | |
| 38 | ||
| 39 | #if defined(__linux__) && !defined(__unused) | |
| 40 | #define	__unused | |
| 41 | #endif | |
| 42 | ||
| 43 | /* | |
| 44 | * audit_internal.h contains private interfaces that are shared by user space | |
| 45 | * and the kernel for the purposes of assembling audit records. Applications | |
| 46 | * should not include this file or use the APIs found within, or it may be | |
| 47 | * broken with future releases of OpenBSM, which may delete, modify, or | |
| 48 | * otherwise break these interfaces or the assumptions they rely on. | |
| 49 | */ | |
| 50 | struct au_token { | |
| 51 | 	u_char			*t_data; | |
| 52 | 	size_t			 len; | |
| 53 | 	TAILQ_ENTRY(au_token)	 tokens; | |
| 54 | }; | |
| 55 | ||
| 56 | struct au_record { | |
| 57 | 	char			 used;		/* Record currently in use? */ | |
| 58 | 	int			 desc;		/* Descriptor for record. */ | |
| 59 | 	TAILQ_HEAD(, au_token)	 token_q;	/* Queue of BSM tokens. */ | |
| 60 | 	u_char			*data; | |
| 61 | 	size_t			 len; | |
| 62 | 	LIST_ENTRY(au_record)	 au_rec_q; | |
| 63 | }; | |
| 64 | typedef	struct au_record	au_record_t; | |
| 65 | ||
| 66 | ||
| 67 | /* | |
| 68 | * We could determined the header and trailer sizes by defining appropriate | |
| 69 | * structures. We hold off that approach until we have a consistent way of | |
| 70 | * using structures for all tokens. This is not straightforward since these | |
| 71 | * token structures may contain pointers of whose contents we do not know the | |
| 72 | * size (e.g text tokens). | |
| 73 | */ | |
| 74 | #define	AUDIT_HEADER_EX_SIZE(a)	((a)->ai_termid.at_type+18+sizeof(u_int32_t)) | |
| 75 | #define	AUDIT_HEADER_SIZE	18 | |
| 76 | #define	MAX_AUDIT_HEADER_SIZE	(5*sizeof(u_int32_t)+18) | |
| 77 | #define	AUDIT_TRAILER_SIZE	7 | |
| 78 | ||
| 79 | /* | |
| 80 | * BSM token streams store fields in big endian byte order, so as to be | |
| 81 | * portable; when encoding and decoding, we must convert byte orders for | |
| 82 | * typed values. | |
| 83 | */ | |
| 84 | #define	ADD_U_CHAR(loc, val)						\ | |
| 85 | 	do {								\ | |
| 86 | 		*(loc) = (val);						\ | |
| 87 | 		(loc) += sizeof(u_char);				\ | |
| 88 | 	} while(0) | |
| 89 | ||
| 90 | ||
| 91 | #define	ADD_U_INT16(loc, val)						\ | |
| 92 | 	do {								\ | |
| 93 | 		be16enc((loc), (val));					\ | |
| 94 | 		(loc) += sizeof(u_int16_t);				\ | |
| 95 | 	} while(0) | |
| 96 | ||
| 97 | #define	ADD_U_INT32(loc, val)						\ | |
| 98 | 	do {								\ | |
| 99 | 		be32enc((loc), (val));					\ | |
| 100 | 		(loc) += sizeof(u_int32_t);				\ | |
| 101 | 	} while(0) | |
| 102 | ||
| 103 | #define	ADD_U_INT64(loc, val)						\ | |
| 104 | 	do {								\ | |
| 105 | 		be64enc((loc), (val));					\ | |
| 106 | 		(loc) += sizeof(u_int64_t); 				\ | |
| 107 | 	} while(0) | |
| 108 | ||
| 109 | #define	ADD_MEM(loc, data, size)					\ | |
| 110 | 	do {								\ | |
| 111 | 		memcpy((loc), (data), (size));				\ | |
| 112 | 		(loc) += size;						\ | |
| 113 | 	} while(0) | |
| 114 | ||
| 115 | #define	ADD_STRING(loc, data, size)	ADD_MEM(loc, data, size) | |
| 116 | ||
| 117 | #endif /* !_AUDIT_INTERNAL_H_ */ |
lib/libc/include/generic-freebsd/bsm/audit_kevents.h created+853| ... | ... | @@ -0,0 +1,853 @@ |
| 1 | /*- | |
| 2 | * SPDX-License-Identifier: BSD-3-Clause | |
| 3 | * | |
| 4 | * Copyright (c) 2005-2009 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 | * | |
| 11 | * 1. Redistributions of source code must retain the above copyright | |
| 12 | * notice, this list of conditions and the following disclaimer. | |
| 13 | * 2. Redistributions in binary form must reproduce the above copyright | |
| 14 | * notice, this list of conditions and the following disclaimer in the | |
| 15 | * documentation and/or other materials provided with the distribution. | |
| 16 | * 3. Neither the name of Apple Inc. ("Apple") nor the names of | |
| 17 | * its contributors may be used to endorse or promote products derived | |
| 18 | * from this software without specific prior written permission. | |
| 19 | * | |
| 20 | * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY | |
| 21 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |
| 22 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |
| 23 | * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY | |
| 24 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | |
| 25 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | |
| 26 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | |
| 27 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
| 28 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | |
| 29 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
| 30 | */ | |
| 31 | ||
| 32 | #ifndef _BSM_AUDIT_KEVENTS_H_ | |
| 33 | #define	_BSM_AUDIT_KEVENTS_H_ | |
| 34 | ||
| 35 | /* | |
| 36 | * The reserved event numbers for kernel events are 1...2047 and 43001..44999. | |
| 37 | */ | |
| 38 | #define	AUE_IS_A_KEVENT(e)	(((e) > 0 && (e) < 2048) ||	\ | |
| 39 | 				 ((e) > 43000 && (e) < 45000)) | |
| 40 | ||
| 41 | /* | |
| 42 | * Values marked as AUE_NULL are not required to be audited as per CAPP. | |
| 43 | * | |
| 44 | * Some conflicts exist in the assignment of name to event number mappings | |
| 45 | * between BSM implementations. In general, we prefer the OpenSolaris | |
| 46 | * definition as we consider Solaris BSM to be authoritative. _DARWIN_ has | |
| 47 | * been inserted for the Darwin variants. If necessary, other tags will be | |
| 48 | * added in the future. | |
| 49 | */ | |
| 50 | #define	AUE_NULL		0 | |
| 51 | #define	AUE_EXIT		1 | |
| 52 | #define	AUE_FORK		2 | |
| 53 | #define	AUE_FORKALL		AUE_FORK	/* Solaris-specific. */ | |
| 54 | #define	AUE_OPEN		3 | |
| 55 | #define	AUE_CREAT		4 | |
| 56 | #define	AUE_LINK		5 | |
| 57 | #define	AUE_UNLINK		6 | |
| 58 | #define	AUE_DELETE		AUE_UNLINK	/* Darwin-specific. */ | |
| 59 | #define	AUE_EXEC		7 | |
| 60 | #define	AUE_CHDIR		8 | |
| 61 | #define	AUE_MKNOD		9 | |
| 62 | #define	AUE_CHMOD		10 | |
| 63 | #define	AUE_CHOWN		11 | |
| 64 | #define	AUE_UMOUNT		12 | |
| 65 | #define	AUE_JUNK		13	/* Solaris-specific. */ | |
| 66 | #define	AUE_ACCESS		14 | |
| 67 | #define	AUE_KILL		15 | |
| 68 | #define	AUE_STAT		16 | |
| 69 | #define	AUE_LSTAT		17 | |
| 70 | #define	AUE_ACCT		18 | |
| 71 | #define	AUE_MCTL		19	/* Solaris-specific. */ | |
| 72 | #define	AUE_REBOOT		20	/* XXX: Darwin conflict. */ | |
| 73 | #define	AUE_SYMLINK		21 | |
| 74 | #define	AUE_READLINK		22 | |
| 75 | #define	AUE_EXECVE		23 | |
| 76 | #define	AUE_CHROOT		24 | |
| 77 | #define	AUE_VFORK		25 | |
| 78 | #define	AUE_SETGROUPS		26 | |
| 79 | #define	AUE_SETPGRP		27 | |
| 80 | #define	AUE_SWAPON		28 | |
| 81 | #define	AUE_SETHOSTNAME		29	/* XXX: Darwin conflict. */ | |
| 82 | #define	AUE_FCNTL		30 | |
| 83 | #define	AUE_SETPRIORITY		31	/* XXX: Darwin conflict. */ | |
| 84 | #define	AUE_CONNECT		32 | |
| 85 | #define	AUE_ACCEPT		33 | |
| 86 | #define	AUE_BIND		34 | |
| 87 | #define	AUE_SETSOCKOPT		35 | |
| 88 | #define	AUE_VTRACE		36	/* Solaris-specific. */ | |
| 89 | #define	AUE_SETTIMEOFDAY	37	/* XXX: Darwin conflict. */ | |
| 90 | #define	AUE_FCHOWN		38 | |
| 91 | #define	AUE_FCHMOD		39 | |
| 92 | #define	AUE_SETREUID		40 | |
| 93 | #define	AUE_SETREGID		41 | |
| 94 | #define	AUE_RENAME		42 | |
| 95 | #define	AUE_TRUNCATE		43	/* XXX: Darwin conflict. */ | |
| 96 | #define	AUE_FTRUNCATE		44	/* XXX: Darwin conflict. */ | |
| 97 | #define	AUE_FLOCK		45	/* XXX: Darwin conflict. */ | |
| 98 | #define	AUE_SHUTDOWN		46 | |
| 99 | #define	AUE_MKDIR		47 | |
| 100 | #define	AUE_RMDIR		48 | |
| 101 | #define	AUE_UTIMES		49 | |
| 102 | #define	AUE_ADJTIME		50 | |
| 103 | #define	AUE_SETRLIMIT		51 | |
| 104 | #define	AUE_KILLPG		52 | |
| 105 | #define	AUE_NFS_SVC		53	/* XXX: Darwin conflict. */ | |
| 106 | #define	AUE_STATFS		54 | |
| 107 | #define	AUE_FSTATFS		55 | |
| 108 | #define	AUE_UNMOUNT		56	/* XXX: Darwin conflict. */ | |
| 109 | #define	AUE_ASYNC_DAEMON	57 | |
| 110 | #define	AUE_NFS_GETFH		58	/* XXX: Darwin conflict. */ | |
| 111 | #define	AUE_SETDOMAINNAME	59 | |
| 112 | #define	AUE_QUOTACTL		60	/* XXX: Darwin conflict. */ | |
| 113 | #define	AUE_EXPORTFS		61 | |
| 114 | #define	AUE_MOUNT		62 | |
| 115 | #define	AUE_SEMSYS		63 | |
| 116 | #define	AUE_MSGSYS		64 | |
| 117 | #define	AUE_SHMSYS		65 | |
| 118 | #define	AUE_BSMSYS		66	/* Solaris-specific. */ | |
| 119 | #define	AUE_RFSSYS		67	/* Solaris-specific. */ | |
| 120 | #define	AUE_FCHDIR		68 | |
| 121 | #define	AUE_FCHROOT		69 | |
| 122 | #define	AUE_VPIXSYS		70	/* Solaris-specific. */ | |
| 123 | #define	AUE_PATHCONF		71 | |
| 124 | #define	AUE_OPEN_R		72 | |
| 125 | #define	AUE_OPEN_RC		73 | |
| 126 | #define	AUE_OPEN_RT		74 | |
| 127 | #define	AUE_OPEN_RTC		75 | |
| 128 | #define	AUE_OPEN_W		76 | |
| 129 | #define	AUE_OPEN_WC		77 | |
| 130 | #define	AUE_OPEN_WT		78 | |
| 131 | #define	AUE_OPEN_WTC		79 | |
| 132 | #define	AUE_OPEN_RW		80 | |
| 133 | #define	AUE_OPEN_RWC		81 | |
| 134 | #define	AUE_OPEN_RWT		82 | |
| 135 | #define	AUE_OPEN_RWTC		83 | |
| 136 | #define	AUE_MSGCTL		84 | |
| 137 | #define	AUE_MSGCTL_RMID		85 | |
| 138 | #define	AUE_MSGCTL_SET		86 | |
| 139 | #define	AUE_MSGCTL_STAT		87 | |
| 140 | #define	AUE_MSGGET		88 | |
| 141 | #define	AUE_MSGRCV		89 | |
| 142 | #define	AUE_MSGSND		90 | |
| 143 | #define	AUE_SHMCTL		91 | |
| 144 | #define	AUE_SHMCTL_RMID		92 | |
| 145 | #define	AUE_SHMCTL_SET		93 | |
| 146 | #define	AUE_SHMCTL_STAT		94 | |
| 147 | #define	AUE_SHMGET		95 | |
| 148 | #define	AUE_SHMAT		96 | |
| 149 | #define	AUE_SHMDT		97 | |
| 150 | #define	AUE_SEMCTL		98 | |
| 151 | #define	AUE_SEMCTL_RMID		99 | |
| 152 | #define	AUE_SEMCTL_SET		100 | |
| 153 | #define	AUE_SEMCTL_STAT		101 | |
| 154 | #define	AUE_SEMCTL_GETNCNT	102 | |
| 155 | #define	AUE_SEMCTL_GETPID	103 | |
| 156 | #define	AUE_SEMCTL_GETVAL	104 | |
| 157 | #define	AUE_SEMCTL_GETALL	105 | |
| 158 | #define	AUE_SEMCTL_GETZCNT	106 | |
| 159 | #define	AUE_SEMCTL_SETVAL	107 | |
| 160 | #define	AUE_SEMCTL_SETALL	108 | |
| 161 | #define	AUE_SEMGET		109 | |
| 162 | #define	AUE_SEMOP		110 | |
| 163 | #define	AUE_CORE		111	/* Solaris-specific, currently. */ | |
| 164 | #define	AUE_CLOSE		112 | |
| 165 | #define	AUE_SYSTEMBOOT		113	/* Solaris-specific. */ | |
| 166 | #define	AUE_ASYNC_DAEMON_EXIT	114	/* Solaris-specific. */ | |
| 167 | #define	AUE_NFSSVC_EXIT		115	/* Solaris-specific. */ | |
| 168 | #define	AUE_WRITEL		128	/* Solaris-specific. */ | |
| 169 | #define	AUE_WRITEVL		129	/* Solaris-specific. */ | |
| 170 | #define	AUE_GETAUID		130 | |
| 171 | #define	AUE_SETAUID		131 | |
| 172 | #define	AUE_GETAUDIT		132 | |
| 173 | #define	AUE_SETAUDIT		133 | |
| 174 | #define	AUE_GETUSERAUDIT	134	/* Solaris-specific. */ | |
| 175 | #define	AUE_SETUSERAUDIT	135	/* Solaris-specific. */ | |
| 176 | #define	AUE_AUDITSVC		136	/* Solaris-specific. */ | |
| 177 | #define	AUE_AUDITUSER		137	/* Solaris-specific. */ | |
| 178 | #define	AUE_AUDITON		138 | |
| 179 | #define	AUE_AUDITON_GTERMID	139	/* Solaris-specific. */ | |
| 180 | #define	AUE_AUDITON_STERMID	140	/* Solaris-specific. */ | |
| 181 | #define	AUE_AUDITON_GPOLICY	141 | |
| 182 | #define	AUE_AUDITON_SPOLICY	142 | |
| 183 | #define	AUE_AUDITON_GQCTRL	145 | |
| 184 | #define	AUE_AUDITON_SQCTRL	146 | |
| 185 | #define	AUE_GETKERNSTATE	147	/* Solaris-specific. */ | |
| 186 | #define	AUE_SETKERNSTATE	148	/* Solaris-specific. */ | |
| 187 | #define	AUE_GETPORTAUDIT	149	/* Solaris-specific. */ | |
| 188 | #define	AUE_AUDITSTAT		150	/* Solaris-specific. */ | |
| 189 | #define	AUE_REVOKE		151 | |
| 190 | #define	AUE_MAC			152	/* Solaris-specific. */ | |
| 191 | #define	AUE_ENTERPROM		153	/* Solaris-specific. */ | |
| 192 | #define	AUE_EXITPROM		154	/* Solaris-specific. */ | |
| 193 | #define	AUE_IFLOAT		155	/* Solaris-specific. */ | |
| 194 | #define	AUE_PFLOAT		156	/* Solaris-specific. */ | |
| 195 | #define	AUE_UPRIV		157	/* Solaris-specific. */ | |
| 196 | #define	AUE_IOCTL		158 | |
| 197 | #define	AUE_SOCKET		183 | |
| 198 | #define	AUE_SENDTO		184 | |
| 199 | #define	AUE_PIPE		185 | |
| 200 | #define	AUE_SOCKETPAIR		186	/* XXX: Darwin conflict. */ | |
| 201 | #define	AUE_SEND		187 | |
| 202 | #define	AUE_SENDMSG		188 | |
| 203 | #define	AUE_RECV		189 | |
| 204 | #define	AUE_RECVMSG		190 | |
| 205 | #define	AUE_RECVFROM		191 | |
| 206 | #define	AUE_READ		192 | |
| 207 | #define	AUE_GETDENTS		193 | |
| 208 | #define	AUE_LSEEK		194 | |
| 209 | #define	AUE_WRITE		195 | |
| 210 | #define	AUE_WRITEV		196 | |
| 211 | #define	AUE_NFS			197	/* Solaris-specific. */ | |
| 212 | #define	AUE_READV		198 | |
| 213 | #define	AUE_OSTAT		199	/* Solaris-specific. */ | |
| 214 | #define	AUE_SETUID		200	/* XXXRW: Solaris old setuid? */ | |
| 215 | #define	AUE_STIME		201	/* XXXRW: Solaris old stime? */ | |
| 216 | #define	AUE_UTIME		202	/* XXXRW: Solaris old utime? */ | |
| 217 | #define	AUE_NICE		203	/* XXXRW: Solaris old nice? */ | |
| 218 | #define	AUE_OSETPGRP		204	/* Solaris-specific. */ | |
| 219 | #define	AUE_SETGID		205 | |
| 220 | #define	AUE_READL		206	/* Solaris-specific. */ | |
| 221 | #define	AUE_READVL		207	/* Solaris-specific. */ | |
| 222 | #define	AUE_FSTAT		208 | |
| 223 | #define	AUE_DUP2		209 | |
| 224 | #define	AUE_MMAP		210 | |
| 225 | #define	AUE_AUDIT		211 | |
| 226 | #define	AUE_PRIOCNTLSYS		212	/* Solaris-specific. */ | |
| 227 | #define	AUE_MUNMAP		213 | |
| 228 | #define	AUE_SETEGID		214 | |
| 229 | #define	AUE_SETEUID		215 | |
| 230 | #define	AUE_PUTMSG		216	/* Solaris-specific. */ | |
| 231 | #define	AUE_GETMSG		217	/* Solaris-specific. */ | |
| 232 | #define	AUE_PUTPMSG		218	/* Solaris-specific. */ | |
| 233 | #define	AUE_GETPMSG		219	/* Solaris-specific. */ | |
| 234 | #define	AUE_AUDITSYS		220	/* Solaris-specific. */ | |
| 235 | #define	AUE_AUDITON_GETKMASK	221 | |
| 236 | #define	AUE_AUDITON_SETKMASK	222 | |
| 237 | #define	AUE_AUDITON_GETCWD	223 | |
| 238 | #define	AUE_AUDITON_GETCAR	224 | |
| 239 | #define	AUE_AUDITON_GETSTAT	225 | |
| 240 | #define	AUE_AUDITON_SETSTAT	226 | |
| 241 | #define	AUE_AUDITON_SETUMASK	227 | |
| 242 | #define	AUE_AUDITON_SETSMASK	228 | |
| 243 | #define	AUE_AUDITON_GETCOND	229 | |
| 244 | #define	AUE_AUDITON_SETCOND	230 | |
| 245 | #define	AUE_AUDITON_GETCLASS	231 | |
| 246 | #define	AUE_AUDITON_SETCLASS	232 | |
| 247 | #define	AUE_FUSERS		233	/* Solaris-specific; also UTSSYS? */ | |
| 248 | #define	AUE_STATVFS		234 | |
| 249 | #define	AUE_XSTAT		235	/* Solaris-specific. */ | |
| 250 | #define	AUE_LXSTAT		236	/* Solaris-specific. */ | |
| 251 | #define	AUE_LCHOWN		237 | |
| 252 | #define	AUE_MEMCNTL		238	/* Solaris-specific. */ | |
| 253 | #define	AUE_SYSINFO		239	/* Solaris-specific. */ | |
| 254 | #define	AUE_XMKNOD		240	/* Solaris-specific. */ | |
| 255 | #define	AUE_FORK1		241 | |
| 256 | #define	AUE_MODCTL		242	/* Solaris-specific. */ | |
| 257 | #define	AUE_MODLOAD		243 | |
| 258 | #define	AUE_MODUNLOAD		244 | |
| 259 | #define	AUE_MODCONFIG		245	/* Solaris-specific. */ | |
| 260 | #define	AUE_MODADDMAJ		246	/* Solaris-specific. */ | |
| 261 | #define	AUE_SOCKACCEPT		247	/* Solaris-specific. */ | |
| 262 | #define	AUE_SOCKCONNECT		248	/* Solaris-specific. */ | |
| 263 | #define	AUE_SOCKSEND		249	/* Solaris-specific. */ | |
| 264 | #define	AUE_SOCKRECEIVE		250	/* Solaris-specific. */ | |
| 265 | #define	AUE_ACLSET		251 | |
| 266 | #define	AUE_FACLSET		252 | |
| 267 | #define	AUE_DOORFS		253	/* Solaris-specific. */ | |
| 268 | #define	AUE_DOORFS_DOOR_CALL	254	/* Solaris-specific. */ | |
| 269 | #define	AUE_DOORFS_DOOR_RETURN	255	/* Solaris-specific. */ | |
| 270 | #define	AUE_DOORFS_DOOR_CREATE	256	/* Solaris-specific. */ | |
| 271 | #define	AUE_DOORFS_DOOR_REVOKE	257	/* Solaris-specific. */ | |
| 272 | #define	AUE_DOORFS_DOOR_INFO	258	/* Solaris-specific. */ | |
| 273 | #define	AUE_DOORFS_DOOR_CRED	259	/* Solaris-specific. */ | |
| 274 | #define	AUE_DOORFS_DOOR_BIND	260	/* Solaris-specific. */ | |
| 275 | #define	AUE_DOORFS_DOOR_UNBIND	261	/* Solaris-specific. */ | |
| 276 | #define	AUE_P_ONLINE		262	/* Solaris-specific. */ | |
| 277 | #define	AUE_PROCESSOR_BIND	263	/* Solaris-specific. */ | |
| 278 | #define	AUE_INST_SYNC		264	/* Solaris-specific. */ | |
| 279 | #define	AUE_SOCKCONFIG		265	/* Solaris-specific. */ | |
| 280 | #define	AUE_SETAUDIT_ADDR	266 | |
| 281 | #define	AUE_GETAUDIT_ADDR	267 | |
| 282 | #define	AUE_UMOUNT2		268	/* Solaris-specific. */ | |
| 283 | #define	AUE_FSAT		269	/* Solaris-specific. */ | |
| 284 | #define	AUE_OPENAT_R		270 | |
| 285 | #define	AUE_OPENAT_RC		271 | |
| 286 | #define	AUE_OPENAT_RT		272 | |
| 287 | #define	AUE_OPENAT_RTC		273 | |
| 288 | #define	AUE_OPENAT_W		274 | |
| 289 | #define	AUE_OPENAT_WC		275 | |
| 290 | #define	AUE_OPENAT_WT		276 | |
| 291 | #define	AUE_OPENAT_WTC		277 | |
| 292 | #define	AUE_OPENAT_RW		278 | |
| 293 | #define	AUE_OPENAT_RWC		279 | |
| 294 | #define	AUE_OPENAT_RWT		280 | |
| 295 | #define	AUE_OPENAT_RWTC		281 | |
| 296 | #define	AUE_RENAMEAT		282 | |
| 297 | #define	AUE_FSTATAT		283 | |
| 298 | #define	AUE_FCHOWNAT		284 | |
| 299 | #define	AUE_FUTIMESAT		285 | |
| 300 | #define	AUE_UNLINKAT		286 | |
| 301 | #define	AUE_CLOCK_SETTIME	287 | |
| 302 | #define	AUE_NTP_ADJTIME		288 | |
| 303 | #define	AUE_SETPPRIV		289	/* Solaris-specific. */ | |
| 304 | #define	AUE_MODDEVPLCY		290	/* Solaris-specific. */ | |
| 305 | #define	AUE_MODADDPRIV		291	/* Solaris-specific. */ | |
| 306 | #define	AUE_CRYPTOADM		292	/* Solaris-specific. */ | |
| 307 | #define	AUE_CONFIGKSSL		293	/* Solaris-specific. */ | |
| 308 | #define	AUE_BRANDSYS		294	/* Solaris-specific. */ | |
| 309 | #define	AUE_PF_POLICY_ADDRULE	295	/* Solaris-specific. */ | |
| 310 | #define	AUE_PF_POLICY_DELRULE	296	/* Solaris-specific. */ | |
| 311 | #define	AUE_PF_POLICY_CLONE	297	/* Solaris-specific. */ | |
| 312 | #define	AUE_PF_POLICY_FLIP	298	/* Solaris-specific. */ | |
| 313 | #define	AUE_PF_POLICY_FLUSH	299	/* Solaris-specific. */ | |
| 314 | #define	AUE_PF_POLICY_ALGS	300	/* Solaris-specific. */ | |
| 315 | #define	AUE_PORTFS		301	/* Solaris-specific. */ | |
| 316 | ||
| 317 | /* | |
| 318 | * Events added for Apple Darwin that potentially collide with future Solaris | |
| 319 | * BSM events. These are assigned AUE_DARWIN prefixes, and are deprecated in | |
| 320 | * new trails. Systems generating these events should switch to the new | |
| 321 | * identifiers that avoid colliding with the Solaris identifier space. | |
| 322 | */ | |
| 323 | #define	AUE_DARWIN_GETFSSTAT	301 | |
| 324 | #define	AUE_DARWIN_PTRACE	302 | |
| 325 | #define	AUE_DARWIN_CHFLAGS	303 | |
| 326 | #define	AUE_DARWIN_FCHFLAGS	304 | |
| 327 | #define	AUE_DARWIN_PROFILE	305 | |
| 328 | #define	AUE_DARWIN_KTRACE	306 | |
| 329 | #define	AUE_DARWIN_SETLOGIN	307 | |
| 330 | #define	AUE_DARWIN_REBOOT	308 | |
| 331 | #define	AUE_DARWIN_REVOKE	309 | |
| 332 | #define	AUE_DARWIN_UMASK	310 | |
| 333 | #define	AUE_DARWIN_MPROTECT	311 | |
| 334 | #define	AUE_DARWIN_SETPRIORITY	312 | |
| 335 | #define	AUE_DARWIN_SETTIMEOFDAY	313 | |
| 336 | #define	AUE_DARWIN_FLOCK	314 | |
| 337 | #define	AUE_DARWIN_MKFIFO	315 | |
| 338 | #define	AUE_DARWIN_POLL		316 | |
| 339 | #define	AUE_DARWIN_SOCKETPAIR	317 | |
| 340 | #define	AUE_DARWIN_FUTIMES	318 | |
| 341 | #define	AUE_DARWIN_SETSID	319 | |
| 342 | #define	AUE_DARWIN_SETPRIVEXEC	320	/* Darwin-specific. */ | |
| 343 | #define	AUE_DARWIN_NFSSVC	321 | |
| 344 | #define	AUE_DARWIN_GETFH	322 | |
| 345 | #define	AUE_DARWIN_QUOTACTL	323 | |
| 346 | #define	AUE_DARWIN_ADDPROFILE	324	/* Darwin-specific. */ | |
| 347 | #define	AUE_DARWIN_KDEBUGTRACE	325	/* Darwin-specific. */ | |
| 348 | #define	AUE_DARWIN_KDBUGTRACE	AUE_KDEBUGTRACE | |
| 349 | #define	AUE_DARWIN_FSTAT	326 | |
| 350 | #define	AUE_DARWIN_FPATHCONF	327 | |
| 351 | #define	AUE_DARWIN_GETDIRENTRIES	328 | |
| 352 | #define	AUE_DARWIN_TRUNCATE	329 | |
| 353 | #define	AUE_DARWIN_FTRUNCATE	330 | |
| 354 | #define	AUE_DARWIN_SYSCTL	331 | |
| 355 | #define	AUE_DARWIN_MLOCK	332 | |
| 356 | #define	AUE_DARWIN_MUNLOCK	333 | |
| 357 | #define	AUE_DARWIN_UNDELETE	334 | |
| 358 | #define	AUE_DARWIN_GETATTRLIST	335	/* Darwin-specific. */ | |
| 359 | #define	AUE_DARWIN_SETATTRLIST	336	/* Darwin-specific. */ | |
| 360 | #define	AUE_DARWIN_GETDIRENTRIESATTR	337	/* Darwin-specific. */ | |
| 361 | #define	AUE_DARWIN_EXCHANGEDATA	338	/* Darwin-specific. */ | |
| 362 | #define	AUE_DARWIN_SEARCHFS	339	/* Darwin-specific. */ | |
| 363 | #define	AUE_DARWIN_MINHERIT	340 | |
| 364 | #define	AUE_DARWIN_SEMCONFIG	341 | |
| 365 | #define	AUE_DARWIN_SEMOPEN	342 | |
| 366 | #define	AUE_DARWIN_SEMCLOSE	343 | |
| 367 | #define	AUE_DARWIN_SEMUNLINK	344 | |
| 368 | #define	AUE_DARWIN_SHMOPEN	345 | |
| 369 | #define	AUE_DARWIN_SHMUNLINK	346 | |
| 370 | #define	AUE_DARWIN_LOADSHFILE	347	/* Darwin-specific. */ | |
| 371 | #define	AUE_DARWIN_RESETSHFILE	348	/* Darwin-specific. */ | |
| 372 | #define	AUE_DARWIN_NEWSYSTEMSHREG	349	/* Darwin-specific. */ | |
| 373 | #define	AUE_DARWIN_PTHREADKILL	350	/* Darwin-specific. */ | |
| 374 | #define	AUE_DARWIN_PTHREADSIGMASK	351	/* Darwin-specific. */ | |
| 375 | #define	AUE_DARWIN_AUDITCTL	352 | |
| 376 | #define	AUE_DARWIN_RFORK	353 | |
| 377 | #define	AUE_DARWIN_LCHMOD	354 | |
| 378 | #define	AUE_DARWIN_SWAPOFF	355 | |
| 379 | #define	AUE_DARWIN_INITPROCESS	356	/* Darwin-specific. */ | |
| 380 | #define	AUE_DARWIN_MAPFD	357	/* Darwin-specific. */ | |
| 381 | #define	AUE_DARWIN_TASKFORPID	358	/* Darwin-specific. */ | |
| 382 | #define	AUE_DARWIN_PIDFORTASK	359	/* Darwin-specific. */ | |
| 383 | #define	AUE_DARWIN_SYSCTL_NONADMIN	360 | |
| 384 | #define	AUE_DARWIN_COPYFILE	361	/* Darwin-specific. */ | |
| 385 | ||
| 386 | /* | |
| 387 | * Audit event identifiers added as part of OpenBSM, generally corresponding | |
| 388 | * to events in FreeBSD, Darwin, and Linux that were not present in Solaris. | |
| 389 | * These often duplicate events added to the Solaris set by Darwin, but use | |
| 390 | * event identifiers in a higher range in order to avoid colliding with | |
| 391 | * future Solaris additions. | |
| 392 | * | |
| 393 | * If an event in this section is later added to Solaris, we prefer the | |
| 394 | * Solaris event identifier, and add _OPENBSM_ to the OpenBSM-specific | |
| 395 | * identifier so that old trails can still be processed, but new trails use | |
| 396 | * the Solaris identifier. | |
| 397 | */ | |
| 398 | #define	AUE_GETFSSTAT		43001 | |
| 399 | #define	AUE_PTRACE		43002 | |
| 400 | #define	AUE_CHFLAGS		43003 | |
| 401 | #define	AUE_FCHFLAGS		43004 | |
| 402 | #define	AUE_PROFILE		43005 | |
| 403 | #define	AUE_KTRACE		43006 | |
| 404 | #define	AUE_SETLOGIN		43007 | |
| 405 | #define	AUE_OPENBSM_REVOKE	43008	/* Solaris event now preferred. */ | |
| 406 | #define	AUE_UMASK		43009 | |
| 407 | #define	AUE_MPROTECT		43010 | |
| 408 | #define	AUE_MKFIFO		43011 | |
| 409 | #define	AUE_POLL		43012 | |
| 410 | #define	AUE_FUTIMES		43013 | |
| 411 | #define	AUE_SETSID		43014 | |
| 412 | #define	AUE_SETPRIVEXEC		43015	/* Darwin-specific. */ | |
| 413 | #define	AUE_ADDPROFILE		43016	/* Darwin-specific. */ | |
| 414 | #define	AUE_KDEBUGTRACE		43017	/* Darwin-specific. */ | |
| 415 | #define	AUE_KDBUGTRACE		AUE_KDEBUGTRACE | |
| 416 | #define	AUE_OPENBSM_FSTAT	43018	/* Solaris event now preferred. */ | |
| 417 | #define	AUE_FPATHCONF		43019 | |
| 418 | #define	AUE_GETDIRENTRIES	43020 | |
| 419 | #define	AUE_SYSCTL		43021 | |
| 420 | #define	AUE_MLOCK		43022 | |
| 421 | #define	AUE_MUNLOCK		43023 | |
| 422 | #define	AUE_UNDELETE		43024 | |
| 423 | #define	AUE_GETATTRLIST		43025	/* Darwin-specific. */ | |
| 424 | #define	AUE_SETATTRLIST		43026	/* Darwin-specific. */ | |
| 425 | #define	AUE_GETDIRENTRIESATTR	43027	/* Darwin-specific. */ | |
| 426 | #define	AUE_EXCHANGEDATA	43028	/* Darwin-specific. */ | |
| 427 | #define	AUE_SEARCHFS		43029	/* Darwin-specific. */ | |
| 428 | #define	AUE_MINHERIT		43030 | |
| 429 | #define	AUE_SEMCONFIG		43031 | |
| 430 | #define	AUE_SEMOPEN		43032 | |
| 431 | #define	AUE_SEMCLOSE		43033 | |
| 432 | #define	AUE_SEMUNLINK		43034 | |
| 433 | #define	AUE_SHMOPEN		43035 | |
| 434 | #define	AUE_SHMUNLINK		43036 | |
| 435 | #define	AUE_LOADSHFILE		43037	/* Darwin-specific. */ | |
| 436 | #define	AUE_RESETSHFILE		43038	/* Darwin-specific. */ | |
| 437 | #define	AUE_NEWSYSTEMSHREG	43039	/* Darwin-specific. */ | |
| 438 | #define	AUE_PTHREADKILL		43040	/* Darwin-specific. */ | |
| 439 | #define	AUE_PTHREADSIGMASK	43041	/* Darwin-specific. */ | |
| 440 | #define	AUE_AUDITCTL		43042 | |
| 441 | #define	AUE_RFORK		43043 | |
| 442 | #define	AUE_LCHMOD		43044 | |
| 443 | #define	AUE_SWAPOFF		43045 | |
| 444 | #define	AUE_INITPROCESS		43046	/* Darwin-specific. */ | |
| 445 | #define	AUE_MAPFD		43047	/* Darwin-specific. */ | |
| 446 | #define	AUE_TASKFORPID		43048	/* Darwin-specific. */ | |
| 447 | #define	AUE_PIDFORTASK		43049	/* Darwin-specific. */ | |
| 448 | #define	AUE_SYSCTL_NONADMIN	43050 | |
| 449 | #define	AUE_COPYFILE		43051	/* Darwin-specific. */ | |
| 450 | ||
| 451 | /* | |
| 452 | * Events added to OpenBSM for FreeBSD and Linux; may also be used by Darwin | |
| 453 | * in the future. | |
| 454 | */ | |
| 455 | #define	AUE_LUTIMES		43052 | |
| 456 | #define	AUE_LCHFLAGS		43053	/* FreeBSD-specific. */ | |
| 457 | #define	AUE_SENDFILE		43054	/* BSD/Linux-specific. */ | |
| 458 | #define	AUE_USELIB		43055	/* Linux-specific. */ | |
| 459 | #define	AUE_GETRESUID		43056 | |
| 460 | #define	AUE_SETRESUID		43057 | |
| 461 | #define	AUE_GETRESGID		43058 | |
| 462 | #define	AUE_SETRESGID		43059 | |
| 463 | #define	AUE_WAIT4		43060	/* FreeBSD-specific. */ | |
| 464 | #define	AUE_LGETFH		43061	/* FreeBSD-specific. */ | |
| 465 | #define	AUE_FHSTATFS		43062	/* FreeBSD-specific. */ | |
| 466 | #define	AUE_FHOPEN		43063	/* FreeBSD-specific. */ | |
| 467 | #define	AUE_FHSTAT		43064	/* FreeBSD-specific. */ | |
| 468 | #define	AUE_JAIL		43065	/* FreeBSD-specific. */ | |
| 469 | #define	AUE_EACCESS		43066	/* FreeBSD-specific. */ | |
| 470 | #define	AUE_KQUEUE		43067	/* FreeBSD-specific. */ | |
| 471 | #define	AUE_KEVENT		43068	/* FreeBSD-specific. */ | |
| 472 | #define	AUE_FSYNC		43069 | |
| 473 | #define	AUE_NMOUNT		43070	/* FreeBSD-specific. */ | |
| 474 | #define	AUE_BDFLUSH		43071	/* Linux-specific. */ | |
| 475 | #define	AUE_SETFSUID		43072	/* Linux-specific. */ | |
| 476 | #define	AUE_SETFSGID		43073	/* Linux-specific. */ | |
| 477 | #define	AUE_PERSONALITY		43074	/* Linux-specific. */ | |
| 478 | #define	AUE_SCHED_GETSCHEDULER	43075	/* POSIX.1b. */ | |
| 479 | #define	AUE_SCHED_SETSCHEDULER	43076	/* POSIX.1b. */ | |
| 480 | #define	AUE_PRCTL		43077	/* Linux-specific. */ | |
| 481 | #define	AUE_GETCWD		43078	/* FreeBSD/Linux-specific. */ | |
| 482 | #define	AUE_CAPGET		43079	/* Linux-specific. */ | |
| 483 | #define	AUE_CAPSET		43080	/* Linux-specific. */ | |
| 484 | #define	AUE_PIVOT_ROOT		43081	/* Linux-specific. */ | |
| 485 | #define	AUE_RTPRIO		43082	/* FreeBSD-specific. */ | |
| 486 | #define	AUE_SCHED_GETPARAM	43083	/* POSIX.1b. */ | |
| 487 | #define	AUE_SCHED_SETPARAM	43084	/* POSIX.1b. */ | |
| 488 | #define	AUE_SCHED_GET_PRIORITY_MAX	43085	/* POSIX.1b. */ | |
| 489 | #define	AUE_SCHED_GET_PRIORITY_MIN	43086	/* POSIX.1b. */ | |
| 490 | #define	AUE_SCHED_RR_GET_INTERVAL	43087	/* POSIX.1b. */ | |
| 491 | #define	AUE_ACL_GET_FILE	43088	/* FreeBSD. */ | |
| 492 | #define	AUE_ACL_SET_FILE	43089	/* FreeBSD. */ | |
| 493 | #define	AUE_ACL_GET_FD		43090	/* FreeBSD. */ | |
| 494 | #define	AUE_ACL_SET_FD		43091	/* FreeBSD. */ | |
| 495 | #define	AUE_ACL_DELETE_FILE	43092	/* FreeBSD. */ | |
| 496 | #define	AUE_ACL_DELETE_FD	43093	/* FreeBSD. */ | |
| 497 | #define	AUE_ACL_CHECK_FILE	43094	/* FreeBSD. */ | |
| 498 | #define	AUE_ACL_CHECK_FD	43095	/* FreeBSD. */ | |
| 499 | #define	AUE_ACL_GET_LINK	43096	/* FreeBSD. */ | |
| 500 | #define	AUE_ACL_SET_LINK	43097	/* FreeBSD. */ | |
| 501 | #define	AUE_ACL_DELETE_LINK	43098	/* FreeBSD. */ | |
| 502 | #define	AUE_ACL_CHECK_LINK	43099	/* FreeBSD. */ | |
| 503 | #define	AUE_SYSARCH		43100	/* FreeBSD. */ | |
| 504 | #define	AUE_EXTATTRCTL		43101	/* FreeBSD. */ | |
| 505 | #define	AUE_EXTATTR_GET_FILE	43102	/* FreeBSD. */ | |
| 506 | #define	AUE_EXTATTR_SET_FILE	43103	/* FreeBSD. */ | |
| 507 | #define	AUE_EXTATTR_LIST_FILE	43104	/* FreeBSD. */ | |
| 508 | #define	AUE_EXTATTR_DELETE_FILE	43105	/* FreeBSD. */ | |
| 509 | #define	AUE_EXTATTR_GET_FD	43106	/* FreeBSD. */ | |
| 510 | #define	AUE_EXTATTR_SET_FD	43107	/* FreeBSD. */ | |
| 511 | #define	AUE_EXTATTR_LIST_FD	43108	/* FreeBSD. */ | |
| 512 | #define	AUE_EXTATTR_DELETE_FD	43109	/* FreeBSD. */ | |
| 513 | #define	AUE_EXTATTR_GET_LINK	43110	/* FreeBSD. */ | |
| 514 | #define	AUE_EXTATTR_SET_LINK	43111	/* FreeBSD. */ | |
| 515 | #define	AUE_EXTATTR_LIST_LINK	43112	/* FreeBSD. */ | |
| 516 | #define	AUE_EXTATTR_DELETE_LINK	43113	/* FreeBSD. */ | |
| 517 | #define	AUE_KENV		43114	/* FreeBSD. */ | |
| 518 | #define	AUE_JAIL_ATTACH		43115	/* FreeBSD. */ | |
| 519 | #define	AUE_SYSCTL_WRITE	43116	/* FreeBSD. */ | |
| 520 | #define	AUE_IOPERM		43117	/* Linux. */ | |
| 521 | #define	AUE_READDIR		43118	/* Linux. */ | |
| 522 | #define	AUE_IOPL		43119	/* Linux. */ | |
| 523 | #define	AUE_VM86		43120	/* Linux. */ | |
| 524 | #define	AUE_MAC_GET_PROC	43121	/* FreeBSD/Darwin. */ | |
| 525 | #define	AUE_MAC_SET_PROC	43122	/* FreeBSD/Darwin. */ | |
| 526 | #define	AUE_MAC_GET_FD		43123	/* FreeBSD/Darwin. */ | |
| 527 | #define	AUE_MAC_GET_FILE	43124	/* FreeBSD/Darwin. */ | |
| 528 | #define	AUE_MAC_SET_FD		43125	/* FreeBSD/Darwin. */ | |
| 529 | #define	AUE_MAC_SET_FILE	43126	/* FreeBSD/Darwin. */ | |
| 530 | #define	AUE_MAC_SYSCALL		43127	/* FreeBSD. */ | |
| 531 | #define	AUE_MAC_GET_PID		43128	/* FreeBSD/Darwin. */ | |
| 532 | #define	AUE_MAC_GET_LINK	43129	/* FreeBSD/Darwin. */ | |
| 533 | #define	AUE_MAC_SET_LINK	43130	/* FreeBSD/Darwin. */ | |
| 534 | #define	AUE_MAC_EXECVE		43131	/* FreeBSD/Darwin. */ | |
| 535 | #define	AUE_GETPATH_FROMFD	43132	/* FreeBSD. */ | |
| 536 | #define	AUE_GETPATH_FROMADDR	43133	/* FreeBSD. */ | |
| 537 | #define	AUE_MQ_OPEN		43134	/* FreeBSD. */ | |
| 538 | #define	AUE_MQ_SETATTR		43135	/* FreeBSD. */ | |
| 539 | #define	AUE_MQ_TIMEDRECEIVE	43136	/* FreeBSD. */ | |
| 540 | #define	AUE_MQ_TIMEDSEND	43137	/* FreeBSD. */ | |
| 541 | #define	AUE_MQ_NOTIFY		43138	/* FreeBSD. */ | |
| 542 | #define	AUE_MQ_UNLINK		43139	/* FreeBSD. */ | |
| 543 | #define	AUE_LISTEN		43140	/* FreeBSD/Darwin/Linux. */ | |
| 544 | #define	AUE_MLOCKALL		43141	/* FreeBSD. */ | |
| 545 | #define	AUE_MUNLOCKALL		43142	/* FreeBSD. */ | |
| 546 | #define	AUE_CLOSEFROM		43143	/* FreeBSD. */ | |
| 547 | #define	AUE_FEXECVE		43144	/* FreeBSD. */ | |
| 548 | #define	AUE_FACCESSAT		43145	/* FreeBSD. */ | |
| 549 | #define	AUE_FCHMODAT		43146	/* FreeBSD. */ | |
| 550 | #define	AUE_LINKAT		43147	/* FreeBSD. */ | |
| 551 | #define	AUE_MKDIRAT		43148	/* FreeBSD. */ | |
| 552 | #define	AUE_MKFIFOAT		43149	/* FreeBSD. */ | |
| 553 | #define	AUE_MKNODAT		43150	/* FreeBSD. */ | |
| 554 | #define	AUE_READLINKAT		43151	/* FreeBSD. */ | |
| 555 | #define	AUE_SYMLINKAT		43152	/* FreeBSD. */ | |
| 556 | #define	AUE_MAC_GETFSSTAT	43153	/* Darwin. */ | |
| 557 | #define	AUE_MAC_GET_MOUNT	43154	/* Darwin. */ | |
| 558 | #define	AUE_MAC_GET_LCID	43155	/* Darwin. */ | |
| 559 | #define	AUE_MAC_GET_LCTX	43156	/* Darwin. */ | |
| 560 | #define	AUE_MAC_SET_LCTX	43157	/* Darwin. */ | |
| 561 | #define	AUE_MAC_MOUNT		43158	/* Darwin. */ | |
| 562 | #define	AUE_GETLCID		43159	/* Darwin. */ | |
| 563 | #define	AUE_SETLCID		43160	/* Darwin. */ | |
| 564 | #define	AUE_TASKNAMEFORPID	43161	/* Darwin. */ | |
| 565 | #define	AUE_ACCESS_EXTENDED	43162	/* Darwin. */ | |
| 566 | #define	AUE_CHMOD_EXTENDED	43163	/* Darwin. */ | |
| 567 | #define	AUE_FCHMOD_EXTENDED	43164	/* Darwin. */ | |
| 568 | #define	AUE_FSTAT_EXTENDED	43165	/* Darwin. */ | |
| 569 | #define	AUE_LSTAT_EXTENDED	43166	/* Darwin. */ | |
| 570 | #define	AUE_MKDIR_EXTENDED	43167	/* Darwin. */ | |
| 571 | #define	AUE_MKFIFO_EXTENDED	43168	/* Darwin. */ | |
| 572 | #define	AUE_OPEN_EXTENDED	43169	/* Darwin. */ | |
| 573 | #define	AUE_OPEN_EXTENDED_R	43170	/* Darwin. */ | |
| 574 | #define	AUE_OPEN_EXTENDED_RC	43171	/* Darwin. */ | |
| 575 | #define	AUE_OPEN_EXTENDED_RT	43172	/* Darwin. */ | |
| 576 | #define	AUE_OPEN_EXTENDED_RTC	43173	/* Darwin. */ | |
| 577 | #define	AUE_OPEN_EXTENDED_W	43174	/* Darwin. */ | |
| 578 | #define	AUE_OPEN_EXTENDED_WC	43175	/* Darwin. */ | |
| 579 | #define	AUE_OPEN_EXTENDED_WT	43176	/* Darwin. */ | |
| 580 | #define	AUE_OPEN_EXTENDED_WTC	43177	/* Darwin. */ | |
| 581 | #define	AUE_OPEN_EXTENDED_RW	43178	/* Darwin. */ | |
| 582 | #define	AUE_OPEN_EXTENDED_RWC	43179	/* Darwin. */ | |
| 583 | #define	AUE_OPEN_EXTENDED_RWT	43180	/* Darwin. */ | |
| 584 | #define	AUE_OPEN_EXTENDED_RWTC	43181	/* Darwin. */ | |
| 585 | #define	AUE_STAT_EXTENDED	43182	/* Darwin. */ | |
| 586 | #define	AUE_UMASK_EXTENDED	43183	/* Darwin. */ | |
| 587 | #define	AUE_OPENAT		43184	/* FreeBSD. */ | |
| 588 | #define	AUE_POSIX_OPENPT	43185	/* FreeBSD. */ | |
| 589 | #define	AUE_CAP_NEW		43186	/* TrustedBSD. */ | |
| 590 | #define	AUE_CAP_RIGHTS_GET	43187	/* TrustedBSD. */ | |
| 591 | #define	AUE_CAP_GETRIGHTS	AUE_CAP_RIGHTS_GET | |
| 592 | #define	AUE_CAP_ENTER		43188	/* TrustedBSD. */ | |
| 593 | #define	AUE_CAP_GETMODE		43189	/* TrustedBSD. */ | |
| 594 | #define	AUE_POSIX_SPAWN		43190	/* Darwin. */ | |
| 595 | #define	AUE_FSGETPATH		43191	/* Darwin. */ | |
| 596 | #define	AUE_PREAD		43192	/* Darwin/FreeBSD. */ | |
| 597 | #define	AUE_PWRITE		43193	/* Darwin/FreeBSD. */ | |
| 598 | #define	AUE_FSCTL		43194	/* Darwin. */ | |
| 599 | #define	AUE_FFSCTL		43195	/* Darwin. */ | |
| 600 | #define	AUE_LPATHCONF		43196	/* FreeBSD. */ | |
| 601 | #define	AUE_PDFORK		43197	/* FreeBSD. */ | |
| 602 | #define	AUE_PDKILL		43198	/* FreeBSD. */ | |
| 603 | #define	AUE_PDGETPID		43199	/* FreeBSD. */ | |
| 604 | #define	AUE_PDWAIT		43200	/* FreeBSD. */ | |
| 605 | #define	AUE_WAIT6		43201	/* FreeBSD. */ | |
| 606 | #define	AUE_CAP_RIGHTS_LIMIT	43202	/* TrustedBSD. */ | |
| 607 | #define	AUE_CAP_IOCTLS_LIMIT	43203	/* TrustedBSD. */ | |
| 608 | #define	AUE_CAP_IOCTLS_GET	43204	/* TrustedBSD. */ | |
| 609 | #define	AUE_CAP_FCNTLS_LIMIT	43205	/* TrustedBSD. */ | |
| 610 | #define	AUE_CAP_FCNTLS_GET	43206	/* TrustedBSD. */ | |
| 611 | #define	AUE_BINDAT		43207	/* TrustedBSD. */ | |
| 612 | #define	AUE_CONNECTAT		43208	/* TrustedBSD. */ | |
| 613 | #define	AUE_CHFLAGSAT		43209	/* FreeBSD-specific. */ | |
| 614 | #define	AUE_PREADV		43210	/* FreeBSD-specific. */ | |
| 615 | #define	AUE_PWRITEV		43211	/* FreeBSD-specific. */ | |
| 616 | #define	AUE_POSIX_FALLOCATE	43212	/* FreeBSD-specific. */ | |
| 617 | #define	AUE_AIO_MLOCK		43213	/* FreeBSD-specific. */ | |
| 618 | #define	AUE_PROCCTL		43214	/* FreeBSD-specific. */ | |
| 619 | #define	AUE_AIO_READ		43215	/* FreeBSD-specific. */ | |
| 620 | #define	AUE_AIO_WRITE		43216	/* FreeBSD-specific. */ | |
| 621 | #define	AUE_AIO_RETURN		43217	/* FreeBSD-specific. */ | |
| 622 | #define	AUE_AIO_SUSPEND		43218	/* FreeBSD-specific. */ | |
| 623 | #define	AUE_AIO_CANCEL		43219	/* FreeBSD-specific. */ | |
| 624 | #define	AUE_AIO_ERROR		43220	/* FreeBSD-specific. */ | |
| 625 | #define	AUE_AIO_WAITCOMPLETE	43221	/* FreeBSD-specific. */ | |
| 626 | #define	AUE_AIO_FSYNC		43222	/* FreeBSD-specific. */ | |
| 627 | #define	AUE_THR_CREATE		43223	/* FreeBSD-specific. */ | |
| 628 | #define	AUE_THR_NEW		43224	/* FreeBSD-specific. */ | |
| 629 | #define	AUE_THR_EXIT		43225	/* FreeBSD-specific. */ | |
| 630 | #define	AUE_THR_KILL		43226	/* FreeBSD-specific. */ | |
| 631 | #define	AUE_THR_KILL2		43227	/* FreeBSD-specific. */ | |
| 632 | #define	AUE_SETFIB		43228	/* FreeBSD-specific. */ | |
| 633 | #define	AUE_LIO_LISTIO		43229	/* FreeBSD-specific. */ | |
| 634 | #define	AUE_SETUGID		43230	/* FreeBSD-specific. */ | |
| 635 | #define	AUE_SCTP_PEELOFF	43231	/* FreeBSD-specific. */ | |
| 636 | #define	AUE_SCTP_GENERIC_SENDMSG	43232	/* FreeBSD-specific. */ | |
| 637 | #define	AUE_SCTP_GENERIC_RECVMSG	43233	/* FreeBSD-specific. */ | |
| 638 | #define	AUE_JAIL_GET		43234	/* FreeBSD-specific. */ | |
| 639 | #define	AUE_JAIL_SET		43235	/* FreeBSD-specific. */ | |
| 640 | #define	AUE_JAIL_REMOVE		43236	/* FreeBSD-specific. */ | |
| 641 | #define	AUE_GETLOGINCLASS	43237	/* FreeBSD-specific. */ | |
| 642 | #define	AUE_SETLOGINCLASS	43238	/* FreeBSD-specific. */ | |
| 643 | #define	AUE_POSIX_FADVISE	43239	/* FreeBSD-specific. */ | |
| 644 | #define	AUE_SCTP_GENERIC_SENDMSG_IOV	43240	/* FreeBSD-specific. */ | |
| 645 | #define	AUE_ABORT2		43241	/* FreeBSD-specific. */ | |
| 646 | #define	AUE_SEMTIMEDWAIT	43242	/* FreeBSD-specific. */ | |
| 647 | #define	AUE_SEMDESTROY		43243	/* FreeBSD-specific. */ | |
| 648 | #define	AUE_SEMGETVALUE		43244	/* FreeBSD-specific. */ | |
| 649 | #define	AUE_SEMINIT		43245	/* FreeBSD-specific. */ | |
| 650 | #define	AUE_SEMPOST		43246	/* FreeBSD-specific. */ | |
| 651 | #define	AUE_SEMTRYWAIT		43247	/* FreeBSD-specific. */ | |
| 652 | #define	AUE_SEMWAIT		43258	/* FreeBSD-specific. */ | |
| 653 | #define	AUE_FGETUUID		43259	/* CADETS. */ | |
| 654 | #define	AUE_GETUUID		43260	/* CADETS. */ | |
| 655 | #define	AUE_LGETUUID		43261	/* CADETS. */ | |
| 656 | #define	AUE_EXECVEAT		43262	/* FreeBSD/Linux. */ | |
| 657 | #define	AUE_SHMRENAME		43263	/* FreeBSD-specific. */ | |
| 658 | #define	AUE_REALPATHAT		43264	/* FreeBSD-specific. */ | |
| 659 | #define	AUE_CLOSERANGE		43265	/* FreeBSD-specific. */ | |
| 660 | #define	AUE_SPECIALFD		43266	/* FreeBSD-specific. */ | |
| 661 | #define	AUE_AIO_WRITEV		43267	/* FreeBSD-specific. */ | |
| 662 | #define	AUE_AIO_READV		43268	/* FreeBSD-specific. */ | |
| 663 | #define	AUE_FSPACECTL		43269	/* FreeBSD-specific. */ | |
| 664 | #define	AUE_TIMERFD		43270	/* FreeBSD/Linux. */ | |
| 665 | #define	AUE_SETCRED		43271	/* FreeBSD-specific. */ | |
| 666 | #define	AUE_INOTIFY		43272	/* FreeBSD/Linux. */ | |
| 667 | ||
| 668 | /* | |
| 669 | * Darwin BSM uses a number of AUE_O_* definitions, which are aliased to the | |
| 670 | * normal Solaris BSM identifiers. _O_ refers to it being an old, or compat | |
| 671 | * interface. In most cases, Darwin has never implemented these system calls | |
| 672 | * but picked up the fields in their system call table from their FreeBSD | |
| 673 | * import. Happily, these have different names than the AUE_O* definitions | |
| 674 | * in Solaris BSM. | |
| 675 | */ | |
| 676 | #define	AUE_O_CREAT		AUE_OPEN_RWTC	/* Darwin */ | |
| 677 | #define	AUE_O_EXECVE		AUE_NULL	/* Darwin */ | |
| 678 | #define	AUE_O_SBREAK		AUE_NULL	/* Darwin */ | |
| 679 | #define	AUE_O_LSEEK		AUE_NULL	/* Darwin */ | |
| 680 | #define	AUE_O_MOUNT		AUE_NULL	/* Darwin */ | |
| 681 | #define	AUE_O_UMOUNT		AUE_NULL	/* Darwin */ | |
| 682 | #define	AUE_O_STAT		AUE_STAT	/* Darwin */ | |
| 683 | #define	AUE_O_LSTAT		AUE_LSTAT	/* Darwin */ | |
| 684 | #define	AUE_O_FSTAT		AUE_FSTAT	/* Darwin */ | |
| 685 | #define	AUE_O_GETPAGESIZE	AUE_NULL	/* Darwin */ | |
| 686 | #define	AUE_O_VREAD		AUE_NULL	/* Darwin */ | |
| 687 | #define	AUE_O_VWRITE		AUE_NULL	/* Darwin */ | |
| 688 | #define	AUE_O_MMAP		AUE_MMAP	/* Darwin */ | |
| 689 | #define	AUE_O_VADVISE		AUE_NULL	/* Darwin */ | |
| 690 | #define	AUE_O_VHANGUP		AUE_NULL	/* Darwin */ | |
| 691 | #define	AUE_O_VLIMIT		AUE_NULL	/* Darwin */ | |
| 692 | #define	AUE_O_WAIT		AUE_NULL	/* Darwin */ | |
| 693 | #define	AUE_O_GETHOSTNAME	AUE_NULL	/* Darwin */ | |
| 694 | #define	AUE_O_SETHOSTNAME	AUE_SYSCTL	/* Darwin */ | |
| 695 | #define	AUE_O_GETDOPT		AUE_NULL	/* Darwin */ | |
| 696 | #define	AUE_O_SETDOPT		AUE_NULL	/* Darwin */ | |
| 697 | #define	AUE_O_ACCEPT		AUE_NULL	/* Darwin */ | |
| 698 | #define	AUE_O_SEND		AUE_SENDMSG	/* Darwin */ | |
| 699 | #define	AUE_O_RECV		AUE_RECVMSG	/* Darwin */ | |
| 700 | #define	AUE_O_VTIMES		AUE_NULL	/* Darwin */ | |
| 701 | #define	AUE_O_SIGVEC		AUE_NULL	/* Darwin */ | |
| 702 | #define	AUE_O_SIGBLOCK		AUE_NULL	/* Darwin */ | |
| 703 | #define	AUE_O_SIGSETMASK	AUE_NULL	/* Darwin */ | |
| 704 | #define	AUE_O_SIGSTACK		AUE_NULL	/* Darwin */ | |
| 705 | #define	AUE_O_RECVMSG		AUE_RECVMSG	/* Darwin */ | |
| 706 | #define	AUE_O_SENDMSG		AUE_SENDMSG	/* Darwin */ | |
| 707 | #define	AUE_O_VTRACE		AUE_NULL	/* Darwin */ | |
| 708 | #define	AUE_O_RESUBA		AUE_NULL	/* Darwin */ | |
| 709 | #define	AUE_O_RECVFROM		AUE_RECVFROM	/* Darwin */ | |
| 710 | #define	AUE_O_SETREUID		AUE_SETREUID	/* Darwin */ | |
| 711 | #define	AUE_O_SETREGID		AUE_SETREGID	/* Darwin */ | |
| 712 | #define	AUE_O_GETDIRENTRIES	AUE_GETDIRENTRIES	/* Darwin */ | |
| 713 | #define	AUE_O_TRUNCATE		AUE_TRUNCATE	/* Darwin */ | |
| 714 | #define	AUE_O_FTRUNCATE		AUE_FTRUNCATE	/* Darwin */ | |
| 715 | #define	AUE_O_GETPEERNAME	AUE_NULL	/* Darwin */ | |
| 716 | #define	AUE_O_GETHOSTID		AUE_NULL	/* Darwin */ | |
| 717 | #define	AUE_O_SETHOSTID		AUE_NULL	/* Darwin */ | |
| 718 | #define	AUE_O_GETRLIMIT		AUE_NULL	/* Darwin */ | |
| 719 | #define	AUE_O_SETRLIMIT		AUE_SETRLIMIT	/* Darwin */ | |
| 720 | #define	AUE_O_KILLPG		AUE_KILL	/* Darwin */ | |
| 721 | #define	AUE_O_SETQUOTA		AUE_NULL	/* Darwin */ | |
| 722 | #define	AUE_O_QUOTA		AUE_NULL	/* Darwin */ | |
| 723 | #define	AUE_O_GETSOCKNAME	AUE_NULL	/* Darwin */ | |
| 724 | #define	AUE_O_GETDIREENTRIES	AUE_GETDIREENTRIES	/* Darwin */ | |
| 725 | #define	AUE_O_ASYNCDAEMON	AUE_NULL	/* Darwin */ | |
| 726 | #define	AUE_O_GETDOMAINNAME	AUE_NULL	/* Darwin */ | |
| 727 | #define	AUE_O_SETDOMAINNAME	AUE_SYSCTL	/* Darwin */ | |
| 728 | #define	AUE_O_PCFS_MOUNT	AUE_NULL	/* Darwin */ | |
| 729 | #define	AUE_O_EXPORTFS		AUE_NULL	/* Darwin */ | |
| 730 | #define	AUE_O_USTATE		AUE_NULL	/* Darwin */ | |
| 731 | #define	AUE_O_WAIT3		AUE_NULL	/* Darwin */ | |
| 732 | #define	AUE_O_RPAUSE		AUE_NULL	/* Darwin */ | |
| 733 | #define	AUE_O_GETDENTS		AUE_NULL	/* Darwin */ | |
| 734 | ||
| 735 | /* | |
| 736 | * Possible desired future values based on review of BSD/Darwin system calls. | |
| 737 | */ | |
| 738 | #define	AUE_ATGETMSG		AUE_NULL | |
| 739 | #define	AUE_ATPUTMSG		AUE_NULL | |
| 740 | #define	AUE_ATSOCKET		AUE_NULL | |
| 741 | #define	AUE_ATPGETREQ		AUE_NULL | |
| 742 | #define	AUE_ATPGETRSP		AUE_NULL | |
| 743 | #define	AUE_ATPSNDREQ		AUE_NULL | |
| 744 | #define	AUE_ATPSNDRSP		AUE_NULL | |
| 745 | #define	AUE_BSDTHREADCREATE	AUE_NULL | |
| 746 | #define	AUE_BSDTHREADTERMINATE	AUE_NULL | |
| 747 | #define	AUE_BSDTHREADREGISTER	AUE_NULL | |
| 748 | #define	AUE_CHUD		AUE_NULL | |
| 749 | #define	AUE_CSOPS		AUE_NULL | |
| 750 | #define	AUE_DUP			AUE_NULL | |
| 751 | #define	AUE_FDATASYNC		AUE_NULL | |
| 752 | #define	AUE_FGETATTRLIST	AUE_NULL | |
| 753 | #define	AUE_FGETXATTR		AUE_NULL | |
| 754 | #define	AUE_FLISTXATTR		AUE_NULL | |
| 755 | #define	AUE_FREMOVEXATTR	AUE_NULL | |
| 756 | #define	AUE_FSETATTRLIST	AUE_NULL | |
| 757 | #define	AUE_FSETXATTR		AUE_NULL | |
| 758 | #define	AUE_FSTATFS64		AUE_NULL | |
| 759 | #define	AUE_FSTATV		AUE_NULL | |
| 760 | #define	AUE_FSTAT64		AUE_NULL | |
| 761 | #define	AUE_FSTAT64_EXTENDED	AUE_NULL | |
| 762 | #define	AUE_GCCONTROL		AUE_NULL | |
| 763 | #define	AUE_GETDIRENTRIES64	AUE_NULL | |
| 764 | #define	AUE_GETDTABLESIZE	AUE_NULL | |
| 765 | #define	AUE_GETEGID		AUE_NULL | |
| 766 | #define	AUE_GETEUID		AUE_NULL | |
| 767 | #define	AUE_GETFSSTAT64		AUE_NULL | |
| 768 | #define	AUE_GETGID		AUE_NULL | |
| 769 | #define	AUE_GETGROUPS		AUE_NULL | |
| 770 | #define	AUE_GETITIMER		AUE_NULL | |
| 771 | #define	AUE_GETLOGIN		AUE_NULL | |
| 772 | #define	AUE_GETPEERNAME		AUE_NULL | |
| 773 | #define	AUE_GETPGID		AUE_NULL | |
| 774 | #define	AUE_GETPGRP		AUE_NULL | |
| 775 | #define	AUE_GETPID		AUE_NULL | |
| 776 | #define	AUE_GETPPID		AUE_NULL | |
| 777 | #define	AUE_GETPRIORITY		AUE_NULL | |
| 778 | #define	AUE_GETRLIMIT		AUE_NULL | |
| 779 | #define	AUE_GETRUSAGE		AUE_NULL | |
| 780 | #define	AUE_GETSGROUPS		AUE_NULL | |
| 781 | #define	AUE_GETSID		AUE_NULL | |
| 782 | #define	AUE_GETSOCKNAME		AUE_NULL | |
| 783 | #define	AUE_GETTIMEOFDAY	AUE_NULL | |
| 784 | #define	AUE_GETTID		AUE_NULL | |
| 785 | #define	AUE_GETUID		AUE_NULL | |
| 786 | #define	AUE_GETSOCKOPT		AUE_NULL | |
| 787 | #define	AUE_GETWGROUPS		AUE_NULL | |
| 788 | #define	AUE_GETXATTR		AUE_NULL | |
| 789 | #define	AUE_IDENTITYSVC		AUE_NULL | |
| 790 | #define	AUE_INITGROUPS		AUE_NULL | |
| 791 | #define	AUE_IOPOLICYSYS		AUE_NULL | |
| 792 | #define	AUE_ISSETUGID		AUE_NULL | |
| 793 | #define	AUE_LIOLISTIO		AUE_NULL | |
| 794 | #define	AUE_LISTXATTR		AUE_NULL | |
| 795 | #define	AUE_LSTATV		AUE_NULL | |
| 796 | #define	AUE_LSTAT64		AUE_NULL | |
| 797 | #define	AUE_LSTAT64_EXTENDED	AUE_NULL | |
| 798 | #define	AUE_MADVISE		AUE_NULL | |
| 799 | #define	AUE_MINCORE		AUE_NULL | |
| 800 | #define	AUE_MKCOMPLEX		AUE_NULL | |
| 801 | #define	AUE_MODWATCH		AUE_NULL | |
| 802 | #define	AUE_MSGCL		AUE_NULL | |
| 803 | #define	AUE_MSYNC		AUE_NULL | |
| 804 | #define	AUE_PROCINFO		AUE_NULL | |
| 805 | #define	AUE_PTHREADCANCELED	AUE_NULL | |
| 806 | #define	AUE_PTHREADCHDIR	AUE_NULL | |
| 807 | #define	AUE_PTHREADCONDBROADCAST	AUE_NULL | |
| 808 | #define	AUE_PTHREADCONDDESTORY	AUE_NULL | |
| 809 | #define	AUE_PTHREADCONDINIT	AUE_NULL | |
| 810 | #define	AUE_PTHREADCONDSIGNAL	AUE_NULL | |
| 811 | #define	AUE_PTHREADCONDWAIT	AUE_NULL | |
| 812 | #define	AUE_PTHREADFCHDIR	AUE_NULL | |
| 813 | #define	AUE_PTHREADMARK		AUE_NULL | |
| 814 | #define	AUE_PTHREADMUTEXDESTROY	AUE_NULL | |
| 815 | #define	AUE_PTHREADMUTEXINIT	AUE_NULL | |
| 816 | #define	AUE_PTHREADMUTEXTRYLOCK	AUE_NULL | |
| 817 | #define	AUE_PTHREADMUTEXUNLOCK	AUE_NULL | |
| 818 | #define	AUE_REMOVEXATTR		AUE_NULL | |
| 819 | #define	AUE_SBRK		AUE_NULL | |
| 820 | #define	AUE_SELECT		AUE_NULL | |
| 821 | #define	AUE_SEMWAITSIGNAL	AUE_NULL | |
| 822 | #define	AUE_SETITIMER		AUE_NULL | |
| 823 | #define	AUE_SETSGROUPS		AUE_NULL | |
| 824 | #define	AUE_SETTID		AUE_NULL | |
| 825 | #define	AUE_SETTIDWITHPID	AUE_NULL | |
| 826 | #define	AUE_SETWGROUPS		AUE_NULL | |
| 827 | #define	AUE_SETXATTR		AUE_NULL | |
| 828 | #define	AUE_SHAREDREGIONCHECK	AUE_NULL | |
| 829 | #define	AUE_SHAREDREGIONMAP	AUE_NULL | |
| 830 | #define	AUE_SIGACTION		AUE_NULL | |
| 831 | #define	AUE_SIGALTSTACK		AUE_NULL | |
| 832 | #define	AUE_SIGPENDING		AUE_NULL | |
| 833 | #define	AUE_SIGPROCMASK		AUE_NULL | |
| 834 | #define	AUE_SIGRETURN		AUE_NULL | |
| 835 | #define	AUE_SIGSUSPEND		AUE_NULL | |
| 836 | #define	AUE_SIGWAIT		AUE_NULL | |
| 837 | #define	AUE_SSTK		AUE_NULL | |
| 838 | #define	AUE_STACKSNAPSHOT	AUE_NULL | |
| 839 | #define	AUE_STATFS64		AUE_NULL | |
| 840 | #define	AUE_STATV		AUE_NULL | |
| 841 | #define	AUE_STAT64		AUE_NULL | |
| 842 | #define	AUE_STAT64_EXTENDED	AUE_NULL | |
| 843 | #define	AUE_SYNC		AUE_NULL | |
| 844 | #define	AUE_SYSCALL		AUE_NULL | |
| 845 | #define	AUE_TABLE		AUE_NULL | |
| 846 | #define	AUE_VMPRESSUREMONITOR	AUE_NULL | |
| 847 | #define	AUE_WAITEVENT		AUE_NULL | |
| 848 | #define	AUE_WAITID		AUE_NULL | |
| 849 | #define	AUE_WATCHEVENT		AUE_NULL | |
| 850 | #define	AUE_WORKQOPEN		AUE_NULL | |
| 851 | #define	AUE_WORKQOPS		AUE_NULL | |
| 852 | ||
| 853 | #endif /* !_BSM_AUDIT_KEVENTS_H_ */ |
lib/libc/include/generic-freebsd/bsm/audit_record.h created+311| ... | ... | @@ -0,0 +1,311 @@ |
| 1 | /*- | |
| 2 | * SPDX-License-Identifier: BSD-3-Clause | |
| 3 | * | |
| 4 | * Copyright (c) 2005-2009 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 | * | |
| 11 | * 1. Redistributions of source code must retain the above copyright | |
| 12 | * notice, this list of conditions and the following disclaimer. | |
| 13 | * 2. Redistributions in binary form must reproduce the above copyright | |
| 14 | * notice, this list of conditions and the following disclaimer in the | |
| 15 | * documentation and/or other materials provided with the distribution. | |
| 16 | * 3. Neither the name of Apple Inc. ("Apple") nor the names of | |
| 17 | * its contributors may be used to endorse or promote products derived | |
| 18 | * from this software without specific prior written permission. | |
| 19 | * | |
| 20 | * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY | |
| 21 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |
| 22 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |
| 23 | * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY | |
| 24 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | |
| 25 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | |
| 26 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | |
| 27 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
| 28 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | |
| 29 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
| 30 | */ | |
| 31 | ||
| 32 | #ifndef _BSM_AUDIT_RECORD_H_ | |
| 33 | #define _BSM_AUDIT_RECORD_H_ | |
| 34 | ||
| 35 | #include <sys/types.h> | |
| 36 | #include <sys/time.h>			/* struct timeval */ | |
| 37 | ||
| 38 | /* | |
| 39 | * Token type identifiers. | |
| 40 | */ | |
| 41 | #define	AUT_INVALID		0x00 | |
| 42 | #define	AUT_OTHER_FILE32	0x11 | |
| 43 | #define	AUT_OHEADER		0x12 | |
| 44 | #define	AUT_TRAILER		0x13 | |
| 45 | #define	AUT_HEADER32		0x14 | |
| 46 | #define	AUT_HEADER32_EX		0x15 | |
| 47 | #define	AUT_DATA		0x21 | |
| 48 | #define	AUT_IPC			0x22 | |
| 49 | #define	AUT_PATH		0x23 | |
| 50 | #define	AUT_SUBJECT32		0x24 | |
| 51 | #define	AUT_XATPATH		0x25 | |
| 52 | #define	AUT_PROCESS32		0x26 | |
| 53 | #define	AUT_RETURN32		0x27 | |
| 54 | #define	AUT_TEXT		0x28 | |
| 55 | #define	AUT_OPAQUE		0x29 | |
| 56 | #define	AUT_IN_ADDR		0x2a | |
| 57 | #define	AUT_IP			0x2b | |
| 58 | #define	AUT_IPORT		0x2c | |
| 59 | #define	AUT_ARG32		0x2d | |
| 60 | #define	AUT_SOCKET		0x2e | |
| 61 | #define	AUT_SEQ			0x2f | |
| 62 | #define	AUT_ACL			0x30 | |
| 63 | #define	AUT_ATTR		0x31 | |
| 64 | #define	AUT_IPC_PERM		0x32 | |
| 65 | #define	AUT_LABEL		0x33 | |
| 66 | #define	AUT_GROUPS		0x34 | |
| 67 | #define	AUT_ACE			0x35 | |
| 68 | #define	AUT_PRIV		0x38 | |
| 69 | #define	AUT_UPRIV		0x39 | |
| 70 | #define	AUT_LIAISON		0x3a | |
| 71 | #define	AUT_NEWGROUPS		0x3b | |
| 72 | #define	AUT_EXEC_ARGS		0x3c | |
| 73 | #define	AUT_EXEC_ENV		0x3d | |
| 74 | #define	AUT_ATTR32		0x3e | |
| 75 | #define	AUT_UNAUTH		0x3f | |
| 76 | #define	AUT_XATOM		0x40 | |
| 77 | #define	AUT_XOBJ		0x41 | |
| 78 | #define	AUT_XPROTO		0x42 | |
| 79 | #define	AUT_XSELECT		0x43 | |
| 80 | #define	AUT_XCOLORMAP		0x44 | |
| 81 | #define	AUT_XCURSOR		0x45 | |
| 82 | #define	AUT_XFONT		0x46 | |
| 83 | #define	AUT_XGC			0x47 | |
| 84 | #define	AUT_XPIXMAP		0x48 | |
| 85 | #define	AUT_XPROPERTY		0x49 | |
| 86 | #define	AUT_XWINDOW		0x4a | |
| 87 | #define	AUT_XCLIENT		0x4b | |
| 88 | #define	AUT_CMD			0x51 | |
| 89 | #define	AUT_EXIT		0x52 | |
| 90 | #define	AUT_ZONENAME		0x60 | |
| 91 | #define	AUT_HOST		0x70 | |
| 92 | #define	AUT_ARG64		0x71 | |
| 93 | #define	AUT_RETURN64		0x72 | |
| 94 | #define	AUT_ATTR64		0x73 | |
| 95 | #define	AUT_HEADER64		0x74 | |
| 96 | #define	AUT_SUBJECT64		0x75 | |
| 97 | #define	AUT_PROCESS64		0x77 | |
| 98 | #define	AUT_OTHER_FILE64	0x78 | |
| 99 | #define	AUT_HEADER64_EX		0x79 | |
| 100 | #define	AUT_SUBJECT32_EX	0x7a | |
| 101 | #define	AUT_PROCESS32_EX	0x7b | |
| 102 | #define	AUT_SUBJECT64_EX	0x7c | |
| 103 | #define	AUT_PROCESS64_EX	0x7d | |
| 104 | #define	AUT_IN_ADDR_EX		0x7e | |
| 105 | #define	AUT_SOCKET_EX		0x7f | |
| 106 | ||
| 107 | /* | |
| 108 | * Pre-64-bit BSM, 32-bit tokens weren't explicitly named as '32'. We have | |
| 109 | * compatibility defines. | |
| 110 | */ | |
| 111 | #define	AUT_HEADER		AUT_HEADER32 | |
| 112 | #define	AUT_ARG			AUT_ARG32 | |
| 113 | #define	AUT_RETURN		AUT_RETURN32 | |
| 114 | #define	AUT_SUBJECT		AUT_SUBJECT32 | |
| 115 | #define	AUT_PROCESS		AUT_PROCESS32 | |
| 116 | #define	AUT_OTHER_FILE		AUT_OTHER_FILE32 | |
| 117 | ||
| 118 | /* | |
| 119 | * The values for the following token ids are not defined by BSM. | |
| 120 | * | |
| 121 | * XXXRW: Not sure how to handle these in OpenBSM yet, but I'll give them | |
| 122 | * names more consistent with Sun's BSM. These originally came from Apple's | |
| 123 | * BSM. | |
| 124 | */ | |
| 125 | #define	AUT_SOCKINET32		0x80		/* XXX */ | |
| 126 | #define	AUT_SOCKINET128		0x81		/* XXX */ | |
| 127 | #define	AUT_SOCKUNIX		0x82		/* XXX */ | |
| 128 | ||
| 129 | #define	AUT_RIGHTS		0x83 | |
| 130 | ||
| 131 | /* print values for the arbitrary token */ | |
| 132 | #define AUP_BINARY 0 | |
| 133 | #define AUP_OCTAL 1 | |
| 134 | #define AUP_DECIMAL 2 | |
| 135 | #define AUP_HEX 3 | |
| 136 | #define AUP_STRING 4 | |
| 137 | ||
| 138 | /* data-types for the arbitrary token */ | |
| 139 | #define AUR_BYTE 0 | |
| 140 | #define AUR_CHAR AUR_BYTE | |
| 141 | #define AUR_SHORT 1 | |
| 142 | #define AUR_INT32 2 | |
| 143 | #define AUR_INT AUR_INT32 | |
| 144 | #define AUR_INT64 3 | |
| 145 | ||
| 146 | /* ... and their sizes */ | |
| 147 | #define AUR_BYTE_SIZE sizeof(u_char) | |
| 148 | #define AUR_CHAR_SIZE AUR_BYTE_SIZE | |
| 149 | #define AUR_SHORT_SIZE sizeof(uint16_t) | |
| 150 | #define AUR_INT32_SIZE sizeof(uint32_t) | |
| 151 | #define AUR_INT_SIZE AUR_INT32_SIZE | |
| 152 | #define AUR_INT64_SIZE sizeof(uint64_t) | |
| 153 | ||
| 154 | /* Modifiers for the header token */ | |
| 155 | #define PAD_NOTATTR 0x4000 /* nonattributable event */ | |
| 156 | #define PAD_FAILURE 0x8000 /* fail audit event */ | |
| 157 | ||
| 158 | #define AUDIT_MAX_GROUPS 16 | |
| 159 | ||
| 160 | /* | |
| 161 | * A number of BSM versions are floating around and defined. Here are | |
| 162 | * constants for them. OpenBSM uses the same token types, etc, used in the | |
| 163 | * Solaris BSM version, but has a separate version number in order to | |
| 164 | * identify a potentially different event identifier name space. | |
| 165 | */ | |
| 166 | #define	AUDIT_HEADER_VERSION_OLDDARWIN	1	/* In retrospect, a mistake. */ | |
| 167 | #define	AUDIT_HEADER_VERSION_SOLARIS	2 | |
| 168 | #define	AUDIT_HEADER_VERSION_TSOL25	3 | |
| 169 | #define	AUDIT_HEADER_VERSION_TSOL	4 | |
| 170 | #define	AUDIT_HEADER_VERSION_OPENBSM10	10 | |
| 171 | #define	AUDIT_HEADER_VERSION_OPENBSM11	11 | |
| 172 | #define	AUDIT_HEADER_VERSION_OPENBSM	AUDIT_HEADER_VERSION_OPENBSM11 | |
| 173 | ||
| 174 | #define	AUT_TRAILER_MAGIC	0xb105 | |
| 175 | ||
| 176 | /* BSM library calls */ | |
| 177 | ||
| 178 | __BEGIN_DECLS | |
| 179 | ||
| 180 | struct in_addr; | |
| 181 | struct in6_addr; | |
| 182 | struct ip; | |
| 183 | struct ipc_perm; | |
| 184 | struct kevent; | |
| 185 | struct sockaddr; | |
| 186 | struct sockaddr_in; | |
| 187 | struct sockaddr_in6; | |
| 188 | struct sockaddr_un; | |
| 189 | #if defined(_KERNEL) || defined(KERNEL) | |
| 190 | struct vnode_au_info; | |
| 191 | #endif | |
| 192 | ||
| 193 | #ifndef	_CAP_RIGHTS_T_DECLARED | |
| 194 | #define	_CAP_RIGHTS_T_DECLARED | |
| 195 | struct cap_rights; | |
| 196 | ||
| 197 | typedef	struct cap_rights	cap_rights_t; | |
| 198 | #endif | |
| 199 | ||
| 200 | int	 au_open(void); | |
| 201 | int	 au_write(int d, token_t *m); | |
| 202 | int	 au_close(int d, int keep, short event); | |
| 203 | int	 au_close_buffer(int d, short event, u_char *buffer, size_t *buflen); | |
| 204 | int	 au_close_token(token_t *tok, u_char *buffer, size_t *buflen); | |
| 205 | ||
| 206 | token_t	*au_to_file(const char *file, struct timeval tm); | |
| 207 | ||
| 208 | token_t	*au_to_header32_tm(int rec_size, au_event_t e_type, au_emod_t e_mod, | |
| 209 | 	 struct timeval tm); | |
| 210 | token_t	*au_to_header32_ex_tm(int rec_size, au_event_t e_type, au_emod_t e_mod, | |
| 211 | 	 struct timeval tm, struct auditinfo_addr *aia); | |
| 212 | token_t	*au_to_header64_tm(int rec_size, au_event_t e_type, au_emod_t e_mod, | |
| 213 | 	 struct timeval tm); | |
| 214 | #if !defined(KERNEL) && !defined(_KERNEL) | |
| 215 | token_t	*au_to_header(int rec_size, au_event_t e_type, au_emod_t e_mod); | |
| 216 | token_t	*au_to_header_ex(int rec_size, au_event_t e_type, au_emod_t e_mod); | |
| 217 | token_t	*au_to_header32(int rec_size, au_event_t e_type, au_emod_t e_mod); | |
| 218 | token_t	*au_to_header64(int rec_size, au_event_t e_type, au_emod_t e_mod); | |
| 219 | token_t	*au_to_header32_ex(int rec_size, au_event_t e_type, au_emod_t e_mod); | |
| 220 | #endif | |
| 221 | ||
| 222 | token_t	*au_to_me(void); | |
| 223 | token_t	*au_to_arg(char n, const char *text, uint32_t v); | |
| 224 | token_t	*au_to_arg32(char n, const char *text, uint32_t v); | |
| 225 | token_t	*au_to_arg64(char n, const char *text, uint64_t v); | |
| 226 | ||
| 227 | #if defined(_KERNEL) || defined(KERNEL) | |
| 228 | token_t	*au_to_attr(struct vnode_au_info *vni); | |
| 229 | token_t	*au_to_attr32(struct vnode_au_info *vni); | |
| 230 | token_t	*au_to_attr64(struct vnode_au_info *vni); | |
| 231 | #endif | |
| 232 | ||
| 233 | token_t	*au_to_data(char unit_print, char unit_type, char unit_count, | |
| 234 | 	 const char *p); | |
| 235 | token_t	*au_to_exit(int retval, int err); | |
| 236 | token_t	*au_to_groups(int *groups); | |
| 237 | token_t	*au_to_newgroups(uint16_t n, gid_t *groups); | |
| 238 | token_t	*au_to_in_addr(struct in_addr *internet_addr); | |
| 239 | token_t	*au_to_in_addr_ex(struct in6_addr *internet_addr); | |
| 240 | token_t	*au_to_ip(struct ip *ip); | |
| 241 | token_t	*au_to_ipc(char type, int id); | |
| 242 | token_t	*au_to_ipc_perm(struct ipc_perm *perm); | |
| 243 | token_t	*au_to_iport(uint16_t iport); | |
| 244 | token_t	*au_to_opaque(const char *data, uint16_t bytes); | |
| 245 | token_t	*au_to_path(const char *path); | |
| 246 | token_t	*au_to_privset(char *privtypestr, char *privstr); | |
| 247 | token_t	*au_to_process(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, | |
| 248 | 	 gid_t rgid, pid_t pid, au_asid_t sid, au_tid_t *tid); | |
| 249 | token_t	*au_to_process32(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, | |
| 250 | 	 gid_t rgid, pid_t pid, au_asid_t sid, au_tid_t *tid); | |
| 251 | token_t	*au_to_process64(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, | |
| 252 | 	 gid_t rgid, pid_t pid, au_asid_t sid, au_tid_t *tid); | |
| 253 | token_t	*au_to_process_ex(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, | |
| 254 | 	 gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid); | |
| 255 | token_t	*au_to_process32_ex(au_id_t auid, uid_t euid, gid_t egid, | |
| 256 | 	 uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, | |
| 257 | 	 au_tid_addr_t *tid); | |
| 258 | token_t	*au_to_process64_ex(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, | |
| 259 | 	 gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid); | |
| 260 | token_t	*au_to_rights(cap_rights_t *rightsp); | |
| 261 | token_t	*au_to_return(char status, uint32_t ret); | |
| 262 | token_t	*au_to_return32(char status, uint32_t ret); | |
| 263 | token_t	*au_to_return64(char status, uint64_t ret); | |
| 264 | token_t	*au_to_seq(long audit_count); | |
| 265 | token_t	*au_to_socket_ex(u_short so_domain, u_short so_type, | |
| 266 | 	 struct sockaddr *sa_local, struct sockaddr *sa_remote); | |
| 267 | token_t	*au_to_sock_inet(struct sockaddr_in *so); | |
| 268 | token_t	*au_to_sock_inet32(struct sockaddr_in *so); | |
| 269 | token_t	*au_to_sock_inet128(struct sockaddr_in6 *so); | |
| 270 | token_t	*au_to_sock_unix(struct sockaddr_un *so); | |
| 271 | token_t	*au_to_subject(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, | |
| 272 | 	 gid_t rgid, pid_t pid, au_asid_t sid, au_tid_t *tid); | |
| 273 | token_t	*au_to_subject32(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, | |
| 274 | 	 gid_t rgid, pid_t pid, au_asid_t sid, au_tid_t *tid); | |
| 275 | token_t	*au_to_subject64(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, | |
| 276 | 	 gid_t rgid, pid_t pid, au_asid_t sid, au_tid_t *tid); | |
| 277 | token_t	*au_to_subject_ex(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, | |
| 278 | 	 gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid); | |
| 279 | token_t	*au_to_subject32_ex(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, | |
| 280 | 	 gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid); | |
| 281 | token_t	*au_to_subject64_ex(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, | |
| 282 | 	 gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid); | |
| 283 | #if defined(_KERNEL) || defined(KERNEL) | |
| 284 | token_t	*au_to_exec_args(char *args, int argc); | |
| 285 | token_t	*au_to_exec_env(char *envs, int envc); | |
| 286 | #else | |
| 287 | token_t	*au_to_exec_args(char **argv); | |
| 288 | token_t	*au_to_exec_env(char **envp); | |
| 289 | #endif | |
| 290 | token_t	*au_to_text(const char *text); | |
| 291 | token_t	*au_to_kevent(struct kevent *kev); | |
| 292 | token_t	*au_to_trailer(int rec_size); | |
| 293 | token_t	*au_to_upriv(char sorf, char *priv); | |
| 294 | token_t	*au_to_zonename(const char *zonename); | |
| 295 | ||
| 296 | /* | |
| 297 | * BSM library routines for converting between local and BSM constant spaces. | |
| 298 | */ | |
| 299 | int	 au_bsm_to_domain(u_short bsm_domain, int *local_domainp); | |
| 300 | int	 au_bsm_to_errno(u_char bsm_error, int *errorp); | |
| 301 | int	 au_bsm_to_fcntl_cmd(u_short bsm_fcntl_cmd, int *local_fcntl_cmdp); | |
| 302 | int	 au_bsm_to_socket_type(u_short bsm_socket_type, | |
| 303 | 	 int *local_socket_typep); | |
| 304 | u_short	 au_domain_to_bsm(int local_domain); | |
| 305 | u_char	 au_errno_to_bsm(int local_errno); | |
| 306 | u_short	 au_fcntl_cmd_to_bsm(int local_fcntl_command); | |
| 307 | u_short	 au_socket_type_to_bsm(int local_socket_type); | |
| 308 | ||
| 309 | __END_DECLS | |
| 310 | ||
| 311 | #endif /* ! _BSM_AUDIT_RECORD_H_ */ |
lib/libc/include/generic-freebsd/bsm/audit_socket_type.h created+46| ... | ... | @@ -0,0 +1,46 @@ |
| 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 | ||
| 32 | #ifndef _BSM_AUDIT_SOCKET_TYPE_H_ | |
| 33 | #define	_BSM_AUDIT_SOCKET_TYPE_H_ | |
| 34 | ||
| 35 | /* | |
| 36 | * BSM socket type constants. | |
| 37 | */ | |
| 38 | #define	BSM_SOCK_DGRAM		1 | |
| 39 | #define	BSM_SOCK_STREAM		2 | |
| 40 | #define	BSM_SOCK_RAW		4 | |
| 41 | #define	BSM_SOCK_RDM		5 | |
| 42 | #define	BSM_SOCK_SEQPACKET	6 | |
| 43 | ||
| 44 | #define	BSM_SOCK_UNKNOWN	500 | |
| 45 | ||
| 46 | #endif /* !_BSM_AUDIT_SOCKET_TYPE_H_ */ |