mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-28 08:12:28 +00:00
Add libresolv from Musl Libc
Locally modified to get nameservers from Windows Registry when `\etc\resolv.conf` isn't defined.
This commit is contained in:
parent
8874a37abc
commit
1a96de6eda
36 changed files with 2313 additions and 73 deletions
|
@ -1,6 +1,7 @@
|
|||
#ifndef COSMOPOLITAN_LIBC_ISYSTEM_NETINET_IN_H_
|
||||
#define COSMOPOLITAN_LIBC_ISYSTEM_NETINET_IN_H_
|
||||
#include "libc/calls/weirdtypes.h"
|
||||
#include "libc/sock/in.h"
|
||||
#include "libc/sock/sock.h"
|
||||
#include "libc/sock/struct/in6_pktinfo.h"
|
||||
#include "libc/sock/struct/in_pktinfo.h"
|
||||
|
@ -17,46 +18,4 @@
|
|||
#include "libc/sysv/consts/mcast.h"
|
||||
#include "libc/sysv/consts/pf.h"
|
||||
#include "libc/sysv/consts/sock.h"
|
||||
|
||||
# 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]))
|
||||
|
||||
# define IN6_IS_ADDR_UNSPECIFIED(a) \
|
||||
(((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) \
|
||||
(((const uint32_t *) (a))[0] == 0 \
|
||||
&& ((const uint32_t *) (a))[1] == 0 \
|
||||
&& ((const uint32_t *) (a))[2] == 0 \
|
||||
&& ((const uint32_t *) (a))[3] == htonl (1))
|
||||
|
||||
# define IN6_IS_ADDR_LINKLOCAL(a) \
|
||||
((((const uint32_t *) (a))[0] & htonl (0xffc00000)) \
|
||||
== htonl (0xfe800000))
|
||||
|
||||
# define IN6_IS_ADDR_SITELOCAL(a) \
|
||||
((((const uint32_t *) (a))[0] & htonl (0xffc00000)) \
|
||||
== htonl (0xfec00000))
|
||||
|
||||
# define IN6_IS_ADDR_V4MAPPED(a) \
|
||||
((((const uint32_t *) (a))[0] == 0) \
|
||||
&& (((const uint32_t *) (a))[1] == 0) \
|
||||
&& (((const uint32_t *) (a))[2] == htonl (0xffff)))
|
||||
|
||||
# define IN6_IS_ADDR_V4COMPAT(a) \
|
||||
((((const uint32_t *) (a))[0] == 0) \
|
||||
&& (((const uint32_t *) (a))[1] == 0) \
|
||||
&& (((const uint32_t *) (a))[2] == 0) \
|
||||
&& (ntohl (((const uint32_t *) (a))[3]) > 1))
|
||||
|
||||
#define IN6_IS_ADDR_MULTICAST(a) (((const uint8_t *) (a))[0] == 0xff)
|
||||
|
||||
|
||||
|
||||
#endif /* COSMOPOLITAN_LIBC_ISYSTEM_NETINET_IN_H_ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue