libnwam_priv.h revision 6ba597c56d749c61b4f783157f63196d7b2445f0
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * CDDL HEADER START
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * The contents of this file are subject to the terms of the
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * Common Development and Distribution License (the "License").
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * You may not use this file except in compliance with the License.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * or http://www.opensolaris.org/os/licensing.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * See the License for the specific language governing permissions
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * and limitations under the License.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * When distributing Covered Code, include this CDDL HEADER in each
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * If applicable, add the following below this CDDL HEADER, with the
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * fields enclosed by brackets "[]" replaced with your own identifying
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * information: Portions Copyright [yyyy] [name of copyright owner]
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * CDDL HEADER END
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * Use is subject to license terms.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * This file contains private data structures and APIs of libnwam. Currently
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * these are used by nwamd (nwam_event_*() and nwam_record_audit_event()) and
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * netcfgd (nwam_backend_*()) only, supporting the event messaging, audit
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * and backend configuration access that nwamd and netcfgd supply.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * Implementation is MT safe.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey/* Name of directory containing the doors */
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#define NWAM_DOOR_DIR "/etc/svc/volatile/nwam"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey/* Name of door used to communicate with libnwam backend (in netcfgd) */
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#define NWAM_BACKEND_DOOR_FILE NWAM_DOOR_DIR "/nwam_backend_door"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey/* Name of door used to communicate with nwamd */
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#define NWAM_DOOR NWAM_DOOR_DIR "/nwam_door"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey/* Requests to nwamd door */
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeytypedef enum {
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey/* Status returned by nwamd door */
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeytypedef enum {
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeytypedef union {
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey /* Used for EVENT_[UN]REGISTER requests */
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey /* Used for ACTION requests */
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey /* Used for STATE requests */
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey /* Used for PRIORITY_GROUP requests */
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey /* Used for WLAN request/responses */
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey nwam_wlan_t nwdad_wlans[NWAMD_MAX_NUM_WLANS];
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeytypedef struct {
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeytypedef enum {
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey char nwbda_dbname[MAXPATHLEN]; /* config filename */
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey char nwbda_object[NWAM_MAX_NAME_LEN]; /* config object */
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey size_t nwbda_datalen; /* data follows arg */
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey nwam_error_t nwbda_result; /* return code */
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * Functions needed to initialize/stop processing of libnwam backend data
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * (used in netcfgd).
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeyextern nwam_error_t nwam_backend_init(void);
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeyextern void nwam_backend_fini(void);
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * create audit session, report event, end session. Used by nwamd.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeyextern void nwam_record_audit_event(const ucred_t *, au_event_t, char *, char *,
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * NWAM daemon functions, used to send, stop sending, initialize or finish
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * event IPC. Used by nwamd.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeyextern nwam_error_t nwam_event_send(nwam_event_t);
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeyextern void nwam_event_send_fini(void);
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeyextern nwam_error_t nwam_event_queue_init(const char *);
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeyextern void nwam_event_queue_fini(const char *);
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#endif /* _LIBNWAM_PRIV_H */