1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-07 06:43:00 +03:00
Files
glibc/conform/data/netinet/in.h-data
Collin Funk d18213c699 conform: Add initial support for C23.
Hi Joseph,

As we discussed, this patch just makes C23 include every check that is
performed by C11.

I tested the commit by adding the ISO23 Make and Python variables to be
the same as ISO11.  So the only difference was compiling with -DISO23
instead of -DISO11.  And changed the temporary directories to instead
use the format f'/tmp/glibc-{self.standard}-{self.header}'.  Then I used
a shell script to run 'cmp' on each file in the ISO11 and ISO23
directories for each header to make sure they were the same.

-- 8< --

Make C23 checks include every test that is performed by C11.  Done by
running the following command:

find conform -name '*.h-data' | xargs sed -i \
  -e 's| !defined ISO11| !defined ISO11 \&\& !defined ISO23|g' \
  -e 's| defined ISO11| defined ISO11 \|\| defined ISO23|g' \
  -e 's|ifdef ISO11|if defined ISO11 \|\| defined ISO23|g' \
  -e 's|ifndef ISO11|if !defined ISO11 \&\& !defined ISO23|g'

Signed-off-by: Collin Funk <collin.funk1@gmail.com>
2025-04-10 18:39:05 +00:00

98 lines
2.2 KiB
Plaintext

#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined XPG4
type in_port_t
type in_addr_t
type sa_family_t
type {struct in_addr}
element {struct in_addr} in_addr_t s_addr
type {struct sockaddr_in}
element {struct sockaddr_in} sa_family_t sin_family
element {struct sockaddr_in} in_port_t sin_port
element {struct sockaddr_in} {struct in_addr} sin_addr
element {struct sockaddr_in} {unsigned char} sin_zero [8]
type {struct in6_addr}
element {struct in6_addr} uint8_t s6_addr [16]
type {struct sockaddr_in6}
element {struct sockaddr_in6} sa_family_t sin6_family
element {struct sockaddr_in6} in_port_t sin6_port
element {struct sockaddr_in6} uint32_t sin6_flowinfo
element {struct sockaddr_in6} {struct in6_addr} sin6_addr
element {struct sockaddr_in6} uint32_t sin6_scope_id
variable {const struct in6_addr} in6addr_any
// constant IN6ADDR_ANY_INIT
macro IN6ADDR_ANY_INIT
variable {const struct in6_addr} in6addr_loopback
// constant IN6ADDR_LOOPBACK_INIT
macro IN6ADDR_LOOPBACK_INIT
type {struct ipv6_mreq}
element {struct ipv6_mreq} {struct in6_addr} ipv6mr_multiaddr
element {struct ipv6_mreq} {unsigned int} ipv6mr_interface
macro IPPROTO_IP
macro IPPROTO_IPV6
macro IPPROTO_ICMP
macro IPPROTO_TCP
macro IPPROTO_UDP
macro INADDR_ANY
macro INADDR_BROADCAST
constant INET_ADDRSTRLEN == 16
function uint32_t htonl (uint32_t)
function uint16_t htons (uint16_t)
function uint32_t ntohl (uint32_t)
function uint16_t ntohs (uint16_t)
allow-header inttypes.h
allow-header sys/socket.h
constant INET6_ADDRSTRLEN == 46
macro IPV6_JOIN_GROUP
macro IPV6_LEAVE_GROUP
macro IPV6_MULTICAST_HOPS
macro IPV6_MULTICAST_IF
macro IPV6_MULTICAST_LOOP
macro IPV6_UNICAST_HOPS
macro IN6_IS_ADDR_UNSPECIFIED
macro IN6_IS_ADDR_LOOPBACK
macro IN6_IS_ADDR_MULTICAST
macro IN6_IS_ADDR_LINKLOCAL
macro IN6_IS_ADDR_SITELOCAL
macro IN6_IS_ADDR_V4MAPPED
macro IN6_IS_ADDR_V4COMPAT
macro IN6_IS_ADDR_MC_NODELOCAL
macro IN6_IS_ADDR_MC_LINKLOCAL
macro IN6_IS_ADDR_MC_SITELOCAL
macro IN6_IS_ADDR_MC_ORGLOCAL
macro IN6_IS_ADDR_MC_GLOBAL
allow IMPLINK_*
allow IN_*
allow IN6_*
allow INADDR_*
allow IP_*
allow IPV6_*
allow IPPORT_*
allow IPPROTO_*
allow SOCK_*
allow sin_*
allow sin6_*
#endif