xref: /minix3/sbin/ifconfig/util.h (revision 90b801219a391518dca4b04b17c88ad3b82b6ad9)
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