diff --git a/include/netinet/in.h b/include/netinet/in.h index fb628b61..f04657f3 100644 --- a/include/netinet/in.h +++ b/include/netinet/in.h @@ -108,46 +108,63 @@ uint16_t ntohs(uint16_t); #define IPPROTO_MAX 263 #define IN6_IS_ADDR_UNSPECIFIED(a) \ - (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \ - ((uint32_t *) (a))[2] == 0 && ((uint32_t *) (a))[3] == 0) + (((const uint32_t *) (a))[0] == 0 && \ + ((const uint32_t *) (a))[1] == 0 && \ + ((const uint32_t *) (a))[2] == 0 && \ + ((const uint32_t *) (a))[3] == 0) #define IN6_IS_ADDR_LOOPBACK(a) \ - (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \ - ((uint32_t *) (a))[2] == 0 && \ - ((uint8_t *) (a))[12] == 0 && ((uint8_t *) (a))[13] == 0 && \ - ((uint8_t *) (a))[14] == 0 && ((uint8_t *) (a))[15] == 1 ) + (((const uint32_t *) (a))[0] == 0 && \ + ((const uint32_t *) (a))[1] == 0 && \ + ((const uint32_t *) (a))[2] == 0 && \ + ((const uint8_t *) (a))[12] == 0 && \ + ((const uint8_t *) (a))[13] == 0 && \ + ((const uint8_t *) (a))[14] == 0 && \ + ((const uint8_t *) (a))[15] == 1 ) -#define IN6_IS_ADDR_MULTICAST(a) (((uint8_t *) (a))[0] == 0xff) +#define IN6_IS_ADDR_MULTICAST(a) (((const uint8_t *) (a))[0] == 0xff) #define IN6_IS_ADDR_LINKLOCAL(a) \ - ((((uint8_t *) (a))[0]) == 0xfe && (((uint8_t *) (a))[1] & 0xc0) == 0x80) + ((((const uint8_t *) (a))[0]) == 0xfe && \ + (((const uint8_t *) (a))[1] & 0xc0) == 0x80) #define IN6_IS_ADDR_SITELOCAL(a) \ - ((((uint8_t *) (a))[0]) == 0xfe && (((uint8_t *) (a))[1] & 0xc0) == 0xc0) + ((((const uint8_t *) (a))[0]) == 0xfe && \ + (((const uint8_t *) (a))[1] & 0xc0) == 0xc0) #define IN6_IS_ADDR_V4MAPPED(a) \ - (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \ - ((uint8_t *) (a))[8] == 0 && ((uint8_t *) (a))[9] == 0 && \ - ((uint8_t *) (a))[10] == 0xff && ((uint8_t *) (a))[11] == 0xff) + (((const uint32_t *) (a))[0] == 0 && \ + ((const uint32_t *) (a))[1] == 0 && \ + ((const uint8_t *) (a))[8] == 0 && \ + ((const uint8_t *) (a))[9] == 0 && \ + ((const uint8_t *) (a))[10] == 0xff && \ + ((const uint8_t *) (a))[11] == 0xff) #define IN6_IS_ADDR_V4COMPAT(a) \ - (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \ - ((uint32_t *) (a))[2] == 0 && ((uint8_t *) (a))[15] > 1) + (((const uint32_t *) (a))[0] == 0 && \ + ((const uint32_t *) (a))[1] == 0 && \ + ((const uint32_t *) (a))[2] == 0 && \ + ((const uint8_t *) (a))[15] > 1) #define IN6_IS_ADDR_MC_NODELOCAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x1)) + (IN6_IS_ADDR_MULTICAST(a) && \ + ((((const uint8_t *) (a))[1] & 0xf) == 0x1)) #define IN6_IS_ADDR_MC_LINKLOCAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x2)) + (IN6_IS_ADDR_MULTICAST(a) && \ + ((((const uint8_t *) (a))[1] & 0xf) == 0x2)) #define IN6_IS_ADDR_MC_SITELOCAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x5)) + (IN6_IS_ADDR_MULTICAST(a) && \ + ((((const uint8_t *) (a))[1] & 0xf) == 0x5)) #define IN6_IS_ADDR_MC_ORGLOCAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x8)) + (IN6_IS_ADDR_MULTICAST(a) && \ + ((((const uint8_t *) (a))[1] & 0xf) == 0x8)) #define IN6_IS_ADDR_MC_GLOBAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0xe)) + (IN6_IS_ADDR_MULTICAST(a) && \ + ((((const 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]) ))