blob: 9ec0047d7d8c5e81a64ac887de9b77e59546a92e [file]
header: netinet/in.h
standards:
- posix
merge_yaml_files:
- ../htons-family.yaml
public_includes:
# This is permitted (but not required) by POSIX and many applications depend
# on it. If we have a "pedantic" mode in the future, we might want to exclude
# it there.
- sys/socket.h
macros:
- macro_name: IPPROTO_IP
macro_header: netinet-in-macros.h
- macro_name: IPPROTO_ICMP
macro_header: netinet-in-macros.h
- macro_name: IPPROTO_TCP
macro_header: netinet-in-macros.h
- macro_name: IPPROTO_UDP
macro_header: netinet-in-macros.h
- macro_name: IPPROTO_IPV6
macro_header: netinet-in-macros.h
- macro_name: IPPROTO_RAW
macro_header: netinet-in-macros.h
- macro_name: IN6ADDR_ANY_INIT
macro_header: netinet-in-macros.h
- macro_name: IN6ADDR_LOOPBACK_INIT
macro_header: netinet-in-macros.h
- macro_name: INET_ADDRSTRLEN
macro_header: inet-address-macros.h
- macro_name: INET6_ADDRSTRLEN
macro_header: inet-address-macros.h
- macro_name: SOL_IP
macro_value: 0
# IP level socket options
- macro_name: IP_TOS
macro_value: 1 # int
- macro_name: IP_TTL
macro_value: 2 # int
- macro_name: IP_HDRINCL
macro_value: 3 # int
- macro_name: IP_OPTIONS
macro_value: 4 # struct ip_opts
- macro_name: IP_ROUTER_ALERT
macro_value: 5 # int
- macro_name: IP_RECVOPTS
macro_value: 6 # int
- macro_name: IP_RETOPTS
macro_value: 7 # int
- macro_name: IP_PKTINFO
macro_value: 8 # int
- macro_name: IP_MTU_DISCOVER
macro_value: 10 # int
- macro_name: IP_PMTUDISC_DONT
macro_value: 0
- macro_name: IP_PMTUDISC_WANT
macro_value: 1
- macro_name: IP_PMTUDISC_DO
macro_value: 2
- macro_name: IP_PMTUDISC_PROBE
macro_value: 3
- macro_name: IP_RECVERR
macro_value: 11 # int
- macro_name: IP_RECVTTL
macro_value: 12 # int
- macro_name: IP_RECVTOS
macro_value: 13 # int
- macro_name: IP_MTU
macro_value: 14 # int
- macro_name: IP_FREEBIND
macro_value: 15 # int
- macro_name: IP_PASSSEC
macro_value: 18 # int
- macro_name: IP_TRANSPARENT
macro_value: 19 # int
- macro_name: IP_RECVORIGDSTADDR
macro_value: 20 # int
- macro_name: IP_NODEFRAG
macro_value: 22 # int
- macro_name: IP_BIND_ADDRESS_NO_PORT
macro_value: 24 # int
- macro_name: IP_MULTICAST_IF
macro_value: 32 # struct in_addr or ip_mreq or ip_mreqn
- macro_name: IP_MULTICAST_TTL
macro_value: 33 # int
- macro_name: IP_MULTICAST_LOOP
macro_value: 34 # int
- macro_name: IP_ADD_MEMBERSHIP
macro_value: 35 # struct ip_mreq or ip_mreqn
- macro_name: IP_DROP_MEMBERSHIP
macro_value: 36 # struct ip_mreq or ip_mreqn
- macro_name: IP_UNBLOCK_SOURCE
macro_value: 37 # struct ip_mreq_source
- macro_name: IP_BLOCK_SOURCE
macro_value: 38 # struct ip_mreq_source
- macro_name: IP_ADD_SOURCE_MEMBERSHIP
macro_value: 39 # struct ip_mreq_source
- macro_name: IP_DROP_SOURCE_MEMBERSHIP
macro_value: 40 # struct ip_mreq_source
- macro_name: IP_MSFILTER
macro_value: 41 # struct ip_msfilter
- macro_name: MCAST_JOIN_GROUP
macro_value: 42 # struct group_req
- macro_name: MCAST_BLOCK_SOURCE
macro_value: 43 # struct group_source_req
- macro_name: MCAST_UNBLOCK_SOURCE
macro_value: 44 # struct group_source_req
- macro_name: MCAST_LEAVE_GROUP
macro_value: 45 # struct group_req
- macro_name: MCAST_JOIN_SOURCE_GROUP
macro_value: 46 # struct group_source_req
- macro_name: MCAST_LEAVE_SOURCE_GROUP
macro_value: 47 # struct group_source_req
- macro_name: IP_MULTICAST_ALL
macro_value: 49 # int
- macro_name: IP_LOCAL_PORT_RANGE
macro_value: 51 # uint32_t
# IPv6 level socket options
- macro_name: IPV6_ADDRFORM
macro_value: 1 # int
- macro_name: IPV6_AUTHHDR
macro_value: 10 # int
- macro_name: IPV6_FLOWINFO
macro_value: 11 # int
- macro_name: IPV6_UNICAST_HOPS
macro_value: 16 # int
- macro_name: IPV6_MULTICAST_IF
macro_value: 17 # int
- macro_name: IPV6_MULTICAST_HOPS
macro_value: 18 # int
- macro_name: IPV6_MULTICAST_LOOP
macro_value: 19 # int
- macro_name: IPV6_JOIN_GROUP
macro_value: 20 # struct ipv6_mreq
- macro_name: IPV6_ADD_MEMBERSHIP
macro_value: IPV6_JOIN_GROUP
- macro_name: IPV6_LEAVE_GROUP
macro_value: 21 # struct ipv6_mreq
- macro_name: IPV6_DROP_MEMBERSHIP
macro_value: IPV6_LEAVE_GROUP
- macro_name: IPV6_ROUTER_ALERT
macro_value: 22 # int
- macro_name: IPV6_MTU_DISCOVER
macro_value: 23 # int
- macro_name: IPV6_MTU
macro_value: 24 # int
- macro_name: IPV6_RECVERR
macro_value: 25 # int
- macro_name: IPV6_V6ONLY
macro_value: 26 # int
- macro_name: IPV6_RECVPKTINFO
macro_value: 49 # int
- macro_name: IPV6_HOPLIMIT
macro_value: 52 # int
- macro_name: IPV6_HOPOPTS
macro_value: 54 # int
- macro_name: IPV6_RTHDR
macro_value: 57 # int
- macro_name: IPV6_DSTOPTS
macro_value: 59 # int
types:
- type_name: in_port_t
- type_name: in_addr_t
- type_name: struct_sockaddr_in
- type_name: struct_sockaddr_in6
- type_name: struct_group_req
- type_name: struct_group_source_req
- type_name: struct_in_addr
- type_name: struct_in6_addr
- type_name: struct_ipv6_mreq
- type_name: struct_ip_mreq
- type_name: struct_ip_mreq_source
- type_name: struct_ip_mreqn
- type_name: struct_ip_msfilter
- type_name: struct_ip_opts
# Type also defined by sys/socket.h, but listing it explicitly as it is
# required by POSIX.
- type_name: sa_family_t
enums: []
objects:
- object_name: in6addr_any
object_type: const struct in6_addr
- object_name: in6addr_loopback
object_type: const struct in6_addr
functions: []