+ function SetSocketOptions(Sock: LongInt;Level: LongInt;OptName: LongInt;const OptVal;optlen: LongInt):LongInt;
+ begin
+ result := fpsetsockopt(sock,level,optname,@optval,optlen);
+ end;
+ function Connect(Sock: LongInt;const Addr;Addrlen: LongInt):Boolean;
+ begin
+ result := fpconnect(sock,@addr,addrlen) >= 0;
+ end;
+ function listen(Sock: LongInt;MaxConnect: LongInt):Boolean;
+ begin
+ result := fplisten(sock,maxconnect) = 0;
+ end;
+ function GetPeerName(Sock: LongInt; var Addr;var Addrlen: LongInt):LongInt;
+ begin
+ result := fpgetpeername(sock,@addr,@addrlen);
+ end;
+ function GetSocketName(Sock: LongInt; var Addr;var Addrlen: LongInt):LongInt;
+ begin
+ result := fpgetpeername(sock,@addr,@addrlen);
+ end;
+ function Accept(Sock: LongInt; var Addr; var Addrlen: LongInt):LongInt;
+ begin
+ result := fpaccept(sock,@addr,@addrlen);
+ end;
+ {$endif}\r
+ {$endif}\r
+ {$ifdef ver2_0}\r
+ const\r
+ IPPROTO_UDP=17;\r
+ IPPROTO_ICMP=1;\r
+ {$endif}\r
+ {$ifdef ver1_9}\r
+ const\r
+ IPPROTO_UDP=17;\r
+ IPPROTO_ICMP=1;\r
+ function ntohs(invalue:word):word;inline;\r
+ var\r
+ invaluebytes : array[0..1] of byte absolute invalue;\r
+ resultbytes : array[0..1] of byte absolute result;\r
+ begin\r
+ {$ifdef endian_little}\r
+ resultbytes[0] := invaluebytes[1];\r
+ resultbytes[1] := invaluebytes[0];\r
+ {$else}\r
+ result := invalue;\r
+ {$endif}\r
+ end;\r