2013-03-23 10:50:57 +00:00
|
|
|
/* $Id: getifaddr.h,v 1.8 2013/03/23 10:46:54 nanard Exp $ */
|
2011-09-28 19:13:20 +00:00
|
|
|
/* MiniUPnP project
|
|
|
|
* http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
|
2013-03-23 10:50:57 +00:00
|
|
|
* (c) 2006-2013 Thomas Bernard
|
2011-09-28 19:13:20 +00:00
|
|
|
* This software is subject to the conditions detailed
|
|
|
|
* in the LICENCE file provided within the distribution */
|
|
|
|
|
2012-09-20 20:52:51 +00:00
|
|
|
#ifndef GETIFADDR_H_INCLUDED
|
|
|
|
#define GETIFADDR_H_INCLUDED
|
2011-09-28 19:13:20 +00:00
|
|
|
|
2013-03-23 10:50:57 +00:00
|
|
|
struct in_addr;
|
2013-07-09 13:36:53 +00:00
|
|
|
struct in6_addr;
|
2013-03-23 10:50:57 +00:00
|
|
|
|
2011-09-28 19:13:20 +00:00
|
|
|
/* getifaddr()
|
|
|
|
* take a network interface name and write the
|
|
|
|
* ip v4 address as text in the buffer
|
|
|
|
* returns: 0 success, -1 failure */
|
|
|
|
int
|
2013-03-23 10:50:57 +00:00
|
|
|
getifaddr(const char * ifname, char * buf, int len,
|
|
|
|
struct in_addr * addr, struct in_addr * mask);
|
2011-09-28 19:13:20 +00:00
|
|
|
|
2013-07-09 13:36:53 +00:00
|
|
|
int
|
2014-05-03 07:13:25 +00:00
|
|
|
getifaddr_in6(const char * ifname, int af, struct in6_addr* addr);
|
2013-07-09 13:36:53 +00:00
|
|
|
|
2011-09-28 19:13:20 +00:00
|
|
|
/* find a non link local IP v6 address for the interface.
|
|
|
|
* if ifname is NULL, look for all interfaces */
|
|
|
|
int
|
|
|
|
find_ipv6_addr(const char * ifname,
|
|
|
|
char * dst, int n);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|