ip_addr.h revision 76cd2cc44b62e858f1897ce58f4ce7d0174e8839
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IP address processing
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2003-2006, Jouni Malinen <j@w1.fi>
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This software may be distributed under the terms of the BSD license.
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * See README for more details.
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef IP_ADDR_H
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define IP_ADDR_H
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct hostapd_ip_addr {
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	int af; /* AF_INET / AF_INET6 */
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	union {
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		struct in_addr v4;
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef CONFIG_IPV6
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		struct in6_addr v6;
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* CONFIG_IPV6 */
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		u8 max_len[16];
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	} u;
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char * hostapd_ip_txt(const struct hostapd_ip_addr *addr, char *buf,
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			    size_t buflen);
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int hostapd_parse_ip_addr(const char *txt, struct hostapd_ip_addr *addr);
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* IP_ADDR_H */
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)