diff --git a/src/ps4_libscehttp.pas b/src/ps4_libscehttp.pas index b4ab9a1f..a2b5e18b 100644 --- a/src/ps4_libscehttp.pas +++ b/src/ps4_libscehttp.pas @@ -183,7 +183,7 @@ function ps4_sceHttpWaitRequest(eh:SceHttpEpollHandle; maxevents:Integer; timeout_us:Integer):Integer; SysV_ABI_CDecl; begin - WriteLn(SysLogPrefix, 'sceHttpWaitRequest handle=', HexStr(eh),' event.id=', nbev^.id,' maxevents=',maxevents); + //WriteLn(SysLogPrefix, 'sceHttpWaitRequest handle=', HexStr(eh),' event.id=', nbev^.id,' maxevents=',maxevents); nbev^.events:=SCE_HTTP_NB_EVENT_SOCK_ERR; nbev^.id:=3; diff --git a/src/ps4_libscenet.pas b/src/ps4_libscenet.pas index 3c9f2876..adb7abfb 100644 --- a/src/ps4_libscenet.pas +++ b/src/ps4_libscenet.pas @@ -12,6 +12,9 @@ uses implementation +uses + ps4_time; + const SCE_NET_EINVAL =22; SCE_NET_ENOSPC =28; @@ -64,7 +67,7 @@ type SceNetSockaddr = packed record sa_len:Byte; sa_family:SceNetSaFamily; - sa_data:array[0..13] of Char; + sa_data:array[0..13] of Byte; end; type @@ -284,11 +287,22 @@ begin Result:=0; end; +const + default_addr:SceNetSockaddr=( + sa_len :SizeOf(SceNetSockaddr); + sa_family:AF_INET; + sa_data :(80,0,1,1,1,1,0,0,0,0,0,0,0,0); + ); + function ps4_sceNetAccept(s:Integer; addr:pSceNetSockaddr; paddrlen:pSceNetSocklen_t):Integer; SysV_ABI_CDecl; begin Result:=0; + if (addr<>nil) then + begin + addr^:=default_addr; + end; if (paddrlen<>nil) then begin paddrlen^:=SizeOf(SceNetSockaddr); @@ -300,7 +314,7 @@ function ps4_sceNetRecv(s:Integer; len:size_t; flags:Integer):Integer; SysV_ABI_CDecl; begin - Writeln('sceNetRecv:',flags); + //Writeln('sceNetRecv:',flags); Result:=0; end; @@ -309,7 +323,7 @@ function ps4_sceNetSend(s:Integer; len:size_t; flags:Integer):Integer; SysV_ABI_CDecl; begin - Writeln('sceNetSend',flags); + //Writeln('sceNetSend',flags); Result:=0; end; @@ -320,8 +334,12 @@ function ps4_sceNetRecvfrom(s:Integer; addr:pSceNetSockaddr; paddrlen:pSceNetSocklen_t):Integer; SysV_ABI_CDecl; begin - Writeln('sceNetRecvfrom:',flags); + //Writeln('sceNetRecvfrom:',flags); Result:=0; + if (addr<>nil) then + begin + addr^:=default_addr; + end; if (paddrlen<>nil) then begin paddrlen^:=SizeOf(SceNetSockaddr); @@ -330,7 +348,7 @@ end; function ps4_sceNetShutdown(s:Integer;how:Integer):Integer; SysV_ABI_CDecl; begin - Writeln('sceNetShutdown:',how); + //Writeln('sceNetShutdown:',how); Result:=0; end; @@ -342,6 +360,10 @@ end; function ps4_sceNetGetsockname(s:Integer; addr:pSceNetSockaddr; paddrlen:pSceNetSocklen_t):Integer; SysV_ABI_CDecl; begin Result:=0; + if (addr<>nil) then + begin + addr^:=default_addr; + end; if (paddrlen<>nil) then begin paddrlen^:=SizeOf(SceNetSockaddr); @@ -380,8 +402,15 @@ begin end; function ps4_sceNetResolverStartAton(rid:Integer; const addr:pSceNetInAddr; hostname:PChar; hostname_len:Integer; timeout:Integer; retry:Integer; flags:Integer):Integer; SysV_ABI_CDecl; +const + chost:PChar='123.site.com'#0; begin - Exit(_set_net_errno(SCE_NET_EHOSTUNREACH)); + Result:=0; + + ps4_usleep(100); + + FillChar(hostname^,hostname_len,0); + Move(chost^,hostname^,Length(chost)); end; function ps4_sceNetResolverDestroy(rid:Integer):Integer; SysV_ABI_CDecl; @@ -396,6 +425,7 @@ end; function ps4_sceNetEpollWait(s:Integer; events:pSceNetEpollEvent; maxevents:Integer; timeout:Integer):Integer; SysV_ABI_CDecl; begin + ps4_usleep(timeout); Result:=0; end;