xref: /freebsd/contrib/wpa/src/utils/ip_addr.h (revision 1aaed33edb24c98a09130cd66667d6a795b6b2a8)
1 /*
2  * IP address processing
3  * Copyright (c) 2003-2006, Jouni Malinen <j@w1.fi>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation.
8  *
9  * Alternatively, this software may be distributed under the terms of BSD
10  * license.
11  *
12  * See README and COPYING for more details.
13  */
14 
15 #ifndef IP_ADDR_H
16 #define IP_ADDR_H
17 
18 struct hostapd_ip_addr {
19 	int af; /* AF_INET / AF_INET6 */
20 	union {
21 		struct in_addr v4;
22 #ifdef CONFIG_IPV6
23 		struct in6_addr v6;
24 #endif /* CONFIG_IPV6 */
25 		u8 max_len[16];
26 	} u;
27 };
28 
29 const char * hostapd_ip_txt(const struct hostapd_ip_addr *addr, char *buf,
30 			    size_t buflen);
31 int hostapd_ip_diff(struct hostapd_ip_addr *a, struct hostapd_ip_addr *b);
32 int hostapd_parse_ip_addr(const char *txt, struct hostapd_ip_addr *addr);
33 
34 #endif /* IP_ADDR_H */
35