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