ps2sdk  1.1
A collection of Open Source libraries used for developing applications on Sony's PlayStation 2® (PS2).
ps2ip_rpc.h
Go to the documentation of this file.
1 
7 #ifndef __PS2IP_RPC_H__
8 #define __PS2IP_RPC_H__
9 
10 #include <tamtypes.h>
11 #include <tcpip.h>
12 #include <sys/time.h>
13 
14 #define PS2IP_IRX 0xB0125F2
15 
36 #ifdef PS2IP_DNS
37  /* Not implemented:
38  gethostbyname_r -> Redudant because it gets called over the RPC.
39  freeaddrinfo -> too complicated and probably nobody uses it?
40  getaddrinfo -> too complicated and probably nobody uses it? */
41 
42  PS2IPS_ID_DNS_SETSERVER,
43  PS2IPS_ID_DNS_GETSERVER,
44 #endif
45 
47 };
48 
49 typedef struct {
53 } socket_pkt;
54 
55 typedef struct {
58  u8 *sbuf;
59  u8 *ebuf;
60  u8 sbuffer[64];
61  u8 ebuffer[64];
62 } rests_pkt;
63 
64 typedef struct {
68  void *ee_addr;
69  struct sockaddr sockaddr; // sizeof = 16
72  u8 malign_buff[64];
73 } send_pkt;
74 
75 typedef struct {
79  void *ee_addr;
80  void *intr_data;
81 } s_recv_pkt;
82 
83 typedef struct {
85  struct sockaddr sockaddr;
86 } r_recv_pkt;
87 
88 typedef struct {
90  struct sockaddr sockaddr;
92 } cmd_pkt;
93 
94 typedef struct {
96  struct sockaddr sockaddr;
97 } ret_pkt;
98 
99 typedef struct {
102 } listen_pkt;
103 
104 typedef struct {
109 
110 typedef struct {
113  u8 buffer[128];
115 
116 typedef struct {
121  u8 buffer[128];
123 
124 typedef struct {
125  union {
128  };
129  struct timeval *timeout_p;
130  struct timeval timeout;
131  struct fd_set *readset_p;
133  struct fd_set *exceptset_p;
134  struct fd_set readset;
135  struct fd_set writeset;
136  struct fd_set exceptset;
137 } select_pkt;
138 
139 typedef struct {
140  union {
143  };
145  void *argp;
147 } ioctl_pkt;
148 
149 #ifdef PS2IP_DNS
150 struct hostent_res{
151  s16 h_addrtype;
152  s16 h_length;
154 };
155 
156 typedef struct {
157  s32 result;
158  struct hostent_res hostent;
160 
161 typedef struct {
162  ip_addr_t dnsserver;
163  u8 numdns;
165 
166 typedef struct {
167  ip_addr_t dnsserver;
169 
170 #endif
171 
172 #endif /* __PS2IP_RPC_H__ */
#define socket(a, b, c)
Definition: ps2ip.h:68
PS2IPS_RPC_ID
Definition: ps2ip_rpc.h:16
@ PS2IPS_ID_IOCTL
Definition: ps2ip_rpc.h:30
@ PS2IPS_ID_SEND
Definition: ps2ip_rpc.h:24
@ PS2IPS_ID_ACCEPT
Definition: ps2ip_rpc.h:17
@ PS2IPS_ID_SETCONFIG
Definition: ps2ip_rpc.h:27
@ PS2IPS_ID_GETHOSTBYNAME
Definition: ps2ip_rpc.h:35
@ PS2IPS_ID_GETCONFIG
Definition: ps2ip_rpc.h:28
@ PS2IPS_ID_CONNECT
Definition: ps2ip_rpc.h:20
@ PS2IPS_ID_RECV
Definition: ps2ip_rpc.h:22
@ PS2IPS_ID_LISTEN
Definition: ps2ip_rpc.h:21
@ PS2IPS_ID_GETPEERNAME
Definition: ps2ip_rpc.h:32
@ PS2IPS_ID_SENDTO
Definition: ps2ip_rpc.h:25
@ PS2IPS_ID_RECVFROM
Definition: ps2ip_rpc.h:23
@ PS2IPS_ID_SETSOCKOPT
Definition: ps2ip_rpc.h:34
@ PS2IPS_ID_SELECT
Definition: ps2ip_rpc.h:29
@ PS2IPS_ID_DISCONNECT
Definition: ps2ip_rpc.h:19
@ PS2IPS_ID_BIND
Definition: ps2ip_rpc.h:18
@ PS2IPS_ID_GETSOCKOPT
Definition: ps2ip_rpc.h:33
@ PS2IPS_ID_GETSOCKNAME
Definition: ps2ip_rpc.h:31
@ PS2IPS_ID_SOCKET
Definition: ps2ip_rpc.h:26
@ PS2IPS_ID_COUNT
Definition: ps2ip_rpc.h:46
socket_pkt socket_pkt
Definition: ps2ipc.c:36
dns_getserver_res_pkt dns_getserver_res_pkt
Definition: ps2ipc.c:47
s_recv_pkt s_recv_pkt
Definition: ps2ipc.c:33
gethostbyname_res_pkt gethostbyname_res_pkt
Definition: ps2ipc.c:45
u8 numdns
Definition: ps2ipc.c:48
r_recv_pkt r_recv_pkt
Definition: ps2ipc.c:34
getsockopt_pkt getsockopt_pkt
Definition: ps2ipc.c:41
dns_setserver_pkt dns_setserver_pkt
Definition: ps2ipc.c:46
setsockopt_pkt setsockopt_pkt
Definition: ps2ipc.c:43
ioctl_pkt ioctl_pkt
Definition: ps2ipc.c:40
send_pkt send_pkt
Definition: ps2ipc.c:35
getsockopt_res_pkt getsockopt_res_pkt
Definition: ps2ipc.c:42
select_pkt select_pkt
Definition: ps2ipc.c:39
listen_pkt listen_pkt
Definition: ps2ipc.c:32
cmd_pkt cmd_pkt
Definition: ps2ipc.c:31
u8 buffer[128]
Definition: rpc_client.c:19
s32 result
Definition: rpc_client.c:23
s32 len
Definition: ps2ip_rpc.h:91
Definition: tcpip.h:1602
void * argp
Definition: ps2ip_rpc.h:145
s32 result
Definition: ps2ip_rpc.h:142
u32 value
Definition: ps2ip_rpc.h:146
s32 backlog
Definition: ps2ip_rpc.h:101
u8 * sbuf
Definition: ps2ip_rpc.h:58
s32 ssize
Definition: ps2ip_rpc.h:56
u8 * ebuf
Definition: ps2ip_rpc.h:59
s32 esize
Definition: ps2ip_rpc.h:57
s32 retval
Definition: ps2ip_rpc.h:95
void * ee_addr
Definition: ps2ip_rpc.h:79
void * intr_data
Definition: ps2ip_rpc.h:80
s32 socket
Definition: ps2ip_rpc.h:76
s32 flags
Definition: ps2ip_rpc.h:78
s32 length
Definition: ps2ip_rpc.h:77
struct fd_set * readset_p
Definition: ps2ip_rpc.h:131
struct fd_set * writeset_p
Definition: ps2ip_rpc.h:132
s32 maxfdp1
Definition: ps2ip_rpc.h:126
s32 result
Definition: ps2ip_rpc.h:127
void * ee_addr
Definition: ps2ip_rpc.h:68
s32 malign
Definition: ps2ip_rpc.h:70
s32 socket
Definition: ps2ip_rpc.h:65
s32 flags
Definition: ps2ip_rpc.h:67
s32 length
Definition: ps2ip_rpc.h:66
s32 domain
Definition: ps2ip_rpc.h:50
s32 type
Definition: ps2ip_rpc.h:51
s32 protocol
Definition: ps2ip_rpc.h:52
signed int s32
Definition: tamtypes.h:58
unsigned int u32
Definition: tamtypes.h:30
signed short s16
Definition: tamtypes.h:52
unsigned char u8
Definition: tamtypes.h:23
#define h_addr
Definition: tcpip.h:1710
ip4_addr_t ip_addr_t
Definition: tcpip.h:747