use crate::eabi::{i5, i6};
use core::ffi::c_void;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SceNetMallocStat {
pub pool: i32,
pub maximum: i32,
pub free: i32,
}
psp_extern! {
#![name = "sceNet"]
#![flags = 0x0009]
#![version = (0x00, 0x00)]
#[psp(0x39AF39A6)]
pub fn sceNetInit(
poolsize: i32,
calloutprio: i32,
calloutstack: i32,
netintrprio: i32,
netintrstack: i32,
) -> i32;
#[psp(0x281928A9)]
pub fn sceNetTerm() -> i32;
#[psp(0x50647530)]
pub fn sceNetFreeThreadinfo(thid: i32) -> i32;
#[psp(0xAD6844C6)]
pub fn sceNetThreadAbort(thid: i32) -> i32;
#[psp(0xD27961C9)]
pub fn sceNetEtherStrton(name: *mut u8, mac: *mut u8);
#[psp(0x89360950)]
pub fn sceNetEtherNtostr(mac: *mut u8, name: *mut u8);
#[psp(0x0BF0A3AE)]
pub fn sceNetGetLocalEtherAddr(mac: *mut u8) -> i32;
#[psp(0xCC393E48)]
pub fn sceNetGetMallocStat(stat: *mut SceNetMallocStat) -> i32;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SceNetAdhocctlAdhocId {
pub unknown: i32,
pub adhoc_id: [u8; 9usize],
pub unk: [u8; 3usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct SceNetAdhocctlPeerInfo {
pub next: *mut SceNetAdhocctlPeerInfo,
pub nickname: [u8; 128usize],
pub mac: [u8; 6usize],
pub unknown: [u8; 6usize],
pub timestamp: u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SceNetAdhocctlScanInfo {
pub next: *mut SceNetAdhocctlScanInfo,
pub channel: i32,
pub name: [u8; 8usize],
pub bssid: [u8; 6usize],
pub unknown: [u8; 2usize],
pub unknown2: i32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SceNetAdhocctlGameModeInfo {
pub count: i32,
pub macs: [[u8; 6usize]; 16usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct SceNetAdhocctlParams {
pub channel: i32,
pub name: [u8; 8usize],
pub bssid: [u8; 6usize],
pub nickname: [u8; 128usize],
}
pub type SceNetAdhocctlHandler =
Option<unsafe extern "C" fn(flag: i32, error: i32, unknown: *mut c_void)>;
psp_extern! {
#![name = "sceNetAdhocctl"]
#![flags = 0x0009]
#![version = (0x00, 0x00)]
#[psp(0xE26F226E)]
pub fn sceNetAdhocctlInit(
stacksize: i32,
priority: i32,
adhoc_id: *mut SceNetAdhocctlAdhocId,
) -> i32;
#[psp(0x9D689E13)]
pub fn sceNetAdhocctlTerm() -> i32;
#[psp(0x0AD043ED)]
pub fn sceNetAdhocctlConnect(name: *const u8) -> i32;
#[psp(0x34401D65)]
pub fn sceNetAdhocctlDisconnect() -> i32;
#[psp(0x75ECD386)]
pub fn sceNetAdhocctlGetState(event: *mut i32) -> i32;
#[psp(0xEC0635C1)]
pub fn sceNetAdhocctlCreate(name: *const u8) -> i32;
#[psp(0x5E7F79C9)]
pub fn sceNetAdhocctlJoin(scaninfo: *mut SceNetAdhocctlScanInfo) -> i32;
#[psp(0x362CBE8F)]
pub fn sceNetAdhocctlGetAdhocId(id: *mut SceNetAdhocctlAdhocId) -> i32;
#[psp(0xA5C055CE)]
pub fn sceNetAdhocctlCreateEnterGameMode(
name: *const u8,
unknown: i32,
num: i32,
macs: *mut u8,
timeout: u32,
unknown2: i32,
) -> i32;
#[psp(0x1FF89745)]
pub fn sceNetAdhocctlJoinEnterGameMode(
name: *const u8,
hostmac: *mut u8,
timeout: u32,
unknown: i32,
) -> i32;
#[psp(0x5A014CE0)]
pub fn sceNetAdhocctlGetGameModeInfo(
gamemodeinfo: *mut SceNetAdhocctlGameModeInfo,
) -> i32;
#[psp(0xCF8E084D)]
pub fn sceNetAdhocctlExitGameMode() -> i32;
#[psp(0xE162CB14)]
pub fn sceNetAdhocctlGetPeerList(
length: *mut i32,
buf: *mut c_void,
) -> i32;
#[psp(0x8DB83FDC)]
pub fn sceNetAdhocctlGetPeerInfo(
mac: *mut u8,
size: i32,
peerinfo: *mut SceNetAdhocctlPeerInfo,
) -> i32;
#[psp(0x08FFF7A0)]
pub fn sceNetAdhocctlScan() -> i32;
#[psp(0x81AEE1BE)]
pub fn sceNetAdhocctlGetScanInfo(
length: *mut i32,
buf: *mut c_void,
) -> i32;
#[psp(0x20B317A0)]
pub fn sceNetAdhocctlAddHandler(
handler: SceNetAdhocctlHandler,
unknown: *mut c_void,
) -> i32;
#[psp(0x6402490B)]
pub fn sceNetAdhocctlDelHandler(id: i32) -> i32;
#[psp(0x8916C003)]
pub fn sceNetAdhocctlGetNameByAddr(
mac: *mut u8,
nickname: *mut u8,
) -> i32;
#[psp(0x99560ABE)]
pub fn sceNetAdhocctlGetAddrByName(
nickname: *mut u8,
length: *mut i32,
buf: *mut c_void,
) -> i32;
#[psp(0xDED9D28E)]
pub fn sceNetAdhocctlGetParameter(params: *mut SceNetAdhocctlParams) -> i32;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SceNetAdhocPtpStat {
pub next: *mut SceNetAdhocPtpStat,
pub ptp_id: i32,
pub mac: [u8; 6usize],
pub peermac: [u8; 6usize],
pub port: u16,
pub peerport: u16,
pub sent_data: u32,
pub rcvd_data: u32,
pub state: ScePspnetAdhocPtpState,
}
#[repr(u32)]
#[derive(Debug, Clone, Copy)]
pub enum ScePspnetAdhocPtpState {
Closed,
Listen,
SynSent,
SynReceived,
Established,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SceNetAdhocPdpStat {
pub next: *mut SceNetAdhocPdpStat,
pub pdp_id: i32,
pub mac: [u8; 6usize],
pub port: u16,
pub rcvd_data: u32,
}
psp_extern! {
#![name = "sceNetAdhoc"]
#![flags = 0x0009]
#![version = (0x00, 0x00)]
#[psp(0xE1D621D7)]
pub fn sceNetAdhocInit() -> i32;
#[psp(0xA62C6F57)]
pub fn sceNetAdhocTerm() -> i32;
#[psp(0x6F92741B)]
pub fn sceNetAdhocPdpCreate(
mac: *mut u8,
port: u16,
buf_size: u32,
unk1: i32,
) -> i32;
#[psp(0x7F27BB5E)]
pub fn sceNetAdhocPdpDelete(
id: i32,
unk1: i32,
) -> i32;
#[psp(0xABED3790)]
pub fn sceNetAdhocPdpSend(
id: i32,
dest_mac_addr: *mut u8,
port: u16,
data: *mut c_void,
len: u32,
timeout: u32,
nonblock: i32,
) -> i32;
#[psp(0xDFE53E03)]
pub fn sceNetAdhocPdpRecv(
id: i32,
src_mac_addr: *mut u8,
port: *mut u16,
data: *mut c_void,
data_length: *mut c_void,
timeout: u32,
nonblock: i32,
) -> i32;
#[psp(0xC7C1FC57)]
pub fn sceNetAdhocGetPdpStat(
size: *mut i32,
stat: *mut SceNetAdhocPdpStat,
) -> i32;
#[psp(0x7F75C338)]
pub fn sceNetAdhocGameModeCreateMaster(
data: *mut c_void,
size: i32,
) -> i32;
#[psp(0x3278AB0C)]
pub fn sceNetAdhocGameModeCreateReplica(
mac: *mut u8,
data: *mut c_void,
size: i32,
) -> i32;
#[psp(0x98C204C8)]
pub fn sceNetAdhocGameModeUpdateMaster() -> i32;
#[psp(0xFA324B4E)]
pub fn sceNetAdhocGameModeUpdateReplica(
id: i32,
unk1: i32,
) -> i32;
#[psp(0xA0229362)]
pub fn sceNetAdhocGameModeDeleteMaster() -> i32;
#[psp(0x0B2228E9)]
pub fn sceNetAdhocGameModeDeleteReplica(id: i32) -> i32;
#[psp(0x877F6D66)]
pub fn sceNetAdhocPtpOpen(
srcmac: *mut u8,
srcport: u16,
destmac: *mut u8,
destport: u16,
buf_size: u32,
delay: u32,
count: i32,
unk1: i32,
) -> i32;
#[psp(0xFC6FC07B)]
pub fn sceNetAdhocPtpConnect(
id: i32,
timeout: u32,
nonblock: i32,
) -> i32;
#[psp(0xE08BDAC1)]
pub fn sceNetAdhocPtpListen(
srcmac: *mut u8,
srcport: u16,
buf_size: u32,
delay: u32,
count: i32,
queue: i32,
unk1: i32,
) -> i32;
#[psp(0x9DF81198)]
pub fn sceNetAdhocPtpAccept(
id: i32,
mac: *mut u8,
port: *mut u16,
timeout: u32,
nonblock: i32,
) -> i32;
#[psp(0x4DA4C788)]
pub fn sceNetAdhocPtpSend(
id: i32,
data: *mut c_void,
data_size: *mut i32,
timeout: u32,
nonblock: i32,
) -> i32;
#[psp(0x8BEA2B3E)]
pub fn sceNetAdhocPtpRecv(
id: i32,
data: *mut c_void,
data_size: *mut i32,
timeout: u32,
nonblock: i32,
) -> i32;
#[psp(0x9AC2EEAC)]
pub fn sceNetAdhocPtpFlush(
id: i32,
timeout: u32,
nonblock: i32,
) -> i32;
#[psp(0x157E6225)]
pub fn sceNetAdhocPtpClose(
id: i32,
unk1: i32,
) -> i32;
#[psp(0xB9685118)]
pub fn sceNetAdhocGetPtpStat(
size: *mut i32,
stat: *mut SceNetAdhocPtpStat,
) -> i32;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AdhocPoolStat {
pub size: i32,
pub maxsize: i32,
pub freesize: i32,
}
pub type AdhocMatchingCallback = Option<
unsafe extern "C" fn(
matching_id: i32,
event: i32,
mac: *mut u8,
opt_len: i32,
opt_data: *mut c_void,
),
>;
#[repr(u32)]
#[derive(Debug, Copy, Clone)]
pub enum AdhocMatchingMode {
Host = 1,
Client,
Ptp,
}
psp_extern! {
#![name = "sceNetAdhocMatching"]
#![flags = 0x0009]
#![version = (0x00, 0x00)]
#[psp(0x2A2A1E07)]
pub fn sceNetAdhocMatchingInit(memsize: i32) -> i32;
#[psp(0x7945ECDA)]
pub fn sceNetAdhocMatchingTerm() -> i32;
#[psp(0xCA5EDA6F)]
pub fn sceNetAdhocMatchingCreate(
mode: AdhocMatchingMode,
max_peers: i32,
port: u16,
buf_size: i32,
hello_delay: u32,
ping_delay: u32,
init_count: i32,
msg_delay: u32,
callback: AdhocMatchingCallback,
) -> i32;
#[psp(0xF16EAF4F)]
pub fn sceNetAdhocMatchingDelete(matching_id: i32) -> i32;
#[psp(0x93EF3843)]
pub fn sceNetAdhocMatchingStart(
matching_id: i32,
evth_pri: i32,
evth_stack: i32,
inth_pri: i32,
inth_stack: i32,
opt_len: i32,
opt_data: *mut c_void,
) -> i32;
#[psp(0x32B156B3)]
pub fn sceNetAdhocMatchingStop(matching_id: i32) -> i32;
#[psp(0x5E3D4B79)]
pub fn sceNetAdhocMatchingSelectTarget(
matching_id: i32,
mac: *mut u8,
opt_len: i32,
opt_data: *mut c_void,
) -> i32;
#[psp(0xEA3C6108)]
pub fn sceNetAdhocMatchingCancelTarget(
matching_id: i32,
mac: *mut u8,
) -> i32;
#[psp(0x8F58BEDF)]
pub fn sceNetAdhocMatchingCancelTargetWithOpt(
matching_id: i32,
mac: *mut u8,
opt_len: i32,
opt_data: *mut c_void,
) -> i32;
#[psp(0xF79472D7)]
pub fn sceNetAdhocMatchingSendData(
matching_id: i32,
mac: *mut u8,
data_len: i32,
data: *mut c_void,
) -> i32;
#[psp(0xEC19337D)]
pub fn sceNetAdhocMatchingAbortSendData(
matching_id: i32,
mac: *mut u8,
) -> i32;
#[psp(0xB58E61B7)]
pub fn sceNetAdhocMatchingSetHelloOpt(
matching_id: i32,
opt_len: i32,
opt_data: *mut c_void,
) -> i32;
#[psp(0xB5D96C2A)]
pub fn sceNetAdhocMatchingGetHelloOpt(
matching_id: i32,
opt_len: *mut i32,
opt_data: *mut c_void,
) -> i32;
#[psp(0xC58BCD9E)]
pub fn sceNetAdhocMatchingGetMembers(
matching_id: i32,
length: *mut i32,
buf: *mut c_void,
) -> i32;
#[psp(0x40F8F435)]
pub fn sceNetAdhocMatchingGetPoolMaxAlloc() -> i32;
#[psp(0x9C5CFB7D)]
pub fn sceNetAdhocMatchingGetPoolStat(poolstat: *mut AdhocPoolStat)
-> i32;
}
#[repr(u32)]
#[derive(Debug, Clone, Copy)]
pub enum ApctlState {
Disconnected,
Scanning,
Joining,
GettingIp,
GotIp,
EapAuth,
KeyExchange,
}
#[repr(u32)]
#[derive(Debug, Clone, Copy)]
pub enum ApctlEvent {
ConnectRequest,
ScanRequest,
ScanComplete,
Established,
GetIp,
DisconnectRequest,
Error,
Info,
EapAuth,
KeyExchange,
Reconnect,
}
#[repr(u32)]
#[derive(Debug, Clone, Copy)]
pub enum ApctlInfo {
ProfileName,
Bssid,
Ssid,
SsidLength,
SecurityType,
Strength,
Channel,
PowerSave,
Ip,
SubnetMask,
Gateway,
PrimaryDns,
SecondaryDns,
UseProxy,
ProxyUrl,
ProxyPort,
EapType,
StartBrowser,
Wifisp,
}
#[repr(u32)]
#[derive(Debug, Clone, Copy)]
pub enum ApctlInfoSecurityType {
None,
Wep,
Wpa,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union SceNetApctlInfo {
pub name: [u8; 64usize],
pub bssid: [u8; 6usize],
pub ssid: [u8; 32usize],
pub ssid_length: u32,
pub security_type: u32,
pub strength: u8,
pub channel: u8,
pub power_save: u8,
pub ip: [u8; 16usize],
pub sub_net_mask: [u8; 16usize],
pub gateway: [u8; 16usize],
pub primary_dns: [u8; 16usize],
pub secondary_dns: [u8; 16usize],
pub use_proxy: u32,
pub proxy_url: [u8; 128usize],
pub proxy_port: u16,
pub eap_type: u32,
pub start_browser: u32,
pub wifisp: u32,
}
pub type SceNetApctlHandler = Option<
unsafe extern "C" fn(oldState: i32, newState: i32, event: i32, error: i32, pArg: *mut c_void),
>;
psp_extern! {
#![name = "sceNetApctl"]
#![flags = 0x0009]
#![version = (0x00, 0x00)]
#[psp(0xE2F91F9B)]
pub fn sceNetApctlInit(
stack_size: i32,
init_priority: i32,
) -> i32;
#[psp(0xB3EDD0EC)]
pub fn sceNetApctlTerm() -> i32;
#[psp(0x2BEFDF23)]
pub fn sceNetApctlGetInfo(
code: ApctlInfo,
pinfo: *mut SceNetApctlInfo,
) -> i32;
#[psp(0x8ABADD51)]
pub fn sceNetApctlAddHandler(
handler: SceNetApctlHandler,
parg: *mut c_void,
) -> i32;
#[psp(0x5963991B)]
pub fn sceNetApctlDelHandler(handler_id: i32) -> i32;
#[psp(0xCFB957C6)]
pub fn sceNetApctlConnect(conn_index: i32) -> i32;
#[psp(0x24FE91A1)]
pub fn sceNetApctlDisconnect() -> i32;
#[psp(0x5DEAC81B)]
pub fn sceNetApctlGetState(pstate: *mut ApctlState) -> i32;
}
#[allow(non_camel_case_types)]
pub type socklen_t = u32;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct sockaddr {
pub sa_len: u8,
pub sa_family: u8,
pub sa_data: [u8; 14],
}
psp_extern! {
#![name = "sceNetInet"]
#![flags = 0x0009]
#![version = (0x00, 0x00)]
#[psp(0x17943399)]
pub fn sceNetInetInit() -> i32;
#[psp(0xA9ED66B9)]
pub fn sceNetInetTerm() -> i32;
#[psp(0xDB094E1B)]
pub fn sceNetInetAccept(
s: i32,
addr: *mut sockaddr,
addr_len: *mut socklen_t,
) -> i32;
#[psp(0x1A33F9AE)]
pub fn sceNetInetBind(
s: i32,
my_addr: *const sockaddr,
addr_len: socklen_t,
) -> i32;
#[psp(0x410B34AA)]
pub fn sceNetInetConnect(
s: i32,
serv_addr: *const sockaddr,
addr_len: socklen_t,
) -> i32;
#[psp(0x4A114C7C, i5)]
pub fn sceNetInetGetsockopt(
s: i32,
level: i32,
opt_name: i32,
opt_val: *mut c_void,
optl_en: *mut socklen_t,
) -> i32;
#[psp(0xD10A1A7A)]
pub fn sceNetInetListen(
s: i32,
backlog: i32,
) -> i32;
#[psp(0xCDA85C99)]
pub fn sceNetInetRecv(
s: i32,
buf: *mut c_void,
len: usize,
flags: i32,
) -> isize;
#[psp(0xC91142E4, i6)]
pub fn sceNetInetRecvfrom(
s: i32,
buf: *mut c_void,
len: usize,
flags: i32,
from: *mut sockaddr,
from_len: *mut socklen_t,
) -> isize;
#[psp(0x7AA671BC)]
pub fn sceNetInetSend(
s: i32,
buf: *const c_void,
len: usize,
flags: i32,
) -> isize;
#[psp(0x05038FC7, i6)]
pub fn sceNetInetSendto(
s: i32,
buf: *const c_void,
len: usize,
flags: i32,
to: *const sockaddr,
to_len: socklen_t,
) -> isize;
#[psp(0x2FE71FE7, i5)]
pub fn sceNetInetSetsockopt(
s: i32,
level: i32,
opt_name: i32,
opt_val: *const c_void,
opt_len: socklen_t,
) -> i32;
#[psp(0x4CFE4E56)]
pub fn sceNetInetShutdown(
s: i32,
how: i32,
) -> i32;
#[psp(0x8B7B220F)]
pub fn sceNetInetSocket(
domain: i32,
type_: i32,
protocol: i32,
) -> i32;
#[psp(0x8D7284EA)]
pub fn sceNetInetClose(s: i32) -> i32;
#[psp(0xFBABE411)]
pub fn sceNetInetGetErrno() -> i32;
#[psp(0x162E6FD5)]
pub fn sceNetInetGetsockname(
s: i32,
addr: *mut sockaddr,
addr_len: *mut socklen_t,
) -> i32;
#[psp(0xE247B6D6)]
pub fn sceNetInetGetpeername(
s: i32,
addr: *mut sockaddr,
addr_len: *mut socklen_t,
) -> i32;
}
psp_extern! {
#![name = "sceSsl"]
#![flags = 0x0009]
#![version = (0x00, 0x11)]
#[psp(0x957ECBE2)]
pub fn sceSslInit(unknown1: i32) -> i32;
#[psp(0x191CDEFF)]
pub fn sceSslEnd() -> i32;
#[psp(0xB99EDE6A)]
pub fn sceSslGetUsedMemoryMax(memory: *mut u32) -> i32;
#[psp(0x0EB43B06)]
pub fn sceSslGetUsedMemoryCurrent(memory: *mut u32)
-> i32;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone)]
pub enum HttpMethod {
Get,
Post,
Head,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone)]
pub enum HttpAuthType {
Basic,
Digest,
}
pub type HttpMallocFunction = Option<unsafe extern "C" fn(size: usize) -> *mut c_void>;
pub type HttpReallocFunction =
Option<unsafe extern "C" fn(p: *mut c_void, size: usize) -> *mut c_void>;
pub type HttpFreeFunction = Option<unsafe extern "C" fn(p: *mut c_void)>;
pub type HttpPasswordCB = Option<
unsafe extern "C" fn(
request: i32,
auth_type: HttpAuthType,
realm: *const u8,
username: *mut u8,
password: *mut u8,
need_entity: i32,
entity_body: *mut *mut u8,
entity_size: *mut usize,
save: *mut i32,
) -> i32,
>;
psp_extern! {
#![name = "sceHttp"]
#![flags = 0x0009]
#![version = (0x00, 0x11)]
#[psp(0xAB1ABE07)]
pub fn sceHttpInit(unknown1: u32) -> i32;
#[psp(0xD1C8945E)]
pub fn sceHttpEnd() -> i32;
#[psp(0x9B1F1F36)]
pub fn sceHttpCreateTemplate(
agent: *mut u8,
unknown1: i32,
unknown2: i32,
) -> i32;
#[psp(0xFCF8C055)]
pub fn sceHttpDeleteTemplate(templateid: i32) -> i32;
#[psp(0x8EEFD953)]
pub fn sceHttpCreateConnection(
templateid: i32,
host: *mut u8,
unknown1: *mut u8,
port: u16,
unknown2: i32,
) -> i32;
#[psp(0xCDF8ECB9)]
pub fn sceHttpCreateConnectionWithURL(
templateid: i32,
url: *const u8,
unknown1: i32,
) -> i32;
#[psp(0x5152773B)]
pub fn sceHttpDeleteConnection(connection_id: i32) -> i32;
#[psp(0x47347B50)]
pub fn sceHttpCreateRequest(
connection_id: i32,
method: HttpMethod,
path: *mut u8,
content_length: u64,
) -> i32;
#[psp(0xB509B09E)]
pub fn sceHttpCreateRequestWithURL(
connection_id: i32,
method: HttpMethod,
url: *mut u8,
content_length: u64,
) -> i32;
#[psp(0xA5512E01)]
pub fn sceHttpDeleteRequest(request_id: i32) -> i32;
#[psp(0xBB70706F)]
pub fn sceHttpSendRequest(
request_id: i32,
data: *mut c_void,
data_size: u32,
) -> i32;
#[psp(0xC10B6BD9)]
pub fn sceHttpAbortRequest(request_id: i32) -> i32;
#[psp(0xEDEEB999)]
pub fn sceHttpReadData(
request_id: i32,
data: *mut c_void,
data_size: u32,
) -> i32;
#[psp(0x0282A3BD)]
pub fn sceHttpGetContentLength(
request_id: i32,
content_length: *mut u64,
) -> i32;
#[psp(0x4CC7D78F)]
pub fn sceHttpGetStatusCode(
request_id: i32,
status_code: *mut i32,
) -> i32;
#[psp(0x47940436)]
pub fn sceHttpSetResolveTimeOut(
id: i32,
timeout: u32,
) -> i32;
#[psp(0x03D9526F)]
pub fn sceHttpSetResolveRetry(
id: i32,
count: i32,
) -> i32;
#[psp(0x8ACD1F73)]
pub fn sceHttpSetConnectTimeOut(
id: i32,
timeout: u32,
) -> i32;
#[psp(0x9988172D)]
pub fn sceHttpSetSendTimeOut(
id: i32,
timeout: u32,
) -> i32;
#[psp(0x1F0FC3E3)]
pub fn sceHttpSetRecvTimeOut(
id: i32,
timeout: u32,
) -> i32;
#[psp(0x78A0D3EC)]
pub fn sceHttpEnableKeepAlive(id: i32) -> i32;
#[psp(0xC7EF2559)]
pub fn sceHttpDisableKeepAlive(id: i32) -> i32;
#[psp(0x0809C831)]
pub fn sceHttpEnableRedirect(id: i32) -> i32;
#[psp(0x1A0EBB69)]
pub fn sceHttpDisableRedirect(id: i32) -> i32;
#[psp(0x0DAFA58F)]
pub fn sceHttpEnableCookie(id: i32) -> i32;
#[psp(0x0B12ABFB)]
pub fn sceHttpDisableCookie(id: i32) -> i32;
#[psp(0x76D1363B)]
pub fn sceHttpSaveSystemCookie() -> i32;
#[psp(0xF1657B22)]
pub fn sceHttpLoadSystemCookie() -> i32;
#[psp(0x3EABA285)]
pub fn sceHttpAddExtraHeader(
id: i32,
name: *mut u8,
value: *mut u8,
unknown1: i32,
) -> i32;
#[psp(0x15540184)]
pub fn sceHttpDeleteHeader(
id: i32,
name: *const u8,
) -> i32;
#[psp(0xE4D21302)]
pub fn sceHttpsInit(
unknown1: i32,
unknown2: i32,
unknown3: i32,
unknown4: i32,
) -> i32;
#[psp(0xF9D8EB63)]
pub fn sceHttpsEnd() -> i32;
#[psp(0x87797BDD)]
pub fn sceHttpsLoadDefaultCert(
unknown1: i32,
unknown2: i32,
) -> i32;
#[psp(0xAE948FEE)]
pub fn sceHttpDisableAuth(id: i32) -> i32;
#[psp(0xCCBD167A)]
pub fn sceHttpDisableCache(id: i32) -> i32;
#[psp(0x9FC5F10D)]
pub fn sceHttpEnableAuth(id: i32) -> i32;
#[psp(0x59E6D16F)]
pub fn sceHttpEnableCache(id: i32) -> i32;
#[psp(0x78B54C09)]
pub fn sceHttpEndCache() -> i32;
#[psp(0xDB266CCF)]
pub fn sceHttpGetAllHeader(
request: i32,
header: *mut *mut u8,
header_size: *mut u32,
) -> i32;
#[psp(0xD081EC8F)]
pub fn sceHttpGetNetworkErrno(
request: i32,
err_num: *mut i32,
) -> i32;
#[psp(0xD70D4847)]
pub fn sceHttpGetProxy(
id: i32,
activate_flag: *mut i32,
mode: *mut i32,
proxy_host: *mut u8,
len: usize,
proxy_port: *mut u16,
) -> i32;
#[psp(0xA6800C34)]
pub fn sceHttpInitCache(max_size: usize) -> i32;
#[psp(0x2A6C3296)]
pub fn sceHttpSetAuthInfoCB(
id: i32,
cbfunc: HttpPasswordCB,
) -> i32;
#[psp(0xF0F46C62)]
pub fn sceHttpSetProxy(
id: i32,
activate_flag: i32,
mode: i32,
new_proxy_host: *const u8,
new_proxy_port: u16,
) -> i32;
#[psp(0xC98CBBA7)]
pub fn sceHttpSetResHeaderMaxSize(
id: i32,
header_size: u32,
) -> i32;
#[psp(0xF49934F6)]
pub fn sceHttpSetMallocFunction(
malloc_func: HttpMallocFunction,
free_func: HttpFreeFunction,
realloc_func: HttpReallocFunction,
) -> i32;
}
#[repr(C)]
pub struct in_addr(pub u32);
psp_extern! {
#![name = "sceNetResolver"]
#![flags = 0x0009]
#![version = (0x00, 0x00)]
#[psp(0xF3370E61)]
pub fn sceNetResolverInit() -> i32;
#[psp(0x244172AF)]
pub fn sceNetResolverCreate(
rid: *mut i32,
buf: *mut c_void,
buf_length: u32,
) -> i32;
#[psp(0x94523E09)]
pub fn sceNetResolverDelete(rid: i32) -> i32;
#[psp(0x224C5F44)]
pub fn sceNetResolverStartNtoA(
rid: i32,
hostname: *const u8,
addr: *mut in_addr,
timeout: u32,
retry: i32,
) -> i32;
#[psp(0x629E2FB7)]
pub fn sceNetResolverStartAtoN(
rid: i32,
addr: *const in_addr,
hostname: *mut u8,
hostname_len: u32,
timeout: u32,
retry: i32,
) -> i32;
#[psp(0x808F6063)]
pub fn sceNetResolverStop(rid: i32) -> i32;
#[psp(0x6138194A)]
pub fn sceNetResolverTerm() -> i32;
}