18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/*
28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * IP address processing
38d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright (c) 2003-2006, Jouni Malinen <j@w1.fi>
48d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt *
5c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * This software may be distributed under the terms of the BSD license.
6c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * See README for more details.
78d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */
88d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
98d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifndef IP_ADDR_H
108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define IP_ADDR_H
118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct hostapd_ip_addr {
138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	int af; /* AF_INET / AF_INET6 */
148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	union {
158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		struct in_addr v4;
168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef CONFIG_IPV6
178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		struct in6_addr v6;
188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* CONFIG_IPV6 */
198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		u8 max_len[16];
208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	} u;
218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt};
228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtconst char * hostapd_ip_txt(const struct hostapd_ip_addr *addr, char *buf,
248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt			    size_t buflen);
258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint hostapd_parse_ip_addr(const char *txt, struct hostapd_ip_addr *addr);
268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* IP_ADDR_H */
28