skalibs

Mirror/fork of https://skarnet.org/software/skalibs/
git clone https://ccx.te2000.cz/git/skalibs
Log | Files | Refs | README | LICENSE

ip46-with (2179B)


      1 typedef ip46full ip46, *ip46_ref ;
      2 #define IP46_ZERO IP46FULL_ZERO
      3 
      4 #define SKALIBS_IPV6_ENABLED
      5 #define SKALIBS_IP_SIZE 16
      6 #define ip46_is6(i) ip46full_is6(i)
      7 #define ip46_fmt(s, i) ip46full_fmt(s, i)
      8 #define ip46_scan(s, i) ip46full_scan(s, i)
      9 #define ip46_scanlist(out, max, s, num) ip46full_scanlist(out, max, s, num)
     10 #define ip46_from_ip4(i, ip4) (ip46full_from_ip4(i, ip4), 1)
     11 #define ip46_from_ip6(i, ip6) (ip46full_from_ip6(i, ip6), 1)
     12 
     13 #define socket_connect46(s, i, port) ((i)->is6 ? socket_connect6(s, (i)->ip, port) : socket_connect4(s, (i)->ip, port))
     14 #define socket_bind46(s, i, port) ((i)->is6 ? socket_bind6(s, (i)->ip, port) : socket_bind4(s, (i)->ip, port))
     15 #define socket_bind46_reuse(s, i, port) ((i)->is6 ? socket_bind6_reuse(s, (i)->ip, port) : socket_bind4_reuse(s, (i)->ip, port))
     16 
     17 #define socket_tcp46(h) ((h) ? socket_tcp6() : socket_tcp4())
     18 #define socket_tcp46_b(h) ((h) ? socket_tcp6_b() : socket_tcp4_b())
     19 #define socket_tcp46_nb(h) ((h) ? socket_tcp6_nb() : socket_tcp4_nb())
     20 #define socket_tcp46_coe(h) ((h) ? socket_tcp6_coe() : socket_tcp4_coe())
     21 #define socket_tcp46_nbcoe(h) ((h) ? socket_tcp6_nbcoe() : socket_tcp4_nbcoe())
     22 #define socket_tcp46_internal(h, flags) ((h) ? socket_tcp6_internal(flags) : socket_tcp4_internal(flags))
     23 
     24 #define socket_udp46(h) ((h) ? socket_udp6() : socket_udp4())
     25 #define socket_udp46_b(h) ((h) ? socket_udp6_b() : socket_udp4_b())
     26 #define socket_udp46_nb(h) ((h) ? socket_udp6_nb() : socket_udp4_nb())
     27 #define socket_udp46_coe(h) ((h) ? socket_udp6_coe() : socket_udp4_coe())
     28 #define socket_udp46_nbcoe(h) ((h) ? socket_udp6_nbcoe() : socket_udp4_nbcoe())
     29 #define socket_udp46_internal(h, flags) ((h) ? socket_udp6_internal(flags) : socket_udp4_internal(flags))
     30 
     31 #define socket_send46(fd, s, len, i, port) ((i)->is6 ? socket_send6(fd, s, len, (i)->ip, port) : socket_send4(fd, s, len, (i)->ip, port))
     32 extern int socket_local46 (int, ip46 *, uint16_t *) ;
     33 extern int socket_remote46 (int, ip46 *, uint16_t *) ;
     34 
     35 #define socket_sendnb46(fd, buf, len, i, port, deadline, stamp) ((i)->is6 ? socket_sendnb6(fd, buf, len, (i)->ip, port, deadline, stamp) : socket_sendnb4(fd, buf, len, (i)->ip, port, deadline, stamp))