Browse Source

* constants for sockets unit of Solaris by L. Brands, mantis #19665

git-svn-id: trunk@17910 -
marco 14 years ago
parent
commit
c8218eaab8
1 changed files with 221 additions and 1 deletions
  1. 221 1
      rtl/solaris/unxsockh.inc

+ 221 - 1
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;