rpcs3/rpcs3/Emu/Cell/Modules/cellHttp.cpp
2022-09-17 16:35:02 +03:00

3928 lines
112 KiB
C++

#include "stdafx.h"
#include "Emu/Cell/PPUModule.h"
#include "Emu/IdManager.h"
#include "cellHttpUtil.h"
#include "cellHttp.h"
#include "cellSsl.h"
LOG_CHANNEL(cellHttp);
template<>
void fmt_class_string<CellHttpError>::format(std::string& out, u64 arg)
{
format_enum(out, arg, [](auto error)
{
switch (error)
{
STR_CASE(CELL_HTTP_ERROR_ALREADY_INITIALIZED);
STR_CASE(CELL_HTTP_ERROR_NOT_INITIALIZED);
STR_CASE(CELL_HTTP_ERROR_NO_MEMORY);
STR_CASE(CELL_HTTP_ERROR_NO_BUFFER);
STR_CASE(CELL_HTTP_ERROR_NO_STRING);
STR_CASE(CELL_HTTP_ERROR_INSUFFICIENT);
STR_CASE(CELL_HTTP_ERROR_INVALID_URI);
STR_CASE(CELL_HTTP_ERROR_INVALID_HEADER);
STR_CASE(CELL_HTTP_ERROR_BAD_METHOD);
STR_CASE(CELL_HTTP_ERROR_BAD_CLIENT);
STR_CASE(CELL_HTTP_ERROR_BAD_TRANS);
STR_CASE(CELL_HTTP_ERROR_NO_CONNECTION);
STR_CASE(CELL_HTTP_ERROR_NO_REQUEST_SENT);
STR_CASE(CELL_HTTP_ERROR_ALREADY_BUILT);
STR_CASE(CELL_HTTP_ERROR_ALREADY_SENT);
STR_CASE(CELL_HTTP_ERROR_NO_HEADER);
STR_CASE(CELL_HTTP_ERROR_NO_CONTENT_LENGTH);
STR_CASE(CELL_HTTP_ERROR_TOO_MANY_REDIRECTS);
STR_CASE(CELL_HTTP_ERROR_TOO_MANY_AUTHS);
STR_CASE(CELL_HTTP_ERROR_TRANS_NO_CONNECTION);
STR_CASE(CELL_HTTP_ERROR_CB_FAILED);
STR_CASE(CELL_HTTP_ERROR_NOT_PIPED);
STR_CASE(CELL_HTTP_ERROR_OUT_OF_ORDER_PIPE);
STR_CASE(CELL_HTTP_ERROR_TRANS_ABORTED);
STR_CASE(CELL_HTTP_ERROR_BROKEN_PIPELINE);
STR_CASE(CELL_HTTP_ERROR_UNAVAILABLE);
STR_CASE(CELL_HTTP_ERROR_INVALID_VALUE);
STR_CASE(CELL_HTTP_ERROR_CANNOT_AUTHENTICATE);
STR_CASE(CELL_HTTP_ERROR_COOKIE_NOT_FOUND);
STR_CASE(CELL_HTTP_ERROR_COOKIE_INVALID_DOMAIN);
STR_CASE(CELL_HTTP_ERROR_CACHE_ALREADY_INITIALIZED);
STR_CASE(CELL_HTTP_ERROR_CACHE_NOT_INITIALIZED);
STR_CASE(CELL_HTTP_ERROR_LINE_EXCEEDS_MAX);
STR_CASE(CELL_HTTP_ERROR_REQUIRES_BASIC_AUTH);
STR_CASE(CELL_HTTP_ERROR_UNKNOWN);
STR_CASE(CELL_HTTP_ERROR_INTERNAL);
STR_CASE(CELL_HTTP_ERROR_NONREMOVABLE);
STR_CASE(CELL_HTTP_ERROR_BAD_CONN);
STR_CASE(CELL_HTTP_ERROR_BAD_MAN);
STR_CASE(CELL_HTTP_ERROR_NO_POOL);
STR_CASE(CELL_HTTP_ERROR_NO_REQUEST);
STR_CASE(CELL_HTTP_ERROR_LOCK_FAILED);
STR_CASE(CELL_HTTP_ERROR_INVALID_DATA);
STR_CASE(CELL_HTTP_ERROR_BROKEN_CHUNK);
STR_CASE(CELL_HTTP_ERROR_DECODE_SETUP);
STR_CASE(CELL_HTTP_ERROR_DECODE_STREAM);
STR_CASE(CELL_HTTP_ERROR_BROKEN_DECODE_STREAM);
STR_CASE(CELL_HTTP_ERROR_INVALID_DCACHE_PATH);
STR_CASE(CELL_HTTP_ERROR_DCACHE_ALREADY_INITIALIZED);
STR_CASE(CELL_HTTP_ERROR_DCACHE_NOT_INITIALIZED);
STR_CASE(CELL_HTTP_ERROR_TOO_MANY_DCACHE_ENTRY);
STR_CASE(CELL_HTTP_ERROR_DUP_DCACHE_ENTRY);
STR_CASE(CELL_HTTP_ERROR_WRITE_DCACHE);
STR_CASE(CELL_HTTP_ERROR_READ_DCACHE);
STR_CASE(CELL_HTTP_ERROR_CACHE_TOO_LARGE);
STR_CASE(CELL_HTTP_ERROR_INVALID_DCACHE_VERSION);
STR_CASE(CELL_HTTP_ERROR_DCACHE_FILE_BROKEN);
STR_CASE(CELL_HTTP_ERROR_DCACHE_EXCEEDS_MAX);
STR_CASE(CELL_HTTP_ERROR_DCACHE_BUSY);
STR_CASE(CELL_HTTP_ERROR_DCACHE_INDEX_BROKEN);
STR_CASE(CELL_HTTP_ERROR_INVALID_DCACHE_INDEX_NODE);
STR_CASE(CELL_HTTP_ERROR_DCACHE_FILE_INCONSISTENCY);
STR_CASE(CELL_HTTP_ERROR_DCACHE_URI_TOO_LONG);
STR_CASE(CELL_HTTP_ERROR_READ_DCACHE_EOF);
STR_CASE(CELL_HTTP_ERROR_END_OF_DCACHE_INDEX_NODE);
STR_CASE(CELL_HTTP_ERROR_NO_CACHE_MEMORY);
STR_CASE(CELL_HTTP_ERROR_DCACHE_BROKEN);
STR_CASE(CELL_HTTP_ERROR_DCACHE_TOO_MANY_WRITE);
STR_CASE(CELL_HTTP_ERROR_DCACHE_TOO_MANY_READ);
STR_CASE(CELL_HTTP_ERROR_DCACHE_FATAL);
STR_CASE(CELL_HTTP_ERROR_DCACHE_UNSUPPORTED_FEATURE);
STR_CASE(CELL_HTTP_ERROR_DCACHE_INDEX_IS_ALREADY_OPEN);
STR_CASE(CELL_HTTP_ERROR_DCACHE_INDEX_IS_OPENING);
STR_CASE(CELL_HTTP_ERROR_DCACHE_UNKNOWN);
STR_CASE(CELL_HTTP_ERROR_DCACHE_INDEX_IS_CLOSED);
STR_CASE(CELL_HTTP_ERROR_DCACHE_ABORTED);
STR_CASE(CELL_HTTP_ERROR_DCACHE_INDEX_IS_CLOSING);
STR_CASE(CELL_HTTP_ERROR_DCACHE_UNKNOWN_INDEX_STATE);
STR_CASE(CELL_HTTP_ERROR_NET_FIN);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_TIMEOUT);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_TIMEOUT);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_TIMEOUT);
}
return unknown;
});
}
template<>
void fmt_class_string<CellHttpsError>::format(std::string& out, u64 arg)
{
format_enum(out, arg, [](auto error)
{
switch (error)
{
STR_CASE(CELL_HTTPS_ERROR_CERTIFICATE_LOAD);
STR_CASE(CELL_HTTPS_ERROR_BAD_MEMORY);
STR_CASE(CELL_HTTPS_ERROR_CONTEXT_CREATION);
STR_CASE(CELL_HTTPS_ERROR_CONNECTION_CREATION);
STR_CASE(CELL_HTTPS_ERROR_SOCKET_ASSOCIATION);
STR_CASE(CELL_HTTPS_ERROR_HANDSHAKE);
STR_CASE(CELL_HTTPS_ERROR_LOOKUP_CERTIFICATE);
STR_CASE(CELL_HTTPS_ERROR_NO_SSL);
STR_CASE(CELL_HTTPS_ERROR_KEY_LOAD);
STR_CASE(CELL_HTTPS_ERROR_CERT_KEY_MISMATCH);
STR_CASE(CELL_HTTPS_ERROR_KEY_NEEDS_CERT);
STR_CASE(CELL_HTTPS_ERROR_CERT_NEEDS_KEY);
STR_CASE(CELL_HTTPS_ERROR_RETRY_CONNECTION);
STR_CASE(CELL_HTTPS_ERROR_NET_SSL_CONNECT);
STR_CASE(CELL_HTTPS_ERROR_NET_SSL_SEND);
STR_CASE(CELL_HTTPS_ERROR_NET_SSL_RECV);
}
return unknown;
});
}
template<>
void fmt_class_string<CellHttpErrorNet>::format(std::string& out, u64 arg)
{
format_enum(out, arg, [](auto error)
{
switch (error)
{
STR_CASE(CELL_HTTP_ERROR_NET_RESOLVER_NETDB_INTERNAL);
STR_CASE(CELL_HTTP_ERROR_NET_RESOLVER_HOST_NOT_FOUND);
STR_CASE(CELL_HTTP_ERROR_NET_RESOLVER_TRY_AGAIN);
STR_CASE(CELL_HTTP_ERROR_NET_RESOLVER_NO_RECOVERY);
STR_CASE(CELL_HTTP_ERROR_NET_RESOLVER_NO_DATA);
//STR_CASE(CELL_HTTP_ERROR_NET_RESOLVER_NO_ADDRESS);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EPERM);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENOENT);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ESRCH);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EINTR);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EIO);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENXIO);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_E2BIG);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENOEXC);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EBADF);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ECHILD);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EDEADLK);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENOMEM);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EACCES);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EFAULT);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENOTBLK);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EBUSY);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EEXIST);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EXDEV);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENODEV);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENOTDIR);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EISDIR);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EINVAL);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENFILE);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EMFILE);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENOTTY);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ETXTBSY);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EFBIG);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENOSPC);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ESPIPE);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EROFS);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EMLINK);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EPIPE);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EDOM);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ERANGE);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EAGAIN);
//STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EWOULDBLOCK);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EINPROGRESS);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EALREADY);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENOTSOCK);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EDESTADDRREQ);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EMSGSIZE);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EPROTOTYPE);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENOPROTOOPT);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EPROTONOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ESOCKTNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EOPNOTSUPP);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EPFNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EAFNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EADDRINUSE);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EADDRNOTAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENETDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENETUNREACH);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENETRESET);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ECONNABORTED);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ECONNRESET);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENOBUFS);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EISCONN);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENOTCONN);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ESHUTDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ETOOMANYREFS);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ETIMEDOUT);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ECONNREFUSED);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ELOOP);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENAMETOOLONG);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EHOSTDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EHOSTUNREACH);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENOTEMPTY);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EPROCLIM);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EUSERS);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EDQUOT);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ESTALE);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EREMOTE);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EBADRPC);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ERPCMISMATCH);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EPROGUNAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EPROGMISMATCH);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EPROCUNAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENOLCK);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENOSYS);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EFTYPE);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EAUTH);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENEEDAUTH);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EIDRM);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENOMSG);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EOVERFLOW);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EILSEQ);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENOTSUP);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ECANCELED);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_EBADMSG);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENODATA);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENOSR);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ENOSTR);
STR_CASE(CELL_HTTP_ERROR_NET_ABORT_ETIME);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EPERM);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENOENT);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ESRCH);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EINTR);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EIO);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENXIO);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_E2BIG);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENOEXC);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EBADF);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ECHILD);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EDEADLK);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENOMEM);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EACCES);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EFAULT);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENOTBLK);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EBUSY);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EEXIST);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EXDEV);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENODEV);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENOTDIR);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EISDIR);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EINVAL);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENFILE);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EMFILE);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENOTTY);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ETXTBSY);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EFBIG);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENOSPC);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ESPIPE);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EROFS);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EMLINK);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EPIPE);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EDOM);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ERANGE);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EAGAIN);
//STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EWOULDBLOCK);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EINPROGRESS);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EALREADY);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENOTSOCK);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EDESTADDRREQ);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EMSGSIZE);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EPROTOTYPE);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENOPROTOOPT);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EPROTONOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ESOCKTNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EOPNOTSUPP);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EPFNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EAFNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EADDRINUSE);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EADDRNOTAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENETDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENETUNREACH);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENETRESET);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ECONNABORTED);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ECONNRESET);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENOBUFS);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EISCONN);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENOTCONN);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ESHUTDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ETOOMANYREFS);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ETIMEDOUT);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ECONNREFUSED);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ELOOP);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENAMETOOLONG);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EHOSTDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EHOSTUNREACH);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENOTEMPTY);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EPROCLIM);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EUSERS);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EDQUOT);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ESTALE);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EREMOTE);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EBADRPC);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ERPCMISMATCH);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EPROGUNAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EPROGMISMATCH);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EPROCUNAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENOLCK);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENOSYS);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EFTYPE);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EAUTH);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENEEDAUTH);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EIDRM);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENOMSG);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EOVERFLOW);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EILSEQ);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENOTSUP);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ECANCELED);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_EBADMSG);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENODATA);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENOSR);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ENOSTR);
STR_CASE(CELL_HTTP_ERROR_NET_OPTION_ETIME);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EPERM);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENOENT);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ESRCH);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EINTR);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EIO);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENXIO);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_E2BIG);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENOEXC);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EBADF);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ECHILD);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EDEADLK);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENOMEM);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EACCES);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EFAULT);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENOTBLK);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EBUSY);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EEXIST);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EXDEV);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENODEV);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENOTDIR);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EISDIR);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EINVAL);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENFILE);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EMFILE);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENOTTY);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ETXTBSY);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EFBIG);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENOSPC);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ESPIPE);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EROFS);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EMLINK);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EPIPE);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EDOM);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ERANGE);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EAGAIN);
//STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EWOULDBLOCK);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EINPROGRESS);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EALREADY);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENOTSOCK);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EDESTADDRREQ);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EMSGSIZE);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EPROTOTYPE);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENOPROTOOPT);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EPROTONOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ESOCKTNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EOPNOTSUPP);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EPFNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EAFNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EADDRINUSE);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EADDRNOTAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENETDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENETUNREACH);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENETRESET);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ECONNABORTED);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ECONNRESET);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENOBUFS);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EISCONN);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENOTCONN);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ESHUTDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ETOOMANYREFS);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ETIMEDOUT);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ECONNREFUSED);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ELOOP);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENAMETOOLONG);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EHOSTDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EHOSTUNREACH);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENOTEMPTY);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EPROCLIM);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EUSERS);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EDQUOT);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ESTALE);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EREMOTE);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EBADRPC);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ERPCMISMATCH);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EPROGUNAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EPROGMISMATCH);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EPROCUNAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENOLCK);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENOSYS);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EFTYPE);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EAUTH);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENEEDAUTH);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EIDRM);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENOMSG);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EOVERFLOW);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EILSEQ);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENOTSUP);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ECANCELED);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_EBADMSG);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENODATA);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENOSR);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ENOSTR);
STR_CASE(CELL_HTTP_ERROR_NET_SOCKET_ETIME);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EPERM);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENOENT);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ESRCH);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EINTR);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EIO);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENXIO);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_E2BIG);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENOEXC);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EBADF);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ECHILD);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EDEADLK);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENOMEM);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EACCES);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EFAULT);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENOTBLK);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EBUSY);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EEXIST);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EXDEV);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENODEV);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENOTDIR);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EISDIR);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EINVAL);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENFILE);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EMFILE);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENOTTY);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ETXTBSY);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EFBIG);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENOSPC);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ESPIPE);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EROFS);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EMLINK);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EPIPE);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EDOM);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ERANGE);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EAGAIN);
//STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EWOULDBLOCK);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EINPROGRESS);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EALREADY);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENOTSOCK);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EDESTADDRREQ);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EMSGSIZE);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EPROTOTYPE);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENOPROTOOPT);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EPROTONOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ESOCKTNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EOPNOTSUPP);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EPFNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EAFNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EADDRINUSE);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EADDRNOTAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENETDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENETUNREACH);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENETRESET);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ECONNABORTED);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ECONNRESET);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENOBUFS);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EISCONN);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENOTCONN);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ESHUTDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ETOOMANYREFS);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ETIMEDOUT);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ECONNREFUSED);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ELOOP);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENAMETOOLONG);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EHOSTDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EHOSTUNREACH);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENOTEMPTY);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EPROCLIM);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EUSERS);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EDQUOT);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ESTALE);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EREMOTE);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EBADRPC);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ERPCMISMATCH);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EPROGUNAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EPROGMISMATCH);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EPROCUNAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENOLCK);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENOSYS);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EFTYPE);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EAUTH);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENEEDAUTH);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EIDRM);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENOMSG);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EOVERFLOW);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EILSEQ);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENOTSUP);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ECANCELED);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_EBADMSG);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENODATA);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENOSR);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ENOSTR);
STR_CASE(CELL_HTTP_ERROR_NET_CONNECT_ETIME);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EPERM);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENOENT);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ESRCH);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EINTR);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EIO);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENXIO);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_E2BIG);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENOEXC);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EBADF);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ECHILD);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EDEADLK);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENOMEM);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EACCES);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EFAULT);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENOTBLK);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EBUSY);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EEXIST);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EXDEV);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENODEV);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENOTDIR);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EISDIR);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EINVAL);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENFILE);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EMFILE);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENOTTY);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ETXTBSY);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EFBIG);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENOSPC);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ESPIPE);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EROFS);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EMLINK);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EPIPE);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EDOM);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ERANGE);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EAGAIN);
//STR_CASE(CELL_HTTP_ERROR_NET_SEND_EWOULDBLOCK);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EINPROGRESS);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EALREADY);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENOTSOCK);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EDESTADDRREQ);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EMSGSIZE);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EPROTOTYPE);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENOPROTOOPT);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EPROTONOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ESOCKTNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EOPNOTSUPP);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EPFNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EAFNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EADDRINUSE);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EADDRNOTAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENETDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENETUNREACH);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENETRESET);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ECONNABORTED);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ECONNRESET);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENOBUFS);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EISCONN);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENOTCONN);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ESHUTDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ETOOMANYREFS);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ETIMEDOUT);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ECONNREFUSED);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ELOOP);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENAMETOOLONG);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EHOSTDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EHOSTUNREACH);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENOTEMPTY);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EPROCLIM);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EUSERS);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EDQUOT);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ESTALE);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EREMOTE);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EBADRPC);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ERPCMISMATCH);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EPROGUNAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EPROGMISMATCH);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EPROCUNAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENOLCK);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENOSYS);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EFTYPE);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EAUTH);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENEEDAUTH);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EIDRM);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENOMSG);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EOVERFLOW);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EILSEQ);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENOTSUP);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ECANCELED);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_EBADMSG);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENODATA);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENOSR);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ENOSTR);
STR_CASE(CELL_HTTP_ERROR_NET_SEND_ETIME);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EPERM);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENOENT);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ESRCH);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EINTR);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EIO);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENXIO);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_E2BIG);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENOEXC);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EBADF);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ECHILD);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EDEADLK);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENOMEM);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EACCES);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EFAULT);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENOTBLK);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EBUSY);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EEXIST);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EXDEV);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENODEV);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENOTDIR);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EISDIR);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EINVAL);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENFILE);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EMFILE);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENOTTY);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ETXTBSY);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EFBIG);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENOSPC);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ESPIPE);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EROFS);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EMLINK);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EPIPE);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EDOM);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ERANGE);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EAGAIN);
//STR_CASE(CELL_HTTP_ERROR_NET_RECV_EWOULDBLOCK);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EINPROGRESS);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EALREADY);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENOTSOCK);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EDESTADDRREQ);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EMSGSIZE);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EPROTOTYPE);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENOPROTOOPT);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EPROTONOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ESOCKTNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EOPNOTSUPP);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EPFNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EAFNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EADDRINUSE);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EADDRNOTAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENETDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENETUNREACH);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENETRESET);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ECONNABORTED);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ECONNRESET);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENOBUFS);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EISCONN);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENOTCONN);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ESHUTDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ETOOMANYREFS);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ETIMEDOUT);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ECONNREFUSED);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ELOOP);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENAMETOOLONG);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EHOSTDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EHOSTUNREACH);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENOTEMPTY);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EPROCLIM);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EUSERS);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EDQUOT);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ESTALE);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EREMOTE);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EBADRPC);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ERPCMISMATCH);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EPROGUNAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EPROGMISMATCH);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EPROCUNAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENOLCK);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENOSYS);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EFTYPE);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EAUTH);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENEEDAUTH);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EIDRM);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENOMSG);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EOVERFLOW);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EILSEQ);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENOTSUP);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ECANCELED);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_EBADMSG);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENODATA);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENOSR);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ENOSTR);
STR_CASE(CELL_HTTP_ERROR_NET_RECV_ETIME);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EPERM);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENOENT);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ESRCH);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EINTR);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EIO);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENXIO);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_E2BIG);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENOEXC);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EBADF);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ECHILD);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EDEADLK);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENOMEM);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EACCES);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EFAULT);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENOTBLK);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EBUSY);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EEXIST);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EXDEV);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENODEV);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENOTDIR);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EISDIR);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EINVAL);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENFILE);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EMFILE);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENOTTY);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ETXTBSY);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EFBIG);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENOSPC);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ESPIPE);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EROFS);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EMLINK);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EPIPE);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EDOM);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ERANGE);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EAGAIN);
//STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EWOULDBLOCK);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EINPROGRESS);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EALREADY);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENOTSOCK);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EDESTADDRREQ);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EMSGSIZE);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EPROTOTYPE);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENOPROTOOPT);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EPROTONOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ESOCKTNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EOPNOTSUPP);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EPFNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EAFNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EADDRINUSE);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EADDRNOTAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENETDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENETUNREACH);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENETRESET);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ECONNABORTED);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ECONNRESET);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENOBUFS);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EISCONN);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENOTCONN);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ESHUTDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ETOOMANYREFS);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ETIMEDOUT);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ECONNREFUSED);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ELOOP);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENAMETOOLONG);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EHOSTDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EHOSTUNREACH);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENOTEMPTY);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EPROCLIM);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EUSERS);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EDQUOT);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ESTALE);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EREMOTE);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EBADRPC);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ERPCMISMATCH);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EPROGUNAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EPROGMISMATCH);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EPROCUNAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENOLCK);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENOSYS);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EFTYPE);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EAUTH);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENEEDAUTH);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EIDRM);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENOMSG);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EOVERFLOW);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EILSEQ);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENOTSUP);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ECANCELED);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_EBADMSG);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENODATA);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENOSR);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ENOSTR);
STR_CASE(CELL_HTTP_ERROR_NET_SELECT_ETIME);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EPERM);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENOENT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ESRCH);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EINTR);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EIO);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENXIO);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_E2BIG);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENOEXC);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EBADF);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ECHILD);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EDEADLK);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENOMEM);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EACCES);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EFAULT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENOTBLK);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EBUSY);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EEXIST);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EXDEV);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENODEV);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENOTDIR);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EISDIR);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EINVAL);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENFILE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EMFILE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENOTTY);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ETXTBSY);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EFBIG);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENOSPC);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ESPIPE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EROFS);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EMLINK);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EPIPE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EDOM);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ERANGE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EAGAIN);
//STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EWOULDBLOCK);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EINPROGRESS);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EALREADY);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENOTSOCK);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EDESTADDRREQ);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EMSGSIZE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EPROTOTYPE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENOPROTOOPT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EPROTONOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ESOCKTNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EOPNOTSUPP);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EPFNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EAFNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EADDRINUSE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EADDRNOTAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENETDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENETUNREACH);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENETRESET);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ECONNABORTED);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ECONNRESET);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENOBUFS);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EISCONN);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENOTCONN);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ESHUTDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ETOOMANYREFS);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ETIMEDOUT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ECONNREFUSED);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ELOOP);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENAMETOOLONG);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EHOSTDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EHOSTUNREACH);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENOTEMPTY);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EPROCLIM);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EUSERS);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EDQUOT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ESTALE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EREMOTE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EBADRPC);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ERPCMISMATCH);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EPROGUNAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EPROGMISMATCH);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EPROCUNAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENOLCK);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENOSYS);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EFTYPE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EAUTH);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENEEDAUTH);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EIDRM);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENOMSG);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EOVERFLOW);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EILSEQ);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENOTSUP);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ECANCELED);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_EBADMSG);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENODATA);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENOSR);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ENOSTR);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_CONNECT_ETIME);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EPERM);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENOENT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ESRCH);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EINTR);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EIO);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENXIO);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_E2BIG);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENOEXC);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EBADF);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ECHILD);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EDEADLK);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENOMEM);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EACCES);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EFAULT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENOTBLK);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EBUSY);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EEXIST);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EXDEV);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENODEV);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENOTDIR);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EISDIR);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EINVAL);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENFILE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EMFILE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENOTTY);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ETXTBSY);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EFBIG);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENOSPC);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ESPIPE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EROFS);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EMLINK);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EPIPE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EDOM);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ERANGE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EAGAIN);
//STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EWOULDBLOCK);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EINPROGRESS);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EALREADY);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENOTSOCK);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EDESTADDRREQ);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EMSGSIZE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EPROTOTYPE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENOPROTOOPT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EPROTONOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ESOCKTNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EOPNOTSUPP);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EPFNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EAFNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EADDRINUSE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EADDRNOTAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENETDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENETUNREACH);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENETRESET);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ECONNABORTED);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ECONNRESET);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENOBUFS);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EISCONN);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENOTCONN);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ESHUTDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ETOOMANYREFS);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ETIMEDOUT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ECONNREFUSED);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ELOOP);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENAMETOOLONG);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EHOSTDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EHOSTUNREACH);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENOTEMPTY);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EPROCLIM);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EUSERS);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EDQUOT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ESTALE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EREMOTE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EBADRPC);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ERPCMISMATCH);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EPROGUNAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EPROGMISMATCH);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EPROCUNAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENOLCK);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENOSYS);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EFTYPE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EAUTH);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENEEDAUTH);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EIDRM);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENOMSG);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EOVERFLOW);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EILSEQ);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENOTSUP);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ECANCELED);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_EBADMSG);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENODATA);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENOSR);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ENOSTR);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_SEND_ETIME);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EPERM);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENOENT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ESRCH);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EINTR);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EIO);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENXIO);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_E2BIG);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENOEXC);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EBADF);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ECHILD);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EDEADLK);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENOMEM);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EACCES);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EFAULT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENOTBLK);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EBUSY);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EEXIST);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EXDEV);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENODEV);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENOTDIR);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EISDIR);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EINVAL);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENFILE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EMFILE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENOTTY);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ETXTBSY);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EFBIG);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENOSPC);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ESPIPE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EROFS);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EMLINK);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EPIPE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EDOM);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ERANGE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EAGAIN);
//STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EWOULDBLOCK);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EINPROGRESS);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EALREADY);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENOTSOCK);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EDESTADDRREQ);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EMSGSIZE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EPROTOTYPE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENOPROTOOPT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EPROTONOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ESOCKTNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EOPNOTSUPP);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EPFNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EAFNOSUPPORT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EADDRINUSE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EADDRNOTAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENETDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENETUNREACH);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENETRESET);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ECONNABORTED);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ECONNRESET);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENOBUFS);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EISCONN);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENOTCONN);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ESHUTDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ETOOMANYREFS);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ETIMEDOUT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ECONNREFUSED);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ELOOP);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENAMETOOLONG);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EHOSTDOWN);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EHOSTUNREACH);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENOTEMPTY);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EPROCLIM);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EUSERS);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EDQUOT);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ESTALE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EREMOTE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EBADRPC);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ERPCMISMATCH);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EPROGUNAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EPROGMISMATCH);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EPROCUNAVAIL);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENOLCK);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENOSYS);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EFTYPE);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EAUTH);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENEEDAUTH);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EIDRM);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENOMSG);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EOVERFLOW);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EILSEQ);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENOTSUP);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ECANCELED);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_EBADMSG);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENODATA);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENOSR);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ENOSTR);
STR_CASE(CELL_HTTP_ERROR_NET_SSL_RECV_ETIME);
}
return unknown;
});
}
error_code cellHttpAuthCacheExport(vm::ptr<u32> buf, u32 len, vm::ptr<u32> outsize)
{
cellHttp.todo("cellHttpAuthCacheExport(buf=*0x%x, len=%d, outsize=*0x%x)", buf, len, outsize);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (!buf)
{
if (!outsize)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
}
else
{
if (len < 9)
{
return CELL_HTTP_ERROR_INSUFFICIENT;
}
// TODO
}
[[maybe_unused]] u32 size = 0;
// TODO
if (outsize)
{
*outsize = 0;
}
return CELL_OK;
}
error_code cellHttpAuthCacheFlush()
{
cellHttp.todo("cellHttpAuthCacheFlush()");
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
return CELL_OK;
}
error_code cellHttpAuthCacheGetEntryMax(u32 unk_ptr)
{
cellHttp.todo("cellHttpAuthCacheGetEntryMax(unk_ptr=*0x%x)", unk_ptr);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (!unk_ptr)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpAuthCacheImport(vm::ptr<char> unk1, u32 unk2)
{
cellHttp.todo("cellHttpAuthCacheImport(unk1=*0x%x, unk2=0x%x)", unk1, unk2);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (!unk1 || !unk2)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
if (unk2 < 9)
{
return CELL_HTTP_ERROR_INSUFFICIENT;
}
if (unk1[0] != '\x01')
{
return CELL_HTTP_ERROR_INVALID_DATA;
}
return CELL_OK;
}
error_code cellHttpAuthCacheSetEntryMax(u32 unk)
{
cellHttp.todo("cellHttpAuthCacheSetEntryMax(unk=0x%x)", unk);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
return CELL_OK;
}
error_code cellHttpInit(vm::ptr<void> pool, u32 poolSize)
{
cellHttp.notice("cellHttpInit(pool=*0x%x, poolSize=0x%x)", pool, poolSize);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (man.initialized)
{
return CELL_HTTP_ERROR_ALREADY_INITIALIZED;
}
if (!pool || !poolSize)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
man.initialized = true;
return CELL_OK;
}
error_code cellHttpEnd()
{
cellHttp.notice("cellHttpEnd()");
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
man.initialized = false;
return CELL_OK;
}
error_code cellHttpsInit(u32 caCertNum, vm::cptr<CellHttpsData> caList)
{
cellHttp.todo("cellHttpsInit(caCertNum=0x%x, caList=*0x%x)", caCertNum, caList);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (man.https_initialized)
{
return CELL_HTTP_ERROR_ALREADY_INITIALIZED;
}
man.https_initialized = true;
return CELL_OK;
}
error_code cellHttpsEnd()
{
cellHttp.todo("cellHttpsEnd()");
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.https_initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (!_cellSslIsInitd())
{
return CELL_SSL_ERROR_NOT_INITIALIZED;
}
man.https_initialized = false;
return CELL_OK;
}
error_code cellHttpSetProxy(vm::cptr<CellHttpUri> proxy)
{
cellHttp.todo("cellHttpSetProxy(proxy=*0x%x)", proxy);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (proxy)
{
if (!proxy->hostname || !proxy->hostname[0])
{
return CELL_HTTP_ERROR_INVALID_URI;
}
}
return CELL_OK;
}
error_code cellHttpGetCookie(vm::ptr<void> buf)
{
cellHttp.todo("cellHttpGetCookie(buf=*0x%x)", buf);
if (!buf)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_COOKIE_NOT_FOUND;
}
return CELL_OK;
}
error_code cellHttpGetProxy(vm::ptr<CellHttpUri> proxy, vm::ptr<void> pool, u32 poolSize, vm::ptr<u32> required)
{
cellHttp.todo("cellHttpGetProxy(proxy=*0x%x, pool=*0x%x, poolSize=0x%x, required=*0x%x)", proxy, pool, poolSize, required);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
//if (todo)
//{
// return cellHttpUtilCopyUri(proxy, some CellHttpUri, pool, poolSize, required);
//}
if (required)
{
*required = 0;
}
return CELL_OK;
}
error_code cellHttpInitCookie(vm::ptr<void> pool, u32 poolSize)
{
cellHttp.todo("cellHttpInitCookie(pool=*0x%x, poolSize=0x%x)", pool, poolSize);
if (!pool || !poolSize)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (man.cookie_initialized)
{
return CELL_HTTP_ERROR_ALREADY_INITIALIZED;
}
man.cookie_initialized = true;
return CELL_OK;
}
error_code cellHttpEndCookie()
{
cellHttp.todo("cellHttpEndCookie()");
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.cookie_initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
man.cookie_initialized = false;
return CELL_OK;
}
error_code cellHttpAddCookieWithClientId(vm::cptr<CellHttpUri> uri, vm::cptr<char> cookie, CellHttpClientId clientId)
{
cellHttp.todo("cellHttpAddCookieWithClientId(uri=*0x%x, cookie=%s, clientId=0x%x)", uri, cookie, clientId);
if (!uri)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
if (!cookie || !uri->hostname || !uri->path)
{
return CELL_HTTP_ERROR_NO_STRING;
}
return CELL_OK;
}
error_code cellHttpSessionCookieFlush(CellHttpClientId clientId)
{
cellHttp.todo("cellHttpSessionCookieFlush(clientId=0x%x)", clientId);
return CELL_OK;
}
error_code cellHttpCookieExport(vm::ptr<void> buffer, u32 size, vm::ptr<u32> exportSize)
{
cellHttp.todo("cellHttpCookieExport(buffer=*0x%x, size=0x%x, exportSize=*0x%x)", buffer, size, exportSize);
if (buffer && size < 0x14)
{
return CELL_HTTP_ERROR_INSUFFICIENT;
}
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.cookie_initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
return CELL_OK;
}
error_code cellHttpCookieExportWithClientId(vm::ptr<void> buffer, u32 size, vm::ptr<u32> exportSize, CellHttpClientId clientId)
{
cellHttp.todo("cellHttpCookieExportWithClientId(buffer=*0x%x, size=0x%x, exportSize=*0x%x, clientId=0x%x)", buffer, size, exportSize, clientId);
if (buffer && size < 0x14)
{
return CELL_HTTP_ERROR_INSUFFICIENT;
}
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.cookie_initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
return CELL_OK;
}
error_code cellHttpCookieFlush()
{
cellHttp.todo("cellHttpCookieFlush()");
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.cookie_initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
return CELL_OK;
}
error_code cellHttpCookieImport(vm::cptr<void> buffer, u32 size)
{
cellHttp.todo("cellHttpCookieImport(buffer=*0x%x, size=0x%x)", buffer, size);
if (error_code error = cellHttpCookieFlush())
{
cellHttp.error("cellHttpCookieImport: cellHttpCookieFlush returned 0x%x", +error);
// No return
}
return CELL_OK;
}
error_code cellHttpCookieImportWithClientId(vm::cptr<void> buffer, u32 size, CellHttpClientId clientId)
{
cellHttp.todo("cellHttpCookieImportWithClientId(buffer=*0x%x, size=0x%x, clientId=0x%x)", buffer, size, clientId);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.cookie_initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
return CELL_OK;
}
error_code cellHttpClientSetCookieSendCallback(CellHttpClientId clientId, vm::ptr<CellHttpCookieSendCallback> cbfunc, vm::ptr<void> userArg)
{
cellHttp.todo("cellHttpClientSetCookieSendCallback(clientId=0x%x, cbfunc=*0x%x, userArg=*0x%x)", clientId, cbfunc, userArg);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientSetCookieRecvCallback(CellHttpClientId clientId, vm::ptr<CellHttpsSslCallback> cbfunc, vm::ptr<void> userArg)
{
cellHttp.todo("cellHttpClientSetCookieRecvCallback(clientId=0x%x, cbfunc=*0x%x, userArg=*0x%x)", clientId, cbfunc, userArg);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpCreateClient(vm::ptr<CellHttpClientId> clientId)
{
cellHttp.todo("cellHttpCreateClient(clientId=*0x%x)", clientId);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (!clientId)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpDestroyClient(CellHttpClientId clientId)
{
cellHttp.todo("cellHttpDestroyClient(clientId=0x%x)", clientId);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientSetAuthenticationCallback(CellHttpClientId clientId, vm::ptr<CellHttpAuthenticationCallback> cbfunc, vm::ptr<void> userArg)
{
cellHttp.todo("cellHttpClientSetAuthenticationCallback(clientId=0x%x, cbfunc=*0x%x, userArg=*0x%x)", clientId, cbfunc, userArg);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientSetCacheStatus(CellHttpClientId clientId, b8 enable)
{
cellHttp.todo("cellHttpClientSetCacheStatus(clientId=0x%x, enable=%d)", clientId, enable);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientSetTransactionStateCallback(CellHttpClientId clientId, vm::ptr<CellHttpTransactionStateCallback> cbfunc, vm::ptr<void> userArg)
{
cellHttp.todo("cellHttpClientSetTransactionStateCallback(clientId=0x%x, cbfunc=*0x%x, userArg=*0x%x)", clientId, cbfunc, userArg);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientSetRedirectCallback(CellHttpClientId clientId, vm::ptr<CellHttpRedirectCallback> cbfunc, vm::ptr<void> userArg)
{
cellHttp.todo("cellHttpClientSetRedirectCallback(clientId=0x%x, cbfunc=*0x%x, userArg=*0x%x)", clientId, cbfunc, userArg);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientSetProxy(CellHttpClientId clientId, vm::cptr<CellHttpUri> proxy)
{
cellHttp.todo("cellHttpClientSetProxy(clientId=0x%x, proxy=*0x%x)", clientId, proxy);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (proxy)
{
if (!proxy->hostname || !proxy->hostname[0])
{
return CELL_HTTP_ERROR_INVALID_URI;
}
}
return CELL_OK;
}
error_code cellHttpClientGetProxy(CellHttpClientId clientId, vm::ptr<CellHttpUri> proxy, vm::ptr<void> pool, u32 poolSize, vm::ptr<u32> required)
{
cellHttp.todo("cellHttpClientGetProxy(clientId=0x%x, proxy=*0x%x, pool=*0x%x, poolSize=0x%x, required=*0x%x)", clientId, proxy, pool, poolSize, required);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientSetVersion(CellHttpClientId clientId, u32 major, u32 minor)
{
cellHttp.todo("cellHttpClientSetPipeline(clientId=0x%x, major=0x%x, minor=0x%x)", clientId, major, minor);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientGetVersion(CellHttpClientId clientId, vm::ptr<u32> major, vm::ptr<u32> minor)
{
cellHttp.todo("cellHttpClientGetVersion(clientId=0x%x, major=*0x%x, minor=*0x%x)", clientId, major, minor);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!major || !minor)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientSetPipeline(CellHttpClientId clientId, b8 enable)
{
cellHttp.todo("cellHttpClientSetPipeline(clientId=0x%x, enable=%d)", clientId, enable);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientGetPipeline(CellHttpClientId clientId, vm::ptr<b8> enable)
{
cellHttp.todo("cellHttpClientGetPipeline(clientId=0x%x, enable=*0x%x)", clientId, enable);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!enable)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientSetKeepAlive(CellHttpClientId clientId, b8 enable)
{
cellHttp.todo("cellHttpClientSetKeepAlive(clientId=0x%x, enable=%d)", clientId, enable);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientGetKeepAlive(CellHttpClientId clientId, vm::ptr<b8> enable)
{
cellHttp.todo("cellHttpClientGetKeepAlive(clientId=0x%x, enable=*0x%x)", clientId, enable);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!enable)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientSetAutoRedirect(CellHttpClientId clientId, b8 enable)
{
cellHttp.todo("cellHttpClientSetAutoRedirect(clientId=0x%x, enable=%d)", clientId, enable);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientGetAutoRedirect(CellHttpClientId clientId, vm::ptr<b8> enable)
{
cellHttp.todo("cellHttpClientGetAutoRedirect(clientId=0x%x, enable=*0x%x)", clientId, enable);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!enable)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientSetAutoAuthentication(CellHttpClientId clientId, b8 enable)
{
cellHttp.todo("cellHttpClientSetAutoAuthentication(clientId=0x%x, enable=%d)", clientId, enable);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientGetAutoAuthentication(CellHttpClientId clientId, vm::ptr<b8> enable)
{
cellHttp.todo("cellHttpClientGetAutoAuthentication(clientId=0x%x, enable=*0x%x)", clientId, enable);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!enable)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientSetAuthenticationCacheStatus(CellHttpClientId clientId, b8 enable)
{
cellHttp.todo("cellHttpClientSetAuthenticationCacheStatus(clientId=0x%x, enable=%d)", clientId, enable);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientGetAuthenticationCacheStatus(CellHttpClientId clientId, vm::ptr<b8> enable)
{
cellHttp.todo("cellHttpClientGetAuthenticationCacheStatus(clientId=0x%x, enable=*0x%x)", clientId, enable);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!enable)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientSetCookieStatus(CellHttpClientId clientId, b8 enable)
{
cellHttp.todo("cellHttpClientSetCookieStatus(clientId=0x%x, enable=%d)", clientId, enable);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientGetCookieStatus(CellHttpClientId clientId, vm::ptr<b8> enable)
{
cellHttp.todo("cellHttpClientGetCookieStatus(clientId=0x%x, enable=*0x%x)", clientId, enable);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!enable)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientSetUserAgent(CellHttpClientId clientId, vm::cptr<char> userAgent)
{
cellHttp.todo("cellHttpClientSetUserAgent(clientId=0x%x, userAgent=%s)", clientId, userAgent);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!userAgent)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientGetUserAgent(CellHttpClientId clientId, vm::ptr<char> userAgent, u32 size, vm::ptr<u32> required)
{
cellHttp.todo("cellHttpClientGetUserAgent(clientId=0x%x, userAgent=*0x%x, size=%d, required=*0x%x)", clientId, size, userAgent, required);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!userAgent || !size)
{
if (!required)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
}
return CELL_OK;
}
error_code cellHttpClientSetResponseBufferMax(CellHttpClientId clientId, u32 max)
{
cellHttp.todo("cellHttpClientSetResponseBufferMax(clientId=0x%x, max=%d)", clientId, max);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (max < 1500)
{
max = 1500;
}
return CELL_OK;
}
error_code cellHttpClientGetResponseBufferMax(CellHttpClientId clientId, vm::ptr<u32> max)
{
cellHttp.todo("cellHttpClientGetResponseBufferMax(clientId=0x%x, max=*0x%x)", clientId, max);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!max)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientCloseAllConnections(CellHttpClientId clientId)
{
cellHttp.todo("cellHttpClientCloseAllConnections(clientId=0x%x)", clientId);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientCloseConnections(CellHttpClientId clientId, vm::cptr<CellHttpUri> uri)
{
cellHttp.todo("cellHttpClientCloseConnections(clientId=0x%x, uri=*0x%x)", clientId, uri);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientPollConnections(CellHttpClientId clientId, vm::ptr<CellHttpTransId> transId, s64 usec)
{
cellHttp.todo("cellHttpClientPollConnections(clientId=0x%x, transId=*0x%x, usec=%d)", clientId, transId, usec);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientSetConnectionStateCallback(CellHttpClientId clientId, vm::ptr<void> cbfunc, vm::ptr<void> userArg)
{
cellHttp.todo("cellHttpClientSetConnectionStateCallback(clientId=0x%x, cbfunc=*0x%x, userArg=*0x%x)", clientId, cbfunc, userArg);
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientSetConnectionWaitStatus(CellHttpClientId clientId, b8 enable)
{
cellHttp.todo("cellHttpClientSetConnectionWaitStatus(clientId=0x%x, enable=%d)", clientId, enable);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientGetConnectionWaitStatus(CellHttpClientId clientId, vm::ptr<b8> enable)
{
cellHttp.todo("cellHttpClientGetConnectionWaitStatus(clientId=0x%x, enable=*0x%x)", clientId, enable);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!enable)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientSetConnectionWaitTimeout(CellHttpClientId clientId, s64 usec)
{
cellHttp.todo("cellHttpClientSetConnectionWaitTimeout(clientId=0x%x, usec=%d)", clientId, usec);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientGetConnectionWaitTimeout(CellHttpClientId clientId, vm::ptr<s64> usec)
{
cellHttp.todo("cellHttpClientGetConnectionWaitTimeout(clientId=0x%x, usec=*0x%x)", clientId, usec);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!usec)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientSetRecvTimeout(CellHttpClientId clientId, s64 usec)
{
cellHttp.todo("cellHttpClientSetRecvTimeout(clientId=0x%x, usec=%d)", clientId, usec);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientGetRecvTimeout(CellHttpClientId clientId, vm::ptr<s64> usec)
{
cellHttp.todo("cellHttpClientGetRecvTimeout(clientId=0x%x, usec=*0x%x)", clientId, usec);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!usec) // TODO
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientSetSendTimeout(CellHttpClientId clientId, s64 usec)
{
cellHttp.todo("cellHttpClientSetSendTimeout(clientId=0x%x, usec=%d)", clientId, usec);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientGetSendTimeout(CellHttpClientId clientId, vm::ptr<s64> usec)
{
cellHttp.todo("cellHttpClientGetSendTimeout(clientId=0x%x, usec=*0x%x)", clientId, usec);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!usec) // TODO
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientSetConnTimeout(CellHttpClientId clientId, s64 usec)
{
cellHttp.todo("cellHttpClientSetConnTimeout(clientId=0x%x, usec=%d)", clientId, usec);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientGetConnTimeout(CellHttpClientId clientId, vm::ptr<s64> usec)
{
cellHttp.todo("cellHttpClientGetConnTimeout(clientId=0x%x, usec=*0x%x)", clientId, usec);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!usec)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientSetTotalPoolSize(CellHttpClientId clientId, u32 poolSize)
{
cellHttp.todo("cellHttpClientSetTotalPoolSize(clientId=0x%x, poolSize=%d)", clientId, poolSize);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientGetTotalPoolSize(CellHttpClientId clientId, vm::ptr<u32> poolSize)
{
cellHttp.todo("cellHttpClientGetTotalPoolSize(clientId=0x%x, poolSize=*0x%x)", clientId, poolSize);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!poolSize)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientSetPerHostPoolSize(CellHttpClientId clientId, u32 poolSize)
{
cellHttp.todo("cellHttpClientSetPerHostPoolSize(clientId=0x%x, poolSize=%d)", clientId, poolSize);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientGetPerHostPoolSize(CellHttpClientId clientId, vm::ptr<u32> poolSize)
{
cellHttp.todo("cellHttpClientGetPerHostPoolSize(clientId=0x%x, poolSize=*0x%x)", clientId, poolSize);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!poolSize)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientSetPerHostKeepAliveMax(CellHttpClientId clientId, u32 maxSize)
{
cellHttp.todo("cellHttpClientSetPerHostKeepAliveMax(clientId=0x%x, maxSize=%d)", clientId, maxSize);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientGetPerHostKeepAliveMax(CellHttpClientId clientId, vm::ptr<u32> maxSize)
{
cellHttp.todo("cellHttpClientGetPerHostKeepAliveMax(clientId=0x%x, maxSize=*0x%x)", clientId, maxSize);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!maxSize)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientSetPerPipelineMax(CellHttpClientId clientId, u32 pipeMax)
{
cellHttp.todo("cellHttpClientSetPerPipelineMax(clientId=0x%x, pipeMax=%d)", clientId, pipeMax);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientGetPerPipelineMax(CellHttpClientId clientId, vm::ptr<u32> pipeMax)
{
cellHttp.todo("cellHttpClientGetPerPipelineMax(clientId=0x%x, pipeMax=*0x%x)", clientId, pipeMax);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!pipeMax)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientSetRecvBufferSize(CellHttpClientId clientId, s32 size)
{
cellHttp.todo("cellHttpClientSetRecvBufferSize(clientId=0x%x, size=%d)", clientId, size);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientGetRecvBufferSize(CellHttpClientId clientId, vm::ptr<s32> size)
{
cellHttp.todo("cellHttpClientGetRecvBufferSize(clientId=0x%x, size=*0x%x)", clientId, size);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!size)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientSetSendBufferSize(CellHttpClientId clientId, s32 size)
{
cellHttp.todo("cellHttpClientSetSendBufferSize(clientId=0x%x, size=%d)", clientId, size);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientGetSendBufferSize(CellHttpClientId clientId, vm::ptr<s32> size)
{
cellHttp.todo("cellHttpClientGetSendBufferSize(clientId=0x%x, size=*0x%x)", clientId, size);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!size)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientGetAllHeaders(CellHttpClientId clientId, vm::pptr<CellHttpHeader> headers, vm::ptr<u32> items, vm::ptr<void> pool, u32 poolSize, vm::ptr<u32> required)
{
cellHttp.todo("cellHttpClientGetAllHeaders(clientId=0x%x, headers=*0x%x, items=*0x%x, pool=*0x%x, poolSize=0x%x, required=*0x%x)", clientId, headers, items, pool, poolSize, required);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if ((!pool || !headers) && !required)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientSetHeader(CellHttpClientId clientId, vm::cptr<CellHttpHeader> header)
{
cellHttp.todo("cellHttpClientSetHeader(clientId=0x%x, header=*0x%x)", clientId, header);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!header)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientGetHeader(CellHttpClientId clientId, vm::ptr<CellHttpHeader> header, vm::cptr<char> name, vm::ptr<void> pool, u32 poolSize, vm::ptr<u32> required)
{
cellHttp.todo("cellHttpClientGetHeader(clientId=0x%x, header=*0x%x, name=%s, pool=*0x%x, poolSize=0x%x, required=*0x%x)", clientId, header, name, pool, poolSize, required);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!name)
{
return CELL_HTTP_ERROR_NO_STRING;
}
return CELL_OK;
}
error_code cellHttpClientAddHeader(CellHttpClientId clientId, vm::cptr<CellHttpHeader> header)
{
cellHttp.todo("cellHttpClientAddHeader(clientId=0x%x, header=*0x%x)", clientId, header);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientDeleteHeader(CellHttpClientId clientId, vm::cptr<char> name)
{
cellHttp.todo("cellHttpClientDeleteHeader(clientId=0x%x, name=%s)", clientId, name);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientSetSslCallback(CellHttpClientId clientId, vm::ptr<CellHttpsSslCallback> cbfunc, vm::ptr<void> userArg)
{
cellHttp.todo("cellHttpClientSetSslCallback(clientId=0x%x, cbfunc=*0x%x, userArg=*0x%x)", clientId, cbfunc, userArg);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientSetSslClientCertificate(CellHttpClientId clientId, vm::cptr<CellHttpsData> cert, vm::cptr<CellHttpsData> privKey)
{
cellHttp.todo("cellHttpClientSetSslClientCertificate(clientId=0x%x, cert=*0x%x, privKey=*0x%x)", clientId, cert, privKey);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!cert && privKey)
{
return CELL_HTTPS_ERROR_KEY_NEEDS_CERT;
}
if (cert && !privKey)
{
return CELL_HTTPS_ERROR_CERT_NEEDS_KEY;
}
return CELL_OK;
}
error_code cellHttpCreateTransaction(vm::ptr<CellHttpTransId> transId, CellHttpClientId clientId, vm::cptr<char> method, vm::cptr<CellHttpUri> uri)
{
cellHttp.todo("cellHttpCreateTransaction(transId=*0x%x, clientId=0x%x, method=%s, uri=*0x%x)", transId, clientId, method, uri);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
//if (error_code error = syscall_sys_memory_get_page_attribute(clientId))
//{
// return error;
//}
if (!uri || !uri->hostname || !uri->hostname[0])
{
return CELL_HTTP_ERROR_INVALID_URI;
}
return CELL_OK;
}
error_code cellHttpDestroyTransaction(CellHttpTransId transId)
{
cellHttp.todo("cellHttpDestroyTransaction(transId=0x%x)", transId);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
return CELL_OK;
}
error_code cellHttpTransactionGetUri(CellHttpTransId transId, vm::ptr<CellHttpUri> uri, vm::ptr<void> pool, u32 poolSize, vm::ptr<u32> required)
{
cellHttp.todo("cellHttpTransactionGetUri(transId=0x%x, uri=*0x%x, pool=*0x%x, poolSize=0x%x, required=*0x%x)", transId, uri, pool, poolSize, required);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
return CELL_OK;
}
error_code cellHttpTransactionSetUri(CellHttpTransId transId, vm::cptr<CellHttpUri> uri) // TODO: more params?
{
cellHttp.todo("cellHttpTransactionSetUri(transId=0x%x, uri=*0x%x)", transId, uri);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
if (!uri || !uri->hostname || !uri->hostname[0])
{
return CELL_HTTP_ERROR_INVALID_URI;
}
if (uri->scheme && false) // TODO
{
return CELL_HTTP_ERROR_INVALID_URI;
}
return CELL_OK;
}
error_code cellHttpTransactionCloseConnection(CellHttpTransId transId)
{
cellHttp.todo("cellHttpTransactionCloseConnection(transId=0x%x)", transId);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
return CELL_OK;
}
error_code cellHttpTransactionReleaseConnection(CellHttpTransId transId, vm::ptr<s32> sid)
{
cellHttp.todo("cellHttpTransactionReleaseConnection(transId=0x%x, sid=*0x%x)", transId, sid);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
if (!sid)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpTransactionAbortConnection(CellHttpTransId transId)
{
cellHttp.todo("cellHttpTransactionAbortConnection(transId=0x%x)", transId);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
return CELL_OK;
}
error_code cellHttpSendRequest(CellHttpTransId transId, vm::cptr<char> buf, u32 size, vm::ptr<u32> sent)
{
cellHttp.todo("cellHttpSendRequest(transId=0x%x, buf=*0x%x, size=0x%x, sent=*0x%x)", transId, buf, size, sent);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
return CELL_OK;
}
error_code cellHttpRequestSetContentLength(CellHttpTransId transId, u64 totalSize)
{
cellHttp.todo("cellHttpRequestSetContentLength(transId=0x%x, totalSize=0x%x)", transId, totalSize);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
return CELL_OK;
}
error_code cellHttpRequestGetContentLength(CellHttpTransId transId, vm::ptr<u64> totalSize)
{
cellHttp.todo("cellHttpRequestGetContentLength(transId=0x%x, totalSize=*0x%x)", transId, totalSize);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
if (!totalSize)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_NO_CONTENT_LENGTH;
}
return CELL_OK;
}
error_code cellHttpRequestSetChunkedTransferStatus(CellHttpTransId transId, b8 enable)
{
cellHttp.todo("cellHttpRequestSetChunkedTransferStatus(transId=0x%x, enable=%d)", transId, enable);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
return CELL_OK;
}
error_code cellHttpRequestGetChunkedTransferStatus(CellHttpTransId transId, vm::ptr<b8> enable)
{
cellHttp.todo("cellHttpRequestGetChunkedTransferStatus(transId=0x%x, enable=*0x%x)", transId, enable);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
if (!enable)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpRequestGetAllHeaders(CellHttpTransId transId, vm::pptr<CellHttpHeader> headers, vm::ptr<u32> items, vm::ptr<void> pool, u32 poolSize, vm::ptr<u32> required)
{
cellHttp.todo("cellHttpRequestGetAllHeaders(transId=0x%x, headers=*0x%x, items=*0x%x, pool=*0x%x, poolSize=0x%x, required=*0x%x)", transId, headers, items, pool, poolSize, required);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
if (!required && (!pool || !headers))
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpRequestSetHeader(CellHttpTransId transId, vm::cptr<CellHttpHeader> header)
{
cellHttp.todo("cellHttpRequestSetHeader(transId=0x%x, header=*0x%x)", transId, header);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
if (!header)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpRequestGetHeader(CellHttpTransId transId, vm::ptr<CellHttpHeader> header, vm::cptr<char> name, vm::ptr<void> pool, u32 poolSize, vm::ptr<u32> required)
{
cellHttp.todo("cellHttpRequestGetHeader(transId=0x%x, header=*0x%x, name=%s, pool=*0x%x, poolSize=0x%x, required=*0x%x)", transId, header, name, pool, poolSize, required);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
if (!name)
{
return CELL_HTTP_ERROR_NO_STRING;
}
return CELL_OK;
}
error_code cellHttpRequestAddHeader(CellHttpTransId transId, vm::cptr<CellHttpHeader> header)
{
cellHttp.todo("cellHttpRequestAddHeader(transId=0x%x, header=*0x%x)", transId, header);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
if (!header)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpRequestDeleteHeader(CellHttpTransId transId, vm::cptr<char> name)
{
cellHttp.todo("cellHttpRequestDeleteHeader(transId=0x%x, name=%s)", transId, name);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
if (!name)
{
return CELL_HTTP_ERROR_NO_STRING;
}
return CELL_OK;
}
error_code cellHttpRecvResponse(CellHttpTransId transId, vm::ptr<char> buf, u32 size, vm::ptr<u32> recvd)
{
cellHttp.todo("cellHttpRecvResponse(transId=0x%x, buf=*0x%x, size=0x%x, recvd=*0x%x)", transId, buf, size, recvd);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
return CELL_OK;
}
error_code cellHttpResponseGetAllHeaders(CellHttpTransId transId, vm::pptr<CellHttpHeader> headers, vm::ptr<u32> items, vm::ptr<void> pool, u32 poolSize, vm::ptr<u32> required)
{
cellHttp.todo("cellHttpResponseGetAllHeaders(transId=0x%x, headers=*0x%x, items=*0x%x, pool=*0x%x, poolSize=0x%x, required=*0x%x)", transId, headers, items, pool, poolSize, required);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
if (!required && (!pool || !headers))
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpResponseGetHeader(CellHttpTransId transId, vm::ptr<CellHttpHeader> header, vm::cptr<char> name, vm::ptr<void> pool, u32 poolSize, vm::ptr<u32> required)
{
cellHttp.todo("cellHttpResponseGetHeader(transId=0x%x, header=*0x%x, name=%s, pool=*0x%x, poolSize=0x%x, required=*0x%x)", transId, header, name, pool, poolSize, required);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
if (!name)
{
return CELL_HTTP_ERROR_NO_STRING;
}
return CELL_OK;
}
error_code cellHttpResponseGetContentLength(CellHttpTransId transId, vm::ptr<u64> length)
{
cellHttp.todo("cellHttpResponseGetContentLength(transId=0x%x, length=*0x%x)", transId, length);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
if (!length)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_NO_CONTENT_LENGTH;
}
return CELL_OK;
}
error_code cellHttpResponseGetStatusCode(CellHttpTransId transId, vm::ptr<s32> code)
{
cellHttp.todo("cellHttpResponseGetStatusCode(transId=0x%x, code=*0x%x)", transId, code);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
if (!code)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpResponseGetStatusLine(CellHttpTransId transId, vm::ptr<CellHttpStatusLine> status, vm::ptr<void> pool, u32 poolSize, vm::ptr<u32> required)
{
cellHttp.todo("cellHttpResponseGetStatusLine(transId=0x%x, status=*0x%x, pool=*0x%x, poolSize=0x%x, required=*0x%x)", transId, status, pool, poolSize, required);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
return CELL_OK;
}
error_code cellHttpTransactionGetSslCipherName(CellHttpTransId transId, vm::ptr<char> name, u32 size, vm::ptr<u32> required)
{
cellHttp.todo("cellHttpTransactionGetSslCipherName(transId=0x%x, name=*0x%x, size=0x%x, required=*0x%x)", transId, name, size, required);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
return CELL_OK;
}
error_code cellHttpTransactionGetSslCipherId(CellHttpTransId transId, vm::ptr<s32> id)
{
cellHttp.todo("cellHttpTransactionGetSslCipherId(transId=0x%x, id=*0x%x)", transId, id);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
return CELL_OK;
}
error_code cellHttpTransactionGetSslCipherVersion(CellHttpTransId transId, vm::ptr<char> version, u32 size, vm::ptr<u32> required)
{
cellHttp.todo("cellHttpTransactionGetSslCipherVersion(transId=0x%x, version=*0x%x, size=0x%x, required=*0x%x)", transId, version, size, required);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
return CELL_OK;
}
error_code cellHttpTransactionGetSslCipherBits(CellHttpTransId transId, vm::ptr<s32> effectiveBits, vm::ptr<s32> algorithmBits)
{
cellHttp.todo("cellHttpTransactionGetSslCipherBits(transId=0x%x, effectiveBits=*0x%x, effectiveBits=*0x%x)", transId, effectiveBits, algorithmBits);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
return CELL_OK;
}
error_code cellHttpTransactionGetSslCipherString(CellHttpTransId transId, vm::ptr<char> buffer, u32 size)
{
cellHttp.todo("cellHttpTransactionGetSslCipherString(transId=0x%x, buffer=*0x%x, size=0x%x)", transId, buffer, size);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
return CELL_OK;
}
error_code cellHttpTransactionGetSslVersion(CellHttpTransId transId, vm::ptr<s32> version)
{
cellHttp.todo("cellHttpTransactionGetSslVersion(transId=0x%x, version=*0x%x)", transId, version);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
return CELL_OK;
}
error_code cellHttpTransactionGetSslId(CellHttpTransId transId, vm::pptr<void> id)
{
cellHttp.todo("cellHttpTransactionGetSslId(transId=0x%x, id=*0x%x)", transId, id);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_TRANS;
}
return CELL_OK;
}
error_code cellHttpClientSetSslVersion(CellHttpClientId clientId, s32 version)
{
cellHttp.todo("cellHttpClientSetSslVersion(clientId=0x%x, version=%d)", clientId, version);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpClientGetSslVersion(CellHttpClientId clientId, vm::ptr<s32> version)
{
cellHttp.todo("cellHttpClientGetSslVersion(clientId=0x%x, version=*0x%x)", clientId, version);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
if (!version)
{
return CELL_HTTP_ERROR_NO_BUFFER;
}
return CELL_OK;
}
error_code cellHttpClientSetMinSslVersion(CellHttpClientId clientId, s32 version)
{
cellHttp.todo("cellHttpClientSetMinSslVersion(clientId=0x%x, version=%d)", clientId, version);
if (version != CELL_SSL_VERSION_TLS1)
{
if (version != CELL_SSL_VERSION_SSL3)
{
return CELL_HTTP_ERROR_INVALID_VALUE;
}
version = 2; // TODO: this can't be right, can it ?
}
return cellHttpClientSetSslVersion(clientId, version);
}
error_code cellHttpClientGetMinSslVersion(CellHttpClientId clientId, vm::ptr<s32> version)
{
cellHttp.todo("cellHttpClientGetMinSslVersion(clientId=0x%x, version=*0x%x)", clientId, version);
if (error_code error = cellHttpClientGetSslVersion(clientId, version))
{
return error;
}
if (*version == 2)
{
*version = CELL_SSL_VERSION_SSL3;
}
return CELL_OK;
}
error_code cellHttpClientSetSslIdDestroyCallback(CellHttpClientId clientId, vm::ptr<void> cbfunc, vm::ptr<void> userArg)
{
cellHttp.todo("cellHttpClientSetSslIdDestroyCallback(clientId=0x%x, cbfunc=*0x%x, userArg=*0x%x)", clientId, cbfunc, userArg);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.initialized)
{
return CELL_HTTP_ERROR_NOT_INITIALIZED;
}
if (false) // TODO
{
return CELL_HTTP_ERROR_BAD_CLIENT;
}
return CELL_OK;
}
error_code cellHttpFlushCache()
{
cellHttp.todo("cellHttpFlushCache()");
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.cache_initialized)
{
return CELL_HTTP_ERROR_CACHE_NOT_INITIALIZED;
}
return CELL_OK;
}
error_code cellHttpEndCache()
{
cellHttp.todo("cellHttpEndCache()");
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.cache_initialized)
{
return CELL_HTTP_ERROR_CACHE_NOT_INITIALIZED;
}
man.cache_initialized = false;
return CELL_OK;
}
error_code cellHttpInitCache(u32 unk)
{
cellHttp.todo("cellHttpInitCache(unk=0x%x)", unk);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (man.cache_initialized)
{
return CELL_HTTP_ERROR_CACHE_ALREADY_INITIALIZED;
}
man.cache_initialized = true;
return CELL_OK;
}
error_code cellHttpEndExternalCache()
{
cellHttp.todo("cellHttpEndExternalCache()");
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.ext_cache_initialized)
{
return CELL_HTTP_ERROR_CACHE_NOT_INITIALIZED;
}
man.ext_cache_initialized = false;
return CELL_OK;
}
error_code cellHttpInitExternalCache(vm::ptr<void> buf, u32 size)
{
cellHttp.todo("cellHttpInitExternalCache(buf=*0x%x, size=0x%x)", size);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (man.ext_cache_initialized)
{
return CELL_HTTP_ERROR_CACHE_ALREADY_INITIALIZED;
}
if (buf)
{
std::memset(buf.get_ptr(), 0, size);
}
if (size >= 512)
{
// TODO
}
man.ext_cache_initialized = true;
return CELL_OK;
}
error_code cellHttpFlushExternalCache()
{
cellHttp.todo("cellHttpFlushExternalCache()");
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.ext_cache_initialized)
{
return CELL_HTTP_ERROR_CACHE_NOT_INITIALIZED;
}
return CELL_OK;
}
error_code cellHttpGetCacheInfo(vm::ptr<void> buf)
{
cellHttp.todo("cellHttpGetCacheInfo(buf=*0x%x)", buf);
auto& man = g_fxo->get<http_manager>();
std::lock_guard lock(man.mtx);
if (!man.cache_initialized)
{
return CELL_HTTP_ERROR_CACHE_NOT_INITIALIZED;
}
return CELL_OK;
}
error_code cellHttpGetMemoryInfo(vm::ptr<u32> heapSize, vm::ptr<u32> param_2, vm::ptr<u32> param_3)
{
cellHttp.todo("cellHttpGetMemoryInfo(heapSize=*0x%x, param_2=*0x%x, param_3=*0x%x)", heapSize, param_2, param_3);
if (heapSize)
{
//*heapSize = _sys_heap_get_total_free_size();
}
if (!param_2 && !param_3)
{
return CELL_OK;
}
if (param_2)
{
*param_2 = *param_3;
}
//*param_3 = _sys_heap_get_mallinfo();
return CELL_OK;
}
DECLARE(ppu_module_manager::cellHttp)("cellHttp", []()
{
REG_FUNC(cellHttp, cellHttpAuthCacheExport);
REG_FUNC(cellHttp, cellHttpAuthCacheFlush);
REG_FUNC(cellHttp, cellHttpAuthCacheGetEntryMax);
REG_FUNC(cellHttp, cellHttpAuthCacheImport);
REG_FUNC(cellHttp, cellHttpAuthCacheSetEntryMax);
REG_FUNC(cellHttp, cellHttpInit);
REG_FUNC(cellHttp, cellHttpEnd);
REG_FUNC(cellHttp, cellHttpsInit);
REG_FUNC(cellHttp, cellHttpsEnd);
REG_FUNC(cellHttp, cellHttpSetProxy);
REG_FUNC(cellHttp, cellHttpGetCookie);
REG_FUNC(cellHttp, cellHttpGetProxy);
REG_FUNC(cellHttp, cellHttpInitCookie);
REG_FUNC(cellHttp, cellHttpEndCookie);
REG_FUNC(cellHttp, cellHttpAddCookieWithClientId);
REG_FUNC(cellHttp, cellHttpSessionCookieFlush);
REG_FUNC(cellHttp, cellHttpCookieExport);
REG_FUNC(cellHttp, cellHttpCookieExportWithClientId);
REG_FUNC(cellHttp, cellHttpCookieFlush);
REG_FUNC(cellHttp, cellHttpCookieImport);
REG_FUNC(cellHttp, cellHttpCookieImportWithClientId);
REG_FUNC(cellHttp, cellHttpClientSetCookieSendCallback);
REG_FUNC(cellHttp, cellHttpClientSetCookieRecvCallback);
REG_FUNC(cellHttp, cellHttpCreateClient);
REG_FUNC(cellHttp, cellHttpDestroyClient);
REG_FUNC(cellHttp, cellHttpClientSetAuthenticationCallback);
REG_FUNC(cellHttp, cellHttpClientSetTransactionStateCallback);
REG_FUNC(cellHttp, cellHttpClientSetRedirectCallback);
REG_FUNC(cellHttp, cellHttpClientSetCacheStatus);
REG_FUNC(cellHttp, cellHttpClientSetProxy);
REG_FUNC(cellHttp, cellHttpClientGetProxy);
REG_FUNC(cellHttp, cellHttpClientSetVersion);
REG_FUNC(cellHttp, cellHttpClientGetVersion);
REG_FUNC(cellHttp, cellHttpClientSetPipeline);
REG_FUNC(cellHttp, cellHttpClientGetPipeline);
REG_FUNC(cellHttp, cellHttpClientSetKeepAlive);
REG_FUNC(cellHttp, cellHttpClientGetKeepAlive);
REG_FUNC(cellHttp, cellHttpClientSetAutoRedirect);
REG_FUNC(cellHttp, cellHttpClientGetAutoRedirect);
REG_FUNC(cellHttp, cellHttpClientSetAutoAuthentication);
REG_FUNC(cellHttp, cellHttpClientGetAutoAuthentication);
REG_FUNC(cellHttp, cellHttpClientSetAuthenticationCacheStatus);
REG_FUNC(cellHttp, cellHttpClientGetAuthenticationCacheStatus);
REG_FUNC(cellHttp, cellHttpClientSetCookieStatus);
REG_FUNC(cellHttp, cellHttpClientGetCookieStatus);
REG_FUNC(cellHttp, cellHttpClientSetUserAgent);
REG_FUNC(cellHttp, cellHttpClientGetUserAgent);
REG_FUNC(cellHttp, cellHttpClientSetResponseBufferMax);
REG_FUNC(cellHttp, cellHttpClientGetResponseBufferMax);
REG_FUNC(cellHttp, cellHttpClientCloseAllConnections);
REG_FUNC(cellHttp, cellHttpClientCloseConnections);
REG_FUNC(cellHttp, cellHttpClientPollConnections);
REG_FUNC(cellHttp, cellHttpClientSetConnectionStateCallback);
REG_FUNC(cellHttp, cellHttpClientGetConnectionWaitStatus);
REG_FUNC(cellHttp, cellHttpClientSetConnectionWaitStatus);
REG_FUNC(cellHttp, cellHttpClientGetConnectionWaitTimeout);
REG_FUNC(cellHttp, cellHttpClientSetConnectionWaitTimeout);
REG_FUNC(cellHttp, cellHttpClientSetRecvTimeout);
REG_FUNC(cellHttp, cellHttpClientGetRecvTimeout);
REG_FUNC(cellHttp, cellHttpClientSetSendTimeout);
REG_FUNC(cellHttp, cellHttpClientGetSendTimeout);
REG_FUNC(cellHttp, cellHttpClientSetConnTimeout);
REG_FUNC(cellHttp, cellHttpClientGetConnTimeout);
REG_FUNC(cellHttp, cellHttpClientSetTotalPoolSize);
REG_FUNC(cellHttp, cellHttpClientGetTotalPoolSize);
REG_FUNC(cellHttp, cellHttpClientSetPerHostPoolSize);
REG_FUNC(cellHttp, cellHttpClientGetPerHostPoolSize);
REG_FUNC(cellHttp, cellHttpClientSetPerHostKeepAliveMax);
REG_FUNC(cellHttp, cellHttpClientGetPerHostKeepAliveMax);
REG_FUNC(cellHttp, cellHttpClientSetPerPipelineMax);
REG_FUNC(cellHttp, cellHttpClientGetPerPipelineMax);
REG_FUNC(cellHttp, cellHttpClientSetRecvBufferSize);
REG_FUNC(cellHttp, cellHttpClientGetRecvBufferSize);
REG_FUNC(cellHttp, cellHttpClientSetSendBufferSize);
REG_FUNC(cellHttp, cellHttpClientGetSendBufferSize);
REG_FUNC(cellHttp, cellHttpClientGetAllHeaders);
REG_FUNC(cellHttp, cellHttpClientSetHeader);
REG_FUNC(cellHttp, cellHttpClientGetHeader);
REG_FUNC(cellHttp, cellHttpClientAddHeader);
REG_FUNC(cellHttp, cellHttpClientDeleteHeader);
REG_FUNC(cellHttp, cellHttpClientSetSslCallback);
REG_FUNC(cellHttp, cellHttpClientSetSslClientCertificate);
REG_FUNC(cellHttp, cellHttpCreateTransaction);
REG_FUNC(cellHttp, cellHttpDestroyTransaction);
REG_FUNC(cellHttp, cellHttpTransactionGetUri);
REG_FUNC(cellHttp, cellHttpTransactionSetUri);
REG_FUNC(cellHttp, cellHttpTransactionCloseConnection);
REG_FUNC(cellHttp, cellHttpTransactionReleaseConnection);
REG_FUNC(cellHttp, cellHttpTransactionAbortConnection);
REG_FUNC(cellHttp, cellHttpSendRequest);
REG_FUNC(cellHttp, cellHttpRequestSetContentLength);
REG_FUNC(cellHttp, cellHttpRequestGetContentLength);
REG_FUNC(cellHttp, cellHttpRequestSetChunkedTransferStatus);
REG_FUNC(cellHttp, cellHttpRequestGetChunkedTransferStatus);
REG_FUNC(cellHttp, cellHttpRequestGetAllHeaders);
REG_FUNC(cellHttp, cellHttpRequestSetHeader);
REG_FUNC(cellHttp, cellHttpRequestGetHeader);
REG_FUNC(cellHttp, cellHttpRequestAddHeader);
REG_FUNC(cellHttp, cellHttpRequestDeleteHeader);
REG_FUNC(cellHttp, cellHttpRecvResponse);
REG_FUNC(cellHttp, cellHttpResponseGetAllHeaders);
REG_FUNC(cellHttp, cellHttpResponseGetHeader);
REG_FUNC(cellHttp, cellHttpResponseGetContentLength);
REG_FUNC(cellHttp, cellHttpResponseGetStatusCode);
REG_FUNC(cellHttp, cellHttpResponseGetStatusLine);
REG_FUNC(cellHttp, cellHttpTransactionGetSslCipherName);
REG_FUNC(cellHttp, cellHttpTransactionGetSslCipherId);
REG_FUNC(cellHttp, cellHttpTransactionGetSslCipherVersion);
REG_FUNC(cellHttp, cellHttpTransactionGetSslCipherBits);
REG_FUNC(cellHttp, cellHttpTransactionGetSslCipherString);
REG_FUNC(cellHttp, cellHttpTransactionGetSslVersion);
REG_FUNC(cellHttp, cellHttpTransactionGetSslId);
REG_FUNC(cellHttp, cellHttpClientSetMinSslVersion);
REG_FUNC(cellHttp, cellHttpClientGetMinSslVersion);
REG_FUNC(cellHttp, cellHttpClientSetSslVersion);
REG_FUNC(cellHttp, cellHttpClientGetSslVersion);
REG_FUNC(cellHttp, cellHttpClientSetSslIdDestroyCallback);
REG_FUNC(cellHttp, cellHttpFlushCache);
REG_FUNC(cellHttp, cellHttpEndCache);
REG_FUNC(cellHttp, cellHttpEndExternalCache);
REG_FUNC(cellHttp, cellHttpInitCache);
REG_FUNC(cellHttp, cellHttpGetCacheInfo);
REG_FUNC(cellHttp, cellHttpGetMemoryInfo);
});
DECLARE(ppu_module_manager::cellHttps)("cellHttps", []()
{
// cellHttps doesn't have functions (cellHttpsInit belongs to cellHttp, for example)
});