Annotation of embedaddon/miniupnpd/minissdpd/upnputils.h, revision 1.1.1.1

1.1       misho       1: /* $Id: upnputils.h,v 1.5 2021/11/04 22:57:20 nanard Exp $ */
                      2: /* MiniUPnP project
                      3:  * http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/
                      4:  * (c) 2011-2021 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: 
                     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)
                     15:  */
                     16: int
                     17: sockaddr_to_string(const struct sockaddr * addr, char * str, size_t size);
                     18: 
                     19: /**
                     20:  * set the file description as non blocking
                     21:  * return 0 in case of failure, 1 in case of success
                     22:  */
                     23: int
                     24: set_non_blocking(int fd);
                     25: 
                     26: /**
                     27:  * get the LAN which the peer belongs to
                     28:  */
                     29: struct lan_addr_s *
                     30: get_lan_for_peer(const struct sockaddr * peer);
                     31: 
                     32: /**
                     33:  * get the time for upnp
                     34:  * Similar to a monotonic gettimeofday(tv, NULL)
                     35:  */
                     36: int upnp_gettimeofday(struct timeval * tv);
                     37: 
                     38: /**
                     39:  * define portability macros
                     40:  */
                     41: #if defined(__sun)
                     42: static __inline size_t _sa_len(const struct sockaddr *addr)
                     43: {
                     44:         if (addr->sa_family == AF_INET)
                     45:                 return (sizeof(struct sockaddr_in));
                     46:         else if (addr->sa_family == AF_INET6)
                     47:                 return (sizeof(struct sockaddr_in6));
                     48:         else
                     49:                 return (sizeof(struct sockaddr));
                     50: }
                     51: # define SA_LEN(sa) (_sa_len(sa))
                     52: #else
                     53: #if !defined(SA_LEN)
                     54: # define SA_LEN(sa) ((sa)->sa_len)
                     55: #endif
                     56: #endif
                     57: 
                     58: #endif
                     59: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>