TOR: fix compilation
[tomato.git] / release / src / router / miniupnpd / upnputils.h
bloba25398ecc76ea9319ed478a063904640b28fecb9
1 /* $Id: upnputils.h,v 1.6 2014/03/31 12:32:57 nanard Exp $ */
2 /* MiniUPnP project
3 * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
4 * (c) 2011-2013 Thomas Bernard
5 * This software is subject to the conditions detailed
6 * in the LICENCE file provided within the distribution */
8 #ifndef UPNPUTILS_H_INCLUDED
9 #define UPNPUTILS_H_INCLUDED
11 /**
12 * convert a struct sockaddr to a human readable string.
13 * [ipv6]:port or ipv4:port
14 * return the number of characters used (as snprintf)
16 int
17 sockaddr_to_string(const struct sockaddr * addr, char * str, size_t size);
19 /**
20 * set the file description as non blocking
21 * return 0 in case of failure, 1 in case of success
23 int
24 set_non_blocking(int fd);
26 /**
27 * get the LAN which the peer belongs to
29 struct lan_addr_s *
30 get_lan_for_peer(const struct sockaddr * peer);
33 /**
34 * define portability macros
36 #if defined(__sun)
37 static size_t _sa_len(const struct sockaddr *addr)
39 if (addr->sa_family == AF_INET)
40 return (sizeof(struct sockaddr_in));
41 else if (addr->sa_family == AF_INET6)
42 return (sizeof(struct sockaddr_in6));
43 else
44 return (sizeof(struct sockaddr));
46 # define SA_LEN(sa) (_sa_len(sa))
47 #else
48 #if !defined(SA_LEN)
49 # define SA_LEN(sa) ((sa)->sa_len)
50 #endif
51 #endif
53 #ifndef MAX
54 # define MAX(a,b) (((a)>(b))?(a):(b))
55 #endif
57 #endif