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

git-svn-id: trunk@17910 -
This commit is contained in:
marco 2011-07-01 20:50:49 +00:00
parent cfdc7c861d
commit c8218eaab8

View File

@ -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;