Electroneum
upnputils.h
Go to the documentation of this file.
1 /* $Id: upnputils.h,v 1.2 2014/11/28 16:20:07 nanard Exp $ */
2 /* MiniUPnP project
3  * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
4  * (c) 2011-2016 Thomas Bernard
5  * This software is subject to the conditions detailed
6  * in the LICENCE file provided within the distribution */
7 
8 #ifndef UPNPUTILS_H_INCLUDED
9 #define UPNPUTILS_H_INCLUDED
10 
16 int
17 sockaddr_to_string(const struct sockaddr * addr, char * str, size_t size);
18 
23 int
24 set_non_blocking(int fd);
25 
29 struct lan_addr_s *
30 get_lan_for_peer(const struct sockaddr * peer);
31 
35 #if defined(__sun)
36 static __inline size_t _sa_len(const struct sockaddr *addr)
37 {
38  if (addr->sa_family == AF_INET)
39  return (sizeof(struct sockaddr_in));
40  else if (addr->sa_family == AF_INET6)
41  return (sizeof(struct sockaddr_in6));
42  else
43  return (sizeof(struct sockaddr));
44 }
45 # define SA_LEN(sa) (_sa_len(sa))
46 #else
47 #if !defined(SA_LEN)
48 # define SA_LEN(sa) ((sa)->sa_len)
49 #endif
50 #endif
51 
52 #endif
53 
struct lan_addr_s * get_lan_for_peer(const struct sockaddr *peer)
int sockaddr_to_string(const struct sockaddr *addr, char *str, size_t size)
int set_non_blocking(int fd)
#define AF_INET6
Definition: fake-rfc2553.h:84