From de90f97167d2df6739db47b2c6aad85f06250270 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Mon, 10 Jul 2017 13:06:47 -0700 Subject: Windows IPC progress. Not working yet, but should be close. --- src/platform/windows/win_impl.h | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'src/platform/windows/win_impl.h') 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 #include +#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); -- cgit v1.2.3-70-g09d2