| /* |
| * CDDL HEADER START |
| * |
| * The contents of this file are subject to the terms of the |
| * Common Development and Distribution License (the "License"). |
| * You may not use this file except in compliance with the License. |
| * |
| * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
| * or http://www.opensolaris.org/os/licensing. |
| * See the License for the specific language governing permissions |
| * and limitations under the License. |
| * |
| * When distributing Covered Code, include this CDDL HEADER in each |
| * file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
| * If applicable, add the following below this CDDL HEADER, with the |
| * fields enclosed by brackets "[]" replaced with your own identifying |
| * information: Portions Copyright [yyyy] [name of copyright owner] |
| * |
| * CDDL HEADER END |
| */ |
| /* |
| * Copyright 2006 Sun Microsystems, Inc. All rights reserved. |
| * Use is subject to license terms. |
| */ |
| |
| #ifndef _SYSTOKEN_H |
| #define _SYSTOKEN_H |
| |
| #pragma ident "%Z%%M% %I% %E% SMI" |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| #include "sysplugin.h" |
| #include <bsm/adt.h> |
| |
| /* |
| * parse_context -- doc and cur are for XML input, chunk and |
| * remaining for "plain text input, i.e., the traditiona |
| * output from praudit |
| */ |
| |
| struct parse_context { |
| adr_t adr; /* input buffer pointers */ |
| uint32_t id; /* message sequence number */ |
| tosyslog_t out; /* output data */ |
| }; |
| typedef struct parse_context parse_context_t; |
| |
| #define AU_TEXT_NAME " text " |
| |
| #ifdef useless |
| /* |
| * the following *_ar_token() functions parallel the *_token()( |
| * functions defined in praudit/toktable.h |
| */ |
| |
| /* |
| * These tokens are the same for all versions of Solaris |
| */ |
| |
| /* |
| * Control tokens |
| */ |
| |
| extern void file_token(adr_t *, uint64_t, uint64_t); |
| extern void trailer_token(adr_t *, parse_context_t *); |
| extern void header_token(adr_t *, parse_context_t *); |
| extern void header32_ex_token(adr_t *, parse_context_t *); |
| |
| /* |
| * Data tokens |
| */ |
| |
| extern void arbitrary_data_token(adr_t *, parse_context_t *); |
| extern void s5_IPC_token(adr_t *, parse_context_t *); |
| extern void path_token(adr_t *, parse_context_t *); |
| extern void subject32_token(); |
| extern void process32_token(); |
| extern void return_value32_token(); |
| extern void text_token(adr_t *, parse_context_t *); |
| extern void opaque_token(adr_t *, parse_context_t *); |
| extern void ip_addr_token(); |
| extern void ip_token(adr_t *, parse_context_t *); |
| extern void iport_token(adr_t *, parse_context_t *); |
| extern void argument32_token(); |
| extern void socket_token(); |
| extern void sequence_token(adr_t *, parse_context_t *); |
| |
| /* |
| * Modifier tokens |
| */ |
| |
| extern void acl_token(adr_t *, parse_context_t *); |
| extern void attribute_token(adr_t *, parse_context_t *); |
| extern void s5_IPC_perm_token(adr_t *, parse_context_t *); |
| extern void group_token(); |
| extern void slabel_token(adr_t *, parse_context_t *); |
| extern void privilege_token(adr_t *, parse_context_t *); |
| extern void useofpriv_token(adr_t *, parse_context_t *); |
| extern void zonename_token(adr_t *, parse_context_t *); |
| extern void liaison_token(adr_t *, parse_context_t *); |
| extern void newgroup_token(adr_t *, parse_context_t *); |
| extern void exec_args_token(adr_t *, parse_context_t *); |
| extern void exec_env_token(adr_t *, parse_context_t *); |
| extern void attribute32_token(adr_t *, parse_context_t *); |
| extern void useofauth_token(adr_t *, parse_context_t *); |
| |
| /* |
| * X windows tokens |
| */ |
| |
| extern void xatom_token(adr_t *, parse_context_t *); |
| extern void xselect_token(adr_t *, parse_context_t *); |
| extern void xcolormap_token(adr_t *, parse_context_t *); |
| extern void xcursor_token(adr_t *, parse_context_t *); |
| extern void xfont_token(adr_t *, parse_context_t *); |
| extern void xgc_token(adr_t *, parse_context_t *); |
| extern void xpixmap_token(adr_t *, parse_context_t *); |
| extern void xproperty_token(adr_t *, parse_context_t *); |
| extern void xwindow_token(adr_t *, parse_context_t *); |
| extern void xclient_token(adr_t *, parse_context_t *); |
| |
| /* |
| * Command tokens |
| */ |
| |
| extern void cmd_token(adr_t *, parse_context_t *); |
| extern void exit_token(adr_t *, parse_context_t *); |
| |
| /* |
| * Miscellaneous tokens |
| */ |
| |
| extern void host_token(adr_t *, parse_context_t *); |
| |
| /* |
| * Solaris64 tokens |
| */ |
| |
| extern void argument64_token(adr_t *, parse_context_t *); |
| extern void return64_token(adr_t *, parse_context_t *); |
| extern void attribute64_token(adr_t *, parse_context_t *); |
| extern void header64_token(adr_t *, parse_context_t *); |
| extern void subject64_token(adr_t *, parse_context_t *); |
| extern void process64_token(adr_t *, parse_context_t *); |
| extern void file64_token(adr_t *, parse_context_t *); |
| |
| /* |
| * Extended network address tokens |
| */ |
| |
| extern void header64_ex_token(); |
| extern void subject32_ex_token(); |
| extern void process32_ex_token(); |
| extern void subject64_ex_token(adr_t *, parse_context_t *); |
| extern void process64_ex_token(adr_t *, parse_context_t *); |
| extern void ip_addr_ex_token(adr_t *, parse_context_t *); |
| extern void socket_ex_token(adr_t *, parse_context_t *); |
| #endif |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* _SYSTOKEN_H */ |