miniupnp/miniupnpd/getifaddr.h

37 lines
1.0 KiB
C
Raw Permalink Normal View History

/* $Id: getifaddr.h,v 1.11 2018/07/06 11:47:29 nanard Exp $ */
/* vim: tabstop=4 shiftwidth=4 noexpandtab
* MiniUPnP project
2011-09-28 19:13:20 +00:00
* http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
* (c) 2006-2018 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 */
#ifndef GETIFADDR_H_INCLUDED
#define GETIFADDR_H_INCLUDED
2011-09-28 19:13:20 +00:00
struct in_addr;
2013-07-09 13:36:53 +00:00
struct in6_addr;
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
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
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);
/* check if address is in private / reserved block (e.g. local area network) */
int
addr_is_reserved(struct in_addr * addr);
2011-09-28 19:13:20 +00:00
#endif