ps2sdk  1.1
A collection of Open Source libraries used for developing applications on Sony's PlayStation 2® (PS2).
ps2ip.h
Go to the documentation of this file.
1 /*
2 # _____ ___ ____ ___ ____
3 # ____| | ____| | | |____|
4 # | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5 #-----------------------------------------------------------------------
6 # Copyright (c) 2003 Marcus R. Brown <mrbrown@0xd6.org>
7 # Licenced under Academic Free License version 2.0
8 # Review ps2sdk README & LICENSE files for further details.
9 */
10 
16 #ifndef __PS2IP_H__
17 #define __PS2IP_H__
18 
19 #include <stddef.h>
20 #include <tcpip.h>
21 
23 int ps2ipInit(struct ip4_addr *ip_address, struct ip4_addr *subnet_mask, struct ip4_addr *gateway);
24 void ps2ipDeinit(void);
29 void ps2ipSetHsyncTicksPerMSec(unsigned char ticks);
30 
31 /* From include/lwip/sockets.h: */
32 int lwip_accept(int s, struct sockaddr *addr, socklen_t *addrlen);
33 int lwip_bind(int s, const struct sockaddr *name, socklen_t namelen);
34 int lwip_shutdown(int s, int how);
35 int lwip_getpeername (int s, struct sockaddr *name, socklen_t *namelen);
36 int lwip_getsockname (int s, struct sockaddr *name, socklen_t *namelen);
37 int lwip_getsockopt (int s, int level, int optname, void *optval, socklen_t *optlen);
38 int lwip_setsockopt (int s, int level, int optname, const void *optval, socklen_t optlen);
39 int lwip_close(int s);
40 int lwip_connect(int s, const struct sockaddr *name, socklen_t namelen);
41 int lwip_listen(int s, int backlog);
42 int lwip_recv(int s, void *mem, size_t len, int flags);
43 int lwip_read(int s, void *mem, size_t len);
44 int lwip_recvfrom(int s, void *mem, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen);
45 int lwip_send(int s, const void *dataptr, size_t size, int flags);
46 int lwip_sendto(int s, const void *dataptr, size_t size, int flags, const struct sockaddr *to, socklen_t tolen);
47 int lwip_socket(int domain, int type, int protocol);
48 int lwip_write(int s, const void *dataptr, size_t size);
49 int lwip_select(int maxfdp1, fd_set *readset, fd_set *writeset, fd_set *exceptset, struct timeval *timeout);
50 int lwip_ioctl(int s, long cmd, void *argp);
51 int lwip_fcntl(int s, int cmd, int val);
52 
53 #define accept(a,b,c) lwip_accept(a,b,c)
54 #define bind(a,b,c) lwip_bind(a,b,c)
55 #define shutdown(a,b) lwip_shutdown(a,b)
56 #define disconenct(s) lwip_close(s)
57 #define closesocket(s) lwip_close(s)
58 #define connect(a,b,c) lwip_connect(a,b,c)
59 #define getsockname(a,b,c) lwip_getsockname(a,b,c)
60 #define getpeername(a,b,c) lwip_getpeername(a,b,c)
61 #define setsockopt(a,b,c,d,e) lwip_setsockopt(a,b,c,d,e)
62 #define getsockopt(a,b,c,d,e) lwip_getsockopt(a,b,c,d,e)
63 #define listen(a,b) lwip_listen(a,b)
64 #define recv(a,b,c,d) lwip_recv(a,b,c,d)
65 #define recvfrom(a,b,c,d,e,f) lwip_recvfrom(a,b,c,d,e,f)
66 #define send(a,b,c,d) lwip_send(a,b,c,d)
67 #define sendto(a,b,c,d,e,f) lwip_sendto(a,b,c,d,e,f)
68 #define socket(a,b,c) lwip_socket(a,b,c)
69 #define select(a,b,c,d,e) lwip_select(a,b,c,d,e)
70 #define ioctlsocket(a,b,c) lwip_ioctl(a,b,c)
71 
74 err_t ps2ip_input(struct pbuf *p, struct netif *inp);
75 
76 /* From include/netif/etharp.h: */
77 err_t etharp_output(struct netif *netif, struct pbuf *q, const ip_addr_t *ipaddr);
78 
79 /* From include/lwip/inet.h: */
80 /* directly map this to the lwip internal functions */
81 #define inet_addr(cp) ipaddr_addr(cp)
82 #define inet_aton(cp, addr) ip4addr_aton(cp, (ip4_addr_t*)addr)
83 #define inet_ntoa(addr) ip4addr_ntoa((const ip4_addr_t*)&(addr))
84 #define inet_ntoa_r(addr, buf, buflen) ip4addr_ntoa_r((const ip4_addr_t*)&(addr), buf, buflen)
85 
86 u32 ipaddr_addr(const char *cp);
87 int ip4addr_aton(const char *cp, ip4_addr_t *addr);
89 char *ip4addr_ntoa(const ip4_addr_t *addr);
90 char *ip4addr_ntoa_r(const ip4_addr_t *addr, char *buf, int buflen);
91 
92 /* From include/lwip/tcpip.h: */
93 err_t tcpip_input(struct pbuf *p, struct netif *inp);
94 
95 /* From include/lwip/netif.h: */
96 struct netif *netif_add(struct netif *netif,
97 #if LWIP_IPV4
98  const ip4_addr_t *ipaddr, const ip4_addr_t *netmask, const ip4_addr_t *gw,
99 #endif /* LWIP_IPV4 */
100  void *state, netif_init_fn init, netif_input_fn input);
101 #define I_netif_add DECLARE_IMPORT(26, netif_add)
102 
107 struct netif *netif_find(const char *name);
109 void netif_set_ipaddr(struct netif *netif, const ip4_addr_t *ipaddr);
110 void netif_set_netmask(struct netif *netif, const ip4_addr_t *netmask);
111 void netif_set_gw(struct netif *netif, const ip4_addr_t *gw);
112 void netif_set_up(struct netif *netif);
113 void netif_set_down(struct netif *netif);
114 
116 void pbuf_realloc(struct pbuf *p, u16 size);
117 u8 pbuf_header(struct pbuf *p, s16 header_size);
118 void pbuf_ref(struct pbuf *p);
119 u8 pbuf_free(struct pbuf *p);
120 u8 pbuf_clen(struct pbuf *p);
121 void pbuf_chain(struct pbuf *h, struct pbuf *t);
122 struct pbuf* pbuf_dechain(struct pbuf *p);
123 struct pbuf* pbuf_take(struct pbuf *f);
124 struct pbuf* pbuf_coalesce(struct pbuf *p, pbuf_layer layer);
125 
126 #ifdef PS2IP_DNS
127 /* From include/lwip/netdb.h: */
128 struct hostent *lwip_gethostbyname(const char *name);
129 int lwip_gethostbyname_r(const char *name, struct hostent *ret, char *buf,
130  size_t buflen, struct hostent **result, int *h_errnop);
131 void lwip_freeaddrinfo(struct addrinfo *ai);
132 int lwip_getaddrinfo(const char *nodename,
133  const char *servname,
134  const struct addrinfo *hints,
135  struct addrinfo **res);
136 
137 /* From include/lwip/dns.h: */
138 void dns_setserver(u8 numdns, const ip_addr_t *dnsserver);
140 #endif
141 
142 #endif /* __PS2IP_H__ */
int lwip_select(int maxfdp1, fd_set *readset, fd_set *writeset, fd_set *exceptset, struct timeval *timeout)
void netif_set_netmask(struct netif *netif, const ip4_addr_t *netmask)
int ps2ip_setconfig(const t_ip_info *ip_info)
Definition: ps2ip.c:79
int lwip_getpeername(int s, struct sockaddr *name, socklen_t *namelen)
void pbuf_realloc(struct pbuf *p, u16 size)
char * ip4addr_ntoa(const ip4_addr_t *addr)
struct pbuf * pbuf_take(struct pbuf *f)
char * ip4addr_ntoa_r(const ip4_addr_t *addr, char *buf, int buflen)
u8 pbuf_header(struct pbuf *p, s16 header_size)
int lwip_connect(int s, const struct sockaddr *name, socklen_t namelen)
int ps2ipInit(struct ip4_addr *ip_address, struct ip4_addr *subnet_mask, struct ip4_addr *gateway)
Definition: ps2ip.c:316
int lwip_accept(int s, struct sockaddr *addr, socklen_t *addrlen)
int lwip_write(int s, const void *dataptr, size_t size)
int lwip_recvfrom(int s, void *mem, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen)
struct pbuf * pbuf_coalesce(struct pbuf *p, pbuf_layer layer)
struct pbuf * pbuf_alloc(pbuf_layer l, u16 size, pbuf_type type)
int lwip_recv(int s, void *mem, size_t len, int flags)
void netif_set_down(struct netif *netif)
int lwip_setsockopt(int s, int level, int optname, const void *optval, socklen_t optlen)
struct netif * netif_add(struct netif *netif, void *state, netif_init_fn init, netif_input_fn input)
u32 ipaddr_addr(const char *cp)
struct netif * netif_find(const char *name)
u8 pbuf_clen(struct pbuf *p)
void netif_set_ipaddr(struct netif *netif, const ip4_addr_t *ipaddr)
void pbuf_ref(struct pbuf *p)
void ps2ipSetHsyncTicksPerMSec(unsigned char ticks)
Definition: ps2ip.c:346
int lwip_getsockname(int s, struct sockaddr *name, socklen_t *namelen)
void pbuf_chain(struct pbuf *h, struct pbuf *t)
void netif_set_gw(struct netif *netif, const ip4_addr_t *gw)
int ps2ip_getconfig(char *netif_name, t_ip_info *ip_info)
Definition: ps2ip.c:41
u8 pbuf_free(struct pbuf *p)
int lwip_bind(int s, const struct sockaddr *name, socklen_t namelen)
int lwip_read(int s, void *mem, size_t len)
int lwip_send(int s, const void *dataptr, size_t size, int flags)
int lwip_sendto(int s, const void *dataptr, size_t size, int flags, const struct sockaddr *to, socklen_t tolen)
void ps2ipDeinit(void)
Definition: ps2ip.c:342
int lwip_listen(int s, int backlog)
struct pbuf * pbuf_dechain(struct pbuf *p)
void netif_set_default(struct netif *netif)
err_t etharp_output(struct netif *netif, struct pbuf *q, const ip_addr_t *ipaddr)
err_t ps2ip_input(struct pbuf *p, struct netif *inp)
int lwip_socket(int domain, int type, int protocol)
int lwip_shutdown(int s, int how)
err_t tcpip_input(struct pbuf *p, struct netif *inp)
int lwip_getsockopt(int s, int level, int optname, void *optval, socklen_t *optlen)
int lwip_fcntl(int s, int cmd, int val)
void netif_set_up(struct netif *netif)
int ip4addr_aton(const char *cp, ip4_addr_t *addr)
int lwip_ioctl(int s, long cmd, void *argp)
int lwip_close(int s)
char netif_name[8]
Definition: ps2ipc.c:38
u8 numdns
Definition: ps2ipc.c:48
s32 s
Definition: ps2ipc.c:30
t_ip_info ip_info
Definition: ps2ipc.c:37
void dns_setserver(u8 numdns, ip_addr_t *dnsserver)
const ip_addr_t * dns_getserver(u8 numdns)
s32 result
Definition: rpc_client.c:23
Definition: tcpip.h:1602
Definition: tcpip.h:1065
char name[2]
Definition: tcpip.h:1147
ip_addr_t gw
Definition: tcpip.h:1073
ip_addr_t netmask
Definition: tcpip.h:1072
void * state
Definition: tcpip.h:1119
netif_input_fn input
Definition: tcpip.h:1084
Definition: tcpip.h:165
u8 type
Definition: tcpip.h:185
unsigned int u32
Definition: tamtypes.h:30
signed short s16
Definition: tamtypes.h:52
unsigned short u16
Definition: tamtypes.h:24
unsigned char u8
Definition: tamtypes.h:23
err_t(* netif_init_fn)(struct netif *netif)
Definition: tcpip.h:995
#define LWIP_IPV4
Definition: tcpip.h:36
signed char err_t
Definition: tcpip.h:95
int socklen_t
Definition: tcpip.h:1350
err_t(* netif_input_fn)(struct pbuf *p, struct netif *inp)
Definition: tcpip.h:1002
pbuf_type
Definition: tcpip.h:139
ip4_addr_t ip_addr_t
Definition: tcpip.h:747
pbuf_layer
Definition: tcpip.h:110