mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-06-03 03:02:28 +00:00
libc headers: make <complex.h>
work, add struct ipv6_mreq
(#1100)
1. `libc/isystem/complex.h` (included when you do `#include <complex.h>`) defines `_COMPLEX_H`, and then proceeds to include `libc/complex.h`, which contains the actual complex-related declarations. However, they are *also* guarded by `_COMPLEX_H` and hence effectively ignored. Fix this by changing `_COMPLEX_H` to `COSMOPOLITAN_LIBC_COMPLEX_H_`, which is consistent with what the other headers (such as `math.h`) do. 2. Cosmopolitan could only support IPv4 multicast requests for sockets, since a declaration for `struct ipv6_mreq` was missing. Add support for IPv6, too, by adding the missing declaration.
This commit is contained in:
parent
c72904b2f6
commit
d5225a693b
4 changed files with 17 additions and 3 deletions
12
libc/sock/struct/ipv6_mreq.h
Normal file
12
libc/sock/struct/ipv6_mreq.h
Normal file
|
@ -0,0 +1,12 @@
|
|||
#ifndef COSMOPOLITAN_LIBC_SOCK_STRUCT_IPV6_MREQ_H_
|
||||
#define COSMOPOLITAN_LIBC_SOCK_STRUCT_IPV6_MREQ_H_
|
||||
#include "libc/sock/struct/sockaddr6.h"
|
||||
COSMOPOLITAN_C_START_
|
||||
|
||||
struct ipv6_mreq {
|
||||
struct in6_addr ipv6mr_multiaddr; /* IPv6 multicast address of group */
|
||||
unsigned ipv6mr_interface; /* local interface */
|
||||
};
|
||||
|
||||
COSMOPOLITAN_C_END_
|
||||
#endif /* COSMOPOLITAN_LIBC_SOCK_STRUCT_IPV6_MREQ_H_ */
|
Loading…
Add table
Add a link
Reference in a new issue