rpcsx/rpcs3/Emu/ARMv7/Modules/sceNet.h

183 lines
3 KiB
C
Raw Normal View History

2015-01-30 11:48:12 +01:00
#pragma once
typedef u32 SceNetSocklen_t;
struct SceNetInAddr
{
2015-06-21 01:04:01 +02:00
le_t<u32> s_addr;
2015-01-30 11:48:12 +01:00
};
struct SceNetSockaddrIn
{
u8 sin_len;
2015-06-21 01:04:01 +02:00
u8 sin_family;
le_t<u16> sin_port;
2015-01-30 11:48:12 +01:00
SceNetInAddr sin_addr;
2015-06-21 01:04:01 +02:00
le_t<u16> sin_vport;
2015-01-30 11:48:12 +01:00
char sin_zero[6];
};
struct SceNetDnsInfo
{
SceNetInAddr dns_addr[2];
};
struct SceNetSockaddr
{
u8 sa_len;
2015-06-21 01:04:01 +02:00
u8 sa_family;
2015-01-30 11:48:12 +01:00
char sa_data[14];
};
struct SceNetEpollDataExt
{
2015-06-21 01:04:01 +02:00
le_t<s32> id;
le_t<u32> data;
2015-01-30 11:48:12 +01:00
};
union SceNetEpollData
{
2015-06-21 01:04:01 +02:00
vm::lptr<void> ptr;
le_t<s32> fd;
le_t<u32> _u32;
le_t<u64> _u64;
2015-01-30 11:48:12 +01:00
SceNetEpollDataExt ext;
};
struct SceNetEpollSystemData
{
2015-06-21 01:04:01 +02:00
le_t<u32> system[4];
2015-01-30 11:48:12 +01:00
};
struct SceNetEpollEvent
{
2015-06-21 01:04:01 +02:00
le_t<u32> events;
le_t<u32> reserved;
2015-01-30 11:48:12 +01:00
SceNetEpollSystemData system;
SceNetEpollData data;
};
struct SceNetEtherAddr
{
u8 data[6];
};
typedef u32 SceNetIdMask;
struct SceNetFdSet
{
SceNetIdMask bits[32];
};
struct SceNetIpMreq
{
SceNetInAddr imr_multiaddr;
SceNetInAddr imr_interface;
};
struct SceNetInitParam
{
2015-06-21 01:04:01 +02:00
vm::lptr<void> memory;
le_t<s32> size;
le_t<s32> flags;
2015-01-30 11:48:12 +01:00
};
struct SceNetEmulationData
{
2015-06-21 01:04:01 +02:00
le_t<u16> drop_rate;
le_t<u16> drop_duration;
le_t<u16> pass_duration;
le_t<u16> delay_time;
le_t<u16> delay_jitter;
le_t<u16> order_rate;
le_t<u16> order_delay_time;
le_t<u16> duplication_rate;
le_t<u32> bps_limit;
le_t<u16> lower_size_limit;
le_t<u16> upper_size_limit;
le_t<u32> system_policy_pattern;
le_t<u32> game_policy_pattern;
le_t<u16> policy_flags[64];
2015-01-30 11:48:12 +01:00
u8 reserved[64];
};
struct SceNetEmulationParam
{
2015-06-21 01:04:01 +02:00
le_t<u16> version;
le_t<u16> option_number;
le_t<u16> current_version;
le_t<u16> result;
le_t<u32> flags;
le_t<u32> reserved1;
2015-01-30 11:48:12 +01:00
SceNetEmulationData send;
SceNetEmulationData recv;
2015-06-21 01:04:01 +02:00
le_t<u32> seed;
2015-01-30 11:48:12 +01:00
u8 reserved[44];
};
2015-07-26 14:10:06 +02:00
using SceNetResolverFunctionAllocate = vm::ptr<void>(u32 size, s32 rid, vm::cptr<char> name, vm::ptr<void> user);
using SceNetResolverFunctionFree = void(vm::ptr<void> ptr, s32 rid, vm::cptr<char> name, vm::ptr<void> user);
2015-01-30 11:48:12 +01:00
struct SceNetResolverParam
{
2015-06-21 01:04:01 +02:00
vm::lptr<SceNetResolverFunctionAllocate> allocate;
vm::lptr<SceNetResolverFunctionFree> free;
vm::lptr<void> user;
2015-01-30 11:48:12 +01:00
};
struct SceNetLinger
{
2015-06-21 01:04:01 +02:00
le_t<s32> l_onoff;
le_t<s32> l_linger;
2015-01-30 11:48:12 +01:00
};
struct SceNetIovec
{
2015-06-21 01:04:01 +02:00
vm::lptr<void> iov_base;
le_t<u32> iov_len;
2015-01-30 11:48:12 +01:00
};
struct SceNetMsghdr
{
2015-06-21 01:04:01 +02:00
vm::lptr<void> msg_name;
le_t<u32> msg_namelen;
vm::lptr<SceNetIovec> msg_iov;
le_t<s32> msg_iovlen;
vm::lptr<void> msg_control;
le_t<u32> msg_controllen;
le_t<s32> msg_flags;
2015-01-30 11:48:12 +01:00
};
struct SceNetSockInfo
{
char name[32];
2015-06-21 01:04:01 +02:00
le_t<s32> pid;
le_t<s32> s;
2015-01-30 11:48:12 +01:00
s8 socket_type;
s8 policy;
2015-06-21 01:04:01 +02:00
le_t<s16> reserved16;
le_t<s32> recv_queue_length;
le_t<s32> send_queue_length;
2015-01-30 11:48:12 +01:00
SceNetInAddr local_adr;
SceNetInAddr remote_adr;
2015-06-21 01:04:01 +02:00
le_t<u16> local_port;
le_t<u16> remote_port;
le_t<u16> local_vport;
le_t<u16> remote_vport;
le_t<s32> state;
le_t<s32> flags;
le_t<s32> reserved[8];
2015-01-30 11:48:12 +01:00
};
struct SceNetStatisticsInfo
{
2015-06-21 01:04:01 +02:00
le_t<s32> kernel_mem_free_size;
le_t<s32> kernel_mem_free_min;
le_t<s32> packet_count;
le_t<s32> packet_qos_count;
le_t<s32> libnet_mem_free_size;
le_t<s32> libnet_mem_free_min;
2015-01-30 11:48:12 +01:00
};
extern psv_log_base sceNet;