From c8218eaab86ae58e0cda7849d98c74d7ca5dc3f8 Mon Sep 17 00:00:00 2001 From: marco Date: Fri, 1 Jul 2011 20:50:49 +0000 Subject: [PATCH] * constants for sockets unit of Solaris by L. Brands, mantis #19665 git-svn-id: trunk@17910 - --- rtl/solaris/unxsockh.inc | 222 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 221 insertions(+), 1 deletion(-) diff --git a/rtl/solaris/unxsockh.inc b/rtl/solaris/unxsockh.inc index dafcfdeab1..bc811749a2 100644 --- a/rtl/solaris/unxsockh.inc +++ b/rtl/solaris/unxsockh.inc @@ -167,7 +167,7 @@ const MSG_NOTIFICATION = $0100; { Notification, not data } MSG_XPG4_2 = $8000; { Private: XPG4.2 flag } MSG_MAXIOVLEN = 16; - + TCP_NODELAY = $01; { set maximum segment size } TCP_MAXSEG = $02; @@ -183,3 +183,223 @@ const TCP_KEEPALIVE_ABORT_THRESHOLD = $17; TCP_CORK = $18; +//from /usr/include/netinet/in.h + + IPPROTO_IP = 0; + { Hop by hop header for IPv6 } + IPPROTO_HOPOPTS = 0; + { control message protocol } + IPPROTO_ICMP = 1; + { group control protocol } + IPPROTO_IGMP = 2; + { gateway^2 (deprecated) } + IPPROTO_GGP = 3; + { IP in IP encapsulation } + IPPROTO_ENCAP = 4; + { tcp } + IPPROTO_TCP = 6; + { exterior gateway protocol } + IPPROTO_EGP = 8; + { pup } + IPPROTO_PUP = 12; + { user datagram protocol } + IPPROTO_UDP = 17; + { xns idp } + IPPROTO_IDP = 22; + { IPv6 encapsulated in IP } + IPPROTO_IPV6 = 41; + { Routing header for IPv6 } + IPPROTO_ROUTING = 43; + { Fragment header for IPv6 } + IPPROTO_FRAGMENT = 44; + { rsvp } + IPPROTO_RSVP = 46; + { IPsec Encap. Sec. Payload } + IPPROTO_ESP = 50; + { IPsec Authentication Hdr. } + IPPROTO_AH = 51; + { ICMP for IPv6 } + IPPROTO_ICMPV6 = 58; + { No next header for IPv6 } + IPPROTO_NONE = 59; + { Destination options } + IPPROTO_DSTOPTS = 60; + { "hello" routing protocol } + IPPROTO_HELLO = 63; + { UNOFFICIAL net disk proto } + IPPROTO_ND = 77; + { ISO clnp } + IPPROTO_EON = 80; + { OSPF } + IPPROTO_OSPF = 89; + { PIM routing protocol } + IPPROTO_PIM = 103; + { Stream Control } + IPPROTO_SCTP = 132; + { Transmission Protocol } + { raw IP packet } + IPPROTO_RAW = 255; + IPPROTO_MAX = 256; + + + { set/get IP per-packet options } + IP_OPTIONS = 1; + { int; header is included with data (raw) } + IP_HDRINCL = 2; + { int; IP type of service and precedence } + IP_TOS = 3; + + { int; IP time to live } + IP_TTL = 4; + { int; receive all IP options w/datagram } + IP_RECVOPTS = $5; + { int; receive IP options for response } + IP_RECVRETOPTS = $6; + { int; receive IP dst addr w/datagram } + IP_RECVDSTADDR = $7; + { ip_opts; set/get IP per-packet options } + IP_RETOPTS = $8; + { int; receive the inbound interface index } + IP_RECVIF = $9; + { sockaddr_dl; get source link layer address } + IP_RECVSLLA = $a; + { uint8_t; get TTL for inbound packet } + IP_RECVTTL = $b; + { set/get IP multicast interface } + IP_MULTICAST_IF = $10; + { set/get IP multicast timetolive } + IP_MULTICAST_TTL = $11; + { set/get IP multicast loopback } + IP_MULTICAST_LOOP = $12; + { add an IP group membership } + IP_ADD_MEMBERSHIP = $13; + { drop an IP group membership } + IP_DROP_MEMBERSHIP = $14; + { block mcast pkts from source } + IP_BLOCK_SOURCE = $15; + { unblock mcast pkts from source } + IP_UNBLOCK_SOURCE = $16; + { add mcast group/source pair } + IP_ADD_SOURCE_MEMBERSHIP = $17; + { drop mcast group/source pair } + IP_DROP_SOURCE_MEMBERSHIP = $18; + { send directly to next hop } + IP_NEXTHOP = $19; + { + * IP_PKTINFO and IP_RECVPKTINFO have same value. Size of argument passed in + * is used to differentiate b/w the two. + } + { specify src address and/or index } + IP_PKTINFO = $1a; + { recv dest/matched addr and index } + IP_RECVPKTINFO = $1a; + { + * IPv6 options + } + { hop limit value for unicast } + IPV6_UNICAST_HOPS = $5; + { packets. } + { argument type: uint_t } + { outgoing interface for } + IPV6_MULTICAST_IF = $6; + { multicast packets. } + { argument type: struct in6_addr } + { hop limit value to use for } + IPV6_MULTICAST_HOPS = $7; + { multicast packets. } + { argument type: uint_t } + { enable/disable delivery of } + IPV6_MULTICAST_LOOP = $8; + { multicast packets on same socket. } + { argument type: uint_t } + { join an IPv6 multicast group. } + IPV6_JOIN_GROUP = $9; + { argument type: struct ipv6_mreq } + { leave an IPv6 multicast group } + IPV6_LEAVE_GROUP = $a; + { argument type: struct ipv6_mreq } + { + * IPV6_ADD_MEMBERSHIP and IPV6_DROP_MEMBERSHIP are being kept + * for backward compatibility. They have the same meaning as IPV6_JOIN_GROUP + * and IPV6_LEAVE_GROUP respectively. + } + { join an IPv6 multicast group. } + IPV6_ADD_MEMBERSHIP = $9; + { argument type: struct ipv6_mreq } + { leave an IPv6 multicast group } + IPV6_DROP_MEMBERSHIP = $a; + { argument type: struct ipv6_mreq } + { addr plus interface index } + IPV6_PKTINFO = $b; + { arg type: "struct in6_pktingo" - } + { hoplimit for datagram } + IPV6_HOPLIMIT = $c; + { next hop address } + IPV6_NEXTHOP = $d; + { hop by hop options } + IPV6_HOPOPTS = $e; + { destination options - after } + IPV6_DSTOPTS = $f; + { the routing header } + { routing header } + IPV6_RTHDR = $10; + { destination options - before } + IPV6_RTHDRDSTOPTS = $11; + { the routing header } + { enable/disable IPV6_PKTINFO } + IPV6_RECVPKTINFO = $12; + { enable/disable IPV6_HOPLIMIT } + IPV6_RECVHOPLIMIT = $13; + { enable/disable IPV6_HOPOPTS } + IPV6_RECVHOPOPTS = $14; + { + * This options exists for backwards compatability and should no longer be + * used. Use IPV6_RECVDSTOPTS instead. + } + _OLD_IPV6_RECVDSTOPTS = $15; + { enable/disable IPV6_RTHDR } + IPV6_RECVRTHDR = $16; + { + * enable/disable IPV6_RTHDRDSTOPTS. Now obsolete. IPV6_RECVDSTOPTS enables + * the receipt of both headers. + } + IPV6_RECVRTHDRDSTOPTS = $17; + { Control checksum on raw sockets } + IPV6_CHECKSUM = $18; + { enable/disable IPV6_CLASS } + IPV6_RECVTCLASS = $19; + { send packets with minimum MTU } + IPV6_USE_MIN_MTU = $20; + { don't fragment packets } + IPV6_DONTFRAG = $21; + { Used to set IPSEC options } + IPV6_SEC_OPT = $22; + { Control socket's src addr select } + IPV6_SRC_PREFERENCES = $23; + { receive PMTU info } + IPV6_RECVPATHMTU = $24; + { get the PMTU } + IPV6_PATHMTU = $25; + { traffic class } + IPV6_TCLASS = $26; + { v6 only socket option } + IPV6_V6ONLY = $27; + { + * enable/disable receipt of both both IPV6_DSTOPTS headers. + } + IPV6_RECVDSTOPTS = $28; + { + * protocol-independent multicast membership options. + } + { join group for all sources } + MCAST_JOIN_GROUP = $29; + { leave group } + MCAST_LEAVE_GROUP = $2a; + { block specified source } + MCAST_BLOCK_SOURCE = $2b; + { unblock specified source } + MCAST_UNBLOCK_SOURCE = $2c; + { join group for specified source } + MCAST_JOIN_SOURCE_GROUP = $2d; + { leave source/group pair } + MCAST_LEAVE_SOURCE_GROUP = $2e;