feat(http): name sceHttpSetInflateGZIPEnabled and sceHttpSetRequestStatusCallback

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Adrià Franch 2026-10-05 19:28:55 +02:00
parent 0518f0e021
commit 7bcdc6f578
3 changed files with 11 additions and 6 deletions

View File

@ -246,15 +246,14 @@ int APS5_VABI sceHttpSetChunkedTransferEnabled(int id, int enable) {
}
APS5_EXPORT("i9mhafzkEi8", sceHttpUnknown00);
int APS5_VABI sceHttpUnknown00(void) {
NotImplemented_nid_no_patch("i9mhafzkEi8");
int APS5_VABI sceHttpSetInflateGZIPEnabled(int id, int enable) {
(void)id;
if (static_cast<uint32_t>(enable) > 1) return ERROR_INVALID_VALUE;
return 0;
}
APS5_EXPORT("vO4B-42ef-k", sceHttpUnknown01);
int APS5_VABI sceHttpUnknown01(void) {
NotImplemented_nid_no_patch("vO4B-42ef-k");
int APS5_VABI sceHttpSetRequestStatusCallback(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}

View File

@ -7,6 +7,7 @@
extern "C" {
int APS5_VABI sceHttpUriParse(SceHttpUriElement*, const char*, void*, std::size_t*, std::size_t);
int APS5_VABI sceHttpSetInflateGZIPEnabled(int, int);
int APS5_VABI sceHttpUriBuild(char*, std::size_t*, std::size_t, const SceHttpUriElement*, std::uint32_t);
int APS5_VABI sceHttpUriEscape(char*, std::size_t*, std::size_t, const char*);
int APS5_VABI sceHttpCreateEpoll(int, HttpEpollHandle*);
@ -97,6 +98,10 @@ int main() {
Require(sceHttpReadData(1, data, sizeof(data)) == network);
Require(sceHttpCreateRequest2(1, "GET", "/", 0) > 0);
Require(sceHttpSetInflateGZIPEnabled(1, 0) == 0);
Require(sceHttpSetInflateGZIPEnabled(1, 1) == 0);
Require(sceHttpSetInflateGZIPEnabled(1, 2) == invalidValue);
Require(sceHttpSetInflateGZIPEnabled(1, -1) == invalidValue);
Require(sceHttpsEnableOption(1, 0) == 0);
Require(sceHttpsLoadCert(1, 0, nullptr, nullptr, nullptr) == 0);
int httpErrno = -1;

View File

@ -70,6 +70,7 @@ Throughout the project, every function at every stage either **does exactly what
- [sceHttpParseResponseHeader](../../core/libs/prx/libSceHttp/Export.cpp) (libSceHttp) - unknown signature
- [sceHttp2GetMemoryPoolStats](../../core/libs/prx/libSceHttp2/Export.cpp) (libSceHttp2) - unknown signature
- [sceNetGetMemoryPoolStats](../../core/libs/prx/libSceNet/Export.cpp) (libSceNet) - unknown signature
- [sceHttpSetRequestStatusCallback](../../core/libs/prx/libSceHttp/Export.cpp) (libSceHttp) - no reference implements it (shadPS4 only logs and returns 0); when the callback runs and what status it gets is unknown
- [sce::Np::CppWebApi::Common::IntrusivePtr](../../core/libs/prx/libSceNpCppWebApi/Export.cpp) (libSceNpCppWebApi) - the 0x18-byte layout (object, deleter, `LibContext*`) and the offset of the 32-bit reference count in the pointee (0x00, 0x30 for `Vector`) come from the module bundled with one title (PPSA21564); other SDK versions are not checked. The destructor throws on the last reference of a pointer without a deleter: destroying the object needs its destructor and the `LibContext` allocator, which are not implemented
- [sceNpSessionSignalingGetMemoryInfo](../../core/libs/prx/libSceNpSessionSignaling/Export.cpp) (libSceNpSessionSignaling) - unknown signature
- [sceNpSessionSignalingGetConnectionStatistics](../../core/libs/prx/libSceNpSessionSignaling/Export.cpp) (libSceNpSessionSignaling) - unknown signature