Implement sceHttpWaitRequest

This commit is contained in:
DelishusCake 2025-03-25 19:16:29 -07:00
parent a1ec8b0a88
commit f7ed04e109
No known key found for this signature in database
3 changed files with 21 additions and 4 deletions

View File

@ -842,9 +842,15 @@ int PS4_SYSV_ABI sceHttpUriUnescape(char* out, size_t* require, size_t prepare,
return ORBIS_OK;
}
int PS4_SYSV_ABI sceHttpWaitRequest() {
LOG_ERROR(Lib_Http, "(STUBBED) called");
return ORBIS_OK;
int PS4_SYSV_ABI sceHttpWaitRequest(OrbisHttpEpollHandle *eh, OrbisHttpNBEvent* nbev, int maxevents, int timeout) {
LOG_INFO(Lib_Http, "waitRequest");
if (!nbev) {
LOG_ERROR(Lib_Http, "invalid values");
return ORBIS_HTTP_ERROR_INVALID_VALUE;
}
nbev->events = ORBIS_HTTP_NB_EVENT_SOCK_ERR;
nbev->id = 3;
return 1;
}
void RegisterlibSceHttp(Core::Loader::SymbolsResolver* sym) {

View File

@ -24,6 +24,15 @@ struct OrbisHttpUriElement {
u8 reserved[10];
};
typedef void* OrbisHttpEpollHandle;
struct OrbisHttpNBEvent {
u32 events;
u32 eventDetail;
int id;
void* userArg;
};
int PS4_SYSV_ABI sceHttpAbortRequest();
int PS4_SYSV_ABI sceHttpAbortRequestForce();
int PS4_SYSV_ABI sceHttpAbortWaitRequest();
@ -139,7 +148,7 @@ int PS4_SYSV_ABI sceHttpUriParse(OrbisHttpUriElement* out, const char* srcUri, v
size_t* require, size_t prepare);
int PS4_SYSV_ABI sceHttpUriSweepPath(char* dst, const char* src, size_t srcSize);
int PS4_SYSV_ABI sceHttpUriUnescape(char* out, size_t* require, size_t prepare, const char* in);
int PS4_SYSV_ABI sceHttpWaitRequest();
int PS4_SYSV_ABI sceHttpWaitRequest(OrbisHttpEpollHandle *eh, OrbisHttpNBEvent* nbev, int maxevents, int timeout);
void RegisterlibSceHttp(Core::Loader::SymbolsResolver* sym);
} // namespace Libraries::Http

View File

@ -64,3 +64,5 @@ constexpr int ORBIS_HTTPS_ERROR_SSL_CN_CHECK = 0x04;
constexpr int ORBIS_HTTPS_ERROR_SSL_NOT_AFTER_CHECK = 0x08;
constexpr int ORBIS_HTTPS_ERROR_SSL_NOT_BEFORE_CHECK = 0x10;
constexpr int ORBIS_HTTPS_ERROR_SSL_UNKNOWN_CA = 0x20;
constexpr u32 ORBIS_HTTP_NB_EVENT_SOCK_ERR = 0x08;