diff options
author | Simon Rozman <simon@rozman.si> | 2021-07-28 20:20:09 +0200 |
---|---|---|
committer | Simon Rozman <simon@rozman.si> | 2021-07-28 20:25:27 +0200 |
commit | d675646ab8df227ba39c9d0160d0ba77e8f85479 (patch) | |
tree | d6138df6a8b10083de89c644261116abd64b46d8 /api/session.c | |
parent | example: resolve signed/unsigned code analysis warning (diff) | |
download | wintun-d675646ab8df227ba39c9d0160d0ba77e8f85479.tar.xz wintun-d675646ab8df227ba39c9d0160d0ba77e8f85479.zip |
api: upgrade
Signed-off-by: Simon Rozman <simon@rozman.si>
Diffstat (limited to 'api/session.c')
-rw-r--r-- | api/session.c | 47 |
1 files changed, 31 insertions, 16 deletions
diff --git a/api/session.c b/api/session.c index ff158a8..d620411 100644 --- a/api/session.c +++ b/api/session.c @@ -70,8 +70,10 @@ typedef struct _TUN_SESSION HANDLE Handle; } TUN_SESSION; -_Return_type_success_(return != NULL) TUN_SESSION *WINAPI - WintunStartSession(_In_ const WINTUN_ADAPTER *Adapter, _In_ DWORD Capacity) +WINTUN_START_SESSION_FUNC_IMPL WintunStartSession; +_Use_decl_annotations_ +TUN_SESSION *WINAPI +WintunStartSession(WINTUN_ADAPTER *Adapter, DWORD Capacity) { DWORD LastError; TUN_SESSION *Session = Zalloc(sizeof(TUN_SESSION)); @@ -126,8 +128,8 @@ _Return_type_success_(return != NULL) TUN_SESSION *WINAPI goto cleanupHandle; } Session->Capacity = Capacity; - (void)InitializeCriticalSectionAndSpinCount(&Session->Receive.Lock, LOCK_SPIN_COUNT); - (void)InitializeCriticalSectionAndSpinCount(&Session->Send.Lock, LOCK_SPIN_COUNT); + (VOID) InitializeCriticalSectionAndSpinCount(&Session->Receive.Lock, LOCK_SPIN_COUNT); + (VOID) InitializeCriticalSectionAndSpinCount(&Session->Send.Lock, LOCK_SPIN_COUNT); return Session; cleanupHandle: CloseHandle(Session->Handle); @@ -144,8 +146,10 @@ cleanup: return NULL; } -void WINAPI -WintunEndSession(_In_ TUN_SESSION *Session) +WINTUN_END_SESSION_FUNC_IMPL WintunEndSession; +_Use_decl_annotations_ +VOID WINAPI +WintunEndSession(TUN_SESSION *Session) { DeleteCriticalSection(&Session->Send.Lock); DeleteCriticalSection(&Session->Receive.Lock); @@ -156,14 +160,18 @@ WintunEndSession(_In_ TUN_SESSION *Session) Free(Session); } +WINTUN_GET_READ_WAIT_EVENT_FUNC_IMPL WintunGetReadWaitEvent; +_Use_decl_annotations_ HANDLE WINAPI -WintunGetReadWaitEvent(_In_ TUN_SESSION *Session) +WintunGetReadWaitEvent(TUN_SESSION *Session) { return Session->Descriptor.Send.TailMoved; } -_Return_type_success_(return != NULL) _Ret_bytecount_(*PacketSize) BYTE *WINAPI - WintunReceivePacket(_In_ TUN_SESSION *Session, _Out_ DWORD *PacketSize) +WINTUN_RECEIVE_PACKET_FUNC_IMPL WintunReceivePacket; +_Use_decl_annotations_ +BYTE *WINAPI +WintunReceivePacket(TUN_SESSION *Session, DWORD *PacketSize) { DWORD LastError; EnterCriticalSection(&Session->Send.Lock); @@ -213,8 +221,10 @@ cleanup: return NULL; } -void WINAPI -WintunReleaseReceivePacket(_In_ TUN_SESSION *Session, _In_ const BYTE *Packet) +WINTUN_RELEASE_RECEIVE_PACKET_FUNC_IMPL WintunReleaseReceivePacket; +_Use_decl_annotations_ +VOID WINAPI +WintunReleaseReceivePacket(TUN_SESSION *Session, const BYTE *Packet) { EnterCriticalSection(&Session->Send.Lock); TUN_PACKET *ReleasedBuffPacket = (TUN_PACKET *)(Packet - offsetof(TUN_PACKET, Data)); @@ -232,8 +242,10 @@ WintunReleaseReceivePacket(_In_ TUN_SESSION *Session, _In_ const BYTE *Packet) LeaveCriticalSection(&Session->Send.Lock); } -_Return_type_success_(return != NULL) _Ret_bytecount_(PacketSize) BYTE *WINAPI - WintunAllocateSendPacket(_In_ TUN_SESSION *Session, _In_ DWORD PacketSize) +WINTUN_ALLOCATE_SEND_PACKET_FUNC_IMPL WintunAllocateSendPacket; +_Use_decl_annotations_ +BYTE *WINAPI +WintunAllocateSendPacket(TUN_SESSION *Session, DWORD PacketSize) { DWORD LastError; EnterCriticalSection(&Session->Receive.Lock); @@ -268,8 +280,10 @@ cleanup: return NULL; } -void WINAPI -WintunSendPacket(_In_ TUN_SESSION *Session, _In_ const BYTE *Packet) +WINTUN_SEND_PACKET_FUNC_IMPL WintunSendPacket; +_Use_decl_annotations_ +VOID WINAPI +WintunSendPacket(TUN_SESSION *Session, const BYTE *Packet) { EnterCriticalSection(&Session->Receive.Lock); TUN_PACKET *ReleasedBuffPacket = (TUN_PACKET *)(Packet - offsetof(TUN_PACKET, Data)); @@ -285,7 +299,8 @@ WintunSendPacket(_In_ TUN_SESSION *Session, _In_ const BYTE *Packet) TUN_RING_WRAP(Session->Receive.TailRelease + AlignedPacketSize, Session->Capacity); Session->Receive.PacketsToRelease--; } - if (Session->Descriptor.Receive.Ring->Tail != Session->Receive.TailRelease) { + if (Session->Descriptor.Receive.Ring->Tail != Session->Receive.TailRelease) + { WriteULongRelease(&Session->Descriptor.Receive.Ring->Tail, Session->Receive.TailRelease); if (ReadAcquire(&Session->Descriptor.Receive.Ring->Alertable)) SetEvent(Session->Descriptor.Receive.TailMoved); |