xref: /illumos-gate/usr/src/cmd/auditreduce/auditrd.h (revision 047f6e6f)
17c478bd9Sstevel@tonic-gate /*
27c478bd9Sstevel@tonic-gate  * CDDL HEADER START
37c478bd9Sstevel@tonic-gate  *
47c478bd9Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
545916cd2Sjpk  * Common Development and Distribution License (the "License").
645916cd2Sjpk  * You may not use this file except in compliance with the License.
77c478bd9Sstevel@tonic-gate  *
87c478bd9Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bd9Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
107c478bd9Sstevel@tonic-gate  * See the License for the specific language governing permissions
117c478bd9Sstevel@tonic-gate  * and limitations under the License.
127c478bd9Sstevel@tonic-gate  *
137c478bd9Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
147c478bd9Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bd9Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
167c478bd9Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
177c478bd9Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
187c478bd9Sstevel@tonic-gate  *
197c478bd9Sstevel@tonic-gate  * CDDL HEADER END
207c478bd9Sstevel@tonic-gate  */
217c478bd9Sstevel@tonic-gate /*
228249a45fSJan Friedel  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
237c478bd9Sstevel@tonic-gate  * Use is subject to license terms.
247c478bd9Sstevel@tonic-gate  */
257c478bd9Sstevel@tonic-gate 
267c478bd9Sstevel@tonic-gate #ifndef	_AUDITRD_H
277c478bd9Sstevel@tonic-gate #define	_AUDITRD_H
287c478bd9Sstevel@tonic-gate 
297c478bd9Sstevel@tonic-gate #ifdef	__cplusplus
307c478bd9Sstevel@tonic-gate extern "C" {
317c478bd9Sstevel@tonic-gate #endif
327c478bd9Sstevel@tonic-gate 
337c478bd9Sstevel@tonic-gate /*
347c478bd9Sstevel@tonic-gate  * Global data for auditreduce
357c478bd9Sstevel@tonic-gate  */
367c478bd9Sstevel@tonic-gate 
377c478bd9Sstevel@tonic-gate /*
387c478bd9Sstevel@tonic-gate  * Message selection options
397c478bd9Sstevel@tonic-gate  */
407c478bd9Sstevel@tonic-gate unsigned short	m_type;		/* 'm' message type */
417c478bd9Sstevel@tonic-gate gid_t	m_groupr;		/* 'g' group-id */
427c478bd9Sstevel@tonic-gate gid_t	m_groupe;		/* 'f' effective group-id */
437c478bd9Sstevel@tonic-gate uid_t	m_usera;		/* 'u' user id */
447c478bd9Sstevel@tonic-gate uid_t	m_usere;		/* 'e' effective user-id */
457c478bd9Sstevel@tonic-gate uid_t	m_userr;		/* 'r' real user-id */
46924c9144Sgww au_asid_t m_sid;		/* 's' session-id */
477c478bd9Sstevel@tonic-gate time_t	m_after;		/* 'a' after a time */
487c478bd9Sstevel@tonic-gate time_t	m_before;		/* 'b' before a time */
497c478bd9Sstevel@tonic-gate audit_state_t mask;		/* used with m_class */
507c478bd9Sstevel@tonic-gate char	*zonename;		/* 'z' zonename */
5145916cd2Sjpk m_range_t *m_label;		/* 'l' mandatory label range */
527c478bd9Sstevel@tonic-gate int	flags;
537c478bd9Sstevel@tonic-gate int	checkflags;
547c478bd9Sstevel@tonic-gate int	socket_flag;
557c478bd9Sstevel@tonic-gate int	ip_type;
568249a45fSJan Friedel uchar_t	ip_ipv6[16];		/* ipv6 type object */
577c478bd9Sstevel@tonic-gate int	obj_flag;		/* 'o' object type */
587c478bd9Sstevel@tonic-gate int	obj_id;			/* object identifier */
597c478bd9Sstevel@tonic-gate gid_t	obj_group;		/* object group */
607c478bd9Sstevel@tonic-gate uid_t	obj_owner;		/* object owner */
617c478bd9Sstevel@tonic-gate int	subj_id;		/* subject identifier  */
627c478bd9Sstevel@tonic-gate char	ipc_type;		/* 'o' object type - tell what type of IPC */
63103b2b15Sgww scf_pattern_t fmri;		/* 'o' fmri value */
64*047f6e6fSgww uid_t	obj_user;		/* 'o' user value */
657c478bd9Sstevel@tonic-gate 
667c478bd9Sstevel@tonic-gate /*
677c478bd9Sstevel@tonic-gate  * File selection options
687c478bd9Sstevel@tonic-gate  */
697c478bd9Sstevel@tonic-gate char	*f_machine;		/* 'M' machine (suffix) type */
707c478bd9Sstevel@tonic-gate char	*f_root;		/* 'R' audit root */
717c478bd9Sstevel@tonic-gate char	*f_server;		/* 'S' server */
727c478bd9Sstevel@tonic-gate char	*f_outfile;		/* 'W' output file */
737c478bd9Sstevel@tonic-gate static char	*f_outtemp;	/* 'W' temporary file name */
747c478bd9Sstevel@tonic-gate int	f_all;			/* 'A' all records from a file */
757c478bd9Sstevel@tonic-gate int	f_complete;		/* 'C' only completed files */
767c478bd9Sstevel@tonic-gate int	f_delete;		/* 'D' delete when done */
777c478bd9Sstevel@tonic-gate int	f_quiet;		/* 'Q' sshhhh! */
787c478bd9Sstevel@tonic-gate int	f_verbose;		/* 'V' verbose */
797c478bd9Sstevel@tonic-gate int	f_stdin;		/* '-' read from stdin */
807c478bd9Sstevel@tonic-gate int	f_cmdline;		/* files specified on the command line */
817c478bd9Sstevel@tonic-gate int	new_mode;		/* 'N' new object selection mode */
827c478bd9Sstevel@tonic-gate 
837c478bd9Sstevel@tonic-gate /*
847c478bd9Sstevel@tonic-gate  * Global error reporting
857c478bd9Sstevel@tonic-gate  */
867c478bd9Sstevel@tonic-gate char	*error_str;		/* current error message */
877c478bd9Sstevel@tonic-gate char	errbuf[256];		/* for creating error messages with sprintf */
887c478bd9Sstevel@tonic-gate char	*ar = "auditreduce:";
897c478bd9Sstevel@tonic-gate static int	root_pid;	/* remember original process's pid */
907c478bd9Sstevel@tonic-gate 
917c478bd9Sstevel@tonic-gate /*
927c478bd9Sstevel@tonic-gate  * Global control blocks
937c478bd9Sstevel@tonic-gate  */
947c478bd9Sstevel@tonic-gate audit_pcb_t *audit_pcbs; /* ptr to array of pcbs that hold files (fcbs) */
957c478bd9Sstevel@tonic-gate 
967c478bd9Sstevel@tonic-gate int	pcbsize;		/* size of audit_pcb[] */
977c478bd9Sstevel@tonic-gate int	pcbnum;		/* number of pcbs in audit_pcb[] that are active */
987c478bd9Sstevel@tonic-gate 
997c478bd9Sstevel@tonic-gate /*
1007c478bd9Sstevel@tonic-gate  * Time values
1017c478bd9Sstevel@tonic-gate  */
1027c478bd9Sstevel@tonic-gate time_t f_start;		/* time of first record written */
1037c478bd9Sstevel@tonic-gate time_t f_end;		/* time of last record written */
1047c478bd9Sstevel@tonic-gate time_t time_now;	/* time the program began */
1057c478bd9Sstevel@tonic-gate 
1067c478bd9Sstevel@tonic-gate /*
1077c478bd9Sstevel@tonic-gate  * Global counting vars
1087c478bd9Sstevel@tonic-gate  */
1097c478bd9Sstevel@tonic-gate int	filenum;		/* number of files to process */
1107c478bd9Sstevel@tonic-gate 
1117c478bd9Sstevel@tonic-gate /*
1127c478bd9Sstevel@tonic-gate  * Global variable, class of current record being processed.
1137c478bd9Sstevel@tonic-gate  */
1147c478bd9Sstevel@tonic-gate int global_class;
1157c478bd9Sstevel@tonic-gate 
1167c478bd9Sstevel@tonic-gate #ifdef __cplusplus
1177c478bd9Sstevel@tonic-gate }
1187c478bd9Sstevel@tonic-gate #endif
1197c478bd9Sstevel@tonic-gate 
1207c478bd9Sstevel@tonic-gate #endif	/* _AUDITRD_H */
121