Still stuck on this one. I was looking at the source code for the rtl-extra package, and code for fpsetsockopt looks like this:
function fpsetsockopt (s:cint; level:cint; optname:cint; optval:pointer; optlen : tsocklen):cint;
begin
fpSetSockOpt:=do_syscall(syscall_nr_SetSockOpt,S,level,optname,TSysParam(optval),optlen);
internal_socketerror:=fpgeterrno;
end;
The do_syscall is just a call to some external code somewhere.
According to
this man page the argument for
SO_RCVTIMEO is a
struct timeval. My tv variable is declared like so:
TTimeVal = record
tv_sec : uint32;
tv_usec : uint32;
end;
Anybody have any ideas what the problem might be?