1/* $Id: getifaddr.h,v 1.8 2013/03/23 10:46:54 nanard Exp $ */
2/* MiniUPnP project
3 * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
4 * (c) 2006-2013 Thomas Bernard
5 * This software is subject to the conditions detailed
6 * in the LICENCE file provided within the distribution */
7
8#ifndef GETIFADDR_H_INCLUDED
9#define GETIFADDR_H_INCLUDED
10
11struct in_addr;
12struct in6_addr;
13
14/* getifaddr()
15 * take a network interface name and write the
16 * ip v4 address as text in the buffer
17 * returns: 0 success, -1 failure */
18int
19getifaddr(const char * ifname, char * buf, int len,
20          struct in_addr * addr, struct in_addr * mask);
21
22int
23getifaddr_in6(const char * ifname, int af, struct in6_addr* addr);
24
25/* find a non link local IP v6 address for the interface.
26 * if ifname is NULL, look for all interfaces */
27int
28find_ipv6_addr(const char * ifname,
29               char * dst, int n);
30
31#endif
32
33