X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Fnetinet%2Fin.h;h=d886fc2850df1cd8a763ec8011454db1a09975df;hb=f657fe4b9f734d7fdea515af8dffbf7c28ce4fbc;hp=181f890c3942591b212159c643807881f41ed866;hpb=ca2d3c6ef45de4943e2fba793131206e491fcdb7;p=musl diff --git a/include/netinet/in.h b/include/netinet/in.h index 181f890c..d886fc28 100644 --- a/include/netinet/in.h +++ b/include/netinet/in.h @@ -5,15 +5,13 @@ extern "C" { #endif -#define __NEED_in_addr_t -#define __NEED_in_port_t -#define __NEED_sa_family_t -#define __NEED_struct_in_addr -#define __NEED_uint8_t -#define __NEED_uint16_t -#define __NEED_uint32_t +#include +#include +#include -#include +typedef uint16_t in_port_t; +typedef uint32_t in_addr_t; +struct in_addr { in_addr_t s_addr; }; struct sockaddr_in { @@ -71,6 +69,7 @@ uint32_t ntohl(uint32_t); uint16_t ntohs(uint16_t); #define IPPROTO_IP 0 +#define IPPROTO_HOPOPTS 0 #define IPPROTO_ICMP 1 #define IPPROTO_IGMP 2 #define IPPROTO_IPIP 4 @@ -80,6 +79,7 @@ uint16_t ntohs(uint16_t); #define IPPROTO_UDP 17 #define IPPROTO_IDP 22 #define IPPROTO_TP 29 +#define IPPROTO_DCCP 33 #define IPPROTO_IPV6 41 #define IPPROTO_ROUTING 43 #define IPPROTO_FRAGMENT 44 @@ -94,7 +94,10 @@ uint16_t ntohs(uint16_t); #define IPPROTO_ENCAP 98 #define IPPROTO_PIM 103 #define IPPROTO_COMP 108 +#define IPPROTO_SCTP 132 +#define IPPROTO_UDPLITE 136 #define IPPROTO_RAW 255 +#define IPPROTO_MAX 256 #define IN6_IS_ADDR_UNSPECIFIED(a) \ (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \ @@ -138,6 +141,11 @@ uint16_t ntohs(uint16_t); #define IN6_IS_ADDR_MC_GLOBAL(a) \ (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0xe)) +#define __ARE_4_EQUAL(a,b) \ + (!( 0[a]-0[b] | 1[a]-1[b] | 2[a]-2[b] | 3[a]-3[b] )) +#define IN6_ARE_ADDR_EQUAL(a,b) \ + __ARE_4_EQUAL((const uint32_t *)(a), (const uint32_t *)(b)) + #define IN_CLASSA(a) ((((in_addr_t)(a)) & 0x80000000) == 0) #define IN_CLASSA_NET 0xff000000 #define IN_CLASSA_NSHIFT 24 @@ -193,6 +201,21 @@ uint16_t ntohs(uint16_t); #define IP_ADD_SOURCE_MEMBERSHIP 39 #define IP_DROP_SOURCE_MEMBERSHIP 40 #define IP_MSFILTER 41 +#define IP_MULTICAST_ALL 49 +#define IP_UNICAST_IF 50 + +#ifdef _GNU_SOURCE +#define MCAST_JOIN_GROUP 42 +#define MCAST_BLOCK_SOURCE 43 +#define MCAST_UNBLOCK_SOURCE 44 +#define MCAST_LEAVE_GROUP 45 +#define MCAST_JOIN_SOURCE_GROUP 46 +#define MCAST_LEAVE_SOURCE_GROUP 47 +#define MCAST_MSFILTER 48 + +#define MCAST_EXCLUDE 0 +#define MCAST_INCLUDE 1 +#endif #define IP_RECVRETOPTS IP_RETOPTS