File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / miniupnpd / minissdpd / upnputils.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Sep 27 11:25:11 2023 UTC (14 months, 4 weeks ago) by misho
Branches: miniupnpd, MAIN
CVS tags: v2_3_3p0, HEAD
Version 2.3.3p0

    1: /* $Id: upnputils.h,v 1.1.1.1 2023/09/27 11:25:11 misho 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>