enum { IPPROTO_IP = 0, // Dummy protocol for TCP. IPPROTO_HOPOPTS = 0, // IPv6 Hop-by-Hop options. IPPROTO_ICMP = 1, // Internet Control Message Protocol. IPPROTO_IGMP = 2, // Internet Group Management Protocol. IPPROTO_IPIP = 4, // IPIP tunnels (older KA9Q tunnels use 94). IPPROTO_TCP = 6, // Transmission Control Protocol. IPPROTO_EGP = 8, // Exterior Gateway Protocol. IPPROTO_PUP = 12, // PUP protocol. IPPROTO_UDP = 17, // User Datagram Protocol. IPPROTO_IDP = 22, // XNS IDP protocol. IPPROTO_TP = 29, // SO Transport Protocol Class 4. IPPROTO_IPV6 = 41, // IPv6 header. IPPROTO_ROUTING = 43, // IPv6 routing header. IPPROTO_FRAGMENT = 44, // IPv6 fragmentation header. IPPROTO_RSVP = 46, // Reservation Protocol. IPPROTO_GRE = 47, // General Routing Encapsulation. IPPROTO_ESP = 50, // encapsulating security payload. IPPROTO_AH = 51, // authentication header. IPPROTO_ICMPV6 = 58, // ICMPv6. IPPROTO_NONE = 59, // IPv6 no next header. IPPROTO_DSTOPTS = 60, // IPv6 destination options. IPPROTO_MTP = 92, // Multicast Transport Protocol. IPPROTO_ENCAP = 98, // Encapsulation Header. IPPROTO_PIM = 103, // Protocol Independent Multicast. IPPROTO_COMP = 108, // Compression Header Protocol. IPPROTO_RAW = 255, // Raw IP packets. IPPROTO_MAX };