X-Git-Url: http://www.lcore.org/git/lcore.git/blobdiff_plain/95f6f73e86d09b2f277a669fc23aec9f5be9ce5d..a83971b64b0b20f6774cf3ccedd05202ad0bdb0e:/unixstuff.inc?ds=inline diff --git a/unixstuff.inc b/unixstuff.inc index f5de6d4..b522c74 100755 --- a/unixstuff.inc +++ b/unixstuff.inc @@ -22,7 +22,8 @@ {$else} result := invalue; {$endif} - end; + end; + {$define need_v6constants} {$else} {$define sigprocmask := fpsigprocmask} @@ -81,7 +82,7 @@ end; function GetSocketName(Sock: LongInt; var Addr;var Addrlen: LongInt):LongInt; begin - result := fpgetpeername(sock,@addr,@addrlen); + result := fpgetsockname(sock,@addr,@addrlen); end; function Accept(Sock: LongInt; var Addr; var Addrlen: LongInt):LongInt; begin @@ -93,6 +94,7 @@ const IPPROTO_UDP=17; IPPROTO_ICMP=1; + {$define need_v6constants} {$endif} {$ifdef ver1_9} const @@ -110,6 +112,7 @@ result := invalue; {$endif} end; + {$define need_v6constants} {$endif} procedure gettimeofday(var tv:ttimeval);inline; begin @@ -147,4 +150,22 @@ sys_eintr=esyseintr; {$endif} + {$ifdef need_v6constants} + {$ifdef linux} + //the below values are only known correct on linux, I don't support + //1.0.x on any other unix platform atm anyway --plugwash + const + IPPROTO_IPV6 = 41; + IPV6_V6ONLY = 26; + {$endif} + {$endif} + {$ifdef freebsd} + //freepascal doesn't seem to define IPV6_V6ONLY on freebsd, the definition + //here is taken from the include files of a freebsd 8 system + const + IPV6_V6ONLY = 27; + {$endif} + {$endif} + + \ No newline at end of file