diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2020-11-02 16:04:33 +0100 |
---|---|---|
committer | Simon Rozman <simon@rozman.si> | 2020-11-02 16:38:56 +0100 |
commit | c20e1683c21a1e281479f3caca1754b39820cd81 (patch) | |
tree | 742b13d4dd864676704559e05637f9487f260799 /api/session.c | |
parent | api: statically compile devpkey constants (diff) | |
download | wintun-c20e1683c21a1e281479f3caca1754b39820cd81.tar.xz wintun-c20e1683c21a1e281479f3caca1754b39820cd81.zip |
api: separate read-wait handle into other function
Makes the API a bit more clear.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'api/session.c')
-rw-r--r-- | api/session.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/api/session.c b/api/session.c index d350e57..9c3d682 100644 --- a/api/session.c +++ b/api/session.c @@ -74,8 +74,7 @@ WINTUN_STATUS WINAPI WintunStartSession( _In_ const WINTUN_ADAPTER *Adapter, _In_ DWORD Capacity, - _Out_ TUN_SESSION **Session, - _Out_ HANDLE *ReadWait) + _Out_ TUN_SESSION **Session) { TUN_SESSION *s = HeapAlloc(ModuleHeap, HEAP_ZERO_MEMORY, sizeof(TUN_SESSION)); if (!s) @@ -137,7 +136,6 @@ WintunStartSession( (void)InitializeCriticalSectionAndSpinCount(&s->Receive.Lock, LOCK_SPIN_COUNT); (void)InitializeCriticalSectionAndSpinCount(&s->Send.Lock, LOCK_SPIN_COUNT); *Session = s; - *ReadWait = s->Descriptor.Send.TailMoved; return ERROR_SUCCESS; cleanupHandle: CloseHandle(s->Handle); @@ -167,6 +165,12 @@ WintunEndSession(_In_ TUN_SESSION *Session) HeapFree(ModuleHeap, 0, Session); } +HANDLE WINAPI +WintunGetReadWaitEvent(_In_ TUN_SESSION *Session) +{ + return Session->Descriptor.Send.TailMoved; +} + WINTUN_STATUS WINAPI WintunReceivePacket(_In_ TUN_SESSION *Session, _Out_bytecapcount_(*PacketSize) BYTE **Packet, _Out_ DWORD *PacketSize) { |