2022-08-06 16:56:17 +00:00
|
|
|
#ifndef COSMOPOLITAN_LIBC_ISYSTEM_NETINET_IN_H_
|
|
|
|
#define COSMOPOLITAN_LIBC_ISYSTEM_NETINET_IN_H_
|
2022-10-11 00:52:41 +00:00
|
|
|
#include "libc/calls/weirdtypes.h"
|
2022-08-06 16:56:17 +00:00
|
|
|
#include "libc/sock/sock.h"
|
2023-06-18 11:02:01 +00:00
|
|
|
#include "libc/sock/struct/in6_pktinfo.h"
|
|
|
|
#include "libc/sock/struct/in_pktinfo.h"
|
2022-08-06 16:56:17 +00:00
|
|
|
#include "libc/sock/struct/ip_mreq.h"
|
|
|
|
#include "libc/sock/struct/sockaddr.h"
|
|
|
|
#include "libc/sock/struct/sockaddr6.h"
|
2023-06-09 12:18:38 +00:00
|
|
|
#include "libc/sysv/consts/in.h"
|
2022-08-06 16:56:17 +00:00
|
|
|
#include "libc/sysv/consts/inaddr.h"
|
2022-10-11 00:52:41 +00:00
|
|
|
#include "libc/sysv/consts/inet6.h"
|
2022-08-06 16:56:17 +00:00
|
|
|
#include "libc/sysv/consts/ip.h"
|
|
|
|
#include "libc/sysv/consts/ipport.h"
|
|
|
|
#include "libc/sysv/consts/ipproto.h"
|
|
|
|
#include "libc/sysv/consts/ipv6.h"
|
|
|
|
#include "libc/sysv/consts/mcast.h"
|
|
|
|
#include "libc/sysv/consts/pf.h"
|
|
|
|
#include "libc/sysv/consts/sock.h"
|
2023-07-23 18:11:08 +00:00
|
|
|
|
|
|
|
# define IN6_ARE_ADDR_EQUAL(a,b) \
|
|
|
|
((((const uint32_t *) (a))[0] == ((const uint32_t *) (b))[0]) \
|
|
|
|
&& (((const uint32_t *) (a))[1] == ((const uint32_t *) (b))[1]) \
|
|
|
|
&& (((const uint32_t *) (a))[2] == ((const uint32_t *) (b))[2]) \
|
|
|
|
&& (((const uint32_t *) (a))[3] == ((const uint32_t *) (b))[3]))
|
|
|
|
|
2022-08-06 16:56:17 +00:00
|
|
|
#endif /* COSMOPOLITAN_LIBC_ISYSTEM_NETINET_IN_H_ */
|