aboutsummaryrefslogtreecommitdiff
path: root/src/platform/windows/win_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform/windows/win_impl.h')
-rw-r--r--src/platform/windows/win_impl.h28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/platform/windows/win_impl.h b/src/platform/windows/win_impl.h
index fd8f3f79..6ce38250 100644
--- a/src/platform/windows/win_impl.h
+++ b/src/platform/windows/win_impl.h
@@ -22,6 +22,7 @@
#include <process.h>
#include <ws2tcpip.h>
+#include "core/list.h"
// These types are provided for here, to permit them to be directly inlined
// elsewhere.
@@ -35,22 +36,10 @@ typedef struct nni_win_event nni_win_event;
// conveyed in the OVERLAPPED directly.
struct nni_win_event {
OVERLAPPED olpd;
+ HANDLE h;
void * ptr;
nni_cb cb;
- int status;
- int nbytes;
-};
-
-struct nni_plat_ipcsock {
- HANDLE p;
-
- char path[256];
- WSAOVERLAPPED recv_olpd;
- WSAOVERLAPPED send_olpd;
- WSAOVERLAPPED conn_olpd; // Use for both connect and accept
- CRITICAL_SECTION cs;
-
- int server;
+ nni_list aios;
};
struct nni_plat_thr {
@@ -73,9 +62,20 @@ struct nni_plat_cv {
extern int nni_win_error(int);
extern int nni_winsock_error(int);
+extern int nni_win_event_init(nni_win_event *, nni_cb, void *, HANDLE);
+extern void nni_win_event_fini(nni_win_event *);
+extern int nni_win_event_reset(nni_win_event *);
+extern OVERLAPPED *nni_win_event_overlapped(nni_win_event *);
+extern void nni_win_event_cancel(nni_win_event *);
+
+extern int nni_win_iocp_register(HANDLE);
+
extern int nni_win_iocp_sysinit(void);
extern void nni_win_iocp_sysfini(void);
+extern int nni_win_ipc_sysinit(void);
+extern void nni_win_ipc_sysfini(void);
+
extern int nni_win_resolv_sysinit(void);
extern void nni_win_resolv_sysfini(void);