xref: /illumos-gate/usr/src/cmd/cmd-inet/lib/nwamd/util.h (revision 38f140aa)
16ba597c5SAnurag S. Maskey /*
26ba597c5SAnurag S. Maskey  * CDDL HEADER START
36ba597c5SAnurag S. Maskey  *
46ba597c5SAnurag S. Maskey  * The contents of this file are subject to the terms of the
56ba597c5SAnurag S. Maskey  * Common Development and Distribution License (the "License").
66ba597c5SAnurag S. Maskey  * You may not use this file except in compliance with the License.
76ba597c5SAnurag S. Maskey  *
86ba597c5SAnurag S. Maskey  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
96ba597c5SAnurag S. Maskey  * or http://www.opensolaris.org/os/licensing.
106ba597c5SAnurag S. Maskey  * See the License for the specific language governing permissions
116ba597c5SAnurag S. Maskey  * and limitations under the License.
126ba597c5SAnurag S. Maskey  *
136ba597c5SAnurag S. Maskey  * When distributing Covered Code, include this CDDL HEADER in each
146ba597c5SAnurag S. Maskey  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
156ba597c5SAnurag S. Maskey  * If applicable, add the following below this CDDL HEADER, with the
166ba597c5SAnurag S. Maskey  * fields enclosed by brackets "[]" replaced with your own identifying
176ba597c5SAnurag S. Maskey  * information: Portions Copyright [yyyy] [name of copyright owner]
186ba597c5SAnurag S. Maskey  *
196ba597c5SAnurag S. Maskey  * CDDL HEADER END
206ba597c5SAnurag S. Maskey  */
216ba597c5SAnurag S. Maskey 
226ba597c5SAnurag S. Maskey /*
236ba597c5SAnurag S. Maskey  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
246ba597c5SAnurag S. Maskey  * Use is subject to license terms.
256ba597c5SAnurag S. Maskey  */
266ba597c5SAnurag S. Maskey 
276ba597c5SAnurag S. Maskey #ifndef _UTIL_H
286ba597c5SAnurag S. Maskey #define	_UTIL_H
296ba597c5SAnurag S. Maskey 
306ba597c5SAnurag S. Maskey #include <dhcpagent_ipc.h>
316ba597c5SAnurag S. Maskey #include <libdlwlan.h>
326ba597c5SAnurag S. Maskey #include <libnwam.h>
336ba597c5SAnurag S. Maskey #include <pthread.h>
346ba597c5SAnurag S. Maskey #include <string.h>
356ba597c5SAnurag S. Maskey #include <sys/note.h>
366ba597c5SAnurag S. Maskey #include <sys/time.h>
376ba597c5SAnurag S. Maskey #include <sys/zone.h>
386ba597c5SAnurag S. Maskey #include <syslog.h>
396ba597c5SAnurag S. Maskey 
406ba597c5SAnurag S. Maskey #include "events.h"
416ba597c5SAnurag S. Maskey #include "llp.h"
426ba597c5SAnurag S. Maskey #include "ncu.h"
436ba597c5SAnurag S. Maskey 
446ba597c5SAnurag S. Maskey /*
456ba597c5SAnurag S. Maskey  * A few functions here from files other than util.c, saves having
466ba597c5SAnurag S. Maskey  * .h files for one or two functions.
476ba597c5SAnurag S. Maskey  */
486ba597c5SAnurag S. Maskey 
496ba597c5SAnurag S. Maskey #define	OUR_FMRI				NWAM_FMRI
506ba597c5SAnurag S. Maskey #define	OUR_PG					NWAM_PG
516ba597c5SAnurag S. Maskey #define	OUR_DEBUG_PROP_NAME			"debug"
526ba597c5SAnurag S. Maskey #define	OUR_AUTOCONF_PROP_NAME			"autoconf"
536ba597c5SAnurag S. Maskey #define	OUR_STRICT_BSSID_PROP_NAME		"strict_bssid"
546ba597c5SAnurag S. Maskey #define	OUR_ACTIVE_NCP_PROP_NAME		NWAM_PROP_ACTIVE_NCP
556ba597c5SAnurag S. Maskey #define	OUR_CONDITION_CHECK_INTERVAL_PROP_NAME	"condition_check_interval"
566ba597c5SAnurag S. Maskey #define	OUR_WIRELESS_SCAN_INTERVAL_PROP_NAME	"scan_interval"
576ba597c5SAnurag S. Maskey #define	OUR_WIRELESS_SCAN_LEVEL_PROP_NAME	"scan_level"
586ba597c5SAnurag S. Maskey #define	OUR_NCU_WAIT_TIME_PROP_NAME		"ncu_wait_time"
596ba597c5SAnurag S. Maskey #define	OUR_VERSION_PROP_NAME			"version"
606ba597c5SAnurag S. Maskey #define	NET_LOC_FMRI				"svc:/network/location:default"
616ba597c5SAnurag S. Maskey #define	NET_LOC_PG				"location"
626ba597c5SAnurag S. Maskey #define	NET_LOC_SELECTED_PROP			"selected"
636ba597c5SAnurag S. Maskey 
646ba597c5SAnurag S. Maskey #define	NSEC_TO_SEC(nsec)	(nsec) / (long)NANOSEC
656ba597c5SAnurag S. Maskey #define	NSEC_TO_FRACNSEC(nsec)	(nsec) % (long)NANOSEC
666ba597c5SAnurag S. Maskey #define	SEC_TO_NSEC(sec)	(sec) * (long)NANOSEC
676ba597c5SAnurag S. Maskey 
686ba597c5SAnurag S. Maskey extern boolean_t debug;
696ba597c5SAnurag S. Maskey extern boolean_t shutting_down;
706ba597c5SAnurag S. Maskey 
716ba597c5SAnurag S. Maskey /* logging.c: log support functions */
726ba597c5SAnurag S. Maskey extern void nlog(int, const char *, ...);
736ba597c5SAnurag S. Maskey extern void pfail(const char *fmt, ...);
746ba597c5SAnurag S. Maskey extern int syslog_stack(uintptr_t addr, int sig, void *arg);
756ba597c5SAnurag S. Maskey 
766ba597c5SAnurag S. Maskey /* door_if.c: door interface functions */
776ba597c5SAnurag S. Maskey extern void nwamd_door_init(void);
786ba597c5SAnurag S. Maskey extern void nwamd_door_fini(void);
796ba597c5SAnurag S. Maskey 
806ba597c5SAnurag S. Maskey /* util.c: utility & ipc functions */
816ba597c5SAnurag S. Maskey extern int nwamd_start_childv(const char *, const char * const *);
826ba597c5SAnurag S. Maskey extern boolean_t nwamd_link_belongs_to_this_zone(const char *);
83*38f140aaSMichael Hunter extern void nwamd_escalate(void);
84*38f140aaSMichael Hunter extern void nwamd_deescalate(void);
856ba597c5SAnurag S. Maskey extern void nwamd_drop_unneeded_privs(void);
866ba597c5SAnurag S. Maskey extern void nwamd_escalate_privs(void);
876ba597c5SAnurag S. Maskey 
886ba597c5SAnurag S. Maskey /* SCF helper functions */
896ba597c5SAnurag S. Maskey extern int nwamd_lookup_boolean_property(const char *, const char *,
906ba597c5SAnurag S. Maskey     const char *, boolean_t *);
916ba597c5SAnurag S. Maskey extern int nwamd_lookup_count_property(const char *, const char *, const char *,
926ba597c5SAnurag S. Maskey     uint64_t *);
936ba597c5SAnurag S. Maskey extern int nwamd_lookup_string_property(const char *, const char *,
946ba597c5SAnurag S. Maskey     const char *, char *, size_t);
956ba597c5SAnurag S. Maskey 
966ba597c5SAnurag S. Maskey extern int nwamd_set_count_property(const char *, const char *, const char *,
976ba597c5SAnurag S. Maskey     uint64_t);
986ba597c5SAnurag S. Maskey extern int nwamd_set_string_property(const char *, const char *, const char *,
996ba597c5SAnurag S. Maskey     const char *);
1006ba597c5SAnurag S. Maskey 
1016ba597c5SAnurag S. Maskey extern int nwamd_delete_scf_property(const char *, const char *, const char *);
1026ba597c5SAnurag S. Maskey 
1036ba597c5SAnurag S. Maskey #endif /* _UTIL_H */
104