diff options
| author | Garrett D'Amore <garrett@damore.org> | 2017-07-10 13:06:47 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2017-07-10 13:06:47 -0700 |
| commit | de90f97167d2df6739db47b2c6aad85f06250270 (patch) | |
| tree | 96c34759e56c8ab75013120e99d08cb2996d0dc9 /src/platform/windows/win_impl.h | |
| parent | 2f9332a75cf5441daa61957a7281ed5cfcf76902 (diff) | |
| download | nng-de90f97167d2df6739db47b2c6aad85f06250270.tar.gz nng-de90f97167d2df6739db47b2c6aad85f06250270.tar.bz2 nng-de90f97167d2df6739db47b2c6aad85f06250270.zip | |
Windows IPC progress. Not working yet, but should be close.
Diffstat (limited to 'src/platform/windows/win_impl.h')
| -rw-r--r-- | src/platform/windows/win_impl.h | 28 |
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); |
