v8 152.0.0

Rust bindings to V8
Documentation
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: []