View Issue Details

IDProjectCategoryView StatusLast Update
0038566FPCRTLpublic2021-03-03 10:14
ReporterZeljko Avramovic Assigned ToMichael Van Canneyt  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
PlatformallOSlinux 
Product Version3.3.1 
Fixed in Version3.3.1 
Summary0038566: patch to update unxsockh.inc according to .../include/linux/socket.h from kernel 5.10
DescriptionAF_CAN and PF_CAN constants were missing in unxsockh.inc so I have updated that file with latest content from .../include/linux/socket.h. Please review and apply the patch.
TagsNo tags attached.
Fixed in Revision48864
FPCOldBugId
FPCTarget4.0.0
Attached Files

Activities

Zeljko Avramovic

2021-03-02 08:55

reporter  

unxsockh.inc.patch (25,075 bytes)   
16c16,30
< Const
---
> type
>   Pucred = ^ucred;
> 
>   ucred = record
>     pid: cuint32;
>     uid: cuint32;
>     gid: cuint32;
>   end;
> 
> const
> 
>   SCM_RIGHTS      = $01; { rw: access rights (array of int) }
>   SCM_CREDENTIALS = $02; { rw: struct ucred                 }
>   SCM_SECURITY    = $03; { rw: security label               }
> 
33,34c47,48
<   AF_SECURITY   = 14;    { Security callback pseudo AF }
<   AF_KEY        = 15;    { PF_KEY key management API }
---
>   AF_SECURITY   = 14;    { Security callback pseudo AF  }
>   AF_KEY        = 15;    { PF_KEY key management API    }
41c55,56
<   AF_SNA        = 22;	 { Linux SNA Project (nutters!) }
---
>   AF_RDS        = 21;    { RDS sockets                  }
>   AF_SNA        = 22;	   { Linux SNA Project (nutters!) }
43,44c58,59
<   AF_PPPOX	= 24;    { PPPoX sockets                }
<   AF_WANPIPE    = 25;    { Wanpipe API Sockets }
---
>   AF_PPPOX      = 24;    { PPPoX sockets                }
>   AF_WANPIPE    = 25;    { Wanpipe API Sockets          }
45a61,63
>   AF_IB         = 27;    { Native InfiniBand address    }
>   AF_MPLS       = 28;	   { MPLS                         }
>   AF_CAN        = 29;    { Controller Area Network      }
48c66,81
<   AF_MAX        = 32;    { For now.. }
---
>   AF_IUCV       = 32;    { IUCV sockets                 }
>   AF_RXRPC      = 33;    { RxRPC sockets                }
>   AF_ISDN       = 34;    { mISDN sockets                }
>   AF_PHONET     = 35;    { Phonet sockets               }
>   AF_IEEE802154 = 36;    { IEEE802154 sockets           }
>   AF_CAIF       = 37;    { CAIF sockets                 }
>   AF_ALG        = 38;    { Algorithm sockets            }
>   AF_NFC        = 39;    { NFC sockets                  }
>   AF_VSOCK      = 40;    { vSockets                     }
>   AF_KCM        = 41;    { Kernel Connection Multiplexor}
>   AF_QIPCRTR    = 42;    { Qualcomm IPC Router          }
>   AF_SMC        = 43;    { smc sockets: reserve number for
>                            PF_SMC protocol family that
>                            reuses AF_INET address family}
>   AF_XDP        = 44;    { XDP sockets                  }
>   AF_MAX        = 45;    { For now..                    }
50c83
<   SOCK_MAXADDRLEN = 255;             { longest possible addresses }
---
>   SOCK_MAXADDRLEN = 255; { longest possible addresses }
78a112
>   PF_RDS        = AF_RDS;
81c115
<   PF_PPPOX	= AF_PPPOX;
---
>   PF_PPPOX      = AF_PPPOX;
83a118,120
>   PF_IB         = AF_IB;
>   PF_MPLS       = AF_MPLS;
>   PF_CAN        = AF_CAN;
85a123,135
>   PF_IUCV       = AF_IUCV;
>   PF_RXRPC      = AF_RXRPC;
>   PF_ISDN       = AF_ISDN;
>   PF_PHONET     = AF_PHONET;
>   PF_IEEE802154 = AF_IEEE802154;
>   PF_CAIF       = AF_CAIF;
>   PF_ALG        = AF_ALG;
>   PF_NFC        = AF_NFC;
>   PF_VSOCK      = AF_VSOCK;
>   PF_KCM        = AF_KCM;
>   PF_QIPCRTR    = AF_QIPCRTR;
>   PF_SMC        = AF_SMC;
>   PF_XDP        = AF_XDP;
90c140
<   SOMAXCONN     = 128;
---
>   SOMAXCONN = 4096;
93,114c143,164
<          SOL_SOCKET  =   1;
<          SO_DEBUG    =   1;
<          SO_REUSEADDR=   2;
<          SO_TYPE     =   3;
<          SO_ERROR    =   4;
<          SO_DONTROUTE=   5;
<          SO_BROADCAST=   6;
<          SO_SNDBUF   =   7;
<          SO_RCVBUF   =   8;
<          SO_KEEPALIVE=   9;
<          SO_OOBINLINE=   10;
<          SO_NO_CHECK =   11;
<          SO_PRIORITY =   12;
<          SO_LINGER   =   13;
<          SO_BSDCOMPAT=   14;
<          SO_REUSEPORT = 15;
<          SO_PASSCRED=    16;
<          SO_PEERCRED=    17;
<          SO_RCVLOWAT=    18;
<          SO_SNDLOWAT=    19;
<          SO_RCVTIMEO=    20;
<          SO_SNDTIMEO=    21;
---
>          SOL_SOCKET                       =  1;
>          SO_DEBUG                         =  1;
>          SO_REUSEADDR                     =  2;
>          SO_TYPE                          =  3;
>          SO_ERROR                         =  4;
>          SO_DONTROUTE                     =  5;
>          SO_BROADCAST                     =  6;
>          SO_SNDBUF                        =  7;
>          SO_RCVBUF                        =  8;
>          SO_KEEPALIVE                     =  9;
>          SO_OOBINLINE                     = 10;
>          SO_NO_CHECK                      = 11;
>          SO_PRIORITY                      = 12;
>          SO_LINGER                        = 13;
>          SO_BSDCOMPAT                     = 14;
>          SO_REUSEPORT                     = 15;
>          SO_PASSCRED                      = 16;
>          SO_PEERCRED                      = 17;
>          SO_RCVLOWAT                      = 18;
>          SO_SNDLOWAT                      = 19;
>          SO_RCVTIMEO                      = 20;
>          SO_SNDTIMEO                      = 21;
118,120c168,170
<          SO_SECURITY_AUTHENTICATION      =   22;
<          SO_SECURITY_ENCRYPTION_TRANSPORT=   23;
<          SO_SECURITY_ENCRYPTION_NETWORK  =   24;
---
>          SO_SECURITY_AUTHENTICATION       = 22;
>          SO_SECURITY_ENCRYPTION_TRANSPORT = 23;
>          SO_SECURITY_ENCRYPTION_NETWORK   = 24;
122c172
<          SO_BINDTODEVICE=   25;
---
>          SO_BINDTODEVICE                  = 25;
126,131c176,181
<          SO_ATTACH_FILTER=  26;
<          SO_DETACH_FILTER=  27;
<          SO_PEERNAME     =  28;
<          SO_TIMESTAMP    = 29;
<          SCM_TIMESTAMP   = SO_TIMESTAMP;
<          SO_ACCEPTCONN   = 30;
---
>          SO_ATTACH_FILTER                 = 26;
>          SO_DETACH_FILTER                 = 27;
>          SO_PEERNAME                      = 28;
>          SO_TIMESTAMP                     = 29;
>          SCM_TIMESTAMP                    = SO_TIMESTAMP;
>          SO_ACCEPTCONN                    = 30;
141,142c191,192
<         IPPROTO_IP       = 0;       { Dummy protocol for TCP.  }
<         IPPROTO_HOPOPTS  = 0;      { IPv6 Hop-by-Hop options.  }
---
>         IPPROTO_IP        =   0;       { Dummy protocol for TCP.  }
>         IPPROTO_HOPOPTS   =   0;       { IPv6 Hop-by-Hop options.  }
144,171c194,221
<         IPPROTO_ICMP     = 1;       { Internet Control Message Protocol.  }
<         IPPROTO_IGMP     = 2;       { Internet Group Management Protocol. }
<         IPPROTO_IPIP     = 4;       { IPIP tunnels (older KA9Q tunnels use 94).  }
<         IPPROTO_TCP      = 6;       { Transmission Control Protocol.  }
<         IPPROTO_EGP      = 8;       { Exterior Gateway Protocol.  }
< 
<         IPPROTO_PUP      = 12;       { PUP protocol.  }
<         IPPROTO_UDP      = 17;       { User Datagram Protocol.  }
<         IPPROTO_IDP      = 22;       { XNS IDP protocol.  }
<         IPPROTO_TP       = 29;       { SO Transport Protocol Class 4.  }
<         IPPROTO_IPV6     = 41;     { IPv6 header.  }
< 
<          IPPROTO_ROUTING = 43;  { IPv6 routing header.  }
<          IPPROTO_FRAGMENT = 44; { IPv6 fragmentation header.  }
<          IPPROTO_RSVP    = 46;       { Reservation Protocol.  }
<          IPPROTO_GRE     = 47;       { General Routing Encapsulation.  }
<          IPPROTO_ESP     = 50;     { encapsulating security payload.  }
<          IPPROTO_AH      = 51;     { authentication header.  }
<          IPPROTO_ICMPV6  = 58;     { ICMPv6.  }
<          IPPROTO_NONE    = 59;     { IPv6 no next header.  }
<          IPPROTO_DSTOPTS = 60;     { IPv6 destination options.  }
<          IPPROTO_MTP     = 92;       { Multicast Transport Protocol.  }
<          IPPROTO_ENCAP   = 98;       { Encapsulation Header.  }
<          IPPROTO_PIM     = 103;       { Protocol Independent Multicast.  }
<          IPPROTO_COMP    = 108;       { Compression Header Protocol.  }
<          IPPROTO_SCTP    = 132;       { Stream Control Transmission Protocol.  }
<          IPPROTO_RAW     = 255;       { Raw IP packets.  }
<          IPPROTO_MAX     = 255;
---
>         IPPROTO_ICMP      =   1;       { Internet Control Message Protocol.  }
>         IPPROTO_IGMP      =   2;       { Internet Group Management Protocol. }
>         IPPROTO_IPIP      =   4;       { IPIP tunnels (older KA9Q tunnels use 94).  }
>         IPPROTO_TCP       =   6;       { Transmission Control Protocol.  }
>         IPPROTO_EGP       =   8;       { Exterior Gateway Protocol.  }
> 
>         IPPROTO_PUP       =  12;       { PUP protocol.  }
>         IPPROTO_UDP       =  17;       { User Datagram Protocol.  }
>         IPPROTO_IDP       =  22;       { XNS IDP protocol.  }
>         IPPROTO_TP        =  29;       { SO Transport Protocol Class 4.  }
>         IPPROTO_IPV6      =  41;       { IPv6 header.  }
> 
>         IPPROTO_ROUTING   =  43;       { IPv6 routing header.  }
>         IPPROTO_FRAGMENT  =  44;       { IPv6 fragmentation header.  }
>         IPPROTO_RSVP      =  46;       { Reservation Protocol.  }
>         IPPROTO_GRE       =  47;       { General Routing Encapsulation.  }
>         IPPROTO_ESP       =  50;       { encapsulating security payload.  }
>         IPPROTO_AH        =  51;       { authentication header.  }
>         IPPROTO_ICMPV6    =  58;       { ICMPv6.  }
>         IPPROTO_NONE      =  59;       { IPv6 no next header.  }
>         IPPROTO_DSTOPTS   =  60;       { IPv6 destination options.  }
>         IPPROTO_MTP       =  92;       { Multicast Transport Protocol.  }
>         IPPROTO_ENCAP     =  98;       { Encapsulation Header.  }
>         IPPROTO_PIM       = 103;       { Protocol Independent Multicast.  }
>         IPPROTO_COMP      = 108;       { Compression Header Protocol.  }
>         IPPROTO_SCTP      = 132;       { Stream Control Transmission Protocol.  }
>         IPPROTO_RAW       = 255;       { Raw IP packets.  }
>         IPPROTO_MAX       = 255;
177,181c227,231
<         IP_OPTIONS              = 4;               { ip_opts; IP per-packet options.  }
<         IP_HDRINCL              = 3;               { int; Header is included with data.  }
<         IP_TOS                  = 1;               { int; IP type of service and precedence.  }
<         IP_TTL                  = 2;               { int; IP time to live.  }
<         IP_RECVOPTS             = 6;               { bool; Receive all IP options w/datagram.  }
---
>         IP_OPTIONS                =  4;          { ip_opts; IP per-packet options.  }
>         IP_HDRINCL                =  3;          { int; Header is included with data.  }
>         IP_TOS                    =  1;          { int; IP type of service and precedence.  }
>         IP_TTL                    =  2;          { int; IP time to live.  }
>         IP_RECVOPTS               =  6;          { bool; Receive all IP options w/datagram.  }
183,184c233,234
<         IP_RETOPTS              = 7;               { ip_opts; Set/get IP per-packet options.  }
<         IP_RECVRETOPTS          = IP_RETOPTS;      { bool; Receive IP options for response.  }
---
>         IP_RETOPTS                =  7;          { ip_opts; Set/get IP per-packet options.  }
>         IP_RECVRETOPTS            = IP_RETOPTS;  { bool; Receive IP options for response.  }
186,214c236,264
<         IP_MULTICAST_IF         = 32;                { in_addr; set/get IP multicast i/f }
<         IP_MULTICAST_TTL        = 33;               { u_char; set/get IP multicast ttl }
<         IP_MULTICAST_LOOP       = 34;              { i_char; set/get IP multicast loopback }
<         IP_ADD_MEMBERSHIP       = 35;               { ip_mreq; add an IP group membership }
<         IP_DROP_MEMBERSHIP      = 36;            { ip_mreq; drop an IP group membership }
<         IP_UNBLOCK_SOURCE       = 37;                 { ip_mreq_source: unblock data from source }
<         IP_BLOCK_SOURCE         = 38;              { ip_mreq_source: block data from source }
<         IP_ADD_SOURCE_MEMBERSHIP = 39;             { ip_mreq_source: join source group }
<         IP_DROP_SOURCE_MEMBERSHIP = 40;            { ip_mreq_source: leave source group }
<         IP_MSFILTER             = 41;
<         MCAST_JOIN_GROUP        = 42;    { group_req: join any-source group }
<         MCAST_BLOCK_SOURCE      = 43;    { group_source_req: block from given group }
<         MCAST_UNBLOCK_SOURCE    = 44;    { group_source_req: unblock from given group}
<         MCAST_LEAVE_GROUP       = 45;    { group_req: leave any-source group }
<         MCAST_JOIN_SOURCE_GROUP = 46;   { group_source_req: join source-spec gr }
<         MCAST_LEAVE_SOURCE_GROUP = 47;  { group_source_req: leave source-spec gr}
<         MCAST_MSFILTER          = 48;
< 
<         MCAST_EXCLUDE           = 0;
<         MCAST_INCLUDE           = 1;
< 
<         IP_ROUTER_ALERT         = 5;    { bool }
<         IP_PKTINFO              = 8;    { bool }
<         IP_PKTOPTIONS           = 9;
<         IP_PMTUDISC             = 10;    { obsolete name? }
<         IP_MTU_DISCOVER         = 10;   { int; see below }
<         IP_RECVERR              = 11;    { bool }
<         IP_RECVTTL              = 12;   { bool }
<         IP_RECVTOS              = 13;    { bool }
---
>         IP_MULTICAST_IF           = 32;          { in_addr; set/get IP multicast i/f }
>         IP_MULTICAST_TTL          = 33;          { u_char; set/get IP multicast ttl }
>         IP_MULTICAST_LOOP         = 34;          { i_char; set/get IP multicast loopback }
>         IP_ADD_MEMBERSHIP         = 35;          { ip_mreq; add an IP group membership }
>         IP_DROP_MEMBERSHIP        = 36;          { ip_mreq; drop an IP group membership }
>         IP_UNBLOCK_SOURCE         = 37;          { ip_mreq_source: unblock data from source }
>         IP_BLOCK_SOURCE           = 38;          { ip_mreq_source: block data from source }
>         IP_ADD_SOURCE_MEMBERSHIP  = 39;          { ip_mreq_source: join source group }
>         IP_DROP_SOURCE_MEMBERSHIP = 40;          { ip_mreq_source: leave source group }
>         IP_MSFILTER               = 41;
>         MCAST_JOIN_GROUP          = 42;          { group_req: join any-source group }
>         MCAST_BLOCK_SOURCE        = 43;          { group_source_req: block from given group }
>         MCAST_UNBLOCK_SOURCE      = 44;          { group_source_req: unblock from given group}
>         MCAST_LEAVE_GROUP         = 45;          { group_req: leave any-source group }
>         MCAST_JOIN_SOURCE_GROUP   = 46;          { group_source_req: join source-spec gr }
>         MCAST_LEAVE_SOURCE_GROUP  = 47;          { group_source_req: leave source-spec gr}
>         MCAST_MSFILTER            = 48;
> 
>         MCAST_EXCLUDE             =  0;
>         MCAST_INCLUDE             =  1;
> 
>         IP_ROUTER_ALERT           =  5;          { bool }
>         IP_PKTINFO                =  8;          { bool }
>         IP_PKTOPTIONS             =  9;
>         IP_PMTUDISC               = 10;          { obsolete name? }
>         IP_MTU_DISCOVER           = 10;          { int; see below }
>         IP_RECVERR                = 11;          { bool }
>         IP_RECVTTL                = 12;          { bool }
>         IP_RECVTOS                = 13;          { bool }
218,220c268,270
<         IP_PMTUDISC_DONT        = 0;    { Never send DF frames.  }
<         IP_PMTUDISC_WANT        = 1;    { Use per route hints.  }
<         IP_PMTUDISC_DO          = 2;    { Always DF.  }
---
>         IP_PMTUDISC_DONT          = 0;           { Never send DF frames.  }
>         IP_PMTUDISC_WANT          = 1;           { Use per route hints.  }
>         IP_PMTUDISC_DO            = 2;           { Always DF.  }
223,227c273,277
<         SOL_IP                  = 0;
< 
<         IP_DEFAULT_MULTICAST_TTL = 1;
<         IP_DEFAULT_MULTICAST_LOOP = 1;
<         IP_MAX_MEMBERSHIPS       = 20;
---
> { Setsockoptions(2) level. Thanks to BSD these must match IPPROTO_xxx }
>         SOL_IP        =   0;
>         // SOL_ICMP	  =   1;  { No-no-no! Due to Linux :-) we cannot use SOL_ICMP=1 }
> 	      SOL_TCP       =   6;
> 	      SOL_UDP       =  17;
228a279,281
> { Socket level values for IPv6.  }
> 	      SOL_IPV6      =  41;
> 	      SOL_ICMPV6    =  58;
230,250c283,345
< {  Options for use with getsockopt' and setsockopt' at the IPv6 level.
<    The first word in the comment at the right is the data type used;
<    "bool" means a boolean value stored in an int'.  }
<         IPV6_ADDRFORM         = 1;
<         IPV6_PKTINFO             = 2;
<         IPV6_HOPOPTS             = 3;
<         IPV6_DSTOPTS             = 4;
<         IPV6_RTHDR          = 5;
<         IPV6_RXSRCRT             = IPV6_RTHDR;
<         //this may be an old name, I couldn't find it in my include files but
<         //I found it with google.  It may have been depreciated because I only
<         //saw it in earlier files.
<         IPV6_PKTOPTIONS         = 6;
<         IPV6_CHECKSUM            = 7;
<         IPV6_HOPLIMIT            = 8;
< 
<         SCM_SRCRT                = IPV6_RXSRCRT;
< 
<         IPV6_NEXTHOP         = 9;
<         IPV6_AUTHHDR         = 10;
<         IPV6_UNICAST_HOPS        = 16;
---
>       	SOL_SCTP      = 132;
> 	      SOL_UDPLITE   = 136;   { UDP-Lite (RFC 3828) }
> 	      SOL_RAW       = 255;
> 	      SOL_IPX       = 256;
> 	      SOL_AX25      = 257;
> 	      SOL_ATALK     = 258;
> 	      SOL_NETROM    = 259;
> 	      SOL_ROSE      = 260;
> 	      SOL_DECNET    = 261;
> 	      SOL_X25       = 262;
> 	      SOL_PACKET    = 263;
> 	      SOL_ATM       = 264;   { ATM layer (cell level) }
> 	      SOL_AAL       = 265;   { ATM Adaption Layer (packet level) }
> 	      SOL_IRDA      = 266;
> 	      SOL_NETBEUI   = 267;
> 	      SOL_LLC       = 268;
> 	      SOL_DCCP      = 269;
> 	      SOL_NETLINK   = 270;
> 	      SOL_TIPC      = 271;
> 	      SOL_RXRPC     = 272;
> 	      SOL_PPPOL2TP  = 273;
> 	      SOL_BLUETOOTH = 274;
> 	      SOL_PNPIPE    = 275;
> 	      SOL_RDS       = 276;
> 	      SOL_IUCV      = 277;
> 	      SOL_CAIF      = 278;
> 	      SOL_ALG       = 279;
> 	      SOL_NFC       = 280;
> 	      SOL_KCM       = 281;
> 	      SOL_TLS       = 282;
> 	      SOL_XDP       = 283;
> 
> 
> { IPX options }
>         IPX_TYPE = 1;
> 
> 
>         IP_DEFAULT_MULTICAST_TTL  =  1;
>         IP_DEFAULT_MULTICAST_LOOP =  1;
>         IP_MAX_MEMBERSHIPS        = 20;
> 
> 
> { Options for use with getsockopt' and setsockopt' at the IPv6 level.
>   The first word in the comment at the right is the data type used;
>   "bool" means a boolean value stored in an int'.  }
>         IPV6_ADDRFORM         =  1;
>         IPV6_PKTINFO          =  2;
>         IPV6_HOPOPTS          =  3;
>         IPV6_DSTOPTS          =  4;
>         IPV6_RTHDR            =  5;
>         IPV6_RXSRCRT          = IPV6_RTHDR;
>         // this may be an old name, I couldn't find it in my include files but
>         // I found it with google.  It may have been depreciated because I only
>         // saw it in earlier files.
>         IPV6_PKTOPTIONS       =  6;
>         IPV6_CHECKSUM         =  7;
>         IPV6_HOPLIMIT         =  8;
> 
>         SCM_SRCRT             = IPV6_RXSRCRT;
> 
>         IPV6_NEXTHOP          =  9;
>         IPV6_AUTHHDR          = 10;
>         IPV6_UNICAST_HOPS     = 16;
252,255c347,350
<         IPV6_MULTICAST_HOPS     = 18;
<         IPV6_MULTICAST_LOOP      = 19;
<         IPV6_JOIN_GROUP             = 20;
<         IPV6_LEAVE_GROUP     = 21;
---
>         IPV6_MULTICAST_HOPS   = 18;
>         IPV6_MULTICAST_LOOP   = 19;
>         IPV6_JOIN_GROUP       = 20;
>         IPV6_LEAVE_GROUP      = 21;
258,260c353,355
<         IPV6_MTU         = 24;
<         IPV6_RECVERR         = 25;
<         IPV6_V6ONLY         = 26;
---
>         IPV6_MTU              = 24;
>         IPV6_RECVERR          = 25;
>         IPV6_V6ONLY           = 26;
262c357
<         IPV6_LEAVE_ANYCAST     = 28;
---
>         IPV6_LEAVE_ANYCAST    = 28;
264c359
<         IPV6_XFRM_POLICY     = 35;
---
>         IPV6_XFRM_POLICY      = 35;
267,270c362,365
<         IPV6_ADD_MEMBERSHIP     = IPV6_JOIN_GROUP;
<         IPV6_DROP_MEMBERSHIP     = IPV6_LEAVE_GROUP;
<         IPV6_RXHOPOPTS         = IPV6_HOPOPTS;
<         IPV6_RXDSTOPTS           = IPV6_DSTOPTS;
---
>         IPV6_ADD_MEMBERSHIP   = IPV6_JOIN_GROUP;
>         IPV6_DROP_MEMBERSHIP  = IPV6_LEAVE_GROUP;
>         IPV6_RXHOPOPTS        = IPV6_HOPOPTS;
>         IPV6_RXDSTOPTS        = IPV6_DSTOPTS;
273,279c368,370
<         IPV6_PMTUDISC_DONT     = 0;    { Never send DF frames.  }
<         IPV6_PMTUDISC_WANT      = 1;    { Use per route hints.  }
<         IPV6_PMTUDISC_DO     = 2;    { Always DF.  }
< 
< { Socket level values for IPv6.  }
<         SOL_IPV6                 = 41;
<         SOL_ICMPV6               = 58;
---
>         IPV6_PMTUDISC_DONT    = 0;    { Never send DF frames.  }
>         IPV6_PMTUDISC_WANT    = 1;    { Use per route hints.  }
>         IPV6_PMTUDISC_DO      = 2;    { Always DF.  }
282c373
<         IPV6_RTHDR_LOOSE         = 0;   { Hop doesn't need to be neighbour. }
---
>         IPV6_RTHDR_LOOSE      = 0;    { Hop doesn't need to be neighbour. }
285c376
<         IPV6_RTHDR_TYPE_0        = 0;    { IPv6 Routing header type 0.  }
---
>         IPV6_RTHDR_TYPE_0     = 0;    { IPv6 Routing header type 0.  }
288,306c379,411
<   MSG_OOB      = $0001;              { Process out-of-band data}
<   MSG_PEEK     = $0002;              { Peek at incoming messages }
<   MSG_DONTROUTE= $0004;              { Don't use local routing }
<   MSG_TRYHARD  = MSG_DONTROUTE;
<   MSG_CTRUNC   = $0008;              { Control data lost before delivery }
<   MSG_PROXY    = $0010;              { Supply or ask second address }
<   MSG_TRUNC    = $0020;
<   MSG_DONTWAIT = $0040;              { Non-blocking I/O }
<   MSG_EOR      = $0080;              { End of record }
<   MSG_WAITALL  = $0100;              { Wait for a full request }
<   MSG_FIN      = $0200;
<   MSG_SYN      = $0400;
<   MSG_CONFIRM  = $0800;              { Confirm path validity }
<   MSG_RST      = $1000;
<   MSG_ERRQUERE = $2000;              { Fetch message from error queue }
<   MSG_NOSIGNAL = $4000;              { Do not generate SIGPIPE }
<   MSG_MORE     = $8000;              { Sender will send more }
<   MSG_EOF      = MSG_FIN;
<   
---
>   MSG_OOB                = $00000001;              { Process out-of-band data}
>   MSG_PEEK               = $00000002;              { Peek at incoming messages }
>   MSG_DONTROUTE          = $00000004;              { Don't use local routing }
>   MSG_TRYHARD            = MSG_DONTROUTE;
>   MSG_CTRUNC             = $00000008;              { Control data lost before delivery }
>   MSG_PROXY              = $00000010;              { Supply or ask second address }
>   MSG_PROBE              = MSG_PROXY;              { Do not send. Only probe path f.e. for MTU }
>   MSG_TRUNC              = $00000020;
>   MSG_DONTWAIT           = $00000040;              { Non-blocking I/O }
>   MSG_EOR                = $00000080;              { End of record }
>   MSG_WAITALL            = $00000100;              { Wait for a full request }
>   MSG_FIN                = $00000200;
>   MSG_SYN                = $00000400;
>   MSG_CONFIRM            = $00000800;              { Confirm path validity }
>   MSG_RST                = $00001000;
>   MSG_ERRQUERE           = $00002000;              { Fetch message from error queue }
>   MSG_NOSIGNAL           = $00004000;              { Do not generate SIGPIPE }
>   MSG_MORE               = $00008000;              { Sender will send more }
>   MSG_WAITFORONE         = $00010000;              { recvmmsg(): block until 1+ packets avail }
>   MSG_SENDPAGE_NOPOLICY  = $00010000;              { sendpage() internal : do no apply policy }
>   MSG_SENDPAGE_NOTLAST   = $00020000;              { sendpage() internal : not the last page }
>   MSG_BATCH              = $00040000;              { sendmmsg(): more messages coming }
>   MSG_EOF                = MSG_FIN;
>   MSG_NO_SHARED_FRAGS    = $00080000;              { sendpage() internal : page frags are not shared }
>   MSG_SENDPAGE_DECRYPTED = $00100000;              { sendpage() internal : page may carry
>                                                      plain text and require encryption }
>   MSG_ZEROCOPY           = $04000000;              { Use user data in kernel path }
>   MSG_FASTOPEN           = $20000000;              { Send data in TCP SYN }
>   MSG_CMSG_CLOEXEC       = $40000000;              { Set close_on_exec for file
>                                                      descriptor received through SCM_RIGHTS }
>   MSG_CMSG_COMPAT        = $0 {$80000000}          { This message would need 32 bit fixups, so use 0 instead }
> 
> 
unxsockh.inc.patch (25,075 bytes)   

Zeljko Avramovic

2021-03-02 09:00

reporter   ~0129302

This is a patch for \fpcsrc\packages\rtl-extra\src\linux\unixsocketsh.inc. Should we also update \fpcsrc\packages\rtl-extra\src\android\unxsockh.inc as well?

Michael Van Canneyt

2021-03-02 09:21

administrator   ~0129303

Can you please make a patch where whitespace changes are ignored ?
svn diff -x -w

Because a patch of 25k to add 2 constants, that cannot be right.

Zeljko Avramovic

2021-03-02 09:44

reporter   ~0129307

Ok, I will prepare a patch with whitespaces ignored, but there is much more in it then just those 2 mentioned constants.

Zeljko Avramovic

2021-03-02 10:00

reporter   ~0129308

Here it is. Minimal patch version you asked for with all whitespace changes ignored is in 7Kb file unxsockh.inc.no-alignment.patch, although final file will keep hard to look at awkward formatting. Medium version which has proper alignment of equal signs in constant definitions is 9Kb unxsockh.inc.equal-signs-aligned.patch, and version where full formatting is fixed is in 25Kb unxsockh.inc.full-formatting-fixed.patch.

Use whatever version you wish, although I do hope that you will compare them and see first hand what was the reason for formatting.
unxsockh.inc.no-alignment.patch (7,251 bytes)   
16c16,30
< Const
---
> type
>   Pucred = ^ucred;
> 
>   ucred = record
>     pid: cuint32;
>     uid: cuint32;
>     gid: cuint32;
>   end;
> 
> const
> 
>   SCM_RIGHTS      = $01; { rw: access rights (array of int) }
>   SCM_CREDENTIALS = $02; { rw: struct ucred                 }
>   SCM_SECURITY    = $03; { rw: security label               }
> 
40a55
>   AF_RDS        = 21;    { RDS sockets                  }
45a61,63
>   AF_IB         = 27;    { Native InfiniBand address    }
>   AF_MPLS       = 28;	   { MPLS                         }
>   AF_CAN        = 29;    { Controller Area Network      }
48c66,81
<   AF_MAX        = 32;    { For now.. }
---
>   AF_IUCV       = 32;    { IUCV sockets                 }
>   AF_RXRPC      = 33;    { RxRPC sockets                }
>   AF_ISDN       = 34;    { mISDN sockets                }
>   AF_PHONET     = 35;    { Phonet sockets               }
>   AF_IEEE802154 = 36;    { IEEE802154 sockets           }
>   AF_CAIF       = 37;    { CAIF sockets                 }
>   AF_ALG        = 38;    { Algorithm sockets            }
>   AF_NFC        = 39;    { NFC sockets                  }
>   AF_VSOCK      = 40;    { vSockets                     }
>   AF_KCM        = 41;    { Kernel Connection Multiplexor}
>   AF_QIPCRTR    = 42;    { Qualcomm IPC Router          }
>   AF_SMC        = 43;    { smc sockets: reserve number for
>                            PF_SMC protocol family that
>                            reuses AF_INET address family}
>   AF_XDP        = 44;    { XDP sockets                  }
>   AF_MAX        = 45;    { For now..                    }
78a112
>   PF_RDS        = AF_RDS;
83a118,120
>   PF_IB         = AF_IB;
>   PF_MPLS       = AF_MPLS;
>   PF_CAN        = AF_CAN;
85a123,135
>   PF_IUCV       = AF_IUCV;
>   PF_RXRPC      = AF_RXRPC;
>   PF_ISDN       = AF_ISDN;
>   PF_PHONET     = AF_PHONET;
>   PF_IEEE802154 = AF_IEEE802154;
>   PF_CAIF       = AF_CAIF;
>   PF_ALG        = AF_ALG;
>   PF_NFC        = AF_NFC;
>   PF_VSOCK      = AF_VSOCK;
>   PF_KCM        = AF_KCM;
>   PF_QIPCRTR    = AF_QIPCRTR;
>   PF_SMC        = AF_SMC;
>   PF_XDP        = AF_XDP;
90c140
<   SOMAXCONN     = 128;
---
>   SOMAXCONN = 4096;
222a273
> { Setsockoptions(2) level. Thanks to BSD these must match IPPROTO_xxx }
223a275,318
>         // SOL_ICMP	  =   1;  { No-no-no! Due to Linux :-) we cannot use SOL_ICMP=1 }
> 	      SOL_TCP       =   6;
> 	      SOL_UDP       =  17;
> 
> { Socket level values for IPv6.  }
> 	      SOL_IPV6      =  41;
> 	      SOL_ICMPV6    =  58;
> 
>       	SOL_SCTP      = 132;
> 	      SOL_UDPLITE   = 136;   { UDP-Lite (RFC 3828) }
> 	      SOL_RAW       = 255;
> 	      SOL_IPX       = 256;
> 	      SOL_AX25      = 257;
> 	      SOL_ATALK     = 258;
> 	      SOL_NETROM    = 259;
> 	      SOL_ROSE      = 260;
> 	      SOL_DECNET    = 261;
> 	      SOL_X25       = 262;
> 	      SOL_PACKET    = 263;
> 	      SOL_ATM       = 264;   { ATM layer (cell level) }
> 	      SOL_AAL       = 265;   { ATM Adaption Layer (packet level) }
> 	      SOL_IRDA      = 266;
> 	      SOL_NETBEUI   = 267;
> 	      SOL_LLC       = 268;
> 	      SOL_DCCP      = 269;
> 	      SOL_NETLINK   = 270;
> 	      SOL_TIPC      = 271;
> 	      SOL_RXRPC     = 272;
> 	      SOL_PPPOL2TP  = 273;
> 	      SOL_BLUETOOTH = 274;
> 	      SOL_PNPIPE    = 275;
> 	      SOL_RDS       = 276;
> 	      SOL_IUCV      = 277;
> 	      SOL_CAIF      = 278;
> 	      SOL_ALG       = 279;
> 	      SOL_NFC       = 280;
> 	      SOL_KCM       = 281;
> 	      SOL_TLS       = 282;
> 	      SOL_XDP       = 283;
> 
> 
> { IPX options }
>         IPX_TYPE = 1;
> 
277,280d371
< { Socket level values for IPv6.  }
<         SOL_IPV6                 = 41;
<         SOL_ICMPV6               = 58;
< 
288,290c379,381
<   MSG_OOB      = $0001;              { Process out-of-band data}
<   MSG_PEEK     = $0002;              { Peek at incoming messages }
<   MSG_DONTROUTE= $0004;              { Don't use local routing }
---
>   MSG_OOB                = $00000001;              { Process out-of-band data}
>   MSG_PEEK               = $00000002;              { Peek at incoming messages }
>   MSG_DONTROUTE          = $00000004;              { Don't use local routing }
292,304c383,400
<   MSG_CTRUNC   = $0008;              { Control data lost before delivery }
<   MSG_PROXY    = $0010;              { Supply or ask second address }
<   MSG_TRUNC    = $0020;
<   MSG_DONTWAIT = $0040;              { Non-blocking I/O }
<   MSG_EOR      = $0080;              { End of record }
<   MSG_WAITALL  = $0100;              { Wait for a full request }
<   MSG_FIN      = $0200;
<   MSG_SYN      = $0400;
<   MSG_CONFIRM  = $0800;              { Confirm path validity }
<   MSG_RST      = $1000;
<   MSG_ERRQUERE = $2000;              { Fetch message from error queue }
<   MSG_NOSIGNAL = $4000;              { Do not generate SIGPIPE }
<   MSG_MORE     = $8000;              { Sender will send more }
---
>   MSG_CTRUNC             = $00000008;              { Control data lost before delivery }
>   MSG_PROXY              = $00000010;              { Supply or ask second address }
>   MSG_PROBE              = MSG_PROXY;              { Do not send. Only probe path f.e. for MTU }
>   MSG_TRUNC              = $00000020;
>   MSG_DONTWAIT           = $00000040;              { Non-blocking I/O }
>   MSG_EOR                = $00000080;              { End of record }
>   MSG_WAITALL            = $00000100;              { Wait for a full request }
>   MSG_FIN                = $00000200;
>   MSG_SYN                = $00000400;
>   MSG_CONFIRM            = $00000800;              { Confirm path validity }
>   MSG_RST                = $00001000;
>   MSG_ERRQUERE           = $00002000;              { Fetch message from error queue }
>   MSG_NOSIGNAL           = $00004000;              { Do not generate SIGPIPE }
>   MSG_MORE               = $00008000;              { Sender will send more }
>   MSG_WAITFORONE         = $00010000;              { recvmmsg(): block until 1+ packets avail }
>   MSG_SENDPAGE_NOPOLICY  = $00010000;              { sendpage() internal : do no apply policy }
>   MSG_SENDPAGE_NOTLAST   = $00020000;              { sendpage() internal : not the last page }
>   MSG_BATCH              = $00040000;              { sendmmsg(): more messages coming }
305a402,410
>   MSG_NO_SHARED_FRAGS    = $00080000;              { sendpage() internal : page frags are not shared }
>   MSG_SENDPAGE_DECRYPTED = $00100000;              { sendpage() internal : page may carry
>                                                      plain text and require encryption }
>   MSG_ZEROCOPY           = $04000000;              { Use user data in kernel path }
>   MSG_FASTOPEN           = $20000000;              { Send data in TCP SYN }
>   MSG_CMSG_CLOEXEC       = $40000000;              { Set close_on_exec for file
>                                                      descriptor received through SCM_RIGHTS }
>   MSG_CMSG_COMPAT        = $0; {$80000000}         { This message would need 32 bit fixups, so use 0 instead }
> 
unxsockh.inc.equal-signs-aligned.patch (9,172 bytes)   
16c16,30
< Const
---
> type
>   Pucred = ^ucred;
> 
>   ucred = record
>     pid: cuint32;
>     uid: cuint32;
>     gid: cuint32;
>   end;
> 
> const
> 
>   SCM_RIGHTS      = $01; { rw: access rights (array of int) }
>   SCM_CREDENTIALS = $02; { rw: struct ucred                 }
>   SCM_SECURITY    = $03; { rw: security label               }
> 
40a55
>   AF_RDS        = 21;    { RDS sockets                  }
45a61,63
>   AF_IB         = 27;    { Native InfiniBand address    }
>   AF_MPLS       = 28;	   { MPLS                         }
>   AF_CAN        = 29;    { Controller Area Network      }
48c66,81
<   AF_MAX        = 32;    { For now.. }
---
>   AF_IUCV       = 32;    { IUCV sockets                 }
>   AF_RXRPC      = 33;    { RxRPC sockets                }
>   AF_ISDN       = 34;    { mISDN sockets                }
>   AF_PHONET     = 35;    { Phonet sockets               }
>   AF_IEEE802154 = 36;    { IEEE802154 sockets           }
>   AF_CAIF       = 37;    { CAIF sockets                 }
>   AF_ALG        = 38;    { Algorithm sockets            }
>   AF_NFC        = 39;    { NFC sockets                  }
>   AF_VSOCK      = 40;    { vSockets                     }
>   AF_KCM        = 41;    { Kernel Connection Multiplexor}
>   AF_QIPCRTR    = 42;    { Qualcomm IPC Router          }
>   AF_SMC        = 43;    { smc sockets: reserve number for
>                            PF_SMC protocol family that
>                            reuses AF_INET address family}
>   AF_XDP        = 44;    { XDP sockets                  }
>   AF_MAX        = 45;    { For now..                    }
78a112
>   PF_RDS        = AF_RDS;
83a118,120
>   PF_IB         = AF_IB;
>   PF_MPLS       = AF_MPLS;
>   PF_CAN        = AF_CAN;
85a123,135
>   PF_IUCV       = AF_IUCV;
>   PF_RXRPC      = AF_RXRPC;
>   PF_ISDN       = AF_ISDN;
>   PF_PHONET     = AF_PHONET;
>   PF_IEEE802154 = AF_IEEE802154;
>   PF_CAIF       = AF_CAIF;
>   PF_ALG        = AF_ALG;
>   PF_NFC        = AF_NFC;
>   PF_VSOCK      = AF_VSOCK;
>   PF_KCM        = AF_KCM;
>   PF_QIPCRTR    = AF_QIPCRTR;
>   PF_SMC        = AF_SMC;
>   PF_XDP        = AF_XDP;
90c140
<   SOMAXCONN     = 128;
---
>   SOMAXCONN = 4096;
95c145
<          SO_REUSEADDR=   2;
---
>          SO_REUSEADDR                     =  2;
98,99c148,149
<          SO_DONTROUTE=   5;
<          SO_BROADCAST=   6;
---
>          SO_DONTROUTE                     =  5;
>          SO_BROADCAST                     =  6;
102,103c152,153
<          SO_KEEPALIVE=   9;
<          SO_OOBINLINE=   10;
---
>          SO_KEEPALIVE                     =  9;
>          SO_OOBINLINE                     = 10;
107c157
<          SO_BSDCOMPAT=   14;
---
>          SO_BSDCOMPAT                     = 14;
109,114c159,164
<          SO_PASSCRED=    16;
<          SO_PEERCRED=    17;
<          SO_RCVLOWAT=    18;
<          SO_SNDLOWAT=    19;
<          SO_RCVTIMEO=    20;
<          SO_SNDTIMEO=    21;
---
>          SO_PASSCRED                      = 16;
>          SO_PEERCRED                      = 17;
>          SO_RCVLOWAT                      = 18;
>          SO_SNDLOWAT                      = 19;
>          SO_RCVTIMEO                      = 20;
>          SO_SNDTIMEO                      = 21;
119c169
<          SO_SECURITY_ENCRYPTION_TRANSPORT=   23;
---
>          SO_SECURITY_ENCRYPTION_TRANSPORT = 23;
122c172
<          SO_BINDTODEVICE=   25;
---
>          SO_BINDTODEVICE                  = 25;
126,127c176,177
<          SO_ATTACH_FILTER=  26;
<          SO_DETACH_FILTER=  27;
---
>          SO_ATTACH_FILTER                 = 26;
>          SO_DETACH_FILTER                 = 27;
222a273
> { Setsockoptions(2) level. Thanks to BSD these must match IPPROTO_xxx }
223a275,318
>         // SOL_ICMP	  =   1;  { No-no-no! Due to Linux :-) we cannot use SOL_ICMP=1 }
> 	      SOL_TCP       =   6;
> 	      SOL_UDP       =  17;
> 
> { Socket level values for IPv6.  }
> 	      SOL_IPV6      =  41;
> 	      SOL_ICMPV6    =  58;
> 
>       	SOL_SCTP      = 132;
> 	      SOL_UDPLITE   = 136;   { UDP-Lite (RFC 3828) }
> 	      SOL_RAW       = 255;
> 	      SOL_IPX       = 256;
> 	      SOL_AX25      = 257;
> 	      SOL_ATALK     = 258;
> 	      SOL_NETROM    = 259;
> 	      SOL_ROSE      = 260;
> 	      SOL_DECNET    = 261;
> 	      SOL_X25       = 262;
> 	      SOL_PACKET    = 263;
> 	      SOL_ATM       = 264;   { ATM layer (cell level) }
> 	      SOL_AAL       = 265;   { ATM Adaption Layer (packet level) }
> 	      SOL_IRDA      = 266;
> 	      SOL_NETBEUI   = 267;
> 	      SOL_LLC       = 268;
> 	      SOL_DCCP      = 269;
> 	      SOL_NETLINK   = 270;
> 	      SOL_TIPC      = 271;
> 	      SOL_RXRPC     = 272;
> 	      SOL_PPPOL2TP  = 273;
> 	      SOL_BLUETOOTH = 274;
> 	      SOL_PNPIPE    = 275;
> 	      SOL_RDS       = 276;
> 	      SOL_IUCV      = 277;
> 	      SOL_CAIF      = 278;
> 	      SOL_ALG       = 279;
> 	      SOL_NFC       = 280;
> 	      SOL_KCM       = 281;
> 	      SOL_TLS       = 282;
> 	      SOL_XDP       = 283;
> 
> 
> { IPX options }
>         IPX_TYPE = 1;
> 
239,241c334,336
<         //this may be an old name, I couldn't find it in my include files but
<         //I found it with google.  It may have been depreciated because I only
<         //saw it in earlier files.
---
>         // this may be an old name, I couldn't find it in my include files but
>         // I found it with google.  It may have been depreciated because I only
>         // saw it in earlier files.
277,280d371
< { Socket level values for IPv6.  }
<         SOL_IPV6                 = 41;
<         SOL_ICMPV6               = 58;
< 
288,290c379,381
<   MSG_OOB      = $0001;              { Process out-of-band data}
<   MSG_PEEK     = $0002;              { Peek at incoming messages }
<   MSG_DONTROUTE= $0004;              { Don't use local routing }
---
>   MSG_OOB                = $00000001;              { Process out-of-band data}
>   MSG_PEEK               = $00000002;              { Peek at incoming messages }
>   MSG_DONTROUTE          = $00000004;              { Don't use local routing }
292,304c383,400
<   MSG_CTRUNC   = $0008;              { Control data lost before delivery }
<   MSG_PROXY    = $0010;              { Supply or ask second address }
<   MSG_TRUNC    = $0020;
<   MSG_DONTWAIT = $0040;              { Non-blocking I/O }
<   MSG_EOR      = $0080;              { End of record }
<   MSG_WAITALL  = $0100;              { Wait for a full request }
<   MSG_FIN      = $0200;
<   MSG_SYN      = $0400;
<   MSG_CONFIRM  = $0800;              { Confirm path validity }
<   MSG_RST      = $1000;
<   MSG_ERRQUERE = $2000;              { Fetch message from error queue }
<   MSG_NOSIGNAL = $4000;              { Do not generate SIGPIPE }
<   MSG_MORE     = $8000;              { Sender will send more }
---
>   MSG_CTRUNC             = $00000008;              { Control data lost before delivery }
>   MSG_PROXY              = $00000010;              { Supply or ask second address }
>   MSG_PROBE              = MSG_PROXY;              { Do not send. Only probe path f.e. for MTU }
>   MSG_TRUNC              = $00000020;
>   MSG_DONTWAIT           = $00000040;              { Non-blocking I/O }
>   MSG_EOR                = $00000080;              { End of record }
>   MSG_WAITALL            = $00000100;              { Wait for a full request }
>   MSG_FIN                = $00000200;
>   MSG_SYN                = $00000400;
>   MSG_CONFIRM            = $00000800;              { Confirm path validity }
>   MSG_RST                = $00001000;
>   MSG_ERRQUERE           = $00002000;              { Fetch message from error queue }
>   MSG_NOSIGNAL           = $00004000;              { Do not generate SIGPIPE }
>   MSG_MORE               = $00008000;              { Sender will send more }
>   MSG_WAITFORONE         = $00010000;              { recvmmsg(): block until 1+ packets avail }
>   MSG_SENDPAGE_NOPOLICY  = $00010000;              { sendpage() internal : do no apply policy }
>   MSG_SENDPAGE_NOTLAST   = $00020000;              { sendpage() internal : not the last page }
>   MSG_BATCH              = $00040000;              { sendmmsg(): more messages coming }
305a402,410
>   MSG_NO_SHARED_FRAGS    = $00080000;              { sendpage() internal : page frags are not shared }
>   MSG_SENDPAGE_DECRYPTED = $00100000;              { sendpage() internal : page may carry
>                                                      plain text and require encryption }
>   MSG_ZEROCOPY           = $04000000;              { Use user data in kernel path }
>   MSG_FASTOPEN           = $20000000;              { Send data in TCP SYN }
>   MSG_CMSG_CLOEXEC       = $40000000;              { Set close_on_exec for file
>                                                      descriptor received through SCM_RIGHTS }
>   MSG_CMSG_COMPAT        = $0; {$80000000}         { This message would need 32 bit fixups, so use 0 instead }
> 
unxsockh.inc.full-formatting-fixed.patch (25,075 bytes)   
16c16,30
< Const
---
> type
>   Pucred = ^ucred;
> 
>   ucred = record
>     pid: cuint32;
>     uid: cuint32;
>     gid: cuint32;
>   end;
> 
> const
> 
>   SCM_RIGHTS      = $01; { rw: access rights (array of int) }
>   SCM_CREDENTIALS = $02; { rw: struct ucred                 }
>   SCM_SECURITY    = $03; { rw: security label               }
> 
33,34c47,48
<   AF_SECURITY   = 14;    { Security callback pseudo AF }
<   AF_KEY        = 15;    { PF_KEY key management API }
---
>   AF_SECURITY   = 14;    { Security callback pseudo AF  }
>   AF_KEY        = 15;    { PF_KEY key management API    }
41c55,56
<   AF_SNA        = 22;	 { Linux SNA Project (nutters!) }
---
>   AF_RDS        = 21;    { RDS sockets                  }
>   AF_SNA        = 22;	   { Linux SNA Project (nutters!) }
43,44c58,59
<   AF_PPPOX	= 24;    { PPPoX sockets                }
<   AF_WANPIPE    = 25;    { Wanpipe API Sockets }
---
>   AF_PPPOX      = 24;    { PPPoX sockets                }
>   AF_WANPIPE    = 25;    { Wanpipe API Sockets          }
45a61,63
>   AF_IB         = 27;    { Native InfiniBand address    }
>   AF_MPLS       = 28;	   { MPLS                         }
>   AF_CAN        = 29;    { Controller Area Network      }
48c66,81
<   AF_MAX        = 32;    { For now.. }
---
>   AF_IUCV       = 32;    { IUCV sockets                 }
>   AF_RXRPC      = 33;    { RxRPC sockets                }
>   AF_ISDN       = 34;    { mISDN sockets                }
>   AF_PHONET     = 35;    { Phonet sockets               }
>   AF_IEEE802154 = 36;    { IEEE802154 sockets           }
>   AF_CAIF       = 37;    { CAIF sockets                 }
>   AF_ALG        = 38;    { Algorithm sockets            }
>   AF_NFC        = 39;    { NFC sockets                  }
>   AF_VSOCK      = 40;    { vSockets                     }
>   AF_KCM        = 41;    { Kernel Connection Multiplexor}
>   AF_QIPCRTR    = 42;    { Qualcomm IPC Router          }
>   AF_SMC        = 43;    { smc sockets: reserve number for
>                            PF_SMC protocol family that
>                            reuses AF_INET address family}
>   AF_XDP        = 44;    { XDP sockets                  }
>   AF_MAX        = 45;    { For now..                    }
50c83
<   SOCK_MAXADDRLEN = 255;             { longest possible addresses }
---
>   SOCK_MAXADDRLEN = 255; { longest possible addresses }
78a112
>   PF_RDS        = AF_RDS;
81c115
<   PF_PPPOX	= AF_PPPOX;
---
>   PF_PPPOX      = AF_PPPOX;
83a118,120
>   PF_IB         = AF_IB;
>   PF_MPLS       = AF_MPLS;
>   PF_CAN        = AF_CAN;
85a123,135
>   PF_IUCV       = AF_IUCV;
>   PF_RXRPC      = AF_RXRPC;
>   PF_ISDN       = AF_ISDN;
>   PF_PHONET     = AF_PHONET;
>   PF_IEEE802154 = AF_IEEE802154;
>   PF_CAIF       = AF_CAIF;
>   PF_ALG        = AF_ALG;
>   PF_NFC        = AF_NFC;
>   PF_VSOCK      = AF_VSOCK;
>   PF_KCM        = AF_KCM;
>   PF_QIPCRTR    = AF_QIPCRTR;
>   PF_SMC        = AF_SMC;
>   PF_XDP        = AF_XDP;
90c140
<   SOMAXCONN     = 128;
---
>   SOMAXCONN = 4096;
93,114c143,164
<          SOL_SOCKET  =   1;
<          SO_DEBUG    =   1;
<          SO_REUSEADDR=   2;
<          SO_TYPE     =   3;
<          SO_ERROR    =   4;
<          SO_DONTROUTE=   5;
<          SO_BROADCAST=   6;
<          SO_SNDBUF   =   7;
<          SO_RCVBUF   =   8;
<          SO_KEEPALIVE=   9;
<          SO_OOBINLINE=   10;
<          SO_NO_CHECK =   11;
<          SO_PRIORITY =   12;
<          SO_LINGER   =   13;
<          SO_BSDCOMPAT=   14;
<          SO_REUSEPORT = 15;
<          SO_PASSCRED=    16;
<          SO_PEERCRED=    17;
<          SO_RCVLOWAT=    18;
<          SO_SNDLOWAT=    19;
<          SO_RCVTIMEO=    20;
<          SO_SNDTIMEO=    21;
---
>          SOL_SOCKET                       =  1;
>          SO_DEBUG                         =  1;
>          SO_REUSEADDR                     =  2;
>          SO_TYPE                          =  3;
>          SO_ERROR                         =  4;
>          SO_DONTROUTE                     =  5;
>          SO_BROADCAST                     =  6;
>          SO_SNDBUF                        =  7;
>          SO_RCVBUF                        =  8;
>          SO_KEEPALIVE                     =  9;
>          SO_OOBINLINE                     = 10;
>          SO_NO_CHECK                      = 11;
>          SO_PRIORITY                      = 12;
>          SO_LINGER                        = 13;
>          SO_BSDCOMPAT                     = 14;
>          SO_REUSEPORT                     = 15;
>          SO_PASSCRED                      = 16;
>          SO_PEERCRED                      = 17;
>          SO_RCVLOWAT                      = 18;
>          SO_SNDLOWAT                      = 19;
>          SO_RCVTIMEO                      = 20;
>          SO_SNDTIMEO                      = 21;
118,120c168,170
<          SO_SECURITY_AUTHENTICATION      =   22;
<          SO_SECURITY_ENCRYPTION_TRANSPORT=   23;
<          SO_SECURITY_ENCRYPTION_NETWORK  =   24;
---
>          SO_SECURITY_AUTHENTICATION       = 22;
>          SO_SECURITY_ENCRYPTION_TRANSPORT = 23;
>          SO_SECURITY_ENCRYPTION_NETWORK   = 24;
122c172
<          SO_BINDTODEVICE=   25;
---
>          SO_BINDTODEVICE                  = 25;
126,131c176,181
<          SO_ATTACH_FILTER=  26;
<          SO_DETACH_FILTER=  27;
<          SO_PEERNAME     =  28;
<          SO_TIMESTAMP    = 29;
<          SCM_TIMESTAMP   = SO_TIMESTAMP;
<          SO_ACCEPTCONN   = 30;
---
>          SO_ATTACH_FILTER                 = 26;
>          SO_DETACH_FILTER                 = 27;
>          SO_PEERNAME                      = 28;
>          SO_TIMESTAMP                     = 29;
>          SCM_TIMESTAMP                    = SO_TIMESTAMP;
>          SO_ACCEPTCONN                    = 30;
141,142c191,192
<         IPPROTO_IP       = 0;       { Dummy protocol for TCP.  }
<         IPPROTO_HOPOPTS  = 0;      { IPv6 Hop-by-Hop options.  }
---
>         IPPROTO_IP        =   0;       { Dummy protocol for TCP.  }
>         IPPROTO_HOPOPTS   =   0;       { IPv6 Hop-by-Hop options.  }
144,171c194,221
<         IPPROTO_ICMP     = 1;       { Internet Control Message Protocol.  }
<         IPPROTO_IGMP     = 2;       { Internet Group Management Protocol. }
<         IPPROTO_IPIP     = 4;       { IPIP tunnels (older KA9Q tunnels use 94).  }
<         IPPROTO_TCP      = 6;       { Transmission Control Protocol.  }
<         IPPROTO_EGP      = 8;       { Exterior Gateway Protocol.  }
< 
<         IPPROTO_PUP      = 12;       { PUP protocol.  }
<         IPPROTO_UDP      = 17;       { User Datagram Protocol.  }
<         IPPROTO_IDP      = 22;       { XNS IDP protocol.  }
<         IPPROTO_TP       = 29;       { SO Transport Protocol Class 4.  }
<         IPPROTO_IPV6     = 41;     { IPv6 header.  }
< 
<          IPPROTO_ROUTING = 43;  { IPv6 routing header.  }
<          IPPROTO_FRAGMENT = 44; { IPv6 fragmentation header.  }
<          IPPROTO_RSVP    = 46;       { Reservation Protocol.  }
<          IPPROTO_GRE     = 47;       { General Routing Encapsulation.  }
<          IPPROTO_ESP     = 50;     { encapsulating security payload.  }
<          IPPROTO_AH      = 51;     { authentication header.  }
<          IPPROTO_ICMPV6  = 58;     { ICMPv6.  }
<          IPPROTO_NONE    = 59;     { IPv6 no next header.  }
<          IPPROTO_DSTOPTS = 60;     { IPv6 destination options.  }
<          IPPROTO_MTP     = 92;       { Multicast Transport Protocol.  }
<          IPPROTO_ENCAP   = 98;       { Encapsulation Header.  }
<          IPPROTO_PIM     = 103;       { Protocol Independent Multicast.  }
<          IPPROTO_COMP    = 108;       { Compression Header Protocol.  }
<          IPPROTO_SCTP    = 132;       { Stream Control Transmission Protocol.  }
<          IPPROTO_RAW     = 255;       { Raw IP packets.  }
<          IPPROTO_MAX     = 255;
---
>         IPPROTO_ICMP      =   1;       { Internet Control Message Protocol.  }
>         IPPROTO_IGMP      =   2;       { Internet Group Management Protocol. }
>         IPPROTO_IPIP      =   4;       { IPIP tunnels (older KA9Q tunnels use 94).  }
>         IPPROTO_TCP       =   6;       { Transmission Control Protocol.  }
>         IPPROTO_EGP       =   8;       { Exterior Gateway Protocol.  }
> 
>         IPPROTO_PUP       =  12;       { PUP protocol.  }
>         IPPROTO_UDP       =  17;       { User Datagram Protocol.  }
>         IPPROTO_IDP       =  22;       { XNS IDP protocol.  }
>         IPPROTO_TP        =  29;       { SO Transport Protocol Class 4.  }
>         IPPROTO_IPV6      =  41;       { IPv6 header.  }
> 
>         IPPROTO_ROUTING   =  43;       { IPv6 routing header.  }
>         IPPROTO_FRAGMENT  =  44;       { IPv6 fragmentation header.  }
>         IPPROTO_RSVP      =  46;       { Reservation Protocol.  }
>         IPPROTO_GRE       =  47;       { General Routing Encapsulation.  }
>         IPPROTO_ESP       =  50;       { encapsulating security payload.  }
>         IPPROTO_AH        =  51;       { authentication header.  }
>         IPPROTO_ICMPV6    =  58;       { ICMPv6.  }
>         IPPROTO_NONE      =  59;       { IPv6 no next header.  }
>         IPPROTO_DSTOPTS   =  60;       { IPv6 destination options.  }
>         IPPROTO_MTP       =  92;       { Multicast Transport Protocol.  }
>         IPPROTO_ENCAP     =  98;       { Encapsulation Header.  }
>         IPPROTO_PIM       = 103;       { Protocol Independent Multicast.  }
>         IPPROTO_COMP      = 108;       { Compression Header Protocol.  }
>         IPPROTO_SCTP      = 132;       { Stream Control Transmission Protocol.  }
>         IPPROTO_RAW       = 255;       { Raw IP packets.  }
>         IPPROTO_MAX       = 255;
177,181c227,231
<         IP_OPTIONS              = 4;               { ip_opts; IP per-packet options.  }
<         IP_HDRINCL              = 3;               { int; Header is included with data.  }
<         IP_TOS                  = 1;               { int; IP type of service and precedence.  }
<         IP_TTL                  = 2;               { int; IP time to live.  }
<         IP_RECVOPTS             = 6;               { bool; Receive all IP options w/datagram.  }
---
>         IP_OPTIONS                =  4;          { ip_opts; IP per-packet options.  }
>         IP_HDRINCL                =  3;          { int; Header is included with data.  }
>         IP_TOS                    =  1;          { int; IP type of service and precedence.  }
>         IP_TTL                    =  2;          { int; IP time to live.  }
>         IP_RECVOPTS               =  6;          { bool; Receive all IP options w/datagram.  }
183,184c233,234
<         IP_RETOPTS              = 7;               { ip_opts; Set/get IP per-packet options.  }
<         IP_RECVRETOPTS          = IP_RETOPTS;      { bool; Receive IP options for response.  }
---
>         IP_RETOPTS                =  7;          { ip_opts; Set/get IP per-packet options.  }
>         IP_RECVRETOPTS            = IP_RETOPTS;  { bool; Receive IP options for response.  }
186,214c236,264
<         IP_MULTICAST_IF         = 32;                { in_addr; set/get IP multicast i/f }
<         IP_MULTICAST_TTL        = 33;               { u_char; set/get IP multicast ttl }
<         IP_MULTICAST_LOOP       = 34;              { i_char; set/get IP multicast loopback }
<         IP_ADD_MEMBERSHIP       = 35;               { ip_mreq; add an IP group membership }
<         IP_DROP_MEMBERSHIP      = 36;            { ip_mreq; drop an IP group membership }
<         IP_UNBLOCK_SOURCE       = 37;                 { ip_mreq_source: unblock data from source }
<         IP_BLOCK_SOURCE         = 38;              { ip_mreq_source: block data from source }
<         IP_ADD_SOURCE_MEMBERSHIP = 39;             { ip_mreq_source: join source group }
<         IP_DROP_SOURCE_MEMBERSHIP = 40;            { ip_mreq_source: leave source group }
<         IP_MSFILTER             = 41;
<         MCAST_JOIN_GROUP        = 42;    { group_req: join any-source group }
<         MCAST_BLOCK_SOURCE      = 43;    { group_source_req: block from given group }
<         MCAST_UNBLOCK_SOURCE    = 44;    { group_source_req: unblock from given group}
<         MCAST_LEAVE_GROUP       = 45;    { group_req: leave any-source group }
<         MCAST_JOIN_SOURCE_GROUP = 46;   { group_source_req: join source-spec gr }
<         MCAST_LEAVE_SOURCE_GROUP = 47;  { group_source_req: leave source-spec gr}
<         MCAST_MSFILTER          = 48;
< 
<         MCAST_EXCLUDE           = 0;
<         MCAST_INCLUDE           = 1;
< 
<         IP_ROUTER_ALERT         = 5;    { bool }
<         IP_PKTINFO              = 8;    { bool }
<         IP_PKTOPTIONS           = 9;
<         IP_PMTUDISC             = 10;    { obsolete name? }
<         IP_MTU_DISCOVER         = 10;   { int; see below }
<         IP_RECVERR              = 11;    { bool }
<         IP_RECVTTL              = 12;   { bool }
<         IP_RECVTOS              = 13;    { bool }
---
>         IP_MULTICAST_IF           = 32;          { in_addr; set/get IP multicast i/f }
>         IP_MULTICAST_TTL          = 33;          { u_char; set/get IP multicast ttl }
>         IP_MULTICAST_LOOP         = 34;          { i_char; set/get IP multicast loopback }
>         IP_ADD_MEMBERSHIP         = 35;          { ip_mreq; add an IP group membership }
>         IP_DROP_MEMBERSHIP        = 36;          { ip_mreq; drop an IP group membership }
>         IP_UNBLOCK_SOURCE         = 37;          { ip_mreq_source: unblock data from source }
>         IP_BLOCK_SOURCE           = 38;          { ip_mreq_source: block data from source }
>         IP_ADD_SOURCE_MEMBERSHIP  = 39;          { ip_mreq_source: join source group }
>         IP_DROP_SOURCE_MEMBERSHIP = 40;          { ip_mreq_source: leave source group }
>         IP_MSFILTER               = 41;
>         MCAST_JOIN_GROUP          = 42;          { group_req: join any-source group }
>         MCAST_BLOCK_SOURCE        = 43;          { group_source_req: block from given group }
>         MCAST_UNBLOCK_SOURCE      = 44;          { group_source_req: unblock from given group}
>         MCAST_LEAVE_GROUP         = 45;          { group_req: leave any-source group }
>         MCAST_JOIN_SOURCE_GROUP   = 46;          { group_source_req: join source-spec gr }
>         MCAST_LEAVE_SOURCE_GROUP  = 47;          { group_source_req: leave source-spec gr}
>         MCAST_MSFILTER            = 48;
> 
>         MCAST_EXCLUDE             =  0;
>         MCAST_INCLUDE             =  1;
> 
>         IP_ROUTER_ALERT           =  5;          { bool }
>         IP_PKTINFO                =  8;          { bool }
>         IP_PKTOPTIONS             =  9;
>         IP_PMTUDISC               = 10;          { obsolete name? }
>         IP_MTU_DISCOVER           = 10;          { int; see below }
>         IP_RECVERR                = 11;          { bool }
>         IP_RECVTTL                = 12;          { bool }
>         IP_RECVTOS                = 13;          { bool }
218,220c268,270
<         IP_PMTUDISC_DONT        = 0;    { Never send DF frames.  }
<         IP_PMTUDISC_WANT        = 1;    { Use per route hints.  }
<         IP_PMTUDISC_DO          = 2;    { Always DF.  }
---
>         IP_PMTUDISC_DONT          = 0;           { Never send DF frames.  }
>         IP_PMTUDISC_WANT          = 1;           { Use per route hints.  }
>         IP_PMTUDISC_DO            = 2;           { Always DF.  }
223,227c273,277
<         SOL_IP                  = 0;
< 
<         IP_DEFAULT_MULTICAST_TTL = 1;
<         IP_DEFAULT_MULTICAST_LOOP = 1;
<         IP_MAX_MEMBERSHIPS       = 20;
---
> { Setsockoptions(2) level. Thanks to BSD these must match IPPROTO_xxx }
>         SOL_IP        =   0;
>         // SOL_ICMP	  =   1;  { No-no-no! Due to Linux :-) we cannot use SOL_ICMP=1 }
> 	      SOL_TCP       =   6;
> 	      SOL_UDP       =  17;
228a279,281
> { Socket level values for IPv6.  }
> 	      SOL_IPV6      =  41;
> 	      SOL_ICMPV6    =  58;
230,250c283,345
< {  Options for use with getsockopt' and setsockopt' at the IPv6 level.
<    The first word in the comment at the right is the data type used;
<    "bool" means a boolean value stored in an int'.  }
<         IPV6_ADDRFORM         = 1;
<         IPV6_PKTINFO             = 2;
<         IPV6_HOPOPTS             = 3;
<         IPV6_DSTOPTS             = 4;
<         IPV6_RTHDR          = 5;
<         IPV6_RXSRCRT             = IPV6_RTHDR;
<         //this may be an old name, I couldn't find it in my include files but
<         //I found it with google.  It may have been depreciated because I only
<         //saw it in earlier files.
<         IPV6_PKTOPTIONS         = 6;
<         IPV6_CHECKSUM            = 7;
<         IPV6_HOPLIMIT            = 8;
< 
<         SCM_SRCRT                = IPV6_RXSRCRT;
< 
<         IPV6_NEXTHOP         = 9;
<         IPV6_AUTHHDR         = 10;
<         IPV6_UNICAST_HOPS        = 16;
---
>       	SOL_SCTP      = 132;
> 	      SOL_UDPLITE   = 136;   { UDP-Lite (RFC 3828) }
> 	      SOL_RAW       = 255;
> 	      SOL_IPX       = 256;
> 	      SOL_AX25      = 257;
> 	      SOL_ATALK     = 258;
> 	      SOL_NETROM    = 259;
> 	      SOL_ROSE      = 260;
> 	      SOL_DECNET    = 261;
> 	      SOL_X25       = 262;
> 	      SOL_PACKET    = 263;
> 	      SOL_ATM       = 264;   { ATM layer (cell level) }
> 	      SOL_AAL       = 265;   { ATM Adaption Layer (packet level) }
> 	      SOL_IRDA      = 266;
> 	      SOL_NETBEUI   = 267;
> 	      SOL_LLC       = 268;
> 	      SOL_DCCP      = 269;
> 	      SOL_NETLINK   = 270;
> 	      SOL_TIPC      = 271;
> 	      SOL_RXRPC     = 272;
> 	      SOL_PPPOL2TP  = 273;
> 	      SOL_BLUETOOTH = 274;
> 	      SOL_PNPIPE    = 275;
> 	      SOL_RDS       = 276;
> 	      SOL_IUCV      = 277;
> 	      SOL_CAIF      = 278;
> 	      SOL_ALG       = 279;
> 	      SOL_NFC       = 280;
> 	      SOL_KCM       = 281;
> 	      SOL_TLS       = 282;
> 	      SOL_XDP       = 283;
> 
> 
> { IPX options }
>         IPX_TYPE = 1;
> 
> 
>         IP_DEFAULT_MULTICAST_TTL  =  1;
>         IP_DEFAULT_MULTICAST_LOOP =  1;
>         IP_MAX_MEMBERSHIPS        = 20;
> 
> 
> { Options for use with getsockopt' and setsockopt' at the IPv6 level.
>   The first word in the comment at the right is the data type used;
>   "bool" means a boolean value stored in an int'.  }
>         IPV6_ADDRFORM         =  1;
>         IPV6_PKTINFO          =  2;
>         IPV6_HOPOPTS          =  3;
>         IPV6_DSTOPTS          =  4;
>         IPV6_RTHDR            =  5;
>         IPV6_RXSRCRT          = IPV6_RTHDR;
>         // this may be an old name, I couldn't find it in my include files but
>         // I found it with google.  It may have been depreciated because I only
>         // saw it in earlier files.
>         IPV6_PKTOPTIONS       =  6;
>         IPV6_CHECKSUM         =  7;
>         IPV6_HOPLIMIT         =  8;
> 
>         SCM_SRCRT             = IPV6_RXSRCRT;
> 
>         IPV6_NEXTHOP          =  9;
>         IPV6_AUTHHDR          = 10;
>         IPV6_UNICAST_HOPS     = 16;
252,255c347,350
<         IPV6_MULTICAST_HOPS     = 18;
<         IPV6_MULTICAST_LOOP      = 19;
<         IPV6_JOIN_GROUP             = 20;
<         IPV6_LEAVE_GROUP     = 21;
---
>         IPV6_MULTICAST_HOPS   = 18;
>         IPV6_MULTICAST_LOOP   = 19;
>         IPV6_JOIN_GROUP       = 20;
>         IPV6_LEAVE_GROUP      = 21;
258,260c353,355
<         IPV6_MTU         = 24;
<         IPV6_RECVERR         = 25;
<         IPV6_V6ONLY         = 26;
---
>         IPV6_MTU              = 24;
>         IPV6_RECVERR          = 25;
>         IPV6_V6ONLY           = 26;
262c357
<         IPV6_LEAVE_ANYCAST     = 28;
---
>         IPV6_LEAVE_ANYCAST    = 28;
264c359
<         IPV6_XFRM_POLICY     = 35;
---
>         IPV6_XFRM_POLICY      = 35;
267,270c362,365
<         IPV6_ADD_MEMBERSHIP     = IPV6_JOIN_GROUP;
<         IPV6_DROP_MEMBERSHIP     = IPV6_LEAVE_GROUP;
<         IPV6_RXHOPOPTS         = IPV6_HOPOPTS;
<         IPV6_RXDSTOPTS           = IPV6_DSTOPTS;
---
>         IPV6_ADD_MEMBERSHIP   = IPV6_JOIN_GROUP;
>         IPV6_DROP_MEMBERSHIP  = IPV6_LEAVE_GROUP;
>         IPV6_RXHOPOPTS        = IPV6_HOPOPTS;
>         IPV6_RXDSTOPTS        = IPV6_DSTOPTS;
273,279c368,370
<         IPV6_PMTUDISC_DONT     = 0;    { Never send DF frames.  }
<         IPV6_PMTUDISC_WANT      = 1;    { Use per route hints.  }
<         IPV6_PMTUDISC_DO     = 2;    { Always DF.  }
< 
< { Socket level values for IPv6.  }
<         SOL_IPV6                 = 41;
<         SOL_ICMPV6               = 58;
---
>         IPV6_PMTUDISC_DONT    = 0;    { Never send DF frames.  }
>         IPV6_PMTUDISC_WANT    = 1;    { Use per route hints.  }
>         IPV6_PMTUDISC_DO      = 2;    { Always DF.  }
282c373
<         IPV6_RTHDR_LOOSE         = 0;   { Hop doesn't need to be neighbour. }
---
>         IPV6_RTHDR_LOOSE      = 0;    { Hop doesn't need to be neighbour. }
285c376
<         IPV6_RTHDR_TYPE_0        = 0;    { IPv6 Routing header type 0.  }
---
>         IPV6_RTHDR_TYPE_0     = 0;    { IPv6 Routing header type 0.  }
288,306c379,411
<   MSG_OOB      = $0001;              { Process out-of-band data}
<   MSG_PEEK     = $0002;              { Peek at incoming messages }
<   MSG_DONTROUTE= $0004;              { Don't use local routing }
<   MSG_TRYHARD  = MSG_DONTROUTE;
<   MSG_CTRUNC   = $0008;              { Control data lost before delivery }
<   MSG_PROXY    = $0010;              { Supply or ask second address }
<   MSG_TRUNC    = $0020;
<   MSG_DONTWAIT = $0040;              { Non-blocking I/O }
<   MSG_EOR      = $0080;              { End of record }
<   MSG_WAITALL  = $0100;              { Wait for a full request }
<   MSG_FIN      = $0200;
<   MSG_SYN      = $0400;
<   MSG_CONFIRM  = $0800;              { Confirm path validity }
<   MSG_RST      = $1000;
<   MSG_ERRQUERE = $2000;              { Fetch message from error queue }
<   MSG_NOSIGNAL = $4000;              { Do not generate SIGPIPE }
<   MSG_MORE     = $8000;              { Sender will send more }
<   MSG_EOF      = MSG_FIN;
<   
---
>   MSG_OOB                = $00000001;              { Process out-of-band data}
>   MSG_PEEK               = $00000002;              { Peek at incoming messages }
>   MSG_DONTROUTE          = $00000004;              { Don't use local routing }
>   MSG_TRYHARD            = MSG_DONTROUTE;
>   MSG_CTRUNC             = $00000008;              { Control data lost before delivery }
>   MSG_PROXY              = $00000010;              { Supply or ask second address }
>   MSG_PROBE              = MSG_PROXY;              { Do not send. Only probe path f.e. for MTU }
>   MSG_TRUNC              = $00000020;
>   MSG_DONTWAIT           = $00000040;              { Non-blocking I/O }
>   MSG_EOR                = $00000080;              { End of record }
>   MSG_WAITALL            = $00000100;              { Wait for a full request }
>   MSG_FIN                = $00000200;
>   MSG_SYN                = $00000400;
>   MSG_CONFIRM            = $00000800;              { Confirm path validity }
>   MSG_RST                = $00001000;
>   MSG_ERRQUERE           = $00002000;              { Fetch message from error queue }
>   MSG_NOSIGNAL           = $00004000;              { Do not generate SIGPIPE }
>   MSG_MORE               = $00008000;              { Sender will send more }
>   MSG_WAITFORONE         = $00010000;              { recvmmsg(): block until 1+ packets avail }
>   MSG_SENDPAGE_NOPOLICY  = $00010000;              { sendpage() internal : do no apply policy }
>   MSG_SENDPAGE_NOTLAST   = $00020000;              { sendpage() internal : not the last page }
>   MSG_BATCH              = $00040000;              { sendmmsg(): more messages coming }
>   MSG_EOF                = MSG_FIN;
>   MSG_NO_SHARED_FRAGS    = $00080000;              { sendpage() internal : page frags are not shared }
>   MSG_SENDPAGE_DECRYPTED = $00100000;              { sendpage() internal : page may carry
>                                                      plain text and require encryption }
>   MSG_ZEROCOPY           = $04000000;              { Use user data in kernel path }
>   MSG_FASTOPEN           = $20000000;              { Send data in TCP SYN }
>   MSG_CMSG_CLOEXEC       = $40000000;              { Set close_on_exec for file
>                                                      descriptor received through SCM_RIGHTS }
>   MSG_CMSG_COMPAT        = $0; {$80000000}         { This message would need 32 bit fixups, so use 0 instead }
> 
> 

Michael Van Canneyt

2021-03-02 11:31

administrator   ~0129310

Applied, thank you.

What is important is that I need to see the functional changes in a patch.
If you mix functional changes with formatting changes it becomes difficult to see what a patch does.

I personally don't care about whitespace.
But if you want to submit a patch for formatting changes, please do, and I will apply it,
but just never mix functional and formatting changes.


Zeljko Avramovic

2021-03-02 13:41

reporter   ~0129314

Thanks. Now I better understand reasoning behind your request, so I will try to comply in the future.

Zeljko Avramovic

2021-03-03 10:14

reporter   ~0129338

update unxsockh.inc according to .../include/linux/socket.h from kernel 5.10

Issue History

Date Modified Username Field Change
2021-03-02 08:55 Zeljko Avramovic New Issue
2021-03-02 08:55 Zeljko Avramovic File Added: unxsockh.inc.patch
2021-03-02 09:00 Zeljko Avramovic Note Added: 0129302
2021-03-02 09:21 Michael Van Canneyt Note Added: 0129303
2021-03-02 09:22 Michael Van Canneyt Assigned To => Michael Van Canneyt
2021-03-02 09:22 Michael Van Canneyt Status new => assigned
2021-03-02 09:44 Zeljko Avramovic Note Added: 0129307
2021-03-02 10:00 Zeljko Avramovic Note Added: 0129308
2021-03-02 10:00 Zeljko Avramovic File Added: unxsockh.inc.no-alignment.patch
2021-03-02 10:00 Zeljko Avramovic File Added: unxsockh.inc.equal-signs-aligned.patch
2021-03-02 10:00 Zeljko Avramovic File Added: unxsockh.inc.full-formatting-fixed.patch
2021-03-02 11:31 Michael Van Canneyt Status assigned => resolved
2021-03-02 11:31 Michael Van Canneyt Resolution open => fixed
2021-03-02 11:31 Michael Van Canneyt Fixed in Version => 3.3.1
2021-03-02 11:31 Michael Van Canneyt Fixed in Revision => 48864
2021-03-02 11:31 Michael Van Canneyt FPCTarget => 4.0.0
2021-03-02 11:31 Michael Van Canneyt Note Added: 0129310
2021-03-02 13:41 Zeljko Avramovic Note Added: 0129314
2021-03-03 10:14 Zeljko Avramovic Status resolved => closed
2021-03-03 10:14 Zeljko Avramovic Note Added: 0129338