From d62f85023195be8e2978c89ac39dd2c57372008b Mon Sep 17 00:00:00 2001 From: TAKADA Mitsutaka Date: Sun, 22 May 2022 15:28:52 +0900 Subject: [PATCH 1/3] Switched the order of the include. --- src/lib/target/target_os_api.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/target/target_os_api.h b/src/lib/target/target_os_api.h index c8165978..744b6144 100644 --- a/src/lib/target/target_os_api.h +++ b/src/lib/target/target_os_api.h @@ -49,8 +49,8 @@ */ #define TARGET_OS_SOCKET_TYPE int #else -#include #include +#include /* * Winsock */ From 2eaf49f0e43e4746a93282d6908f9c9e5de9633c Mon Sep 17 00:00:00 2001 From: TAKADA Mitsutaka Date: Sun, 22 May 2022 15:31:40 +0900 Subject: [PATCH 2/3] Add include directive of winsock2.h for Windows build. --- .../peripheral/athrill_syscall_device.c | 46 +++++++++++++++++++ src/lib/tcp/tcp_client.c | 4 ++ src/lib/tcp/tcp_connection.c | 12 +++++ src/lib/tcp/tcp_server.c | 9 +++- src/lib/tcp/tcp_socket.c | 4 ++ 5 files changed, 74 insertions(+), 1 deletion(-) diff --git a/src/device/peripheral/athrill_syscall_device.c b/src/device/peripheral/athrill_syscall_device.c index 83ba8cab..01b24d3a 100644 --- a/src/device/peripheral/athrill_syscall_device.c +++ b/src/device/peripheral/athrill_syscall_device.c @@ -5,10 +5,14 @@ #include #include #include +#ifdef OS_LINUX #include #include #include #include +#else +#include +#endif #include #include #include @@ -128,7 +132,13 @@ static void athrill_syscall_none(AthrillSyscallArgType *arg) } static void athrill_syscall_socket(AthrillSyscallArgType *arg) { +#ifdef OS_LINUX int sockfd = socket(AF_INET, SOCK_STREAM | SOCK_NONBLOCK, 0); +#else + int sockfd = socket(AF_INET, SOCK_STREAM , 0); + u_long val=1; + ioctlsocket(sockfd, FIONBIO, &val); +#endif if (sockfd < 0) { printf("ERROR:%s(): errno=%d\n", __FUNCTION__, errno); return; @@ -143,7 +153,11 @@ static void athrill_syscall_sense(AthrillSyscallArgType *arg) struct timeval tv; int retval; int val; +#ifdef OS_LINUX socklen_t len = sizeof(val); +#else + int len = sizeof(val); +#endif FD_ZERO(&fds); FD_SET(arg->body.api_sense.sockfd, &fds); @@ -228,7 +242,11 @@ static void athrill_syscall_accept(AthrillSyscallArgType *arg) Std_ReturnType err; struct sockaddr_in client_addr; struct sys_sockaddr_in *sockaddrp; +#ifdef OS_LINUX socklen_t addrlen; +#else + int addrlen; +#endif sys_uint32 *addrlenp; err = mpu_get_pointer(0U, arg->body.api_accept.sockaddr, (uint8 **)&sockaddrp); @@ -387,7 +405,11 @@ static void athrill_syscall_send(AthrillSyscallArgType *arg) if (err != 0) { return; } +#ifdef OS_LINUX ret = send(arg->body.api_send.sockfd, bufp, arg->body.api_send.len, MSG_DONTWAIT); +#else + ret = send(arg->body.api_send.sockfd, bufp, arg->body.api_send.len, 0); +#endif if (ret < 0) { arg->ret_value = -errno; } @@ -405,7 +427,11 @@ static void athrill_syscall_recv(AthrillSyscallArgType *arg) if (err != 0) { return; } +#ifdef OS_LINUX ret = recv(arg->body.api_recv.sockfd, bufp, arg->body.api_recv.len, MSG_DONTWAIT); +#else + ret = recv(arg->body.api_recv.sockfd, bufp, arg->body.api_recv.len, 0); +#endif if (ret < 0) { arg->ret_value = -errno; } @@ -503,11 +529,19 @@ static int create_directory(const char* dir) { int ret = 0; +#ifdef OS_LINUX if ( (mkdir(dir,0777) == -1) && (errno != EEXIST) ) { printf("create_directory() mkdir failed path=%s errno=0x%x", dir, errno); ret = -1; } +#else + if ( (_mkdir(dir) == -1) && (errno != EEXIST) ) { + printf("create_directory() mkdir failed path=%s errno=0x%x", + dir, errno); + ret = -1; + } +#endif return ret; } @@ -761,7 +795,11 @@ static void athrill_syscall_set_virtfs_top(AthrillSyscallArgType *arg) err = mpu_get_pointer(0U, arg->body.api_set_virtfs_top.top_dir,(uint8**)&top_dir); ASSERT(err == 0); +#ifdef OS_LINUX if ( (mkdir(top_dir,0777) == -1) && (errno != EEXIST) ) { +#else + if ( (_mkdir(top_dir) == -1) && (errno != EEXIST) ) { +#endif printf("SYSCAL]set_virtfs_top mkdir failed path=%s errno=0x%x", top_dir, errno); } else { @@ -958,7 +996,11 @@ static int create_pipe(const char *path, int is_read ) int ret; if ( stat(path, &stat_buf) == 0 ) { // as pipe name exist, remove it first +#ifdef OS_LINUX int tmp_fd = open(path, O_RDONLY|O_NONBLOCK); +#else + int tmp_fd = open(path, O_RDONLY); +#endif char buf[255]; // clear pipe @@ -970,7 +1012,11 @@ static int create_pipe(const char *path, int is_read ) ret = mkfifo(path, 0666); } int mode = (is_read ? O_RDONLY : O_RDWR ); +#ifdef OS_LINUX int fd = open(path, mode | O_NONBLOCK); +#else + int fd = open(path, mode ); +#endif //printf("open: path=%s fd=%d errno=%d\n",path,fd,errno); return fd; diff --git a/src/lib/tcp/tcp_client.c b/src/lib/tcp/tcp_client.c index 3b70127b..ce4d1e5b 100644 --- a/src/lib/tcp/tcp_client.c +++ b/src/lib/tcp/tcp_client.c @@ -1,7 +1,11 @@ #include "tcp/tcp_client.h" #include +#ifdef OS_LINUX #include #include +#else +#include +#endif #include #include #include diff --git a/src/lib/tcp/tcp_connection.c b/src/lib/tcp/tcp_connection.c index e4bd688c..14468081 100644 --- a/src/lib/tcp/tcp_connection.c +++ b/src/lib/tcp/tcp_connection.c @@ -1,6 +1,10 @@ #include "tcp_connection.h" #include +#ifdef OS_LINUX #include +#else +#include +#endif #include #include @@ -27,7 +31,11 @@ Std_ReturnType tcp_connection_send_nblk(TcpConnectionType *connection, const cha ssize_t snd_size; *res = 0; +#ifdef OS_LINUX snd_size = send(connection->socket.fd, data, size, MSG_DONTWAIT); +#else + snd_size = send(connection->socket.fd, data, size, 0); +#endif if (snd_size < 0) { if (errno != EAGAIN) { printf("ERROR: tcp_connection_send() errno=%d\n", errno); @@ -47,7 +55,11 @@ Std_ReturnType tcp_connection_receive_nblk(TcpConnectionType *connection, char * { ssize_t rcv_size; *res = 0; +#ifdef OS_LINUX rcv_size = recv(connection->socket.fd, data, size, MSG_DONTWAIT); +#else + rcv_size = recv(connection->socket.fd, data, size, 0); +#endif if (rcv_size < 0) { if (errno != EAGAIN) { printf("ERROR: tcp_connection_receive() errno=%d\n", errno); diff --git a/src/lib/tcp/tcp_server.c b/src/lib/tcp/tcp_server.c index 927bb4ad..0381f1a5 100644 --- a/src/lib/tcp/tcp_server.c +++ b/src/lib/tcp/tcp_server.c @@ -1,7 +1,11 @@ #include "tcp/tcp_server.h" #include +#ifdef OS_LINUX #include #include +#else +#include +#endif #include #include #include @@ -39,8 +43,11 @@ Std_ReturnType tcp_server_create(const TcpServerConfigType *config, TcpServerTyp Std_ReturnType tcp_server_accept(const TcpServerType *server, TcpConnectionType *connection) { struct sockaddr_in addr; +#ifdef OS_LINUX socklen_t len = sizeof(struct sockaddr_in); - +#else + int len = sizeof(struct sockaddr_in); +#endif //printf("tcp_server_accept: fd=%d\n", server->socket.fd); connection->socket.fd = accept(server->socket.fd, (struct sockaddr *)&addr, &len); if (connection->socket.fd < 0) { diff --git a/src/lib/tcp/tcp_socket.c b/src/lib/tcp/tcp_socket.c index e776d481..46045cbf 100644 --- a/src/lib/tcp/tcp_socket.c +++ b/src/lib/tcp/tcp_socket.c @@ -1,9 +1,13 @@ #include "tcp_socket.h" #include #include +#ifdef OS_LINUX #include #include #include +#else +#include +#endif #include #include #include From 3c4ffafa99d15e0d08930e012d711831079427e2 Mon Sep 17 00:00:00 2001 From: TAKADA Mitsutaka Date: Sun, 22 May 2022 15:32:36 +0900 Subject: [PATCH 3/3] Add include directive of stdint.h --- src/device/peripheral/athrill_syscall_device.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/device/peripheral/athrill_syscall_device.c b/src/device/peripheral/athrill_syscall_device.c index 01b24d3a..04f16e84 100644 --- a/src/device/peripheral/athrill_syscall_device.c +++ b/src/device/peripheral/athrill_syscall_device.c @@ -3,6 +3,7 @@ #define ATHRILL_SYSCALL_DEVICE #include "athrill_syscall.h" #include +#include #include #include #ifdef OS_LINUX