MiroKaku / libwsk

The Kernel-Mode Winsock library, supporting TCP, UDP and Unix sockets (DGRAM and STREAM).

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Actions Status LICENSE Windows Visual Studio

About

libwsk is a wrapper for the WSK (Winsock-Kernel) interface. With libwsk, kernel-mode software modules can perform network I/O operations using the same socket programming concepts and interface that are supported by user-mode Winsock2.

Build and used

IDE:Visual Studio 2019 or higher

if target OS is Windows7, please set these.

libwsk property pages -> Driver Settings -> Target OS Version = Windows 7
libwsk Property pages -> Driver Settings -> Target Platform   = Desktop
  1. git clone --recurse-submodules https://github.com/MiroKaku/libwsk.git
  2. Open the msvc/libwsk.sln and build it.
  3. Include libwsk.lib to your project. refer unittest.

Supported progress

BSD sockets WSA (Windows Sockets API) WSK (Windows Sockets Kernel) State
- WSAStartup WSKStartup
- WSACleanup WSKCleanup
socket WSASocket WSKSocket
closesocket WSASocket WSKCloseSocket
bind - WSKBind
listen - WSKListen
connect WSAConnect WSKConnect
shutdown WSA[Recv/Send]Disconnect WSKDisconnect
accept WSAAccept WSKAccept
send WSASend WSKSend
recv WSARecv WSKRecv
sendto WSASendTo WSKSendTo
recvfrom WSARecvFrom WSKRecvFrom
ioctlsocket WSAIoctl WSKIoctl
setsockopt - WSKSetSocketOpt
getsockopt - WSKGetSocketOpt
getaddrinfo GetAddrInfoEx WSKGetAddrInfo
freeaddrinfo FreeAddrInfoEx WSKFreeAddrInfo
getnameinfo GetNameInfo WSKGetNameInfo
inet_ntoa WSAAddressToString WSKAddressToString
inet_addr WSAStringToAddress WSKStringToAddress
- WSACreateEvent WSKCreateEvent
- WSAGetOverlappedResult WSKGetOverlappedResult
... ... ... -

Reference

About

The Kernel-Mode Winsock library, supporting TCP, UDP and Unix sockets (DGRAM and STREAM).

License:MIT License


Languages

Language:C++ 72.6%Language:C 27.1%Language:Batchfile 0.3%