1185573Srwatson/*-
2185573Srwatson * Copyright (c) 2004 Apple Inc.
3155131Srwatson * All rights reserved.
4155131Srwatson *
5155131Srwatson * Redistribution and use in source and binary forms, with or without
6155131Srwatson * modification, are permitted provided that the following conditions
7155131Srwatson * are met:
8155131Srwatson * 1.  Redistributions of source code must retain the above copyright
9155131Srwatson *     notice, this list of conditions and the following disclaimer.
10155131Srwatson * 2.  Redistributions in binary form must reproduce the above copyright
11155131Srwatson *     notice, this list of conditions and the following disclaimer in the
12155131Srwatson *     documentation and/or other materials provided with the distribution.
13185573Srwatson * 3.  Neither the name of Apple Inc. ("Apple") nor the names of
14155131Srwatson *     its contributors may be used to endorse or promote products derived
15155131Srwatson *     from this software without specific prior written permission.
16155131Srwatson *
17155131Srwatson * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND
18155131Srwatson * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19155131Srwatson * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20155131Srwatson * ARE DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR
21155131Srwatson * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22155131Srwatson * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23155131Srwatson * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24155131Srwatson * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
25155131Srwatson * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
26155131Srwatson * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27155131Srwatson * POSSIBILITY OF SUCH DAMAGE.
28155131Srwatson *
29185573Srwatson * $P4: //depot/projects/trustedbsd/openbsm/bin/auditreduce/auditreduce.h#7 $
30155131Srwatson */
31155131Srwatson
32155131Srwatson#ifndef _AUDITREDUCE_H_
33155131Srwatson#define _AUDITREDUCE_H_
34155131Srwatson
35155131Srwatson
36162621Srwatsonstruct re_entry {
37162621Srwatson	char		*re_pattern;
38162621Srwatson	int		 re_negate;
39162621Srwatson	regex_t		 re_regexp;
40162621Srwatson	TAILQ_ENTRY(re_entry) re_glue;
41162621Srwatson};
42162621Srwatson
43155131Srwatson#define OPT_a	0x00000001
44155131Srwatson#define OPT_b	0x00000002
45155131Srwatson#define OPT_c	0x00000004
46155131Srwatson#define OPT_d 	(OPT_a | OPT_b)
47155131Srwatson#define OPT_e	0x00000010
48155131Srwatson#define OPT_f	0x00000020
49155131Srwatson#define OPT_g	0x00000040
50155131Srwatson#define OPT_j	0x00000080
51155131Srwatson#define OPT_m	0x00000100
52155131Srwatson#define OPT_of	0x00000200
53155131Srwatson#define OPT_om	0x00000400
54155131Srwatson#define OPT_op	0x00000800
55155131Srwatson#define OPT_ose	0x00001000
56155131Srwatson#define OPT_osh	0x00002000
57155131Srwatson#define OPT_oso	0x00004000
58155131Srwatson#define OPT_r	0x00008000
59155131Srwatson#define OPT_u	0x00010000
60155131Srwatson#define OPT_A	0x00020000
61185573Srwatson#define OPT_v	0x00040000
62155131Srwatson
63155131Srwatson#define FILEOBJ "file"
64155131Srwatson#define MSGQIDOBJ "msgqid"
65155131Srwatson#define PIDOBJ "pid"
66155131Srwatson#define SEMIDOBJ "semid"
67155131Srwatson#define SHMIDOBJ "shmid"
68155131Srwatson#define SOCKOBJ "sock"
69155131Srwatson
70155131Srwatson
71155131Srwatson#define SETOPT(optmask, bit)	(optmask |= bit)
72155131Srwatson#define ISOPTSET(optmask, bit)	(optmask & bit)
73155131Srwatson
74155131Srwatson
75155131Srwatson#endif /* !_AUDITREDUCE_H_ */
76