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