diff options
Diffstat (limited to 'musl/netinet')
-rw-r--r-- | musl/netinet/ether.h | 22 | ||||
-rw-r--r-- | musl/netinet/icmp6.h | 305 | ||||
-rw-r--r-- | musl/netinet/if_ether.h | 149 | ||||
-rw-r--r-- | musl/netinet/igmp.h | 45 | ||||
-rw-r--r-- | musl/netinet/in.h | 417 | ||||
-rw-r--r-- | musl/netinet/in_systm.h | 9 | ||||
-rw-r--r-- | musl/netinet/ip.h | 199 | ||||
-rw-r--r-- | musl/netinet/ip6.h | 141 | ||||
-rw-r--r-- | musl/netinet/ip_icmp.h | 193 | ||||
-rw-r--r-- | musl/netinet/tcp.h | 305 | ||||
-rw-r--r-- | musl/netinet/udp.h | 46 |
11 files changed, 0 insertions, 1831 deletions
diff --git a/musl/netinet/ether.h b/musl/netinet/ether.h deleted file mode 100644 index eec7e53..0000000 --- a/musl/netinet/ether.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef _NETINET_ETHER_H -#define _NETINET_ETHER_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include <netinet/if_ether.h> - -char *ether_ntoa (const struct ether_addr *); -struct ether_addr *ether_aton (const char *); -char *ether_ntoa_r (const struct ether_addr *, char *); -struct ether_addr *ether_aton_r (const char *, struct ether_addr *); -int ether_line(const char *, struct ether_addr *, char *); -int ether_ntohost(char *, const struct ether_addr *); -int ether_hostton(const char *, struct ether_addr *); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/musl/netinet/icmp6.h b/musl/netinet/icmp6.h deleted file mode 100644 index 01269e7..0000000 --- a/musl/netinet/icmp6.h +++ /dev/null @@ -1,305 +0,0 @@ -#ifndef _NETINET_ICMP6_H -#define _NETINET_ICMP6_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include <stdint.h> -#include <string.h> -#include <sys/types.h> -#include <netinet/in.h> - -#define ICMP6_FILTER 1 - -#define ICMP6_FILTER_BLOCK 1 -#define ICMP6_FILTER_PASS 2 -#define ICMP6_FILTER_BLOCKOTHERS 3 -#define ICMP6_FILTER_PASSONLY 4 - -struct icmp6_filter { - uint32_t icmp6_filt[8]; -}; - -struct icmp6_hdr { - uint8_t icmp6_type; - uint8_t icmp6_code; - uint16_t icmp6_cksum; - union { - uint32_t icmp6_un_data32[1]; - uint16_t icmp6_un_data16[2]; - uint8_t icmp6_un_data8[4]; - } icmp6_dataun; -}; - -#define icmp6_data32 icmp6_dataun.icmp6_un_data32 -#define icmp6_data16 icmp6_dataun.icmp6_un_data16 -#define icmp6_data8 icmp6_dataun.icmp6_un_data8 -#define icmp6_pptr icmp6_data32[0] -#define icmp6_mtu icmp6_data32[0] -#define icmp6_id icmp6_data16[0] -#define icmp6_seq icmp6_data16[1] -#define icmp6_maxdelay icmp6_data16[0] - -#define ICMP6_DST_UNREACH 1 -#define ICMP6_PACKET_TOO_BIG 2 -#define ICMP6_TIME_EXCEEDED 3 -#define ICMP6_PARAM_PROB 4 - -#define ICMP6_INFOMSG_MASK 0x80 - -#define ICMP6_ECHO_REQUEST 128 -#define ICMP6_ECHO_REPLY 129 -#define MLD_LISTENER_QUERY 130 -#define MLD_LISTENER_REPORT 131 -#define MLD_LISTENER_REDUCTION 132 - -#define ICMP6_DST_UNREACH_NOROUTE 0 -#define ICMP6_DST_UNREACH_ADMIN 1 -#define ICMP6_DST_UNREACH_BEYONDSCOPE 2 -#define ICMP6_DST_UNREACH_ADDR 3 -#define ICMP6_DST_UNREACH_NOPORT 4 - -#define ICMP6_TIME_EXCEED_TRANSIT 0 -#define ICMP6_TIME_EXCEED_REASSEMBLY 1 - -#define ICMP6_PARAMPROB_HEADER 0 -#define ICMP6_PARAMPROB_NEXTHEADER 1 -#define ICMP6_PARAMPROB_OPTION 2 - -#define ICMP6_FILTER_WILLPASS(type, filterp) \ - ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) == 0) - -#define ICMP6_FILTER_WILLBLOCK(type, filterp) \ - ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) != 0) - -#define ICMP6_FILTER_SETPASS(type, filterp) \ - ((((filterp)->icmp6_filt[(type) >> 5]) &= ~(1 << ((type) & 31)))) - -#define ICMP6_FILTER_SETBLOCK(type, filterp) \ - ((((filterp)->icmp6_filt[(type) >> 5]) |= (1 << ((type) & 31)))) - -#define ICMP6_FILTER_SETPASSALL(filterp) \ - memset (filterp, 0, sizeof (struct icmp6_filter)); - -#define ICMP6_FILTER_SETBLOCKALL(filterp) \ - memset (filterp, 0xFF, sizeof (struct icmp6_filter)); - -#define ND_ROUTER_SOLICIT 133 -#define ND_ROUTER_ADVERT 134 -#define ND_NEIGHBOR_SOLICIT 135 -#define ND_NEIGHBOR_ADVERT 136 -#define ND_REDIRECT 137 - -struct nd_router_solicit { - struct icmp6_hdr nd_rs_hdr; -}; - -#define nd_rs_type nd_rs_hdr.icmp6_type -#define nd_rs_code nd_rs_hdr.icmp6_code -#define nd_rs_cksum nd_rs_hdr.icmp6_cksum -#define nd_rs_reserved nd_rs_hdr.icmp6_data32[0] - -struct nd_router_advert { - struct icmp6_hdr nd_ra_hdr; - uint32_t nd_ra_reachable; - uint32_t nd_ra_retransmit; -}; - -#define nd_ra_type nd_ra_hdr.icmp6_type -#define nd_ra_code nd_ra_hdr.icmp6_code -#define nd_ra_cksum nd_ra_hdr.icmp6_cksum -#define nd_ra_curhoplimit nd_ra_hdr.icmp6_data8[0] -#define nd_ra_flags_reserved nd_ra_hdr.icmp6_data8[1] -#define ND_RA_FLAG_MANAGED 0x80 -#define ND_RA_FLAG_OTHER 0x40 -#define ND_RA_FLAG_HOME_AGENT 0x20 -#define nd_ra_router_lifetime nd_ra_hdr.icmp6_data16[1] - -struct nd_neighbor_solicit { - struct icmp6_hdr nd_ns_hdr; - struct in6_addr nd_ns_target; -}; - -#define nd_ns_type nd_ns_hdr.icmp6_type -#define nd_ns_code nd_ns_hdr.icmp6_code -#define nd_ns_cksum nd_ns_hdr.icmp6_cksum -#define nd_ns_reserved nd_ns_hdr.icmp6_data32[0] - -struct nd_neighbor_advert { - struct icmp6_hdr nd_na_hdr; - struct in6_addr nd_na_target; -}; - -#define nd_na_type nd_na_hdr.icmp6_type -#define nd_na_code nd_na_hdr.icmp6_code -#define nd_na_cksum nd_na_hdr.icmp6_cksum -#define nd_na_flags_reserved nd_na_hdr.icmp6_data32[0] -#if __BYTE_ORDER == __BIG_ENDIAN -#define ND_NA_FLAG_ROUTER 0x80000000 -#define ND_NA_FLAG_SOLICITED 0x40000000 -#define ND_NA_FLAG_OVERRIDE 0x20000000 -#else -#define ND_NA_FLAG_ROUTER 0x00000080 -#define ND_NA_FLAG_SOLICITED 0x00000040 -#define ND_NA_FLAG_OVERRIDE 0x00000020 -#endif - -struct nd_redirect { - struct icmp6_hdr nd_rd_hdr; - struct in6_addr nd_rd_target; - struct in6_addr nd_rd_dst; -}; - -#define nd_rd_type nd_rd_hdr.icmp6_type -#define nd_rd_code nd_rd_hdr.icmp6_code -#define nd_rd_cksum nd_rd_hdr.icmp6_cksum -#define nd_rd_reserved nd_rd_hdr.icmp6_data32[0] - -struct nd_opt_hdr { - uint8_t nd_opt_type; - uint8_t nd_opt_len; -}; - -#define ND_OPT_SOURCE_LINKADDR 1 -#define ND_OPT_TARGET_LINKADDR 2 -#define ND_OPT_PREFIX_INFORMATION 3 -#define ND_OPT_REDIRECTED_HEADER 4 -#define ND_OPT_MTU 5 -#define ND_OPT_RTR_ADV_INTERVAL 7 -#define ND_OPT_HOME_AGENT_INFO 8 - -struct nd_opt_prefix_info { - uint8_t nd_opt_pi_type; - uint8_t nd_opt_pi_len; - uint8_t nd_opt_pi_prefix_len; - uint8_t nd_opt_pi_flags_reserved; - uint32_t nd_opt_pi_valid_time; - uint32_t nd_opt_pi_preferred_time; - uint32_t nd_opt_pi_reserved2; - struct in6_addr nd_opt_pi_prefix; -}; - -#define ND_OPT_PI_FLAG_ONLINK 0x80 -#define ND_OPT_PI_FLAG_AUTO 0x40 -#define ND_OPT_PI_FLAG_RADDR 0x20 - -struct nd_opt_rd_hdr { - uint8_t nd_opt_rh_type; - uint8_t nd_opt_rh_len; - uint16_t nd_opt_rh_reserved1; - uint32_t nd_opt_rh_reserved2; -}; - -struct nd_opt_mtu { - uint8_t nd_opt_mtu_type; - uint8_t nd_opt_mtu_len; - uint16_t nd_opt_mtu_reserved; - uint32_t nd_opt_mtu_mtu; -}; - -struct mld_hdr { - struct icmp6_hdr mld_icmp6_hdr; - struct in6_addr mld_addr; -}; - -#define mld_type mld_icmp6_hdr.icmp6_type -#define mld_code mld_icmp6_hdr.icmp6_code -#define mld_cksum mld_icmp6_hdr.icmp6_cksum -#define mld_maxdelay mld_icmp6_hdr.icmp6_data16[0] -#define mld_reserved mld_icmp6_hdr.icmp6_data16[1] - -#define ICMP6_ROUTER_RENUMBERING 138 - -struct icmp6_router_renum { - struct icmp6_hdr rr_hdr; - uint8_t rr_segnum; - uint8_t rr_flags; - uint16_t rr_maxdelay; - uint32_t rr_reserved; -}; - -#define rr_type rr_hdr.icmp6_type -#define rr_code rr_hdr.icmp6_code -#define rr_cksum rr_hdr.icmp6_cksum -#define rr_seqnum rr_hdr.icmp6_data32[0] - -#define ICMP6_RR_FLAGS_TEST 0x80 -#define ICMP6_RR_FLAGS_REQRESULT 0x40 -#define ICMP6_RR_FLAGS_FORCEAPPLY 0x20 -#define ICMP6_RR_FLAGS_SPECSITE 0x10 -#define ICMP6_RR_FLAGS_PREVDONE 0x08 - -struct rr_pco_match { - uint8_t rpm_code; - uint8_t rpm_len; - uint8_t rpm_ordinal; - uint8_t rpm_matchlen; - uint8_t rpm_minlen; - uint8_t rpm_maxlen; - uint16_t rpm_reserved; - struct in6_addr rpm_prefix; -}; - -#define RPM_PCO_ADD 1 -#define RPM_PCO_CHANGE 2 -#define RPM_PCO_SETGLOBAL 3 - -struct rr_pco_use { - uint8_t rpu_uselen; - uint8_t rpu_keeplen; - uint8_t rpu_ramask; - uint8_t rpu_raflags; - uint32_t rpu_vltime; - uint32_t rpu_pltime; - uint32_t rpu_flags; - struct in6_addr rpu_prefix; -}; - -#define ICMP6_RR_PCOUSE_RAFLAGS_ONLINK 0x20 -#define ICMP6_RR_PCOUSE_RAFLAGS_AUTO 0x10 - -#if __BYTE_ORDER == __BIG_ENDIAN -#define ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME 0x80000000 -#define ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME 0x40000000 -#else -#define ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME 0x80 -#define ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME 0x40 -#endif - -struct rr_result { - uint16_t rrr_flags; - uint8_t rrr_ordinal; - uint8_t rrr_matchedlen; - uint32_t rrr_ifid; - struct in6_addr rrr_prefix; -}; - -#if __BYTE_ORDER == __BIG_ENDIAN -#define ICMP6_RR_RESULT_FLAGS_OOB 0x0002 -#define ICMP6_RR_RESULT_FLAGS_FORBIDDEN 0x0001 -#else -#define ICMP6_RR_RESULT_FLAGS_OOB 0x0200 -#define ICMP6_RR_RESULT_FLAGS_FORBIDDEN 0x0100 -#endif - -struct nd_opt_adv_interval { - uint8_t nd_opt_adv_interval_type; - uint8_t nd_opt_adv_interval_len; - uint16_t nd_opt_adv_interval_reserved; - uint32_t nd_opt_adv_interval_ival; -}; - -struct nd_opt_home_agent_info { - uint8_t nd_opt_home_agent_info_type; - uint8_t nd_opt_home_agent_info_len; - uint16_t nd_opt_home_agent_info_reserved; - uint16_t nd_opt_home_agent_info_preference; - uint16_t nd_opt_home_agent_info_lifetime; -}; - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/musl/netinet/if_ether.h b/musl/netinet/if_ether.h deleted file mode 100644 index 3479f51..0000000 --- a/musl/netinet/if_ether.h +++ /dev/null @@ -1,149 +0,0 @@ -#ifndef _NETINET_IF_ETHER_H -#define _NETINET_IF_ETHER_H - -#include <stdint.h> -#include <sys/types.h> - -#define ETH_ALEN 6 -#define ETH_TLEN 2 -#define ETH_HLEN 14 -#define ETH_ZLEN 60 -#define ETH_DATA_LEN 1500 -#define ETH_FRAME_LEN 1514 -#define ETH_FCS_LEN 4 -#define ETH_MIN_MTU 68 -#define ETH_MAX_MTU 0xFFFFU - -#define ETH_P_LOOP 0x0060 -#define ETH_P_PUP 0x0200 -#define ETH_P_PUPAT 0x0201 -#define ETH_P_TSN 0x22F0 -#define ETH_P_ERSPAN2 0x22EB -#define ETH_P_IP 0x0800 -#define ETH_P_X25 0x0805 -#define ETH_P_ARP 0x0806 -#define ETH_P_BPQ 0x08FF -#define ETH_P_IEEEPUP 0x0a00 -#define ETH_P_IEEEPUPAT 0x0a01 -#define ETH_P_BATMAN 0x4305 -#define ETH_P_DEC 0x6000 -#define ETH_P_DNA_DL 0x6001 -#define ETH_P_DNA_RC 0x6002 -#define ETH_P_DNA_RT 0x6003 -#define ETH_P_LAT 0x6004 -#define ETH_P_DIAG 0x6005 -#define ETH_P_CUST 0x6006 -#define ETH_P_SCA 0x6007 -#define ETH_P_TEB 0x6558 -#define ETH_P_RARP 0x8035 -#define ETH_P_ATALK 0x809B -#define ETH_P_AARP 0x80F3 -#define ETH_P_8021Q 0x8100 -#define ETH_P_IPX 0x8137 -#define ETH_P_IPV6 0x86DD -#define ETH_P_PAUSE 0x8808 -#define ETH_P_SLOW 0x8809 -#define ETH_P_WCCP 0x883E -#define ETH_P_MPLS_UC 0x8847 -#define ETH_P_MPLS_MC 0x8848 -#define ETH_P_ATMMPOA 0x884c -#define ETH_P_PPP_DISC 0x8863 -#define ETH_P_PPP_SES 0x8864 -#define ETH_P_LINK_CTL 0x886c -#define ETH_P_ATMFATE 0x8884 -#define ETH_P_PAE 0x888E -#define ETH_P_AOE 0x88A2 -#define ETH_P_8021AD 0x88A8 -#define ETH_P_802_EX1 0x88B5 -#define ETH_P_ERSPAN 0x88BE -#define ETH_P_PREAUTH 0x88C7 -#define ETH_P_TIPC 0x88CA -#define ETH_P_LLDP 0x88CC -#define ETH_P_MRP 0x88E3 -#define ETH_P_MACSEC 0x88E5 -#define ETH_P_8021AH 0x88E7 -#define ETH_P_MVRP 0x88F5 -#define ETH_P_1588 0x88F7 -#define ETH_P_NCSI 0x88F8 -#define ETH_P_PRP 0x88FB -#define ETH_P_CFM 0x8902 -#define ETH_P_FCOE 0x8906 -#define ETH_P_TDLS 0x890D -#define ETH_P_FIP 0x8914 -#define ETH_P_IBOE 0x8915 -#define ETH_P_80221 0x8917 -#define ETH_P_HSR 0x892F -#define ETH_P_NSH 0x894F -#define ETH_P_LOOPBACK 0x9000 -#define ETH_P_QINQ1 0x9100 -#define ETH_P_QINQ2 0x9200 -#define ETH_P_QINQ3 0x9300 -#define ETH_P_EDSA 0xDADA -#define ETH_P_DSA_8021Q 0xDADB -#define ETH_P_IFE 0xED3E -#define ETH_P_AF_IUCV 0xFBFB - -#define ETH_P_802_3_MIN 0x0600 - -#define ETH_P_802_3 0x0001 -#define ETH_P_AX25 0x0002 -#define ETH_P_ALL 0x0003 -#define ETH_P_802_2 0x0004 -#define ETH_P_SNAP 0x0005 -#define ETH_P_DDCMP 0x0006 -#define ETH_P_WAN_PPP 0x0007 -#define ETH_P_PPP_MP 0x0008 -#define ETH_P_LOCALTALK 0x0009 -#define ETH_P_CAN 0x000C -#define ETH_P_CANFD 0x000D -#define ETH_P_PPPTALK 0x0010 -#define ETH_P_TR_802_2 0x0011 -#define ETH_P_MOBITEX 0x0015 -#define ETH_P_CONTROL 0x0016 -#define ETH_P_IRDA 0x0017 -#define ETH_P_ECONET 0x0018 -#define ETH_P_HDLC 0x0019 -#define ETH_P_ARCNET 0x001A -#define ETH_P_DSA 0x001B -#define ETH_P_TRAILER 0x001C -#define ETH_P_PHONET 0x00F5 -#define ETH_P_IEEE802154 0x00F6 -#define ETH_P_CAIF 0x00F7 -#define ETH_P_XDSA 0x00F8 -#define ETH_P_MAP 0x00F9 - -struct ethhdr { - uint8_t h_dest[ETH_ALEN]; - uint8_t h_source[ETH_ALEN]; - uint16_t h_proto; -}; - -#include <net/ethernet.h> -#include <net/if_arp.h> - -struct ether_arp { - struct arphdr ea_hdr; - uint8_t arp_sha[ETH_ALEN]; - uint8_t arp_spa[4]; - uint8_t arp_tha[ETH_ALEN]; - uint8_t arp_tpa[4]; -}; -#define arp_hrd ea_hdr.ar_hrd -#define arp_pro ea_hdr.ar_pro -#define arp_hln ea_hdr.ar_hln -#define arp_pln ea_hdr.ar_pln -#define arp_op ea_hdr.ar_op - -#define ETHER_MAP_IP_MULTICAST(ipaddr, enaddr) \ -do { \ - (enaddr)[0] = 0x01; \ - (enaddr)[1] = 0x00; \ - (enaddr)[2] = 0x5e; \ - (enaddr)[3] = ((uint8_t *)ipaddr)[1] & 0x7f; \ - (enaddr)[4] = ((uint8_t *)ipaddr)[2]; \ - (enaddr)[5] = ((uint8_t *)ipaddr)[3]; \ -} while(0) - -#define __UAPI_DEF_ETHHDR 0 - -#endif diff --git a/musl/netinet/igmp.h b/musl/netinet/igmp.h deleted file mode 100644 index bbe8206..0000000 --- a/musl/netinet/igmp.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef _NETINET_IGMP_H -#define _NETINET_IGMP_H - -#include <stdint.h> -#include <netinet/in.h> - -struct igmp { - uint8_t igmp_type; - uint8_t igmp_code; - uint16_t igmp_cksum; - struct in_addr igmp_group; -}; - -#define IGMP_MINLEN 8 - -#define IGMP_MEMBERSHIP_QUERY 0x11 -#define IGMP_V1_MEMBERSHIP_REPORT 0x12 -#define IGMP_V2_MEMBERSHIP_REPORT 0x16 -#define IGMP_V2_LEAVE_GROUP 0x17 - -#define IGMP_DVMRP 0x13 -#define IGMP_PIM 0x14 -#define IGMP_TRACE 0x15 - -#define IGMP_MTRACE_RESP 0x1e -#define IGMP_MTRACE 0x1f - -#define IGMP_MAX_HOST_REPORT_DELAY 10 -#define IGMP_TIMER_SCALE 10 - -#define IGMP_DELAYING_MEMBER 1 -#define IGMP_IDLE_MEMBER 2 -#define IGMP_LAZY_MEMBER 3 -#define IGMP_SLEEPING_MEMBER 4 -#define IGMP_AWAKENING_MEMBER 5 - -#define IGMP_v1_ROUTER 1 -#define IGMP_v2_ROUTER 2 - -#define IGMP_HOST_MEMBERSHIP_QUERY IGMP_MEMBERSHIP_QUERY -#define IGMP_HOST_MEMBERSHIP_REPORT IGMP_V1_MEMBERSHIP_REPORT -#define IGMP_HOST_NEW_MEMBERSHIP_REPORT IGMP_V2_MEMBERSHIP_REPORT -#define IGMP_HOST_LEAVE_MESSAGE IGMP_V2_LEAVE_GROUP - -#endif diff --git a/musl/netinet/in.h b/musl/netinet/in.h deleted file mode 100644 index fb628b6..0000000 --- a/musl/netinet/in.h +++ /dev/null @@ -1,417 +0,0 @@ -#ifndef _NETINET_IN_H -#define _NETINET_IN_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include <features.h> -#include <inttypes.h> -#include <sys/socket.h> - -typedef uint16_t in_port_t; -typedef uint32_t in_addr_t; -struct in_addr { in_addr_t s_addr; }; - -struct sockaddr_in { - sa_family_t sin_family; - in_port_t sin_port; - struct in_addr sin_addr; - uint8_t sin_zero[8]; -}; - -struct in6_addr { - union { - uint8_t __s6_addr[16]; - uint16_t __s6_addr16[8]; - uint32_t __s6_addr32[4]; - } __in6_union; -}; -#define s6_addr __in6_union.__s6_addr -#define s6_addr16 __in6_union.__s6_addr16 -#define s6_addr32 __in6_union.__s6_addr32 - -struct sockaddr_in6 { - sa_family_t sin6_family; - in_port_t sin6_port; - uint32_t sin6_flowinfo; - struct in6_addr sin6_addr; - uint32_t sin6_scope_id; -}; - -struct ipv6_mreq { - struct in6_addr ipv6mr_multiaddr; - unsigned ipv6mr_interface; -}; - -#define INADDR_ANY ((in_addr_t) 0x00000000) -#define INADDR_BROADCAST ((in_addr_t) 0xffffffff) -#define INADDR_NONE ((in_addr_t) 0xffffffff) -#define INADDR_LOOPBACK ((in_addr_t) 0x7f000001) -#define INADDR_DUMMY ((in_addr_t) 0xc0000008) - -#define INADDR_UNSPEC_GROUP ((in_addr_t) 0xe0000000) -#define INADDR_ALLHOSTS_GROUP ((in_addr_t) 0xe0000001) -#define INADDR_ALLRTRS_GROUP ((in_addr_t) 0xe0000002) -#define INADDR_ALLSNOOPERS_GROUP ((in_addr_t) 0xe000006a) -#define INADDR_MAX_LOCAL_GROUP ((in_addr_t) 0xe00000ff) - -#define IN6ADDR_ANY_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } } -#define IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } } - -extern const struct in6_addr in6addr_any, in6addr_loopback; - -#define INET_ADDRSTRLEN 16 -#define INET6_ADDRSTRLEN 46 - -uint32_t htonl(uint32_t); -uint16_t htons(uint16_t); -uint32_t ntohl(uint32_t); -uint16_t ntohs(uint16_t); - -#define IPPORT_RESERVED 1024 - -#define IPPROTO_IP 0 -#define IPPROTO_HOPOPTS 0 -#define IPPROTO_ICMP 1 -#define IPPROTO_IGMP 2 -#define IPPROTO_IPIP 4 -#define IPPROTO_TCP 6 -#define IPPROTO_EGP 8 -#define IPPROTO_PUP 12 -#define IPPROTO_UDP 17 -#define IPPROTO_IDP 22 -#define IPPROTO_TP 29 -#define IPPROTO_DCCP 33 -#define IPPROTO_IPV6 41 -#define IPPROTO_ROUTING 43 -#define IPPROTO_FRAGMENT 44 -#define IPPROTO_RSVP 46 -#define IPPROTO_GRE 47 -#define IPPROTO_ESP 50 -#define IPPROTO_AH 51 -#define IPPROTO_ICMPV6 58 -#define IPPROTO_NONE 59 -#define IPPROTO_DSTOPTS 60 -#define IPPROTO_MTP 92 -#define IPPROTO_BEETPH 94 -#define IPPROTO_ENCAP 98 -#define IPPROTO_PIM 103 -#define IPPROTO_COMP 108 -#define IPPROTO_SCTP 132 -#define IPPROTO_MH 135 -#define IPPROTO_UDPLITE 136 -#define IPPROTO_MPLS 137 -#define IPPROTO_ETHERNET 143 -#define IPPROTO_RAW 255 -#define IPPROTO_MPTCP 262 -#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) - -#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 ) - -#define IN6_IS_ADDR_MULTICAST(a) (((uint8_t *) (a))[0] == 0xff) - -#define IN6_IS_ADDR_LINKLOCAL(a) \ - ((((uint8_t *) (a))[0]) == 0xfe && (((uint8_t *) (a))[1] & 0xc0) == 0x80) - -#define IN6_IS_ADDR_SITELOCAL(a) \ - ((((uint8_t *) (a))[0]) == 0xfe && (((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) - -#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) - -#define IN6_IS_ADDR_MC_NODELOCAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x1)) - -#define IN6_IS_ADDR_MC_LINKLOCAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x2)) - -#define IN6_IS_ADDR_MC_SITELOCAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x5)) - -#define IN6_IS_ADDR_MC_ORGLOCAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x8)) - -#define IN6_IS_ADDR_MC_GLOBAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && ((((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]) )) -#define IN6_ARE_ADDR_EQUAL(a,b) \ - __ARE_4_EQUAL((const uint32_t *)(a), (const uint32_t *)(b)) - -#define IN_CLASSA(a) ((((in_addr_t)(a)) & 0x80000000) == 0) -#define IN_CLASSA_NET 0xff000000 -#define IN_CLASSA_NSHIFT 24 -#define IN_CLASSA_HOST (0xffffffff & ~IN_CLASSA_NET) -#define IN_CLASSA_MAX 128 -#define IN_CLASSB(a) ((((in_addr_t)(a)) & 0xc0000000) == 0x80000000) -#define IN_CLASSB_NET 0xffff0000 -#define IN_CLASSB_NSHIFT 16 -#define IN_CLASSB_HOST (0xffffffff & ~IN_CLASSB_NET) -#define IN_CLASSB_MAX 65536 -#define IN_CLASSC(a) ((((in_addr_t)(a)) & 0xe0000000) == 0xc0000000) -#define IN_CLASSC_NET 0xffffff00 -#define IN_CLASSC_NSHIFT 8 -#define IN_CLASSC_HOST (0xffffffff & ~IN_CLASSC_NET) -#define IN_CLASSD(a) ((((in_addr_t)(a)) & 0xf0000000) == 0xe0000000) -#define IN_MULTICAST(a) IN_CLASSD(a) -#define IN_EXPERIMENTAL(a) ((((in_addr_t)(a)) & 0xe0000000) == 0xe0000000) -#define IN_BADCLASS(a) ((((in_addr_t)(a)) & 0xf0000000) == 0xf0000000) - -#define IN_LOOPBACKNET 127 - - -#define IP_TOS 1 -#define IP_TTL 2 -#define IP_HDRINCL 3 -#define IP_OPTIONS 4 -#define IP_ROUTER_ALERT 5 -#define IP_RECVOPTS 6 -#define IP_RETOPTS 7 -#define IP_PKTINFO 8 -#define IP_PKTOPTIONS 9 -#define IP_PMTUDISC 10 -#define IP_MTU_DISCOVER 10 -#define IP_RECVERR 11 -#define IP_RECVTTL 12 -#define IP_RECVTOS 13 -#define IP_MTU 14 -#define IP_FREEBIND 15 -#define IP_IPSEC_POLICY 16 -#define IP_XFRM_POLICY 17 -#define IP_PASSSEC 18 -#define IP_TRANSPARENT 19 -#define IP_ORIGDSTADDR 20 -#define IP_RECVORIGDSTADDR IP_ORIGDSTADDR -#define IP_MINTTL 21 -#define IP_NODEFRAG 22 -#define IP_CHECKSUM 23 -#define IP_BIND_ADDRESS_NO_PORT 24 -#define IP_RECVFRAGSIZE 25 -#define IP_RECVERR_RFC4884 26 -#define IP_MULTICAST_IF 32 -#define IP_MULTICAST_TTL 33 -#define IP_MULTICAST_LOOP 34 -#define IP_ADD_MEMBERSHIP 35 -#define IP_DROP_MEMBERSHIP 36 -#define IP_UNBLOCK_SOURCE 37 -#define IP_BLOCK_SOURCE 38 -#define IP_ADD_SOURCE_MEMBERSHIP 39 -#define IP_DROP_SOURCE_MEMBERSHIP 40 -#define IP_MSFILTER 41 -#define IP_MULTICAST_ALL 49 -#define IP_UNICAST_IF 50 - -#define IP_RECVRETOPTS IP_RETOPTS - -#define IP_PMTUDISC_DONT 0 -#define IP_PMTUDISC_WANT 1 -#define IP_PMTUDISC_DO 2 -#define IP_PMTUDISC_PROBE 3 -#define IP_PMTUDISC_INTERFACE 4 -#define IP_PMTUDISC_OMIT 5 - -#define IP_DEFAULT_MULTICAST_TTL 1 -#define IP_DEFAULT_MULTICAST_LOOP 1 -#define IP_MAX_MEMBERSHIPS 20 - -struct ip_opts { - struct in_addr ip_dst; - char ip_opts[40]; -}; - -#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) - -#define MCAST_JOIN_GROUP 42 -#define MCAST_BLOCK_SOURCE 43 -#define MCAST_UNBLOCK_SOURCE 44 -#define MCAST_LEAVE_GROUP 45 -#define MCAST_JOIN_SOURCE_GROUP 46 -#define MCAST_LEAVE_SOURCE_GROUP 47 -#define MCAST_MSFILTER 48 - -#define MCAST_EXCLUDE 0 -#define MCAST_INCLUDE 1 - -struct ip_mreq { - struct in_addr imr_multiaddr; - struct in_addr imr_interface; -}; - -struct ip_mreqn { - struct in_addr imr_multiaddr; - struct in_addr imr_address; - int imr_ifindex; -}; - -struct ip_mreq_source { - struct in_addr imr_multiaddr; - struct in_addr imr_interface; - struct in_addr imr_sourceaddr; -}; - -struct ip_msfilter { - struct in_addr imsf_multiaddr; - struct in_addr imsf_interface; - uint32_t imsf_fmode; - uint32_t imsf_numsrc; - struct in_addr imsf_slist[1]; -}; -#define IP_MSFILTER_SIZE(numsrc) \ - (sizeof(struct ip_msfilter) - sizeof(struct in_addr) \ - + (numsrc) * sizeof(struct in_addr)) - -struct group_req { - uint32_t gr_interface; - struct sockaddr_storage gr_group; -}; - -struct group_source_req { - uint32_t gsr_interface; - struct sockaddr_storage gsr_group; - struct sockaddr_storage gsr_source; -}; - -struct group_filter { - uint32_t gf_interface; - struct sockaddr_storage gf_group; - uint32_t gf_fmode; - uint32_t gf_numsrc; - struct sockaddr_storage gf_slist[1]; -}; -#define GROUP_FILTER_SIZE(numsrc) \ - (sizeof(struct group_filter) - sizeof(struct sockaddr_storage) \ - + (numsrc) * sizeof(struct sockaddr_storage)) - -struct in_pktinfo { - int ipi_ifindex; - struct in_addr ipi_spec_dst; - struct in_addr ipi_addr; -}; - -struct in6_pktinfo { - struct in6_addr ipi6_addr; - unsigned ipi6_ifindex; -}; - -struct ip6_mtuinfo { - struct sockaddr_in6 ip6m_addr; - uint32_t ip6m_mtu; -}; -#endif - -#define IPV6_ADDRFORM 1 -#define IPV6_2292PKTINFO 2 -#define IPV6_2292HOPOPTS 3 -#define IPV6_2292DSTOPTS 4 -#define IPV6_2292RTHDR 5 -#define IPV6_2292PKTOPTIONS 6 -#define IPV6_CHECKSUM 7 -#define IPV6_2292HOPLIMIT 8 -#define IPV6_NEXTHOP 9 -#define IPV6_AUTHHDR 10 -#define IPV6_UNICAST_HOPS 16 -#define IPV6_MULTICAST_IF 17 -#define IPV6_MULTICAST_HOPS 18 -#define IPV6_MULTICAST_LOOP 19 -#define IPV6_JOIN_GROUP 20 -#define IPV6_LEAVE_GROUP 21 -#define IPV6_ROUTER_ALERT 22 -#define IPV6_MTU_DISCOVER 23 -#define IPV6_MTU 24 -#define IPV6_RECVERR 25 -#define IPV6_V6ONLY 26 -#define IPV6_JOIN_ANYCAST 27 -#define IPV6_LEAVE_ANYCAST 28 -#define IPV6_MULTICAST_ALL 29 -#define IPV6_ROUTER_ALERT_ISOLATE 30 -#define IPV6_IPSEC_POLICY 34 -#define IPV6_XFRM_POLICY 35 -#define IPV6_HDRINCL 36 - -#define IPV6_RECVPKTINFO 49 -#define IPV6_PKTINFO 50 -#define IPV6_RECVHOPLIMIT 51 -#define IPV6_HOPLIMIT 52 -#define IPV6_RECVHOPOPTS 53 -#define IPV6_HOPOPTS 54 -#define IPV6_RTHDRDSTOPTS 55 -#define IPV6_RECVRTHDR 56 -#define IPV6_RTHDR 57 -#define IPV6_RECVDSTOPTS 58 -#define IPV6_DSTOPTS 59 -#define IPV6_RECVPATHMTU 60 -#define IPV6_PATHMTU 61 -#define IPV6_DONTFRAG 62 -#define IPV6_RECVTCLASS 66 -#define IPV6_TCLASS 67 -#define IPV6_AUTOFLOWLABEL 70 -#define IPV6_ADDR_PREFERENCES 72 -#define IPV6_MINHOPCOUNT 73 -#define IPV6_ORIGDSTADDR 74 -#define IPV6_RECVORIGDSTADDR IPV6_ORIGDSTADDR -#define IPV6_TRANSPARENT 75 -#define IPV6_UNICAST_IF 76 -#define IPV6_RECVFRAGSIZE 77 -#define IPV6_FREEBIND 78 - -#define IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP -#define IPV6_DROP_MEMBERSHIP IPV6_LEAVE_GROUP -#define IPV6_RXHOPOPTS IPV6_HOPOPTS -#define IPV6_RXDSTOPTS IPV6_DSTOPTS - -#define IPV6_PMTUDISC_DONT 0 -#define IPV6_PMTUDISC_WANT 1 -#define IPV6_PMTUDISC_DO 2 -#define IPV6_PMTUDISC_PROBE 3 -#define IPV6_PMTUDISC_INTERFACE 4 -#define IPV6_PMTUDISC_OMIT 5 - -#define IPV6_PREFER_SRC_TMP 0x0001 -#define IPV6_PREFER_SRC_PUBLIC 0x0002 -#define IPV6_PREFER_SRC_PUBTMP_DEFAULT 0x0100 -#define IPV6_PREFER_SRC_COA 0x0004 -#define IPV6_PREFER_SRC_HOME 0x0400 -#define IPV6_PREFER_SRC_CGA 0x0008 -#define IPV6_PREFER_SRC_NONCGA 0x0800 - -#define IPV6_RTHDR_LOOSE 0 -#define IPV6_RTHDR_STRICT 1 - -#define IPV6_RTHDR_TYPE_0 0 - -#define __UAPI_DEF_IN_ADDR 0 -#define __UAPI_DEF_IN_IPPROTO 0 -#define __UAPI_DEF_IN_PKTINFO 0 -#define __UAPI_DEF_IP_MREQ 0 -#define __UAPI_DEF_SOCKADDR_IN 0 -#define __UAPI_DEF_IN_CLASS 0 -#define __UAPI_DEF_IN6_ADDR 0 -#define __UAPI_DEF_IN6_ADDR_ALT 0 -#define __UAPI_DEF_SOCKADDR_IN6 0 -#define __UAPI_DEF_IPV6_MREQ 0 -#define __UAPI_DEF_IPPROTO_V6 0 -#define __UAPI_DEF_IPV6_OPTIONS 0 -#define __UAPI_DEF_IN6_PKTINFO 0 -#define __UAPI_DEF_IP6_MTUINFO 0 - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/musl/netinet/in_systm.h b/musl/netinet/in_systm.h deleted file mode 100644 index a7b4177..0000000 --- a/musl/netinet/in_systm.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef _NETINET_IN_SYSTM_H -#define _NETINET_IN_SYSTM_H - -#include <stdint.h> - -typedef uint16_t n_short; -typedef uint32_t n_long, n_time; - -#endif diff --git a/musl/netinet/ip.h b/musl/netinet/ip.h deleted file mode 100644 index 0ae132a..0000000 --- a/musl/netinet/ip.h +++ /dev/null @@ -1,199 +0,0 @@ -#ifndef _NETINET_IP_H -#define _NETINET_IP_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include <stdint.h> -#include <netinet/in.h> - -struct timestamp { - uint8_t len; - uint8_t ptr; -#if __BYTE_ORDER == __LITTLE_ENDIAN - unsigned int flags:4; - unsigned int overflow:4; -#else - unsigned int overflow:4; - unsigned int flags:4; -#endif - uint32_t data[9]; - }; - -struct iphdr { -#if __BYTE_ORDER == __LITTLE_ENDIAN - unsigned int ihl:4; - unsigned int version:4; -#else - unsigned int version:4; - unsigned int ihl:4; -#endif - uint8_t tos; - uint16_t tot_len; - uint16_t id; - uint16_t frag_off; - uint8_t ttl; - uint8_t protocol; - uint16_t check; - uint32_t saddr; - uint32_t daddr; -}; - -struct ip { -#if __BYTE_ORDER == __LITTLE_ENDIAN - unsigned int ip_hl:4; - unsigned int ip_v:4; -#else - unsigned int ip_v:4; - unsigned int ip_hl:4; -#endif - uint8_t ip_tos; - uint16_t ip_len; - uint16_t ip_id; - uint16_t ip_off; - uint8_t ip_ttl; - uint8_t ip_p; - uint16_t ip_sum; - struct in_addr ip_src, ip_dst; -}; - -#define IP_RF 0x8000 -#define IP_DF 0x4000 -#define IP_MF 0x2000 -#define IP_OFFMASK 0x1fff - -struct ip_timestamp { - uint8_t ipt_code; - uint8_t ipt_len; - uint8_t ipt_ptr; -#if __BYTE_ORDER == __LITTLE_ENDIAN - unsigned int ipt_flg:4; - unsigned int ipt_oflw:4; -#else - unsigned int ipt_oflw:4; - unsigned int ipt_flg:4; -#endif - uint32_t data[9]; -}; - -#define IPVERSION 4 -#define IP_MAXPACKET 65535 - -#define IPTOS_ECN_MASK 0x03 -#define IPTOS_ECN(x) ((x) & IPTOS_ECN_MASK) -#define IPTOS_ECN_NOT_ECT 0x00 -#define IPTOS_ECN_ECT1 0x01 -#define IPTOS_ECN_ECT0 0x02 -#define IPTOS_ECN_CE 0x03 - -#define IPTOS_DSCP_MASK 0xfc -#define IPTOS_DSCP(x) ((x) & IPTOS_DSCP_MASK) -#define IPTOS_DSCP_AF11 0x28 -#define IPTOS_DSCP_AF12 0x30 -#define IPTOS_DSCP_AF13 0x38 -#define IPTOS_DSCP_AF21 0x48 -#define IPTOS_DSCP_AF22 0x50 -#define IPTOS_DSCP_AF23 0x58 -#define IPTOS_DSCP_AF31 0x68 -#define IPTOS_DSCP_AF32 0x70 -#define IPTOS_DSCP_AF33 0x78 -#define IPTOS_DSCP_AF41 0x88 -#define IPTOS_DSCP_AF42 0x90 -#define IPTOS_DSCP_AF43 0x98 -#define IPTOS_DSCP_EF 0xb8 - -#define IPTOS_CLASS_MASK 0xe0 -#define IPTOS_CLASS(x) ((x) & IPTOS_CLASS_MASK) -#define IPTOS_CLASS_CS0 0x00 -#define IPTOS_CLASS_CS1 0x20 -#define IPTOS_CLASS_CS2 0x40 -#define IPTOS_CLASS_CS3 0x60 -#define IPTOS_CLASS_CS4 0x80 -#define IPTOS_CLASS_CS5 0xa0 -#define IPTOS_CLASS_CS6 0xc0 -#define IPTOS_CLASS_CS7 0xe0 -#define IPTOS_CLASS_DEFAULT IPTOS_CLASS_CS0 - -#define IPTOS_TOS_MASK 0x1E -#define IPTOS_TOS(tos) ((tos) & IPTOS_TOS_MASK) -#define IPTOS_LOWDELAY 0x10 -#define IPTOS_THROUGHPUT 0x08 -#define IPTOS_RELIABILITY 0x04 -#define IPTOS_LOWCOST 0x02 -#define IPTOS_MINCOST IPTOS_LOWCOST - -#define IPTOS_PREC_MASK 0xe0 -#define IPTOS_PREC(tos) ((tos) & IPTOS_PREC_MASK) -#define IPTOS_PREC_NETCONTROL 0xe0 -#define IPTOS_PREC_INTERNETCONTROL 0xc0 -#define IPTOS_PREC_CRITIC_ECP 0xa0 -#define IPTOS_PREC_FLASHOVERRIDE 0x80 -#define IPTOS_PREC_FLASH 0x60 -#define IPTOS_PREC_IMMEDIATE 0x40 -#define IPTOS_PREC_PRIORITY 0x20 -#define IPTOS_PREC_ROUTINE 0x00 - -#define IPOPT_COPY 0x80 -#define IPOPT_CLASS_MASK 0x60 -#define IPOPT_NUMBER_MASK 0x1f - -#define IPOPT_COPIED(o) ((o) & IPOPT_COPY) -#define IPOPT_CLASS(o) ((o) & IPOPT_CLASS_MASK) -#define IPOPT_NUMBER(o) ((o) & IPOPT_NUMBER_MASK) - -#define IPOPT_CONTROL 0x00 -#define IPOPT_RESERVED1 0x20 -#define IPOPT_DEBMEAS 0x40 -#define IPOPT_MEASUREMENT IPOPT_DEBMEAS -#define IPOPT_RESERVED2 0x60 - -#define IPOPT_EOL 0 -#define IPOPT_END IPOPT_EOL -#define IPOPT_NOP 1 -#define IPOPT_NOOP IPOPT_NOP - -#define IPOPT_RR 7 -#define IPOPT_TS 68 -#define IPOPT_TIMESTAMP IPOPT_TS -#define IPOPT_SECURITY 130 -#define IPOPT_SEC IPOPT_SECURITY -#define IPOPT_LSRR 131 -#define IPOPT_SATID 136 -#define IPOPT_SID IPOPT_SATID -#define IPOPT_SSRR 137 -#define IPOPT_RA 148 - -#define IPOPT_OPTVAL 0 -#define IPOPT_OLEN 1 -#define IPOPT_OFFSET 2 -#define IPOPT_MINOFF 4 - -#define MAX_IPOPTLEN 40 - -#define IPOPT_TS_TSONLY 0 -#define IPOPT_TS_TSANDADDR 1 -#define IPOPT_TS_PRESPEC 3 - -#define IPOPT_SECUR_UNCLASS 0x0000 -#define IPOPT_SECUR_CONFID 0xf135 -#define IPOPT_SECUR_EFTO 0x789a -#define IPOPT_SECUR_MMMM 0xbc4d -#define IPOPT_SECUR_RESTR 0xaf13 -#define IPOPT_SECUR_SECRET 0xd788 -#define IPOPT_SECUR_TOPSECRET 0x6bc5 - -#define MAXTTL 255 -#define IPDEFTTL 64 -#define IPFRAGTTL 60 -#define IPTTLDEC 1 - -#define IP_MSS 576 - -#define __UAPI_DEF_IPHDR 0 - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/musl/netinet/ip6.h b/musl/netinet/ip6.h deleted file mode 100644 index 50c626a..0000000 --- a/musl/netinet/ip6.h +++ /dev/null @@ -1,141 +0,0 @@ -#ifndef _NETINET_IP6_H -#define _NETINET_IP6_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include <stdint.h> -#include <netinet/in.h> - -struct ip6_hdr { - union { - struct ip6_hdrctl { - uint32_t ip6_un1_flow; - uint16_t ip6_un1_plen; - uint8_t ip6_un1_nxt; - uint8_t ip6_un1_hlim; - } ip6_un1; - uint8_t ip6_un2_vfc; - } ip6_ctlun; - struct in6_addr ip6_src; - struct in6_addr ip6_dst; -}; - -#define ip6_vfc ip6_ctlun.ip6_un2_vfc -#define ip6_flow ip6_ctlun.ip6_un1.ip6_un1_flow -#define ip6_plen ip6_ctlun.ip6_un1.ip6_un1_plen -#define ip6_nxt ip6_ctlun.ip6_un1.ip6_un1_nxt -#define ip6_hlim ip6_ctlun.ip6_un1.ip6_un1_hlim -#define ip6_hops ip6_ctlun.ip6_un1.ip6_un1_hlim - -struct ip6_ext { - uint8_t ip6e_nxt; - uint8_t ip6e_len; -}; - -struct ip6_hbh { - uint8_t ip6h_nxt; - uint8_t ip6h_len; -}; - -struct ip6_dest { - uint8_t ip6d_nxt; - uint8_t ip6d_len; -}; - -struct ip6_rthdr { - uint8_t ip6r_nxt; - uint8_t ip6r_len; - uint8_t ip6r_type; - uint8_t ip6r_segleft; -}; - -struct ip6_rthdr0 { - uint8_t ip6r0_nxt; - uint8_t ip6r0_len; - uint8_t ip6r0_type; - uint8_t ip6r0_segleft; - uint8_t ip6r0_reserved; - uint8_t ip6r0_slmap[3]; - struct in6_addr ip6r0_addr[]; -}; - -struct ip6_frag { - uint8_t ip6f_nxt; - uint8_t ip6f_reserved; - uint16_t ip6f_offlg; - uint32_t ip6f_ident; -}; - -#if __BYTE_ORDER == __BIG_ENDIAN -#define IP6F_OFF_MASK 0xfff8 -#define IP6F_RESERVED_MASK 0x0006 -#define IP6F_MORE_FRAG 0x0001 -#else -#define IP6F_OFF_MASK 0xf8ff -#define IP6F_RESERVED_MASK 0x0600 -#define IP6F_MORE_FRAG 0x0100 -#endif - -struct ip6_opt { - uint8_t ip6o_type; - uint8_t ip6o_len; -}; - -#define IP6OPT_TYPE(o) ((o) & 0xc0) -#define IP6OPT_TYPE_SKIP 0x00 -#define IP6OPT_TYPE_DISCARD 0x40 -#define IP6OPT_TYPE_FORCEICMP 0x80 -#define IP6OPT_TYPE_ICMP 0xc0 -#define IP6OPT_TYPE_MUTABLE 0x20 - -#define IP6OPT_PAD1 0 -#define IP6OPT_PADN 1 - -#define IP6OPT_JUMBO 0xc2 -#define IP6OPT_NSAP_ADDR 0xc3 -#define IP6OPT_TUNNEL_LIMIT 0x04 -#define IP6OPT_ROUTER_ALERT 0x05 - -struct ip6_opt_jumbo { - uint8_t ip6oj_type; - uint8_t ip6oj_len; - uint8_t ip6oj_jumbo_len[4]; -}; -#define IP6OPT_JUMBO_LEN 6 - -struct ip6_opt_nsap { - uint8_t ip6on_type; - uint8_t ip6on_len; - uint8_t ip6on_src_nsap_len; - uint8_t ip6on_dst_nsap_len; -}; - -struct ip6_opt_tunnel { - uint8_t ip6ot_type; - uint8_t ip6ot_len; - uint8_t ip6ot_encap_limit; -}; - -struct ip6_opt_router { - uint8_t ip6or_type; - uint8_t ip6or_len; - uint8_t ip6or_value[2]; -}; - -#if __BYTE_ORDER == __BIG_ENDIAN -#define IP6_ALERT_MLD 0x0000 -#define IP6_ALERT_RSVP 0x0001 -#define IP6_ALERT_AN 0x0002 -#else -#define IP6_ALERT_MLD 0x0000 -#define IP6_ALERT_RSVP 0x0100 -#define IP6_ALERT_AN 0x0200 -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/musl/netinet/ip_icmp.h b/musl/netinet/ip_icmp.h deleted file mode 100644 index b9e0df8..0000000 --- a/musl/netinet/ip_icmp.h +++ /dev/null @@ -1,193 +0,0 @@ -#ifndef _NETINET_IP_ICMP_H -#define _NETINET_IP_ICMP_H - -#include <stdint.h> -#include <netinet/in.h> -#include <netinet/ip.h> - -#ifdef __cplusplus -extern "C" { -#endif - -struct icmphdr { - uint8_t type; - uint8_t code; - uint16_t checksum; - union { - struct { - uint16_t id; - uint16_t sequence; - } echo; - uint32_t gateway; - struct { - uint16_t __unused; - uint16_t mtu; - } frag; - uint8_t reserved[4]; - } un; -}; - -#define ICMP_ECHOREPLY 0 -#define ICMP_DEST_UNREACH 3 -#define ICMP_SOURCE_QUENCH 4 -#define ICMP_REDIRECT 5 -#define ICMP_ECHO 8 -#define ICMP_TIME_EXCEEDED 11 -#define ICMP_PARAMETERPROB 12 -#define ICMP_TIMESTAMP 13 -#define ICMP_TIMESTAMPREPLY 14 -#define ICMP_INFO_REQUEST 15 -#define ICMP_INFO_REPLY 16 -#define ICMP_ADDRESS 17 -#define ICMP_ADDRESSREPLY 18 -#define NR_ICMP_TYPES 18 - - -#define ICMP_NET_UNREACH 0 -#define ICMP_HOST_UNREACH 1 -#define ICMP_PROT_UNREACH 2 -#define ICMP_PORT_UNREACH 3 -#define ICMP_FRAG_NEEDED 4 -#define ICMP_SR_FAILED 5 -#define ICMP_NET_UNKNOWN 6 -#define ICMP_HOST_UNKNOWN 7 -#define ICMP_HOST_ISOLATED 8 -#define ICMP_NET_ANO 9 -#define ICMP_HOST_ANO 10 -#define ICMP_NET_UNR_TOS 11 -#define ICMP_HOST_UNR_TOS 12 -#define ICMP_PKT_FILTERED 13 -#define ICMP_PREC_VIOLATION 14 -#define ICMP_PREC_CUTOFF 15 -#define NR_ICMP_UNREACH 15 - -#define ICMP_REDIR_NET 0 -#define ICMP_REDIR_HOST 1 -#define ICMP_REDIR_NETTOS 2 -#define ICMP_REDIR_HOSTTOS 3 - -#define ICMP_EXC_TTL 0 -#define ICMP_EXC_FRAGTIME 1 - - -struct icmp_ra_addr { - uint32_t ira_addr; - uint32_t ira_preference; -}; - -struct icmp { - uint8_t icmp_type; - uint8_t icmp_code; - uint16_t icmp_cksum; - union { - uint8_t ih_pptr; - struct in_addr ih_gwaddr; - struct ih_idseq { - uint16_t icd_id; - uint16_t icd_seq; - } ih_idseq; - uint32_t ih_void; - - struct ih_pmtu { - uint16_t ipm_void; - uint16_t ipm_nextmtu; - } ih_pmtu; - - struct ih_rtradv { - uint8_t irt_num_addrs; - uint8_t irt_wpa; - uint16_t irt_lifetime; - } ih_rtradv; - } icmp_hun; - union { - struct { - uint32_t its_otime; - uint32_t its_rtime; - uint32_t its_ttime; - } id_ts; - struct { - struct ip idi_ip; - } id_ip; - struct icmp_ra_addr id_radv; - uint32_t id_mask; - uint8_t id_data[1]; - } icmp_dun; -}; - -#define icmp_pptr icmp_hun.ih_pptr -#define icmp_gwaddr icmp_hun.ih_gwaddr -#define icmp_id icmp_hun.ih_idseq.icd_id -#define icmp_seq icmp_hun.ih_idseq.icd_seq -#define icmp_void icmp_hun.ih_void -#define icmp_pmvoid icmp_hun.ih_pmtu.ipm_void -#define icmp_nextmtu icmp_hun.ih_pmtu.ipm_nextmtu -#define icmp_num_addrs icmp_hun.ih_rtradv.irt_num_addrs -#define icmp_wpa icmp_hun.ih_rtradv.irt_wpa -#define icmp_lifetime icmp_hun.ih_rtradv.irt_lifetime -#define icmp_otime icmp_dun.id_ts.its_otime -#define icmp_rtime icmp_dun.id_ts.its_rtime -#define icmp_ttime icmp_dun.id_ts.its_ttime -#define icmp_ip icmp_dun.id_ip.idi_ip -#define icmp_radv icmp_dun.id_radv -#define icmp_mask icmp_dun.id_mask -#define icmp_data icmp_dun.id_data - -#define ICMP_MINLEN 8 -#define ICMP_TSLEN (8 + 3 * sizeof (n_time)) -#define ICMP_MASKLEN 12 -#define ICMP_ADVLENMIN (8 + sizeof (struct ip) + 8) -#define ICMP_ADVLEN(p) (8 + ((p)->icmp_ip.ip_hl << 2) + 8) - -#define ICMP_UNREACH 3 -#define ICMP_SOURCEQUENCH 4 -#define ICMP_ROUTERADVERT 9 -#define ICMP_ROUTERSOLICIT 10 -#define ICMP_TIMXCEED 11 -#define ICMP_PARAMPROB 12 -#define ICMP_TSTAMP 13 -#define ICMP_TSTAMPREPLY 14 -#define ICMP_IREQ 15 -#define ICMP_IREQREPLY 16 -#define ICMP_MASKREQ 17 -#define ICMP_MASKREPLY 18 -#define ICMP_MAXTYPE 18 - -#define ICMP_UNREACH_NET 0 -#define ICMP_UNREACH_HOST 1 -#define ICMP_UNREACH_PROTOCOL 2 -#define ICMP_UNREACH_PORT 3 -#define ICMP_UNREACH_NEEDFRAG 4 -#define ICMP_UNREACH_SRCFAIL 5 -#define ICMP_UNREACH_NET_UNKNOWN 6 -#define ICMP_UNREACH_HOST_UNKNOWN 7 -#define ICMP_UNREACH_ISOLATED 8 -#define ICMP_UNREACH_NET_PROHIB 9 -#define ICMP_UNREACH_HOST_PROHIB 10 -#define ICMP_UNREACH_TOSNET 11 -#define ICMP_UNREACH_TOSHOST 12 -#define ICMP_UNREACH_FILTER_PROHIB 13 -#define ICMP_UNREACH_HOST_PRECEDENCE 14 -#define ICMP_UNREACH_PRECEDENCE_CUTOFF 15 - -#define ICMP_REDIRECT_NET 0 -#define ICMP_REDIRECT_HOST 1 -#define ICMP_REDIRECT_TOSNET 2 -#define ICMP_REDIRECT_TOSHOST 3 - -#define ICMP_TIMXCEED_INTRANS 0 -#define ICMP_TIMXCEED_REASS 1 - -#define ICMP_PARAMPROB_OPTABSENT 1 - -#define ICMP_INFOTYPE(type) \ - ((type) == ICMP_ECHOREPLY || (type) == ICMP_ECHO || \ - (type) == ICMP_ROUTERADVERT || (type) == ICMP_ROUTERSOLICIT || \ - (type) == ICMP_TSTAMP || (type) == ICMP_TSTAMPREPLY || \ - (type) == ICMP_IREQ || (type) == ICMP_IREQREPLY || \ - (type) == ICMP_MASKREQ || (type) == ICMP_MASKREPLY) - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/musl/netinet/tcp.h b/musl/netinet/tcp.h deleted file mode 100644 index fad1d84..0000000 --- a/musl/netinet/tcp.h +++ /dev/null @@ -1,305 +0,0 @@ -#ifndef _NETINET_TCP_H -#define _NETINET_TCP_H - -#include <features.h> - -#define TCP_NODELAY 1 -#define TCP_MAXSEG 2 -#define TCP_CORK 3 -#define TCP_KEEPIDLE 4 -#define TCP_KEEPINTVL 5 -#define TCP_KEEPCNT 6 -#define TCP_SYNCNT 7 -#define TCP_LINGER2 8 -#define TCP_DEFER_ACCEPT 9 -#define TCP_WINDOW_CLAMP 10 -#define TCP_INFO 11 -#define TCP_QUICKACK 12 -#define TCP_CONGESTION 13 -#define TCP_MD5SIG 14 -#define TCP_THIN_LINEAR_TIMEOUTS 16 -#define TCP_THIN_DUPACK 17 -#define TCP_USER_TIMEOUT 18 -#define TCP_REPAIR 19 -#define TCP_REPAIR_QUEUE 20 -#define TCP_QUEUE_SEQ 21 -#define TCP_REPAIR_OPTIONS 22 -#define TCP_FASTOPEN 23 -#define TCP_TIMESTAMP 24 -#define TCP_NOTSENT_LOWAT 25 -#define TCP_CC_INFO 26 -#define TCP_SAVE_SYN 27 -#define TCP_SAVED_SYN 28 -#define TCP_REPAIR_WINDOW 29 -#define TCP_FASTOPEN_CONNECT 30 -#define TCP_ULP 31 -#define TCP_MD5SIG_EXT 32 -#define TCP_FASTOPEN_KEY 33 -#define TCP_FASTOPEN_NO_COOKIE 34 -#define TCP_ZEROCOPY_RECEIVE 35 -#define TCP_INQ 36 -#define TCP_TX_DELAY 37 - -#define TCP_CM_INQ TCP_INQ - -#define TCP_ESTABLISHED 1 -#define TCP_SYN_SENT 2 -#define TCP_SYN_RECV 3 -#define TCP_FIN_WAIT1 4 -#define TCP_FIN_WAIT2 5 -#define TCP_TIME_WAIT 6 -#define TCP_CLOSE 7 -#define TCP_CLOSE_WAIT 8 -#define TCP_LAST_ACK 9 -#define TCP_LISTEN 10 -#define TCP_CLOSING 11 - -enum { - TCP_NLA_PAD, - TCP_NLA_BUSY, - TCP_NLA_RWND_LIMITED, - TCP_NLA_SNDBUF_LIMITED, - TCP_NLA_DATA_SEGS_OUT, - TCP_NLA_TOTAL_RETRANS, - TCP_NLA_PACING_RATE, - TCP_NLA_DELIVERY_RATE, - TCP_NLA_SND_CWND, - TCP_NLA_REORDERING, - TCP_NLA_MIN_RTT, - TCP_NLA_RECUR_RETRANS, - TCP_NLA_DELIVERY_RATE_APP_LMT, - TCP_NLA_SNDQ_SIZE, - TCP_NLA_CA_STATE, - TCP_NLA_SND_SSTHRESH, - TCP_NLA_DELIVERED, - TCP_NLA_DELIVERED_CE, - TCP_NLA_BYTES_SENT, - TCP_NLA_BYTES_RETRANS, - TCP_NLA_DSACK_DUPS, - TCP_NLA_REORD_SEEN, - TCP_NLA_SRTT, - TCP_NLA_TIMEOUT_REHASH, - TCP_NLA_BYTES_NOTSENT, - TCP_NLA_EDT, - TCP_NLA_TTL, -}; - -#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) -#define TCPOPT_EOL 0 -#define TCPOPT_NOP 1 -#define TCPOPT_MAXSEG 2 -#define TCPOPT_WINDOW 3 -#define TCPOPT_SACK_PERMITTED 4 -#define TCPOPT_SACK 5 -#define TCPOPT_TIMESTAMP 8 -#define TCPOLEN_SACK_PERMITTED 2 -#define TCPOLEN_WINDOW 3 -#define TCPOLEN_MAXSEG 4 -#define TCPOLEN_TIMESTAMP 10 - -#define SOL_TCP 6 - -#include <sys/types.h> -#include <sys/socket.h> -#include <stdint.h> - -typedef uint32_t tcp_seq; - -#define TH_FIN 0x01 -#define TH_SYN 0x02 -#define TH_RST 0x04 -#define TH_PUSH 0x08 -#define TH_ACK 0x10 -#define TH_URG 0x20 - -struct tcphdr { -#ifdef _GNU_SOURCE -#ifdef __GNUC__ - __extension__ -#endif - union { struct { - - uint16_t source; - uint16_t dest; - uint32_t seq; - uint32_t ack_seq; -#if __BYTE_ORDER == __LITTLE_ENDIAN - uint16_t res1:4; - uint16_t doff:4; - uint16_t fin:1; - uint16_t syn:1; - uint16_t rst:1; - uint16_t psh:1; - uint16_t ack:1; - uint16_t urg:1; - uint16_t res2:2; -#else - uint16_t doff:4; - uint16_t res1:4; - uint16_t res2:2; - uint16_t urg:1; - uint16_t ack:1; - uint16_t psh:1; - uint16_t rst:1; - uint16_t syn:1; - uint16_t fin:1; -#endif - uint16_t window; - uint16_t check; - uint16_t urg_ptr; - - }; struct { -#endif - - uint16_t th_sport; - uint16_t th_dport; - uint32_t th_seq; - uint32_t th_ack; -#if __BYTE_ORDER == __LITTLE_ENDIAN - uint8_t th_x2:4; - uint8_t th_off:4; -#else - uint8_t th_off:4; - uint8_t th_x2:4; -#endif - uint8_t th_flags; - uint16_t th_win; - uint16_t th_sum; - uint16_t th_urp; - -#ifdef _GNU_SOURCE - }; }; -#endif -}; -#endif - -#ifdef _GNU_SOURCE -#define TCPI_OPT_TIMESTAMPS 1 -#define TCPI_OPT_SACK 2 -#define TCPI_OPT_WSCALE 4 -#define TCPI_OPT_ECN 8 - -#define TCP_CA_Open 0 -#define TCP_CA_Disorder 1 -#define TCP_CA_CWR 2 -#define TCP_CA_Recovery 3 -#define TCP_CA_Loss 4 - -enum tcp_fastopen_client_fail { - TFO_STATUS_UNSPEC, - TFO_COOKIE_UNAVAILABLE, - TFO_DATA_NOT_ACKED, - TFO_SYN_RETRANSMITTED, -}; - -struct tcp_info { - uint8_t tcpi_state; - uint8_t tcpi_ca_state; - uint8_t tcpi_retransmits; - uint8_t tcpi_probes; - uint8_t tcpi_backoff; - uint8_t tcpi_options; - uint8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4; - uint8_t tcpi_delivery_rate_app_limited : 1, tcpi_fastopen_client_fail : 2; - uint32_t tcpi_rto; - uint32_t tcpi_ato; - uint32_t tcpi_snd_mss; - uint32_t tcpi_rcv_mss; - uint32_t tcpi_unacked; - uint32_t tcpi_sacked; - uint32_t tcpi_lost; - uint32_t tcpi_retrans; - uint32_t tcpi_fackets; - uint32_t tcpi_last_data_sent; - uint32_t tcpi_last_ack_sent; - uint32_t tcpi_last_data_recv; - uint32_t tcpi_last_ack_recv; - uint32_t tcpi_pmtu; - uint32_t tcpi_rcv_ssthresh; - uint32_t tcpi_rtt; - uint32_t tcpi_rttvar; - uint32_t tcpi_snd_ssthresh; - uint32_t tcpi_snd_cwnd; - uint32_t tcpi_advmss; - uint32_t tcpi_reordering; - uint32_t tcpi_rcv_rtt; - uint32_t tcpi_rcv_space; - uint32_t tcpi_total_retrans; - uint64_t tcpi_pacing_rate; - uint64_t tcpi_max_pacing_rate; - uint64_t tcpi_bytes_acked; - uint64_t tcpi_bytes_received; - uint32_t tcpi_segs_out; - uint32_t tcpi_segs_in; - uint32_t tcpi_notsent_bytes; - uint32_t tcpi_min_rtt; - uint32_t tcpi_data_segs_in; - uint32_t tcpi_data_segs_out; - uint64_t tcpi_delivery_rate; - uint64_t tcpi_busy_time; - uint64_t tcpi_rwnd_limited; - uint64_t tcpi_sndbuf_limited; - uint32_t tcpi_delivered; - uint32_t tcpi_delivered_ce; - uint64_t tcpi_bytes_sent; - uint64_t tcpi_bytes_retrans; - uint32_t tcpi_dsack_dups; - uint32_t tcpi_reord_seen; - uint32_t tcpi_rcv_ooopack; - uint32_t tcpi_snd_wnd; -}; - -#define TCP_MD5SIG_MAXKEYLEN 80 - -#define TCP_MD5SIG_FLAG_PREFIX 0x1 -#define TCP_MD5SIG_FLAG_IFINDEX 0x2 - -struct tcp_md5sig { - struct sockaddr_storage tcpm_addr; - uint8_t tcpm_flags; - uint8_t tcpm_prefixlen; - uint16_t tcpm_keylen; - int tcpm_ifindex; - uint8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN]; -}; - -struct tcp_diag_md5sig { - uint8_t tcpm_family; - uint8_t tcpm_prefixlen; - uint16_t tcpm_keylen; - uint32_t tcpm_addr[4]; - uint8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN]; -}; - -#define TCP_REPAIR_ON 1 -#define TCP_REPAIR_OFF 0 -#define TCP_REPAIR_OFF_NO_WP -1 - -struct tcp_repair_window { - uint32_t snd_wl1; - uint32_t snd_wnd; - uint32_t max_window; - uint32_t rcv_wnd; - uint32_t rcv_wup; -}; - -#define TCP_RECEIVE_ZEROCOPY_FLAG_TLB_CLEAN_HINT 0x1 - -struct tcp_zerocopy_receive { - uint64_t address; - uint32_t length; - uint32_t recv_skip_hint; - uint32_t inq; - int32_t err; - uint64_t copybuf_address; - int32_t copybuf_len; - uint32_t flags; - uint64_t msg_control; - uint64_t msg_controllen; - uint32_t msg_flags; - uint32_t reserved; -}; - -#endif - -#endif diff --git a/musl/netinet/udp.h b/musl/netinet/udp.h deleted file mode 100644 index 40c3f20..0000000 --- a/musl/netinet/udp.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef _NETINET_UDP_H -#define _NETINET_UDP_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include <features.h> -#include <stdint.h> - -#ifdef _GNU_SOURCE -#define uh_sport source -#define uh_dport dest -#define uh_ulen len -#define uh_sum check -#endif - -struct udphdr { - uint16_t uh_sport; - uint16_t uh_dport; - uint16_t uh_ulen; - uint16_t uh_sum; -}; - -#define UDP_CORK 1 -#define UDP_ENCAP 100 -#define UDP_NO_CHECK6_TX 101 -#define UDP_NO_CHECK6_RX 102 -#define UDP_SEGMENT 103 -#define UDP_GRO 104 - -#define UDP_ENCAP_ESPINUDP_NON_IKE 1 -#define UDP_ENCAP_ESPINUDP 2 -#define UDP_ENCAP_L2TPINUDP 3 -#define UDP_ENCAP_GTP0 4 -#define UDP_ENCAP_GTP1U 5 -#define UDP_ENCAP_RXRPC 6 -#define TCP_ENCAP_ESPINTCP 7 - -#define SOL_UDP 17 - -#ifdef __cplusplus -} -#endif - -#endif |