summaryrefslogtreecommitdiff
path: root/megawifi.c
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2018-03-26 21:25:40 -0700
committerMichael Pavone <pavone@retrodev.com>2018-03-26 21:25:40 -0700
commitfef637bdab85fef50d54d985e9c254dbca289d99 (patch)
treefde59ce5e79ddd5b4edbac833840e0438f6ac4f3 /megawifi.c
parentb79940c0421e79906b4a7af0bb79fdcf39be8c22 (diff)
Get Windows build working again. MegaWiFi code probably needs more work before it will actually work on Windows, but at least it doesn't break the build now
Diffstat (limited to 'megawifi.c')
-rw-r--r--megawifi.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/megawifi.c b/megawifi.c
index 00691f3..e5ba7b7 100644
--- a/megawifi.c
+++ b/megawifi.c
@@ -2,9 +2,15 @@
#include <stdint.h>
#include <string.h>
#include <sys/types.h>
+#ifdef _WIN32
+#define WINVER 0x501
+#include <winsock2.h>
+#include <ws2tcpip.h>
+#else
#include <sys/socket.h>
#include <unistd.h>
#include <netinet/in.h>
+#endif
#include <errno.h>
#include <fcntl.h>
#include "genesis.h"
@@ -125,7 +131,10 @@ static void poll_socket(megawifi *mw, uint8_t channel)
int res = accept(mw->sock_fds[channel], NULL, NULL);
if (res >= 0) {
close(mw->sock_fds[channel]);
+#ifndef _WIN32
+//FIXME: Set nonblocking on Windows too
fcntl(res, F_SETFL, O_NONBLOCK);
+#endif
mw->sock_fds[channel] = res;
mw->channel_state[channel] = 2;
mw->channel_flags |= 1 << (channel + 1);
@@ -284,7 +293,10 @@ static void process_packet(megawifi *mw)
} else {
mw->channel_flags |= 1 << (channel + 1);
mw->channel_state[channel] = 1;
+#ifndef _WIN32
+//FIXME: Set nonblocking on Windows too
fcntl(mw->sock_fds[channel], F_SETFL, O_NONBLOCK);
+#endif
}
end_reply(mw);
break;