#ifndef _UTIL_H
#define _UTIL_H
#include <dhcpagent_ipc.h>
#include <libdlwlan.h>
#include <libnwam.h>
#include <pthread.h>
#include <string.h>
#include <sys/note.h>
#include <sys/time.h>
#include <sys/zone.h>
#include <syslog.h>
#include "events.h"
#include "llp.h"
#include "ncu.h"
#define OUR_FMRI NWAM_FMRI
#define OUR_PG NWAM_PG
#define OUR_DEBUG_PROP_NAME "debug"
#define OUR_AUTOCONF_PROP_NAME "autoconf"
#define OUR_STRICT_BSSID_PROP_NAME "strict_bssid"
#define OUR_ACTIVE_NCP_PROP_NAME NWAM_PROP_ACTIVE_NCP
#define OUR_CONDITION_CHECK_INTERVAL_PROP_NAME "condition_check_interval"
#define OUR_WIRELESS_SCAN_INTERVAL_PROP_NAME "scan_interval"
#define OUR_WIRELESS_SCAN_LEVEL_PROP_NAME "scan_level"
#define OUR_NCU_WAIT_TIME_PROP_NAME "ncu_wait_time"
#define OUR_VERSION_PROP_NAME "version"
#define NET_LOC_FMRI "svc:/network/location:default"
#define NET_LOC_PG "location"
#define NET_LOC_SELECTED_PROP "selected"
#define NSEC_TO_SEC(nsec) (nsec) / (long)NANOSEC
#define NSEC_TO_FRACNSEC(nsec) (nsec) % (long)NANOSEC
#define SEC_TO_NSEC(sec) (sec) * (long)NANOSEC
extern boolean_t debug;
extern boolean_t shutting_down;
extern void nlog(int, const char *, ...);
extern void pfail(const char *fmt, ...);
extern int syslog_stack(uintptr_t addr, int sig, void *arg);
extern void nwamd_door_init(void);
extern void nwamd_door_fini(void);
extern int nwamd_start_childv(const char *, const char * const *);
extern boolean_t nwamd_link_belongs_to_this_zone(const char *);
extern void nwamd_escalate(void);
extern void nwamd_deescalate(void);
extern void nwamd_drop_unneeded_privs(void);
extern void nwamd_escalate_privs(void);
extern int nwamd_lookup_boolean_property(const char *, const char *,
const char *, boolean_t *);
extern int nwamd_lookup_count_property(const char *, const char *, const char *,
uint64_t *);
extern int nwamd_lookup_string_property(const char *, const char *,
const char *, char *, size_t);
extern int nwamd_set_count_property(const char *, const char *, const char *,
uint64_t);
extern int nwamd_set_string_property(const char *, const char *, const char *,
const char *);
extern int nwamd_delete_scf_property(const char *, const char *, const char *);
#endif