#include <errno.h>
#include <string.h>
#include <sys/iosupport.h>
+#include <sys/socket.h>
#include <3ds/types.h>
#include <3ds/svc.h>
#include <3ds/srv.h>
}
s32 _net_convert_error(s32 sock_retval);
+
+ssize_t soc_recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen);
+
+ssize_t soc_sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen);
size_t len)
{
Handle sockfd = *(Handle*)fd;
- return send(sockfd, ptr, len, 0);
+ return soc_sendto(sockfd, ptr, len, 0, NULL, 0);
}
static ssize_t
size_t len)
{
Handle sockfd = *(Handle*)fd;
- return recv(sockfd, ptr, len, 0);
+ return soc_recvfrom(sockfd, ptr, len, 0, NULL, 0);
}
return ret;
}
+ssize_t soc_recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen)
+{
+ if(len < 0x2000)
+ return socuipc_cmd8(sockfd, buf, len, flags, src_addr, addrlen);
+ return socuipc_cmd7(sockfd, buf, len, flags, src_addr, addrlen);
+}
ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen)
{
return -1;
}
- if(len < 0x2000)
- return socuipc_cmd8(sockfd, buf, len, flags, src_addr, addrlen);
- return socuipc_cmd7(sockfd, buf, len, flags, src_addr, addrlen);
+ return soc_recvfrom(sockfd, buf, len, flags, src_addr, addrlen);
}
return ret;
}
+ssize_t soc_sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen)
+{
+ if(len < 0x2000)
+ return socuipc_cmda(sockfd, buf, len, flags, dest_addr, addrlen);
+ return socuipc_cmd9(sockfd, buf, len, flags, dest_addr, addrlen);
+}
+
ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen)
{
sockfd = soc_get_fd(sockfd);
return -1;
}
- if(len < 0x2000)
- return socuipc_cmda(sockfd, buf, len, flags, dest_addr, addrlen);
- return socuipc_cmd9(sockfd, buf, len, flags, dest_addr, addrlen);
+ return soc_sendto(sockfd, buf, len, flags, dest_addr, addrlen);
}