Annotation of embedaddon/miniupnpd/minissdpd/upnputils.h, revision 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>