xref: /illumos-gate/usr/src/lib/auditd_plugins/syslog/systoken.h (revision b1d7ec75953cd517f5b7c3d9cb427ff8ec5d7d07)
1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License (the "License").
6  * You may not use this file except in compliance with the License.
7  *
8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9  * or http://www.opensolaris.org/os/licensing.
10  * See the License for the specific language governing permissions
11  * and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL HEADER in each
14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15  * If applicable, add the following below this CDDL HEADER, with the
16  * fields enclosed by brackets "[]" replaced with your own identifying
17  * information: Portions Copyright [yyyy] [name of copyright owner]
18  *
19  * CDDL HEADER END
20  */
21 /*
22  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
23  * Use is subject to license terms.
24  */
25 
26 #ifndef	_SYSTOKEN_H
27 #define	_SYSTOKEN_H
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
33 #include "sysplugin.h"
34 #include <bsm/adt.h>
35 
36 /*
37  * parse_context -- doc and cur are for XML input, chunk and
38  * remaining for "plain text input, i.e., the traditiona
39  * output from praudit
40  */
41 
42 struct parse_context {
43 	adr_t		adr;	/* input buffer pointers */
44 	uint64_t	id;	/* message sequence number */
45 	tosyslog_t	out;	/* output data */
46 };
47 typedef struct parse_context parse_context_t;
48 
49 #define	AU_TEXT_NAME	" text "
50 
51 #ifdef useless
52 /*
53  * the following *_ar_token() functions parallel the *_token()(
54  * functions defined in praudit/toktable.h
55  */
56 
57 /*
58  * These tokens are the same for all versions of Solaris
59  */
60 
61 /*
62  * Control tokens
63  */
64 
65 extern void	file_token(adr_t *, uint64_t, uint64_t);
66 extern void	trailer_token(adr_t *, parse_context_t *);
67 extern void	header_token(adr_t *, parse_context_t *);
68 extern void	header32_ex_token(adr_t *, parse_context_t *);
69 
70 /*
71  * Data tokens
72  */
73 
74 extern void	arbitrary_data_token(adr_t *, parse_context_t *);
75 extern void	fmri_token(adr_t *, parse_context_t *);
76 extern void	s5_IPC_token(adr_t *, parse_context_t *);
77 extern void	path_token(adr_t *, parse_context_t *);
78 extern void	subject32_token();
79 extern void	process32_token();
80 extern void	return_value32_token();
81 extern void	text_token(adr_t *, parse_context_t *);
82 extern void	opaque_token(adr_t *, parse_context_t *);
83 extern void	ip_addr_token();
84 extern void	ip_token(adr_t *, parse_context_t *);
85 extern void	iport_token(adr_t *, parse_context_t *);
86 extern void	argument32_token();
87 extern void	socket_token();
88 extern void	sequence_token(adr_t *, parse_context_t *);
89 
90 /*
91  * Modifier tokens
92  */
93 
94 extern void	acl_token(adr_t *, parse_context_t *);
95 extern void	attribute_token(adr_t *, parse_context_t *);
96 extern void	s5_IPC_perm_token(adr_t *, parse_context_t *);
97 extern void	group_token();
98 extern void	label_token(adr_t *, parse_context_t *);
99 extern void	privilege_token(adr_t *, parse_context_t *);
100 extern void	useofpriv_token(adr_t *, parse_context_t *);
101 extern void	zonename_token(adr_t *, parse_context_t *);
102 extern void	liaison_token(adr_t *, parse_context_t *);
103 extern void	newgroup_token(adr_t *, parse_context_t *);
104 extern void	exec_args_token(adr_t *, parse_context_t *);
105 extern void	exec_env_token(adr_t *, parse_context_t *);
106 extern void	attribute32_token(adr_t *, parse_context_t *);
107 extern void	useofauth_token(adr_t *, parse_context_t *);
108 extern void	user_token(adr_t *, parse_context_t *);
109 
110 /*
111  * X windows tokens
112  */
113 
114 extern void	xatom_token(adr_t *, parse_context_t *);
115 extern void	xselect_token(adr_t *, parse_context_t *);
116 extern void	xcolormap_token(adr_t *, parse_context_t *);
117 extern void	xcursor_token(adr_t *, parse_context_t *);
118 extern void	xfont_token(adr_t *, parse_context_t *);
119 extern void	xgc_token(adr_t *, parse_context_t *);
120 extern void	xpixmap_token(adr_t *, parse_context_t *);
121 extern void	xproperty_token(adr_t *, parse_context_t *);
122 extern void	xwindow_token(adr_t *, parse_context_t *);
123 extern void	xclient_token(adr_t *, parse_context_t *);
124 
125 /*
126  * Command tokens
127  */
128 
129 extern void	cmd_token(adr_t *, parse_context_t *);
130 extern void	exit_token(adr_t *, parse_context_t *);
131 
132 /*
133  * Miscellaneous tokens
134  */
135 
136 extern void	host_token(adr_t *, parse_context_t *);
137 
138 /*
139  * Solaris64 tokens
140  */
141 
142 extern void	argument64_token(adr_t *, parse_context_t *);
143 extern void	return64_token(adr_t *, parse_context_t *);
144 extern void	attribute64_token(adr_t *, parse_context_t *);
145 extern void	header64_token(adr_t *, parse_context_t *);
146 extern void	subject64_token(adr_t *, parse_context_t *);
147 extern void	process64_token(adr_t *, parse_context_t *);
148 extern void	file64_token(adr_t *, parse_context_t *);
149 
150 /*
151  * Extended network address tokens
152  */
153 
154 extern void	header64_ex_token();
155 extern void	subject32_ex_token();
156 extern void	process32_ex_token();
157 extern void	subject64_ex_token(adr_t *, parse_context_t *);
158 extern void	process64_ex_token(adr_t *, parse_context_t *);
159 extern void	ip_addr_ex_token(adr_t *, parse_context_t *);
160 extern void	socket_ex_token(adr_t *, parse_context_t *);
161 extern void	tid_token(adr_t *, parse_context_t *);
162 #endif
163 
164 #ifdef __cplusplus
165 }
166 #endif
167 
168 #endif	/* _SYSTOKEN_H */
169