X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Fnetinet%2Fin.h;h=f2f89aba0ca1c4695f82be2c8786ee1520450f8a;hb=65b98213e4a12997a519e34695250d9f3a4d6bc7;hp=cae16c7dfb56d8c12a070a07a3b3193bdd446368;hpb=3ed8c9f2df0b5f0bfe1006037c46d4f32ec6ca7b;p=musl diff --git a/include/netinet/in.h b/include/netinet/in.h index cae16c7d..f2f89aba 100644 --- a/include/netinet/in.h +++ b/include/netinet/in.h @@ -27,10 +27,12 @@ struct in6_addr { union { uint8_t __s6_addr[16]; + uint16_t __s6_addr16[8]; uint32_t __s6_addr32[4]; } __in6_union; }; #define s6_addr __in6_union.__s6_addr +#define s6_addr16 __in6_union.__s6_addr16 #define s6_addr32 __in6_union.__s6_addr32 struct sockaddr_in6 @@ -69,6 +71,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 @@ -93,6 +96,7 @@ uint16_t ntohs(uint16_t); #define IPPROTO_PIM 103 #define IPPROTO_COMP 108 #define IPPROTO_RAW 255 +#define IPPROTO_MAX 256 #define IN6_IS_ADDR_UNSPECIFIED(a) \ (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \ @@ -136,6 +140,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