xref: /netbsd-src/sbin/ifconfig/util.h (revision 6a493d6bc668897c91594964a732d38505b70cbb)
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 
11 struct 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 
19 void print_link_addresses(prop_dictionary_t, bool);
20 const char *get_string(const char *, const char *, u_int8_t *, int *, bool);
21 const struct afswtch *lookup_af_byname(const char *);
22 const struct afswtch *lookup_af_bynum(int);
23 void	print_string(const u_int8_t *, int);
24 int    getsock(int);
25 struct paddr_prefix *prefixlen_to_mask(int, int);
26 int direct_ioctl(prop_dictionary_t, unsigned long, void *);
27 int indirect_ioctl(prop_dictionary_t, unsigned long, void *);
28 bool ifa_any_preferences(const char *, struct ifaddrs *, int);
29 void ifa_print_preference(const char *, const struct sockaddr *);
30 int16_t ifa_get_preference(const char *, const struct sockaddr *);
31 
32 #endif /* _IFCONFIG_UTIL_H */
33