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.
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.
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]
22 * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
34 * Solaris Audit Token Table.
37 typedef struct token_desc
{
38 char *t_name
; /* name of the token */
39 char *t_tagname
; /* tag name */
40 int (*func
)(); /* token processing function */
41 short t_type
; /* token or tag type */
45 #define NOFUNC (int (*)())0
49 extern token_desc_t tokentable
[];
54 * attribute: an attribute:
57 * element: a simple element:
60 * enclosed: a self contained element, optionally with attributes:
61 * <xxx a="" b="" ... />
63 * extended: an element with attributes:
64 * <xxx a="" b="" ...> ... </xxx>
66 #define T_ATTRIBUTE 1 /* attribute */
67 #define T_ELEMENT 2 /* element */
68 #define T_ENCLOSED 3 /* enclosed element */
69 #define T_EXTENDED 4 /* extended element */
70 #define T_UNKNOWN 99 /* huh... */
73 * Define the kinds of tags
75 enum tagnum_t
{ TAG_INVALID
= MAXTOKEN
,
110 TAG_SEQNUM
, /* with sequence token */
111 TAG_ARGV
, /* with cmd token */
112 TAG_ARGE
, /* with cmd token */
113 TAG_ARG
, /* with exec_args token */
114 TAG_ENV
, /* with exec_env token */
115 TAG_XAT
, /* with attr_path token */
116 TAG_RESULT
, /* with use_of_privilege token */
117 TAG_CUID
, /* with IPC_perm token */
118 TAG_CGID
, /* with IPC_perm token */
119 TAG_SEQ
, /* with IPC_perm token */
120 TAG_KEY
, /* with IPC_perm token */
121 TAG_IPVERS
, /* with ip token */
122 TAG_IPSERV
, /* with ip token */
123 TAG_IPLEN
, /* with ip token */
124 TAG_IPID
, /* with ip token */
125 TAG_IPOFFS
, /* with ip token */
126 TAG_IPTTL
, /* with ip token */
127 TAG_IPPROTO
, /* with ip token */
128 TAG_IPCKSUM
, /* with ip token */
129 TAG_IPSRC
, /* with ip token */
130 TAG_IPDEST
, /* with ip token */
131 TAG_ACLTYPE
, /* with acl token */
132 TAG_ACLVAL
, /* with acl token */
133 TAG_SOCKTYPE
, /* with socket token */
134 TAG_SOCKPORT
, /* with socket token */
135 TAG_SOCKADDR
, /* with socket token */
136 TAG_SOCKEXDOM
, /* with socket_ex token */
137 TAG_SOCKEXTYPE
, /* with socket_ex token */
138 TAG_SOCKEXLPORT
, /* with socket_ex token */
139 TAG_SOCKEXLADDR
, /* with socket_ex token */
140 TAG_SOCKEXFPORT
, /* with socket_ex token */
141 TAG_SOCKEXFADDR
, /* with socket_ex token */
142 TAG_IPCTYPE
, /* with IPC token */
143 TAG_IPCID
, /* with IPC token */
144 TAG_ARBPRINT
, /* with arbitrary (data) token */
145 TAG_ARBTYPE
, /* with arbitrary (data) token */
146 TAG_ARBCOUNT
, /* with arbitrary (data) token */
147 TAG_HOSTID
, /* with extended header token */
148 TAG_ZONENAME
, /* with zonename token */
149 TAG_TID_TYPE
, /* with tid token */
150 TAG_IP
, /* with tid token, type=ip */
151 TAG_IP_LOCAL
, /* with tid token, type=ip */
152 TAG_IP_REMOTE
, /* with tid token, type=ip */
153 TAG_IP_ADR
, /* with tid token, type=ip */
154 TAG_ACEMASK
, /* with ace token */
155 TAG_ACEFLAGS
, /* with ace token */
156 TAG_ACETYPE
, /* with ace token */
157 TAG_ACEID
, /* with ace token */
158 TAG_USERNAME
, /* with user token */
164 * These tokens are the same for all versions of Solaris
171 extern int file_token();
172 extern int trailer_token();
173 extern int header_token();
174 extern int header32_ex_token();
180 extern int arbitrary_data_token();
181 extern int fmri_token();
182 extern int s5_IPC_token();
183 extern int path_token();
184 extern int path_attr_token();
185 extern int subject32_token();
186 extern int process32_token();
187 extern int return_value32_token();
188 extern int text_token();
189 extern int opaque_token();
190 extern int ip_addr_token();
191 extern int ip_token();
192 extern int iport_token();
193 extern int argument32_token();
194 extern int socket_token();
195 extern int sequence_token();
201 extern int acl_token();
202 extern int ace_token();
203 extern int attribute_token();
204 extern int s5_IPC_perm_token();
205 extern int group_token();
206 extern int label_token();
207 extern int privilege_token();
208 extern int useofpriv_token();
209 extern int liaison_token();
210 extern int newgroup_token();
211 extern int exec_args_token();
212 extern int exec_env_token();
213 extern int attribute32_token();
214 extern int useofauth_token();
215 extern int user_token();
216 extern int zonename_token();
217 extern int secflags_token();
223 extern int xatom_token();
224 extern int xselect_token();
225 extern int xcolormap_token();
226 extern int xcursor_token();
227 extern int xfont_token();
228 extern int xgc_token();
229 extern int xpixmap_token();
230 extern int xproperty_token();
231 extern int xwindow_token();
232 extern int xclient_token();
238 extern int cmd_token();
239 extern int exit_token();
242 * Miscellaneous tokens
245 extern int host_token();
251 extern int argument64_token();
252 extern int return_value64_token();
253 extern int attribute64_token();
254 extern int header64_token();
255 extern int subject64_token();
256 extern int process64_token();
257 extern int file64_token();
260 * Extended network address tokens
263 extern int header64_ex_token();
264 extern int subject32_ex_token();
265 extern int process32_ex_token();
266 extern int subject64_ex_token();
267 extern int process64_ex_token();
268 extern int ip_addr_ex_token();
269 extern int socket_ex_token();
270 extern int tid_token();
276 #endif /* _TOKTABLE_H */