diff options
author | Toni Uhlig <matzeton@googlemail.com> | 2022-08-31 01:17:10 +0200 |
---|---|---|
committer | Toni Uhlig <matzeton@googlemail.com> | 2022-08-31 01:17:10 +0200 |
commit | 7b42d7f3415149005b05b7b5ea14fca6cb01a261 (patch) | |
tree | 0e3ffae3c4bdbe731c199ebff31c3482ace7f722 /ksocket.h |
initial commit
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
Diffstat (limited to 'ksocket.h')
-rw-r--r-- | ksocket.h | 165 |
1 files changed, 165 insertions, 0 deletions
diff --git a/ksocket.h b/ksocket.h new file mode 100644 index 0000000..a4bd0f7 --- /dev/null +++ b/ksocket.h @@ -0,0 +1,165 @@ +#pragma once +#include <ntddk.h> +#include "wsk.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _KSOCKET KSOCKET, *PKSOCKET; + +NTSTATUS +NTAPI +KsInitialize( + VOID + ); + +VOID +NTAPI +KsDestroy( + VOID + ); + +NTSTATUS +NTAPI +KsGetAddrInfo( + _In_ PUNICODE_STRING NodeName, + _In_ PUNICODE_STRING ServiceName, + _In_ PADDRINFOEXW Hints, + _Out_ PADDRINFOEXW* Result + ); + +VOID +NTAPI +KsFreeAddrInfo( + _In_ PADDRINFOEXW AddrInfo + ); + +NTSTATUS +NTAPI +KsCreateSocket( + _Out_ PKSOCKET* Socket, + _In_ ADDRESS_FAMILY AddressFamily, + _In_ USHORT SocketType, + _In_ ULONG Protocol, + _In_ ULONG Flags + ); + +NTSTATUS +NTAPI +KsCreateConnectionSocket( + _Out_ PKSOCKET* Socket, + _In_ ADDRESS_FAMILY AddressFamily, + _In_ USHORT SocketType, + _In_ ULONG Protocol + ); + +NTSTATUS +NTAPI +KsCreateListenSocket( + _Out_ PKSOCKET* Socket, + _In_ ADDRESS_FAMILY AddressFamily, + _In_ USHORT SocketType, + _In_ ULONG Protocol + ); + +NTSTATUS +NTAPI +KsCreateDatagramSocket( + _Out_ PKSOCKET* Socket, + _In_ ADDRESS_FAMILY AddressFamily, + _In_ USHORT SocketType, + _In_ ULONG Protocol + ); + +NTSTATUS +NTAPI +KsCloseSocket( + _In_ PKSOCKET Socket + ); + +NTSTATUS +NTAPI +KsBind( + _In_ PKSOCKET Socket, + _In_ PSOCKADDR LocalAddress + ); + +NTSTATUS +NTAPI +KsAccept( + _In_ PKSOCKET Socket, + _Out_ PKSOCKET* NewSocket, + _Out_opt_ PSOCKADDR LocalAddress, + _Out_opt_ PSOCKADDR RemoteAddress + ); + +NTSTATUS +NTAPI +KsConnect( + _In_ PKSOCKET Socket, + _In_ PSOCKADDR RemoteAddress + ); + +NTSTATUS +NTAPI +KsSendRecv( + _In_ PKSOCKET Socket, + _In_ PVOID Buffer, + _Inout_ PULONG Length, + _In_ ULONG Flags, + _In_ BOOLEAN Send + ); + +NTSTATUS +NTAPI +KsSendRecvUdp( + _In_ PKSOCKET Socket, + _In_ PVOID Buffer, + _Inout_ PULONG Length, + _In_ ULONG Flags, + _In_ PSOCKADDR RemoteAddress, + _In_ BOOLEAN Send + ); + +NTSTATUS +NTAPI +KsSend( + _In_ PKSOCKET Socket, + _In_ PVOID Buffer, + _Inout_ PULONG Length, + _In_ ULONG Flags + ); + +NTSTATUS +NTAPI +KsRecv( + _In_ PKSOCKET Socket, + _In_ PVOID Buffer, + _Inout_ PULONG Length, + _In_ ULONG Flags + ); + +NTSTATUS +NTAPI +KsSendTo( + _In_ PKSOCKET Socket, + _In_ PVOID Buffer, + _Inout_ PULONG Length, + _In_ ULONG Flags, + _In_ PSOCKADDR RemoteAddress + ); + +NTSTATUS +NTAPI +KsRecvFrom( + _In_ PKSOCKET Socket, + _In_ PVOID Buffer, + _Inout_ PULONG Length, + _In_ ULONG Flags, + _In_ PSOCKADDR RemoteAddress + ); + +#ifdef __cplusplus +} +#endif |