* Updated using freebsd version (not verified)

git-svn-id: trunk@19371 -
This commit is contained in:
pierre 2011-10-04 22:23:00 +00:00
parent 3a4831d924
commit 1e9d5fb24b

View File

@ -1,83 +1,72 @@
{
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.
const See the file COPYING.FPC, included in this distribution,
{ for details about the copyright.
* Address families.
}
{ unspecified } OS dependant part of the header.
AF_UNSPEC = 0;
{ local to host (pipes, portals) } This program is distributed in the hope that it will be useful,
AF_LOCAL = 1; but WITHOUT ANY WARRANTY;without even the implied warranty of
{ backward compatibility } MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
AF_UNIX = AF_LOCAL; }
{ internetwork: UDP, TCP, etc. }
AF_INET = 2; Const
{ arpanet imp addresses } {*
AF_IMPLINK = 3; * Address families.
{ pup protocols: e.g. BSP } *}
AF_PUP = 4; AF_UNSPEC = 0; { unspecified }
{ mit CHAOS protocols } AF_UNIX = 1; { standardized name for AF_LOCAL }
AF_CHAOS = 5; AF_LOCAL = AF_UNIX; { local to host (pipes, portals) }
{ XEROX NS protocols } AF_INET = 2; { internetwork: UDP, TCP, etc. }
AF_NS = 6; AF_IMPLINK = 3; { arpanet imp addresses }
{ ISO protocols } AF_PUP = 4; { pup protocols: e.g. BSP }
AF_ISO = 7; AF_CHAOS = 5; { mit CHAOS protocols }
AF_OSI = AF_ISO; AF_NETBIOS = 6; { SMB protocols }
{ european computer manufacturers } AF_ISO = 7; { ISO protocols }
AF_ECMA = 8; AF_OSI = AF_ISO;
{ datakit protocols } AF_ECMA = 8; { European computer manufacturers }
AF_DATAKIT = 9; AF_DATAKIT = 9; { datakit protocols }
{ CCITT protocols, X.25 etc } AF_CCITT = 10; { CCITT protocols, X.25 etc }
AF_CCITT = 10; AF_SNA = 11; { IBM SNA }
{ IBM SNA } AF_DECnet = 12; { DECnet }
AF_SNA = 11; AF_DLI = 13; { DEC Direct data link interface }
{ DECnet } AF_LAT = 14; { LAT }
AF_DECnet = 12; AF_HYLINK = 15; { NSC Hyperchannel }
{ DEC Direct data link interface } AF_APPLETALK = 16; { Apple Talk }
AF_DLI = 13; AF_ROUTE = 17; { Internal Routing Protocol }
{ LAT } AF_LINK = 18; { Link layer interface }
AF_LAT = 14; pseudo_AF_XTP = 19; { eXpress Transfer Protocol (no AF) }
{ NSC Hyperchannel } AF_COIP = 20; { connection-oriented IP, aka ST II }
AF_HYLINK = 15; AF_CNT = 21; { Computer Network Technology }
{ Apple Talk } pseudo_AF_RTIP = 22; { Help Identify RTIP packets }
AF_APPLETALK = 16; AF_IPX = 23; { Novell Internet Protocol }
{ Internal Routing Protocol } AF_SIP = 24; { Simple Internet Protocol }
AF_ROUTE = 17; pseudo_AF_PIP = 25; { Help Identify PIP packets }
{ Link layer interface } AF_ISDN = 26; { Integrated Services Digital Network}
AF_LINK = 18; AF_E164 = AF_ISDN; { CCITT E.164 recommendation }
{ eXpress Transfer Protocol (no AF) } pseudo_AF_KEY = 27; { Internal key-management function }
pseudo_AF_XTP = 19; AF_INET6 = 28; { IPv6 }
{ connection-oriented IP, aka ST II } AF_NATM = 29; { native ATM access }
AF_COIP = 20; AF_ATM = 30; { ATM }
{ Computer Network Technology } pseudo_AF_HDRCMPLT = 31; { Used by BPF to not rewrite headers
AF_CNT = 21; * in interface output routine
{ Help Identify RTIP packets } }
pseudo_AF_RTIP = 22; AF_NETGRAPH = 32; { Netgraph sockets }
{ Novell Internet Protocol } AF_SLOW = 33; { 802.3ad slow protocol }
AF_IPX = 23; AF_SCLUSTER = 34; { Sitara cluster protocol }
{ IPv6 } AF_ARP = 35;
AF_INET6 = 24; AF_BLUETOOTH = 36; { Bluetooth sockets }
{ Help Identify PIP packets } AF_IEEE80211 = 37; { IEEE 802.11 protocol }
pseudo_AF_PIP = 25; AF_MAX = 38;
{ Integrated Services Digital Network }
AF_ISDN = 26;
{ CCITT E.164 recommendation }
AF_E164 = AF_ISDN;
{ native ATM access }
AF_NATM = 27;
AF_ENCAP = 28;
{ Simple Internet Protocol }
AF_SIP = 29;
AF_KEY = 30;
{ Used by BPF to not rewrite headers
in interface output routine }
pseudo_AF_HDRCMPLT = 31;
{ Bluetooth }
AF_BLUETOOTH = 32;
AF_MAX = 33;
{ {
* Protocol families, same as address families for now. * Protocol families, same as address families for now.
} }
const
PF_UNSPEC = AF_UNSPEC; PF_UNSPEC = AF_UNSPEC;
PF_LOCAL = AF_LOCAL; PF_LOCAL = AF_LOCAL;
{ backward compatibility } { backward compatibility }
@ -86,7 +75,7 @@ const
PF_IMPLINK = AF_IMPLINK; PF_IMPLINK = AF_IMPLINK;
PF_PUP = AF_PUP; PF_PUP = AF_PUP;
PF_CHAOS = AF_CHAOS; PF_CHAOS = AF_CHAOS;
PF_NS = AF_NS; PF_NETBIOS = AF_NETBIOS;
PF_ISO = AF_ISO; PF_ISO = AF_ISO;
PF_OSI = AF_ISO; PF_OSI = AF_ISO;
PF_ECMA = AF_ECMA; PF_ECMA = AF_ECMA;
@ -104,51 +93,273 @@ const
PF_XTP = pseudo_AF_XTP; PF_XTP = pseudo_AF_XTP;
PF_COIP = AF_COIP; PF_COIP = AF_COIP;
PF_CNT = AF_CNT; PF_CNT = AF_CNT;
{ same format as AF_NS } PF_SIP = AF_SIP;
PF_IPX = AF_IPX; PF_IPX = AF_IPX;
PF_INET6 = AF_INET6;
{ same format as AF_INET } { same format as AF_INET }
PF_RTIP = pseudo_AF_RTIP; PF_RTIP = pseudo_AF_RTIP;
PF_PIP = pseudo_AF_PIP; PF_PIP = pseudo_AF_PIP;
PF_ISDN = AF_ISDN; PF_ISDN = AF_ISDN;
PF_KEY = pseudo_AF_KEY;
PF_INET6 = AF_INET6;
PF_NATM = AF_NATM; PF_NATM = AF_NATM;
PF_ENCAP = AF_ENCAP; PF_ATM = AF_ATM;
PF_SIP = AF_SIP; PF_NETGRAPH = AF_NETGRAPH;
PF_KEY = AF_KEY; PF_SLOW = AF_SLOW;
PF_BPF = pseudo_AF_HDRCMPLT; PF_SCLUSTER = AF_SCLUSTER;
PF_ARP = AF_ARP;
PF_BLUETOOTH = AF_BLUETOOTH; PF_BLUETOOTH = AF_BLUETOOTH;
PF_MAX = AF_MAX; PF_MAX = AF_MAX;
MSG_OOB = $1;
{ peek at incoming message } SOCK_PACKET = 10;
MSG_PEEK = $2;
{ send without using routing tables }
MSG_DONTROUTE = $4; { Maximum queue length specifiable by listen. }
{ data completes record } SOMAXCONN = 128;
MSG_EOR = $8;
{ data discarded before delivery } SOL_SOCKET = $FFFF;
MSG_TRUNC = $10; SO_DEBUG = $0001; { turn on debugging info recording }
{ control data lost before delivery } SO_ACCEPTCONN = $0002; { socket has had listen() }
MSG_CTRUNC = $20; SO_REUSEADDR = $0004; { allow local address reuse }
{ wait for full request or error } SO_KEEPALIVE = $0008; { keep connections alive }
MSG_WAITALL = $40; SO_DONTROUTE = $0010; { just use interface addresses }
{ this message should be nonblocking } SO_BROADCAST = $0020; { permit sending of broadcast msgs }
MSG_DONTWAIT = $80; SO_USELOOPBACK = $0040; { bypass hardware when possible }
{ this message rec'd as broadcast } SO_LINGER = $0080; { linger on close if data present }
MSG_BCAST = $100; SO_OOBINLINE = $0100; { leave received OOB data in line }
{ this message rec'd as multicast } SO_REUSEPORT = $0200; { allow local address & port reuse }
MSG_MCAST = $200; SO_TIMESTAMP = $0400; { timestamp received dgram traffic }
TCP_NODELAY = $01; {
{ set maximum segment size } * Additional options, not kept in so_options.
TCP_MAXSEG = $02; }
{ enable TCP MD5 signature option } SO_SNDBUF =$1001; { send buffer size }
TCP_MD5SIG = $04; SO_RCVBUF =$1002; { receive buffer size }
{ enable SACKs (if disabled by def.) } SO_SNDLOWAT =$1003; { send low-water mark }
TCP_SACK_ENABLE = $08; 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 }
SHUT_RD =0; { shut down the reading side } SHUT_RD =0; { shut down the reading side }
SHUT_WR =1; { shut down the writing side } SHUT_WR =1; { shut down the writing side }
SHUT_RDWR =2; { shut down both sides } SHUT_RDWR =2; { shut down both sides }
IPPROTO_IP = 0; { dummy for IP }
IPPROTO_ICMP = 1; { control message protocol }
IPPROTO_TCP = 6; { tcp }
IPPROTO_UDP = 17; { user datagram protocol }
IPPROTO_HOPOPTS = 0 ; { IP6 hop-by-hop options }
IPPROTO_IGMP = 2 ; { group mgmt protocol }
IPPROTO_GGP = 3 ; { gateway^2 (deprecated) }
IPPROTO_IPV4 = 4 ; { IPv4 encapsulation }
IPPROTO_IPIP = IPPROTO_IPV4; { for compatibility }
IPPROTO_ST = 7 ; { Stream protocol II }
IPPROTO_EGP = 8 ; { exterior gateway protocol }
IPPROTO_PIGP = 9 ; { private interior gateway }
IPPROTO_RCCMON = 10; { BBN RCC Monitoring }
IPPROTO_NVPII = 11; { network voice protocol}
IPPROTO_PUP = 12; { pup }
IPPROTO_ARGUS = 13; { Argus }
IPPROTO_EMCON = 14; { EMCON }
IPPROTO_XNET = 15; { Cross Net Debugger }
IPPROTO_CHAOS = 16; { Chaos}
IPPROTO_MUX = 18; { Multiplexing }
IPPROTO_MEAS = 19; { DCN Measurement Subsystems }
IPPROTO_HMP = 20; { Host Monitoring }
IPPROTO_PRM = 21; { Packet Radio Measurement }
IPPROTO_IDP = 22; { xns idp }
IPPROTO_TRUNK1 = 23; { Trunk-1 }
IPPROTO_TRUNK2 = 24; { Trunk-2 }
IPPROTO_LEAF1 = 25; { Leaf-1 }
IPPROTO_LEAF2 = 26; { Leaf-2 }
IPPROTO_RDP = 27; { Reliable Data }
IPPROTO_IRTP = 28; { Reliable Transaction }
IPPROTO_TP = 29; { tp-4 w/ class negotiation }
IPPROTO_BLT = 30; { Bulk Data Transfer }
IPPROTO_NSP = 31; { Network Services }
IPPROTO_INP = 32; { Merit Internodal }
IPPROTO_SEP = 33; { Sequential Exchange }
IPPROTO_3PC = 34; { Third Party Connect }
IPPROTO_IDPR = 35; { InterDomain Policy Routing }
IPPROTO_XTP = 36; { XTP }
IPPROTO_DDP = 37; { Datagram Delivery }
IPPROTO_CMTP = 38; { Control Message Transport }
IPPROTO_TPXX = 39; { TP++ Transport }
IPPROTO_IL = 40; { IL transport protocol }
IPPROTO_IPV6 = 41; { IP6 header }
IPPROTO_SDRP = 42; { Source Demand Routing }
IPPROTO_ROUTING = 43; { IP6 routing header }
IPPROTO_FRAGMENT = 44; { IP6 fragmentation header }
IPPROTO_IDRP = 45; { InterDomain Routing}
IPPROTO_RSVP = 46; { resource reservation }
IPPROTO_GRE = 47; { General Routing Encap. }
IPPROTO_MHRP = 48; { Mobile Host Routing }
IPPROTO_BHA = 49; { BHA }
IPPROTO_ESP = 50; { IP6 Encap Sec. Payload }
IPPROTO_AH = 51; { IP6 Auth Header }
IPPROTO_INLSP = 52; { Integ. Net Layer Security }
IPPROTO_SWIPE = 53; { IP with encryption }
IPPROTO_NHRP = 54; { Next Hop Resolution }
IPPROTO_MOBILE = 55; { IP Mobility }
IPPROTO_TLSP = 56; { Transport Layer Security }
IPPROTO_SKIP = 57; { SKIP }
IPPROTO_ICMPV6 = 58; { ICMP6 }
IPPROTO_NONE = 59; { IP6 no next header }
IPPROTO_DSTOPTS = 60; { IP6 destination option }
IPPROTO_AHIP = 61; { any host internal protocol }
IPPROTO_CFTP = 62; { CFTP }
IPPROTO_HELLO = 63; { "hello" routing protocol }
IPPROTO_SATEXPAK = 64; { SATNET/Backroom EXPAK }
IPPROTO_KRYPTOLAN = 65; { Kryptolan }
IPPROTO_RVD = 66; { Remote Virtual Disk }
IPPROTO_IPPC = 67; { Pluribus Packet Core }
IPPROTO_ADFS = 68; { Any distributed FS }
IPPROTO_SATMON = 69; { Satnet Monitoring }
IPPROTO_VISA = 70; { VISA Protocol }
IPPROTO_IPCV = 71; { Packet Core Utility }
IPPROTO_CPNX = 72; { Comp. Prot. Net. Executive }
IPPROTO_CPHB = 73; { Comp. Prot. HeartBeat }
IPPROTO_WSN = 74; { Wang Span Network }
IPPROTO_PVP = 75; { Packet Video Protocol }
IPPROTO_BRSATMON = 76; { BackRoom SATNET Monitoring }
IPPROTO_ND = 77; { Sun net disk proto (temp.) }
IPPROTO_WBMON = 78; { WIDEBAND Monitoring }
IPPROTO_WBEXPAK = 79; { WIDEBAND EXPAK }
IPPROTO_EON = 80; { ISO cnlp }
IPPROTO_VMTP = 81; { VMTP }
IPPROTO_SVMTP = 82; { Secure VMTP }
IPPROTO_VINES = 83; { Banyon VINES }
IPPROTO_TTP = 84; { TTP }
IPPROTO_IGP = 85; { NSFNET-IGP }
IPPROTO_DGP = 86; { dissimilar gateway prot. }
IPPROTO_TCF = 87; { TCF }
IPPROTO_IGRP = 88; { Cisco/GXS IGRP }
IPPROTO_OSPFIGP = 89; { OSPFIGP }
IPPROTO_SRPC = 90; { Strite RPC protocol }
IPPROTO_LARP = 91; { Locus Address Resoloution }
IPPROTO_MTP = 92; { Multicast Transport }
IPPROTO_AX25 = 93; { AX.25 Frames }
IPPROTO_IPEIP = 94; { IP encapsulated in IP }
IPPROTO_MICP = 95; { Mobile Int.ing control }
IPPROTO_SCCSP = 96; { Semaphore Comm. security }
IPPROTO_ETHERIP = 97; { Ethernet IP encapsulation }
IPPROTO_ENCAP = 98; { encapsulation header }
IPPROTO_APES = 99; { any private encr. scheme }
IPPROTO_GMTP = 100; { GMTP}
IPPROTO_IPCOMP = 108; { payload compression (IPComp) }
{ 101-254: Partly Unassigned }
IPPROTO_PIM = 103; { Protocol Independent Mcast }
IPPROTO_CARP = 112; { CARP }
IPPROTO_PGM = 113; { PGM }
IPPROTO_PFSYNC = 240; { PFSYNC }
{ last return value of *_input(), meaning "all job for this pkt is done". }
IPPROTO_RAW = 255;
IPPROTO_MAX = 256;
IPPROTO_DONE = 257;
{
* Options for use with [gs]etsockopt at the IP level.
* First word of comment is data type; bool is stored in int.
}
IP_OPTIONS = 1 ; { buf/ip_opts; set/get IP options }
IP_HDRINCL = 2 ; { int; header is included with data }
IP_TOS = 3 ; { int; IP type of service and preced. }
IP_TTL = 4 ; { int; IP time to live }
IP_RECVOPTS = 5 ; { bool; receive all IP opts w/dgram }
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_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_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 }
IP_RSVP_VIF_ON = 17; { set RSVP per-vif socket }
IP_RSVP_VIF_OFF = 18; { unset RSVP per-vif socket }
IP_PORTRANGE = 19; { int; range to choose for unspec port }
IP_RECVIF = 20; { bool; receive reception if w/dgram }
{ for IPSEC }
IP_IPSEC_POLICY = 21; { int; set/get security policy }
IP_FAITH = 22; { bool; accept FAITH'ed connections }
IP_ONESBCAST = 23; { bool: send all-ones broadcast }
IP_FW_TABLE_ADD = 40; { add entry }
IP_FW_TABLE_DEL = 41; { delete entry }
IP_FW_TABLE_FLUSH = 42; { flush table }
IP_FW_TABLE_GETSIZE = 43; { get table size }
IP_FW_TABLE_LIST = 44; { list table contents }
IP_FW_ADD = 50; { add a firewall rule to chain }
IP_FW_DEL = 51; { delete a firewall rule from chain }
IP_FW_FLUSH = 52; { flush firewall rule chain }
IP_FW_ZERO = 53; { clear single/all firewall counter(s) }
IP_FW_GET = 54; { get entire firewall rule chain }
IP_FW_RESETLOG = 55; { reset logging counters }
IP_DUMMYNET_CONFIGURE = 60; { add/configure a dummynet pipe }
IP_DUMMYNET_DEL = 61; { delete a dummynet pipe from chain }
IP_DUMMYNET_FLUSH = 62; { flush dummynet }
IP_DUMMYNET_GET = 64; { get entire dummynet pipes }
IP_RECVTTL = 65; { bool; receive IP TTL w/dgram }
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_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 }
IPV6_PKTINFO = 46; { in6_pktinfo; send if, src addr }
IPV6_HOPLIMIT = 47; { int; send hop limit }
IPV6_NEXTHOP = 48; { sockaddr; next hop addr }
IPV6_HOPOPTS = 49; { ip6_hbh; send hop-by-hop option }
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_NBIO = $4000;
MSG_COMPAT = $8000;
MSG_SOCALLBCK = $10000;
MSG_NOSIGNAL = $20000; { Do not generate SIGPIPE }
INVALID_SOCKET = -1;
SOCKET_ERROR = -1;
TCP_NODELAY = $01;
{ set maximum segment size }
TCP_MAXSEG = $02;
{ don't push last block of write }
TCP_NOPUSH = $04;
{ don't use TCP options }
TCP_NOOPT = $08;
{ use MD5 digests (RFC2385) }
TCP_MD5SIG = $10;
{ retrieve tcp_info structure }
TCP_INFO = $20;