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