Create socket_create
This commit is contained in:
parent
0badc3ffd2
commit
62508eca77
|
@ -31,10 +31,16 @@
|
|||
|
||||
RETRO_BEGIN_DECLS
|
||||
|
||||
enum socket_domain
|
||||
{
|
||||
SOCKET_DOMAIN_INET = 0
|
||||
};
|
||||
|
||||
enum socket_type
|
||||
{
|
||||
SOCKET_TYPE_DATAGRAM = 0,
|
||||
SOCKET_TYPE_STREAM
|
||||
SOCKET_TYPE_STREAM,
|
||||
SOCKET_TYPE_SEQPACKET
|
||||
};
|
||||
|
||||
int socket_init(void **address, uint16_t port, const char *server, enum socket_type type);
|
||||
|
@ -57,6 +63,8 @@ bool socket_bind(int fd, void *data);
|
|||
|
||||
int socket_connect(int fd, void *data, bool timeout_enable);
|
||||
|
||||
int socket_create(const char *name, enum socket_domain domain_type, enum socket_type socket_type, int protocol);
|
||||
|
||||
RETRO_END_DECLS
|
||||
|
||||
#endif
|
||||
|
|
|
@ -49,6 +49,9 @@ int socket_init(void **address, uint16_t port, const char *server, enum socket_t
|
|||
case SOCKET_TYPE_STREAM:
|
||||
hints.ai_socktype = SOCK_STREAM;
|
||||
break;
|
||||
case SOCKET_TYPE_SEQPACKET:
|
||||
/* TODO/FIXME - implement? */
|
||||
break;
|
||||
}
|
||||
|
||||
if (!server)
|
||||
|
@ -211,3 +214,60 @@ int socket_connect(int fd, void *data, bool timeout_enable)
|
|||
|
||||
return connect(fd, addr->ai_addr, addr->ai_addrlen);
|
||||
}
|
||||
|
||||
int socket_create(
|
||||
const char *name,
|
||||
enum socket_domain domain_type,
|
||||
enum socket_type socket_type,
|
||||
int protocol)
|
||||
{
|
||||
#ifdef VITA
|
||||
int type = 0;
|
||||
int domain = 0;
|
||||
|
||||
switch (domain_type)
|
||||
{
|
||||
case SOCKET_DOMAIN_INET:
|
||||
domain = PSP2_NET_AF_INET;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (socket_type)
|
||||
{
|
||||
case SOCKET_TYPE_DATAGRAM:
|
||||
type = PSP2_NET_SOCK_DGRAM;
|
||||
break;
|
||||
case SOCKET_TYPE_STREAM:
|
||||
type = PSP2_NET_SOCK_STREAM;
|
||||
break;
|
||||
case SOCKET_TYPE_SEQPACKET:
|
||||
/* TODO/FIXME - implement */
|
||||
break;
|
||||
}
|
||||
return sceNetSocket(name, domain, type, protocol);
|
||||
#else
|
||||
int type = 0;
|
||||
int domain = 0;
|
||||
|
||||
switch (domain_type)
|
||||
{
|
||||
case SOCKET_DOMAIN_INET:
|
||||
domain = AF_INET;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (socket_type)
|
||||
{
|
||||
case SOCKET_TYPE_DATAGRAM:
|
||||
type = SOCK_DGRAM;
|
||||
break;
|
||||
case SOCKET_TYPE_STREAM:
|
||||
type = SOCK_STREAM;
|
||||
break;
|
||||
case SOCKET_TYPE_SEQPACKET:
|
||||
/* TODO/FIXME - implement */
|
||||
break;
|
||||
}
|
||||
return socket(domain, type, protocol);
|
||||
#endif
|
||||
}
|
||||
|
|
13
netlogger.c
13
netlogger.c
|
@ -63,8 +63,11 @@ static int network_interface_up(struct sockaddr_in *target, int index,
|
|||
sceNetInit(&initparam);
|
||||
}
|
||||
|
||||
*s = sceNetSocket("RA_netlogger",
|
||||
PSP2_NET_AF_INET, PSP2_NET_SOCK_DGRAM, 0);
|
||||
*s = socket_create(
|
||||
"ra_netlogger",
|
||||
SOCKET_DOMAIN_INET,
|
||||
SOCKET_TYPE_DATAGRAM,
|
||||
0);
|
||||
|
||||
target->sin_family = PSP2_NET_AF_INET;
|
||||
target->sin_port = sceNetHtons(udp_port);
|
||||
|
@ -101,7 +104,11 @@ static int network_interface_up(struct sockaddr_in *target, int index,
|
|||
if (ret < 0)
|
||||
return -1;
|
||||
|
||||
*s = socket(AF_INET, SOCK_DGRAM, 0);
|
||||
*s = socket_create(
|
||||
"ra_netlogger",
|
||||
SOCKET_DOMAIN_INET,
|
||||
SOCKET_TYPE_DATAGRAM,
|
||||
0);
|
||||
|
||||
target->sin_family = AF_INET;
|
||||
target->sin_port = htons(udp_port);
|
||||
|
|
Loading…
Reference in New Issue