1*90b80121SDavid van Moolenbroek #ifndef _IFCONFIG_UTIL_H 2*90b80121SDavid van Moolenbroek #define _IFCONFIG_UTIL_H 3*90b80121SDavid van Moolenbroek 4*90b80121SDavid van Moolenbroek #include <netinet/in.h> 5*90b80121SDavid van Moolenbroek #include <sys/types.h> 6*90b80121SDavid van Moolenbroek #include <sys/socket.h> 7*90b80121SDavid van Moolenbroek #include <ifaddrs.h> 8*90b80121SDavid van Moolenbroek 9*90b80121SDavid van Moolenbroek #include "parse.h" 10*90b80121SDavid van Moolenbroek 11*90b80121SDavid van Moolenbroek struct afswtch { 12*90b80121SDavid van Moolenbroek const char *af_name; 13*90b80121SDavid van Moolenbroek short af_af; 14*90b80121SDavid van Moolenbroek void (*af_status)(prop_dictionary_t, prop_dictionary_t, bool); 15*90b80121SDavid van Moolenbroek void (*af_addr_commit)(prop_dictionary_t, prop_dictionary_t); 16*90b80121SDavid van Moolenbroek bool (*af_addr_tentative)(struct ifaddrs *); 17*90b80121SDavid van Moolenbroek SIMPLEQ_ENTRY(afswtch) af_next; 18*90b80121SDavid van Moolenbroek }; 19*90b80121SDavid van Moolenbroek 20*90b80121SDavid van Moolenbroek void print_link_addresses(prop_dictionary_t, bool); 21*90b80121SDavid van Moolenbroek const char *get_string(const char *, const char *, u_int8_t *, int *, bool); 22*90b80121SDavid van Moolenbroek const struct afswtch *lookup_af_byname(const char *); 23*90b80121SDavid van Moolenbroek const struct afswtch *lookup_af_bynum(int); 24*90b80121SDavid van Moolenbroek void print_string(const u_int8_t *, int); 25*90b80121SDavid van Moolenbroek int getsock(int); 26*90b80121SDavid van Moolenbroek struct paddr_prefix *prefixlen_to_mask(int, int); 27*90b80121SDavid van Moolenbroek int direct_ioctl(prop_dictionary_t, unsigned long, void *); 28*90b80121SDavid van Moolenbroek int indirect_ioctl(prop_dictionary_t, unsigned long, void *); 29*90b80121SDavid van Moolenbroek bool ifa_any_preferences(const char *, struct ifaddrs *, int); 30*90b80121SDavid van Moolenbroek void ifa_print_preference(const char *, const struct sockaddr *); 31*90b80121SDavid van Moolenbroek int16_t ifa_get_preference(const char *, const struct sockaddr *); 32*90b80121SDavid van Moolenbroek 33*90b80121SDavid van Moolenbroek #endif /* _IFCONFIG_UTIL_H */ 34