/*
* 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
* 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
*/
/*
*/
#ifndef _AUDIT_SCF_H
#define _AUDIT_SCF_H
#ifdef __cplusplus
extern "C" {
#endif
/*
* auditd smf(5)/libscf(3LIB) interface - set and display audit parameters
*/
#include <audit_plugin.h>
#include <ctype.h>
#include <libintl.h>
#include <libscf_priv.h>
#include <remote.h>
#include <stdlib.h>
#include <strings.h>
#include <ucontext.h>
#include <zone.h>
/* gettext() obfuscation routine for lint */
#ifdef __lint
#define gettext(x) x
#endif
#ifndef DEBUG
#define DEBUG 0
#endif
#if DEBUG
(void) fprintf x; \
} \
}
#else /* ! DEBUG */
#define DPRINT(x)
#endif
/* Audit subsystem service instances */
/* (ASI) Audit service instance SCF handles - libscf(3LIB) */
struct asi_scfhandle {
};
struct asi_scfhandle_iter {
};
struct asi_scfhandle_iter_prop {
};
/*
* configuration parameters.
*/
struct scf_pgrp_kva_node {
char *pgrp_name;
};
struct policy_sw {
char *policy;
};
struct scf_qctrl {
};
/* auditd(1M) plugin related well known properties */
/* (ARS) Audit remote server - connection group properties */
struct scf_cgrp {
char *scf_hosts;
char *scf_binfile_dir;
char *scf_binfile_fsize;
};
/* (ARS) Audit remote server - server properties */
#define ARS_PORT_DEFAULT 0
struct scf_ars {
char *scf_max_startups;
char *scf_listen_address;
};
/* MAX_PROPVECS max of usable scf_propvec_t in prop_vect[] */
boolean_t do_createcgrp_scf(char *);
boolean_t do_destroypgrp_scf(char *);
boolean_t do_getflags_scf(char **);
boolean_t do_getnaflags_scf(char **);
boolean_t do_setflags_scf(char *);
boolean_t do_setnaflags_scf(char *);
boolean_t do_setpgrp_scf(char *, char *, char *);
boolean_t get_laudit_cfg_state(void);
uint32_t get_policy(char *);
boolean_t get_raudit_cfg_state(void);
boolean_t pgrp_avail_scf(const char *);
int pgrp_ctr_scf(const char *);
void pgrp_kva_ll_free(scf_pgrp_kva_node_t *);
void prt_error_va(char *, va_list);
#ifdef __cplusplus
}
#endif
#endif /* _AUDIT_SCF_H */