* Fixes all constant declarations according to sys/socket.h and netinet/in.h.

git-svn-id: trunk@15102 -
This commit is contained in:
olivier 2010-03-31 23:25:10 +00:00
parent 4833867826
commit a2d41bbdb9

View File

@ -2,6 +2,7 @@
This file is part of the Free Pascal run time library.
(c) 2000-2003 by Marco van de Voort
member of the Free Pascal development team.
(c) 2010 by Olivier Coursière.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
@ -17,10 +18,21 @@ Const
{*
* Address families.
*}
AF_UNSPEC = 0; { unspecified }
AF_UNIX = 1; { standardized name for AF_LOCAL }
AF_LOCAL = AF_UNIX; { local to host (pipes, portals) }
AF_INET = 2; { internetwork: UDP, TCP, etc. }
AF_UNSPEC = 0; { unspecified }
AF_INET = 1; { internetwork: UDP, TCP, etc. }
AF_APPLETALK = 2; { Apple Talk }
AF_ROUTE = 3; { Internal Routing Protocol }
AF_LINK = 4; { Link layer interface }
AF_INET6 = 5; { IPv6 }
AF_DLI = 6; { DEC Direct data link interface }
AF_IPX = 7; { Novell Internet Protocol }
AF_NOTIFY = 8; { ??? }
AF_LOCAL = 9; { local to host (pipes, portals) }
AF_UNIX = AF_LOCAL; { standardized name for AF_LOCAL }
AF_BLUETOOTH = 10; { Bluetooth sockets }
AF_MAX = 11;
(* Values not yet defined under Haiku (see sys/socket.h)
AF_IMPLINK = 3; { arpanet imp addresses }
AF_PUP = 4; { pup protocols: e.g. BSP }
AF_CHAOS = 5; { mit CHAOS protocols }
@ -32,23 +44,17 @@ Const
AF_CCITT = 10; { CCITT protocols, X.25 etc }
AF_SNA = 11; { IBM SNA }
AF_DECnet = 12; { DECnet }
AF_DLI = 13; { DEC Direct data link interface }
AF_LAT = 14; { LAT }
AF_HYLINK = 15; { NSC Hyperchannel }
AF_APPLETALK = 16; { Apple Talk }
AF_ROUTE = 17; { Internal Routing Protocol }
AF_LINK = 18; { Link layer interface }
pseudo_AF_XTP = 19; { eXpress Transfer Protocol (no AF) }
AF_COIP = 20; { connection-oriented IP, aka ST II }
AF_CNT = 21; { Computer Network Technology }
pseudo_AF_RTIP = 22; { Help Identify RTIP packets }
AF_IPX = 23; { Novell Internet Protocol }
AF_SIP = 24; { Simple Internet Protocol }
pseudo_AF_PIP = 25; { Help Identify PIP packets }
AF_ISDN = 26; { Integrated Services Digital Network}
AF_E164 = AF_ISDN; { CCITT E.164 recommendation }
pseudo_AF_KEY = 27; { Internal key-management function }
AF_INET6 = 28; { IPv6 }
AF_NATM = 29; { native ATM access }
AF_ATM = 30; { ATM }
pseudo_AF_HDRCMPLT = 31; { Used by BPF to not rewrite headers
@ -58,20 +64,26 @@ Const
AF_SLOW = 33; { 802.3ad slow protocol }
AF_SCLUSTER = 34; { Sitara cluster protocol }
AF_ARP = 35;
AF_BLUETOOTH = 36; { Bluetooth sockets }
AF_IEEE80211 = 37; { IEEE 802.11 protocol }
AF_MAX = 38;
*)
{
* Protocol families, same as address families for now.
}
const
PF_UNSPEC = AF_UNSPEC;
PF_INET = AF_INET;
PF_ROUTE = AF_ROUTE;
PF_LINK = AF_LINK;
PF_INET6 = AF_INET6;
PF_LOCAL = AF_LOCAL;
{ backward compatibility }
PF_UNIX = PF_LOCAL;
PF_INET = AF_INET;
PF_BLUETOOTH = AF_BLUETOOTH;
PF_MAX = AF_MAX;
(* Values not yet defined under Haiku (see sys/socket.h)
PF_IMPLINK = AF_IMPLINK;
PF_PUP = AF_PUP;
PF_CHAOS = AF_CHAOS;
@ -87,8 +99,6 @@ Const
PF_LAT = AF_LAT;
PF_HYLINK = AF_HYLINK;
PF_APPLETALK = AF_APPLETALK;
PF_ROUTE = AF_ROUTE;
PF_LINK = AF_LINK;
{ really just proto family, no AF }
PF_XTP = pseudo_AF_XTP;
PF_COIP = AF_COIP;
@ -100,47 +110,51 @@ Const
PF_PIP = pseudo_AF_PIP;
PF_ISDN = AF_ISDN;
PF_KEY = pseudo_AF_KEY;
PF_INET6 = AF_INET6;
PF_NATM = AF_NATM;
PF_ATM = AF_ATM;
PF_NETGRAPH = AF_NETGRAPH;
PF_SLOW = AF_SLOW;
PF_SCLUSTER = AF_SCLUSTER;
PF_ARP = AF_ARP;
PF_BLUETOOTH = AF_BLUETOOTH;
PF_MAX = AF_MAX;
*)
SOCK_PACKET = 10;
{ Maximum queue length specifiable by listen. }
SOMAXCONN = 128;
SOMAXCONN = 32;
SOL_SOCKET = $FFFF;
SO_DEBUG = $0001; { turn on debugging info recording }
SO_ACCEPTCONN = $0002; { socket has had listen() }
SO_REUSEADDR = $0004; { allow local address reuse }
SO_KEEPALIVE = $0008; { keep connections alive }
SO_DONTROUTE = $0010; { just use interface addresses }
SO_BROADCAST = $0020; { permit sending of broadcast msgs }
SO_USELOOPBACK = $0040; { bypass hardware when possible }
SO_LINGER = $0080; { linger on close if data present }
SO_OOBINLINE = $0100; { leave received OOB data in line }
SO_REUSEPORT = $0200; { allow local address & port reuse }
SOL_SOCKET = -1;
SO_ACCEPTCONN = $00000001; { socket has had listen() }
SO_BROADCAST = $00000002; { permit sending of broadcast msgs }
SO_DEBUG = $00000004; { turn on debugging info recording }
SO_DONTROUTE = $00000008; { just use interface addresses }
SO_KEEPALIVE = $00000010; { keep connections alive }
SO_OOBINLINE = $00000020; { leave received OOB data in line }
SO_REUSEADDR = $00000040; { allow local address reuse }
SO_REUSEPORT = $00000080; { allow local address & port reuse }
SO_USELOOPBACK = $00000100; { bypass hardware when possible }
SO_LINGER = $00000200; { linger on close if data present }
(* Values not yet defined under Haiku (see sys/socket.h)
SO_TIMESTAMP = $0400; { timestamp received dgram traffic }
*)
{
* Additional options, not kept in so_options.
}
SO_SNDBUF =$1001; { send buffer size }
SO_RCVBUF =$1002; { receive buffer size }
SO_SNDLOWAT =$1003; { send low-water mark }
SO_RCVLOWAT =$1004; { receive low-water mark }
SO_SNDTIMEO =$1005; { send timeout }
SO_RCVTIMEO =$1006; { receive timeout }
SO_ERROR =$1007; { get error status and clear }
SO_TYPE =$1008; { get socket type }
SO_SNDBUF = $40000001; { send buffer size }
SO_SNDLOWAT = $40000003; { send low-water mark }
SO_SNDTIMEO = $40000005; { send timeout }
SO_RCVBUF = $40000002; { receive buffer size }
SO_RCVLOWAT = $40000004; { receive low-water mark }
SO_RCVTIMEO = $40000006; { receive timeout }
SO_ERROR = $40000007; { get error status and clear }
SO_TYPE = $40000008; { get socket type }
SO_NONBLOCK = $40000009;
SO_BINDTODEVICE = $4000000a; { binds the socket to a specific device index }
SO_PEERCRED = $4000000b; { get peer credentials, param: ucred }
SHUT_RD =0; { shut down the reading side }
@ -275,12 +289,25 @@ Const
IP_RECVRETOPTS = 6 ; { bool; receive IP opts for response }
IP_RECVDSTADDR = 7 ; { bool; receive IP dst addr w/dgram }
IP_SENDSRCADDR = IP_RECVDSTADDR; { cmsg_type to set src addr }
IP_RETOPTS = 8 ; { ip_opts; set/get IP options }
IP_RETOPTS = 8 ; { ip_opts; set/get IP options }
IP_MULTICAST_IF = 9 ; { u_char; set/get IP multicast i/f }
IP_MULTICAST_TTL = 10; { u_char; set/get IP multicast ttl }
IP_MULTICAST_LOOP = 11; { u_char; set/get IP multicast loopback }
IP_ADD_MEMBERSHIP = 12; { ip_mreq; add an IP group membership }
IP_DROP_MEMBERSHIP = 13; { ip_mreq; drop an IP group membership }
IP_BLOCK_SOURCE = 14; { ip_mreq_source }
IP_UNBLOCK_SOURCE = 15; { ip_mreq_source }
IP_ADD_SOURCE_MEMBERSHIP = 16; { ip_mreq_source }
IP_DROP_SOURCE_MEMBERSHIP = 17; { ip_mreq_source }
MCAST_JOIN_GROUP = 18; { group_req }
MCAST_BLOCK_SOURCE = 19; { group_source_req }
MCAST_UNBLOCK_SOURCE = 20; { group_source_req }
MCAST_LEAVE_GROUP = 21; { group_req }
MCAST_JOIN_SOURCE_GROUP = 22; { group_source_req }
MCAST_LEAVE_SOURCE_GROUP = 23; { group_source_req }
(* Values not yet defined under Haiku (see netinet/in.h)
IP_MULTICAST_VIF = 14; { set/get IP mcast virt. iface }
IP_RSVP_ON = 15; { enable RSVP in kernel }
IP_RSVP_OFF = 16; { disable RSVP in kernel }
@ -317,9 +344,13 @@ Const
IPV6_SOCKOPT_RESERVED1 = 3 ; { reserved for future use }
IPV6_UNICAST_HOPS = 4 ; { int; IP6 hops }
IPV6_MULTICAST_IF = 9 ; { u_int; setget IP6 multicast if }
IPV6_MULTICAST_HOPS = 10; { int; setget IP6 multicast hops }
IPV6_MULTICAST_LOOP = 11; { u_int; setget IP6 multicast loopback }
*)
IPV6_MULTICAST_IF = 24; { u_int; setget IP6 multicast if }
IPV6_MULTICAST_HOPS = 25; { int; setget IP6 multicast hops }
IPV6_MULTICAST_LOOP = 26; { u_int; setget IP6 multicast loopback }
(* Values not yet defined under Haiku (see netinet/in.h)
IPV6_JOIN_GROUP = 12; { ip6_mreq; join a group membership }
IPV6_LEAVE_GROUP = 13; { ip6_mreq; leave a group membership }
IPV6_PORTRANGE = 14; { int; range to choose for unspec port }
@ -331,21 +362,30 @@ Const
IPV6_DSTOPTS = 50; { ip6_dest; send dst option befor rthdr }
IPV6_RTHDR = 51; { ip6_rthdr; send routing header }
IPV6_PKTOPTIONS = 52; { buf/cmsghdr; set/get IPv6 options }
*)
{ Flags for send, recv etc. }
MSG_OOB = $0001; { Process out-of-band data}
MSG_PEEK = $0002; { Peek at incoming messages }
MSG_DONTROUTE = $0004; { Don't use local routing }
MSG_EOR = $0008; { End of record }
MSG_TRUNC = $0010;
MSG_CTRUNC = $0020; { Control data lost before delivery }
MSG_WAITALL = $0040; { Wait for a full request }
MSG_DONTWAIT = $0080; { Non-blocking I/O }
MSG_EOF = $0100;
MSG_OOB = $0001; { process out-of-band data}
MSG_PEEK = $0002; { peek at incoming messages }
MSG_DONTROUTE = $0004; { send without using routing tables }
MSG_EOR = $0008; { data completes record }
MSG_TRUNC = $0010; { data discarded before delivery }
MSG_CTRUNC = $0020; { control data lost before delivery }
MSG_WAITALL = $0040; { wait for full request or error }
MSG_DONTWAIT = $0080; { this message should be nonblocking }
MSG_BCAST = $0100; { this message rec'd as broadcast }
MSG_MCAST = $0200; { this message rec'd as multicast }
MSG_EOF = $0400; { data completes connection }
(* Values not yet defined under Haiku (see sys/socket.h)
MSG_NBIO = $4000;
MSG_COMPAT = $8000;
MSG_SOCALLBCK = $10000;
MSG_NOSIGNAL = $20000; { Do not generate SIGPIPE }
*)
{ SOL_SOCKET control message types }
SCM_RIGHTS = $01;
INVALID_SOCKET = -1;
SOCKET_ERROR = -1;