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