ReactOS  r74244
wsk.h File Reference
#include <netioddk.h>
#include <ws2def.h>
#include <mswsockdef.h>
Include dependency graph for wsk.h:

Go to the source code of this file.

Classes

struct  _WSK_SOCKET
 
struct  _WSK_BUF
 
struct  _WSK_INSPECT_ID
 
struct  _WSK_DATAGRAM_INDICATION
 
struct  _WSK_DATA_INDICATION
 
struct  _WSK_CLIENT_CONNECTION_DISPATCH
 
struct  _WSK_PROVIDER_BASIC_DISPATCH
 
struct  _WSK_PROVIDER_LISTEN_DISPATCH
 
struct  _WSK_BUF_LIST
 
struct  _WSK_PROVIDER_DATAGRAM_DISPATCH
 
struct  _WSK_PROVIDER_CONNECTION_DISPATCH
 
struct  _WSK_TDI_MAP
 
struct  _WSK_TDI_MAP_INFO
 
struct  _WSK_EVENT_CALLBACK_CONTROL
 
struct  _WSK_EXTENSION_CONTROL_IN
 
struct  _WSK_EXTENSION_CONTROL_OUT
 
struct  _WSK_CLIENT_DISPATCH
 
struct  _WSK_CLIENT_LISTEN_DISPATCH
 
struct  _WSK_CLIENT_DATAGRAM_DISPATCH
 
struct  _WSK_PROVIDER_DISPATCH
 
struct  _WSK_CLIENT_NPI
 
struct  _WSK_PROVIDER_NPI
 
struct  _WSK_REGISTRATION
 
struct  _WSK_PROVIDER_CHARACTERISTICS
 
struct  _WSK_TRANSPORT
 

Macros

#define _WSK_
 
#define WSKAPI   NTAPI
 
#define MAKE_WSK_VERSION(Mj, Mn)   ((USHORT)((Mj) << 8) | (USHORT)((Mn) & 0xff))
 
#define WSK_MAJOR_VERSION(V)   ((UCHAR)((V) >> 8))
 
#define WSK_MINOR_VERSION(V)   ((UCHAR)(V))
 
#define WSK_FLAG_AT_DISPATCH_LEVEL   0x00000008
 
#define WSK_FLAG_RELEASE_ASAP   0x00000002
 
#define WSK_FLAG_ENTIRE_MESSAGE   0x00000004
 
#define WSK_FLAG_ABORTIVE   0x00000001
 
#define WSK_FLAG_BASIC_SOCKET   0x00000000
 
#define WSK_FLAG_LISTEN_SOCKET   0x00000001
 
#define WSK_FLAG_CONNECTION_SOCKET   0x00000002
 
#define WSK_FLAG_DATAGRAM_SOCKET   0x00000004
 
#define WSK_TRANSPORT_LIST_QUERY   2
 
#define WSK_TRANSPORT_LIST_CHANGE   3
 
#define WSK_CACHE_SD   4
 
#define WSK_RELEASE_SD   5
 
#define WSK_TDI_DEVICENAME_MAPPING   6
 
#define WSK_SET_STATIC_EVENT_CALLBACKS   7
 
#define WSK_TDI_BEHAVIOR   8
 
#define WSK_TDI_BEHAVIOR_BYPASS_TDI   0x00000001
 
#define SO_WSK_SECURITY   (WSK_SO_BASE+1)
 
#define SO_WSK_EVENT_CALLBACK   (WSK_SO_BASE+2)
 
#define WSK_EVENT_RECEIVE_FROM   0x00000100
 
#define WSK_EVENT_ACCEPT   0x00000200
 
#define WSK_EVENT_SEND_BACKLOG   0x00000010
 
#define WSK_EVENT_RECEIVE   0x00000040
 
#define WSK_EVENT_DISCONNECT   0x00000080
 
#define WSK_EVENT_DISABLE   0x80000000
 
#define SIO_WSK_SET_REMOTE_ADDRESS   _WSAIOW(IOC_WSK,0x1)
 
#define SIO_WSK_REGISTER_EXTENSION   _WSAIORW(IOC_WSK,0x2)
 
#define SIO_WSK_QUERY_IDEAL_SEND_BACKLOG   _WSAIOR(IOC_WSK,0x3)
 
#define SIO_WSK_QUERY_RECEIVE_BACKLOG   _WSAIOR(IOC_WSK,0x4)
 
#define SIO_WSK_QUERY_INSPECT_ID   _WSAIOR(IOC_WSK,0x5)
 
#define SIO_WSK_SET_SENDTO_ADDRESS   _WSAIOW(IOC_WSK,0x6)
 
#define WSK_FLAG_NODELAY   0x00000002
 
#define WSK_FLAG_WAITALL   0x00000002
 
#define WSK_FLAG_DRAIN   0x00000004
 
#define WSK_NO_WAIT   0
 
#define WSK_INFINITE_WAIT   0xffffffff
 

Typedefs

typedef enum WSK_INSPECT_ACTIONPWSK_INSPECT_ACTION
 
typedef enum
WSK_CONTROL_SOCKET_TYPE
PWSK_CONTROL_SOCKET_TYPE
 
typedef PVOID PWSK_CLIENT
 
typedef struct _WSK_SOCKET WSK_SOCKET
 
typedef struct _WSK_SOCKETPWSK_SOCKET
 
typedef struct _WSK_BUF WSK_BUF
 
typedef struct _WSK_BUFPWSK_BUF
 
typedef struct _WSK_INSPECT_ID WSK_INSPECT_ID
 
typedef struct _WSK_INSPECT_IDPWSK_INSPECT_ID
 
typedef struct
_WSK_DATAGRAM_INDICATION 
WSK_DATAGRAM_INDICATION
 
typedef struct
_WSK_DATAGRAM_INDICATION
PWSK_DATAGRAM_INDICATION
 
typedef _Must_inspect_result_
NTSTATUS(WSKAPI
PFN_WSK_RECEIVE_FROM_EVENT )(_In_opt_ PVOID SocketContext, _In_ ULONG Flags, _In_opt_ PWSK_DATAGRAM_INDICATION DataIndication)
 
typedef struct _WSK_DATA_INDICATION WSK_DATA_INDICATION
 
typedef struct
_WSK_DATA_INDICATION
PWSK_DATA_INDICATION
 
typedef _Must_inspect_result_
NTSTATUS(WSKAPI
PFN_WSK_RECEIVE_EVENT )(_In_opt_ PVOID SocketContext, _In_ ULONG Flags, _In_opt_ PWSK_DATA_INDICATION DataIndication, _In_ SIZE_T BytesIndicated, _Inout_ SIZE_T *BytesAccepted)
 
typedef NTSTATUS(WSKAPIPFN_WSK_DISCONNECT_EVENT )(_In_opt_ PVOID SocketContext, _In_ ULONG Flags)
 
typedef NTSTATUS(WSKAPIPFN_WSK_SEND_BACKLOG_EVENT )(_In_opt_ PVOID SocketContext, _In_ SIZE_T IdealBacklogSize)
 
typedef struct
_WSK_CLIENT_CONNECTION_DISPATCH 
WSK_CLIENT_CONNECTION_DISPATCH
 
typedef struct
_WSK_CLIENT_CONNECTION_DISPATCH
PWSK_CLIENT_CONNECTION_DISPATCH
 
typedef _Must_inspect_result_ _At_ (AcceptSocket, __drv_aliasesMem) NTSTATUS(WSKAPI *PFN_WSK_ACCEPT_EVENT)(_In_opt_ PVOID SocketContext
 
typedef _Must_inspect_result_
_In_ ULONG 
Flags = FSRTL_FLAG_ADVANCED_HEADER
 
typedef _Must_inspect_result_
_In_ ULONG _In_ PSOCKADDR 
LocalAddress
 
typedef _Must_inspect_result_
_In_ ULONG _In_ PSOCKADDR _In_
PSOCKADDR 
RemoteAddress
 
typedef _Must_inspect_result_
_In_ ULONG _In_ PSOCKADDR _In_
PSOCKADDR _In_opt_ PWSK_SOCKET 
AcceptSocket
 
typedef _Must_inspect_result_
_In_ ULONG _In_ PSOCKADDR _In_
PSOCKADDR _In_opt_ PWSK_SOCKET
_Outptr_result_maybenull_
PVOID
AcceptSocketContext
 
typedef _Must_inspect_result_
_In_ ULONG _In_ PSOCKADDR _In_
PSOCKADDR _In_opt_ PWSK_SOCKET
_Outptr_result_maybenull_
PVOID
_Outptr_result_maybenull_
const
WSK_CLIENT_CONNECTION_DISPATCH ** 
AcceptSocketDispatch
 
typedef _In_ USHORT SocketType
 
typedef _In_ USHORT _In_ ULONG Protocol
 
typedef _In_ USHORT _In_ ULONG
_In_ PSOCKADDR _In_ PSOCKADDR
_Reserved_ ULONG _In_opt_
PVOID 
SocketContext
 
typedef _In_ USHORT _In_ ULONG
_In_ PSOCKADDR _In_ PSOCKADDR
_Reserved_ ULONG _In_opt_
PVOID _In_opt_ const
WSK_CLIENT_CONNECTION_DISPATCH
Dispatch
 
typedef _In_ USHORT _In_ ULONG
_In_ PSOCKADDR _In_ PSOCKADDR
_Reserved_ ULONG _In_opt_
PVOID _In_opt_ const
WSK_CLIENT_CONNECTION_DISPATCH
_In_opt_ PEPROCESS 
OwningProcess
 
typedef _In_ USHORT _In_ ULONG
_In_ PSOCKADDR _In_ PSOCKADDR
_Reserved_ ULONG _In_opt_
PVOID _In_opt_ const
WSK_CLIENT_CONNECTION_DISPATCH
_In_opt_ PEPROCESS _In_opt_
PETHREAD 
OwningThread
 
typedef _In_ USHORT _In_ ULONG
_In_ PSOCKADDR _In_ PSOCKADDR
_Reserved_ ULONG _In_opt_
PVOID _In_opt_ const
WSK_CLIENT_CONNECTION_DISPATCH
_In_opt_ PEPROCESS _In_opt_
PETHREAD _In_opt_
PSECURITY_DESCRIPTOR 
SecurityDescriptor
 
typedef _In_ USHORT _In_ ULONG
_In_ PSOCKADDR _In_ PSOCKADDR
_Reserved_ ULONG _In_opt_
PVOID _In_opt_ const
WSK_CLIENT_CONNECTION_DISPATCH
_In_opt_ PEPROCESS _In_opt_
PETHREAD _In_opt_
PSECURITY_DESCRIPTOR _Inout_
PIRP 
Irp
 
typedef NTSTATUS(WSKAPIPFN_WSK_CONTROL_SOCKET )(_In_ PWSK_SOCKET Socket, _In_ WSK_CONTROL_SOCKET_TYPE RequestType, _In_ ULONG ControlCode, _In_ ULONG Level, _In_ SIZE_T InputSize, _In_reads_bytes_opt_(InputSize) PVOID InputBuffer, _In_ SIZE_T OutputSize, _Out_writes_bytes_opt_(OutputSize) PVOID OutputBuffer, _Out_opt_ SIZE_T *OutputSizeReturned, _Inout_opt_ PIRP Irp)
 
typedef struct
_WSK_PROVIDER_BASIC_DISPATCH 
WSK_PROVIDER_BASIC_DISPATCH
 
typedef struct
_WSK_PROVIDER_BASIC_DISPATCH
PWSK_PROVIDER_BASIC_DISPATCH
 
typedef NTSTATUS(WSKAPIPFN_WSK_INSPECT_COMPLETE )(_In_ PWSK_SOCKET ListenSocket, _In_ PWSK_INSPECT_ID InspectID, _In_ WSK_INSPECT_ACTION Action, _Inout_ PIRP Irp)
 
typedef NTSTATUS(WSKAPIPFN_WSK_GET_LOCAL_ADDRESS )(_In_ PWSK_SOCKET Socket, _Out_ PSOCKADDR LocalAddress, _Inout_ PIRP Irp)
 
typedef struct
_WSK_PROVIDER_LISTEN_DISPATCH 
WSK_PROVIDER_LISTEN_DISPATCH
 
typedef struct
_WSK_PROVIDER_LISTEN_DISPATCH
PWSK_PROVIDER_LISTEN_DISPATCH
 
typedef struct _WSK_BUF_LIST WSK_BUF_LIST
 
typedef struct _WSK_BUF_LISTPWSK_BUF_LIST
 
typedef NTSTATUS(WSKAPIPFN_WSK_SEND_MESSAGES )(_In_ PWSK_SOCKET Socket, _In_ PWSK_BUF_LIST BufferList, _Reserved_ ULONG Flags, _In_opt_ PSOCKADDR RemoteAddress, _In_ ULONG ControlInfoLength, _In_reads_bytes_opt_(ControlInfoLength) PCMSGHDR ControlInfo, _Inout_ PIRP Irp)
 
typedef struct
_WSK_PROVIDER_DATAGRAM_DISPATCH 
WSK_PROVIDER_DATAGRAM_DISPATCH
 
typedef struct
_WSK_PROVIDER_DATAGRAM_DISPATCH
PWSK_PROVIDER_DATAGRAM_DISPATCH
 
typedef NTSTATUS(WSKAPIPFN_WSK_GET_REMOTE_ADDRESS )(_In_ PWSK_SOCKET Socket, _Out_ PSOCKADDR RemoteAddress, _Inout_ PIRP Irp)
 
typedef NTSTATUS(WSKAPIPFN_WSK_SEND )(_In_ PWSK_SOCKET Socket, _In_ PWSK_BUF Buffer, _In_ ULONG Flags, _Inout_ PIRP Irp)
 
typedef NTSTATUS(WSKAPIPFN_WSK_RECEIVE )(_In_ PWSK_SOCKET Socket, _In_ PWSK_BUF Buffer, _In_ ULONG Flags, _Inout_ PIRP Irp)
 
typedef NTSTATUS(WSKAPIPFN_WSK_DISCONNECT )(_In_ PWSK_SOCKET Socket, _In_opt_ PWSK_BUF Buffer, _In_ ULONG Flags, _Inout_ PIRP Irp)
 
typedef NTSTATUS(WSKAPIPFN_WSK_RELEASE_DATA_INDICATION_LIST )(_In_ PWSK_SOCKET Socket, _In_ PWSK_DATA_INDICATION DataIndication)
 
typedef struct
_WSK_PROVIDER_CONNECTION_DISPATCH 
WSK_PROVIDER_CONNECTION_DISPATCH
 
typedef struct
_WSK_PROVIDER_CONNECTION_DISPATCH
PWSK_PROVIDER_CONNECTION_DISPATCH
 
typedef _Must_inspect_result_
WSK_INSPECT_ACTION(WSKAPI
PFN_WSK_INSPECT_EVENT )(_In_opt_ PVOID SocketContext, _In_ PSOCKADDR LocalAddress, _In_ PSOCKADDR RemoteAddress, _In_opt_ PWSK_INSPECT_ID InspectID)
 
typedef _In_ PWSK_INSPECT_ID InspectID
 
typedef _In_ ADDRESS_FAMILY AddressFamily
 
typedef struct _WSK_TDI_MAP WSK_TDI_MAP
 
typedef struct _WSK_TDI_MAPPWSK_TDI_MAP
 
typedef struct _WSK_TDI_MAP_INFO WSK_TDI_MAP_INFO
 
typedef struct _WSK_TDI_MAP_INFOPWSK_TDI_MAP_INFO
 
typedef NTSTATUS(WSKAPIPFN_WSK_CONTROL_CLIENT )(_In_ PWSK_CLIENT Client, _In_ ULONG ControlCode, _In_ SIZE_T InputSize, _In_reads_bytes_opt_(InputSize) PVOID InputBuffer, _In_ SIZE_T OutputSize, _Out_writes_bytes_opt_(OutputSize) PVOID OutputBuffer, _Out_opt_ SIZE_T *OutputSizeReturned, _Inout_opt_ PIRP Irp)
 
typedef _At_(*)(_In_
PWSK_CLIENT Client, _In_opt_
PUNICODE_STRING NodeName,
_In_opt_ PUNICODE_STRING
ServiceName, _In_opt_ ULONG
NameSpace, _In_opt_ GUID
*Provider, _In_opt_
PADDRINFOEXW Hints, _Outptr_
PADDRINFOEXW *Result, _In_opt_
PEPROCESS OwningProcess,
_In_opt_ PETHREAD OwningThread,
_Inout_ PIRP Irp 
Result )(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
 
typedef NTSTATUS(WSKAPIPFN_WSK_GET_NAME_INFO )(_In_ PWSK_CLIENT Client, _In_ PSOCKADDR SockAddr, _In_ ULONG SockAddrLength, _Out_opt_ PUNICODE_STRING NodeName, _Out_opt_ PUNICODE_STRING ServiceName, _In_ ULONG Flags, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp)
 
typedef _In_ PADDRINFOEXW AddrInfo
 
typedef struct
_WSK_EVENT_CALLBACK_CONTROL 
WSK_EVENT_CALLBACK_CONTROL
 
typedef struct
_WSK_EVENT_CALLBACK_CONTROL
PWSK_EVENT_CALLBACK_CONTROL
 
typedef struct
_WSK_EXTENSION_CONTROL_IN 
WSK_EXTENSION_CONTROL_IN
 
typedef struct
_WSK_EXTENSION_CONTROL_IN
PWSK_EXTENSION_CONTROL_IN
 
typedef struct
_WSK_EXTENSION_CONTROL_OUT 
WSK_EXTENSION_CONTROL_OUT
 
typedef struct
_WSK_EXTENSION_CONTROL_OUT
PWSK_EXTENSION_CONTROL_OUT
 
typedef NTSTATUS(WSKAPIPFN_WSK_SEND_TO )(_In_ PWSK_SOCKET Socket, _In_ PWSK_BUF Buffer, _Reserved_ ULONG Flags, _In_opt_ PSOCKADDR RemoteAddress, _In_ ULONG ControlInfoLength, _In_reads_bytes_opt_(ControlInfoLength) PCMSGHDR ControlInfo, _Inout_ PIRP Irp)
 
typedef NTSTATUS(WSKAPIPFN_WSK_RECEIVE_FROM )(_In_ PWSK_SOCKET Socket, _In_ PWSK_BUF Buffer, _Reserved_ ULONG Flags, _Out_opt_ PSOCKADDR RemoteAddress, _Inout_ PULONG ControlLength, _Out_writes_bytes_opt_(*ControlLength) PCMSGHDR ControlInfo, _Out_opt_ PULONG ControlFlags, _Inout_ PIRP Irp)
 
typedef NTSTATUS(WSKAPIPFN_WSK_RELEASE_DATAGRAM_INDICATION_LIST )(_In_ PWSK_SOCKET Socket, _In_ PWSK_DATAGRAM_INDICATION DatagramIndication)
 
typedef NTSTATUS(WSKAPIPFN_WSK_CLIENT_EVENT )(_In_opt_ PVOID ClientContext, _In_ ULONG EventType, _In_reads_bytes_opt_(InformationLength) PVOID Information, _In_ SIZE_T InformationLength)
 
typedef struct _WSK_CLIENT_DISPATCH WSK_CLIENT_DISPATCH
 
typedef struct
_WSK_CLIENT_DISPATCH
PWSK_CLIENT_DISPATCH
 
typedef struct
_WSK_CLIENT_LISTEN_DISPATCH 
WSK_CLIENT_LISTEN_DISPATCH
 
typedef struct
_WSK_CLIENT_LISTEN_DISPATCH
PWSK_CLIENT_LISTEN_DISPATCH
 
typedef struct
_WSK_CLIENT_DATAGRAM_DISPATCH 
WSK_CLIENT_DATAGRAM_DISPATCH
 
typedef struct
_WSK_CLIENT_DATAGRAM_DISPATCH
PWSK_CLIENT_DATAGRAM_DISPATCH
 
typedef struct
_WSK_PROVIDER_DISPATCH 
WSK_PROVIDER_DISPATCH
 
typedef struct
_WSK_PROVIDER_DISPATCH
PWSK_PROVIDER_DISPATCH
 
typedef struct _WSK_CLIENT_NPI WSK_CLIENT_NPI
 
typedef struct _WSK_CLIENT_NPIPWSK_CLIENT_NPI
 
typedef struct _WSK_PROVIDER_NPI WSK_PROVIDER_NPI
 
typedef struct _WSK_PROVIDER_NPIPWSK_PROVIDER_NPI
 
typedef struct _WSK_REGISTRATION WSK_REGISTRATION
 
typedef struct _WSK_REGISTRATIONPWSK_REGISTRATION
 
typedef struct
_WSK_PROVIDER_CHARACTERISTICS 
WSK_PROVIDER_CHARACTERISTICS
 
typedef struct
_WSK_PROVIDER_CHARACTERISTICS
PWSK_PROVIDER_CHARACTERISTICS
 
typedef struct _WSK_TRANSPORT WSK_TRANSPORT
 
typedef struct _WSK_TRANSPORTPWSK_TRANSPORT
 

Enumerations

enum  WSK_INSPECT_ACTION { WskInspectReject, WskInspectAccept, WskInspectPend, WskInspectMax }
 
enum  WSK_CONTROL_SOCKET_TYPE { WskSetOption, WskGetOption, WskIoctl, WskControlMax }
 

Functions

typedef _At_ (Irp->IoStatus.Information, __drv_allocatesMem(Mem)) NTSTATUS(WSKAPI *PFN_WSK_SOCKET_CONNECT)(_In_ PWSK_CLIENT Client
 
typedef _At_ (Socket, __drv_freesMem(Mem)) NTSTATUS(WSKAPI *PFN_WSK_CLOSE_SOCKET)(_In_ PWSK_SOCKET Socket
 
typedef NTSTATUS (WSKAPI *PFN_WSK_BIND)(_In_ PWSK_SOCKET Socket
 
typedef _At_ (AddrInfo, __drv_freesMem(Mem)) VOID(WSKAPI *PFN_WSK_FREE_ADDRESS_INFO)(_In_ PWSK_CLIENT Client
 
_Must_inspect_result_ NTSTATUS WskRegister (_In_ PWSK_CLIENT_NPI WskClientNpi, _Out_ PWSK_REGISTRATION WskRegistration)
 
_Must_inspect_result_ NTSTATUS WskCaptureProviderNPI (_In_ PWSK_REGISTRATION WskRegistration, _In_ ULONG WaitTimeout, _Out_ PWSK_PROVIDER_NPI WskProviderNpi)
 
VOID WskReleaseProviderNPI (_In_ PWSK_REGISTRATION WskRegistration)
 
_Must_inspect_result_ NTSTATUS WskQueryProviderCharacteristics (_In_ PWSK_REGISTRATION WskRegistration, _Out_ PWSK_PROVIDER_CHARACTERISTICS WskProviderCharacteristics)
 
VOID WskDeregister (_In_ PWSK_REGISTRATION WskRegistration)
 

Variables

CONST NPIID NPI_WSK_INTERFACE_ID
 

Macro Definition Documentation

#define _WSK_

Definition at line 23 of file wsk.h.

#define MAKE_WSK_VERSION (   Mj,
  Mn 
)    ((USHORT)((Mj) << 8) | (USHORT)((Mn) & 0xff))

Definition at line 37 of file wsk.h.

#define SIO_WSK_QUERY_IDEAL_SEND_BACKLOG   _WSAIOR(IOC_WSK,0x3)

Definition at line 66 of file wsk.h.

#define SIO_WSK_QUERY_INSPECT_ID   _WSAIOR(IOC_WSK,0x5)

Definition at line 68 of file wsk.h.

#define SIO_WSK_QUERY_RECEIVE_BACKLOG   _WSAIOR(IOC_WSK,0x4)

Definition at line 67 of file wsk.h.

#define SIO_WSK_REGISTER_EXTENSION   _WSAIORW(IOC_WSK,0x2)

Definition at line 65 of file wsk.h.

#define SIO_WSK_SET_REMOTE_ADDRESS   _WSAIOW(IOC_WSK,0x1)

Definition at line 64 of file wsk.h.

#define SIO_WSK_SET_SENDTO_ADDRESS   _WSAIOW(IOC_WSK,0x6)

Definition at line 69 of file wsk.h.

#define SO_WSK_EVENT_CALLBACK   (WSK_SO_BASE+2)

Definition at line 57 of file wsk.h.

#define SO_WSK_SECURITY   (WSK_SO_BASE+1)

Definition at line 56 of file wsk.h.

#define WSK_CACHE_SD   4

Definition at line 50 of file wsk.h.

#define WSK_EVENT_ACCEPT   0x00000200

Definition at line 59 of file wsk.h.

#define WSK_EVENT_DISABLE   0x80000000

Definition at line 63 of file wsk.h.

#define WSK_EVENT_DISCONNECT   0x00000080

Definition at line 62 of file wsk.h.

#define WSK_EVENT_RECEIVE   0x00000040

Definition at line 61 of file wsk.h.

#define WSK_EVENT_RECEIVE_FROM   0x00000100

Definition at line 58 of file wsk.h.

#define WSK_EVENT_SEND_BACKLOG   0x00000010

Definition at line 60 of file wsk.h.

#define WSK_FLAG_ABORTIVE   0x00000001

Definition at line 43 of file wsk.h.

#define WSK_FLAG_AT_DISPATCH_LEVEL   0x00000008

Definition at line 40 of file wsk.h.

#define WSK_FLAG_BASIC_SOCKET   0x00000000

Definition at line 44 of file wsk.h.

#define WSK_FLAG_CONNECTION_SOCKET   0x00000002

Definition at line 46 of file wsk.h.

#define WSK_FLAG_DATAGRAM_SOCKET   0x00000004

Definition at line 47 of file wsk.h.

#define WSK_FLAG_DRAIN   0x00000004

Definition at line 72 of file wsk.h.

#define WSK_FLAG_ENTIRE_MESSAGE   0x00000004

Definition at line 42 of file wsk.h.

#define WSK_FLAG_LISTEN_SOCKET   0x00000001

Definition at line 45 of file wsk.h.

#define WSK_FLAG_NODELAY   0x00000002

Definition at line 70 of file wsk.h.

#define WSK_FLAG_RELEASE_ASAP   0x00000002

Definition at line 41 of file wsk.h.

#define WSK_FLAG_WAITALL   0x00000002

Definition at line 71 of file wsk.h.

#define WSK_INFINITE_WAIT   0xffffffff

Definition at line 74 of file wsk.h.

#define WSK_MAJOR_VERSION (   V)    ((UCHAR)((V) >> 8))

Definition at line 38 of file wsk.h.

#define WSK_MINOR_VERSION (   V)    ((UCHAR)(V))

Definition at line 39 of file wsk.h.

#define WSK_NO_WAIT   0

Definition at line 73 of file wsk.h.

#define WSK_RELEASE_SD   5

Definition at line 51 of file wsk.h.

#define WSK_SET_STATIC_EVENT_CALLBACKS   7

Definition at line 53 of file wsk.h.

#define WSK_TDI_BEHAVIOR   8

Definition at line 54 of file wsk.h.

#define WSK_TDI_BEHAVIOR_BYPASS_TDI   0x00000001

Definition at line 55 of file wsk.h.

#define WSK_TDI_DEVICENAME_MAPPING   6

Definition at line 52 of file wsk.h.

#define WSK_TRANSPORT_LIST_CHANGE   3

Definition at line 49 of file wsk.h.

#define WSK_TRANSPORT_LIST_QUERY   2

Definition at line 48 of file wsk.h.

#define WSKAPI   NTAPI

Definition at line 35 of file wsk.h.

Typedef Documentation

Definition at line 166 of file wsk.h.

Definition at line 170 of file wsk.h.

Definition at line 386 of file wsk.h.

typedef _In_ PADDRINFOEXW AddrInfo

Definition at line 458 of file wsk.h.

Definition at line 379 of file wsk.h.

typedef NTSTATUS(WSKAPI * PFN_WSK_CLIENT_EVENT)(_In_opt_ PVOID ClientContext, _In_ ULONG EventType, _In_reads_bytes_opt_(InformationLength) PVOID Information, _In_ SIZE_T InformationLength)

Definition at line 512 of file wsk.h.

typedef NTSTATUS(WSKAPI * PFN_WSK_CONTROL_CLIENT)(_In_ PWSK_CLIENT Client, _In_ ULONG ControlCode, _In_ SIZE_T InputSize, _In_reads_bytes_opt_(InputSize) PVOID InputBuffer, _In_ SIZE_T OutputSize, _Out_writes_bytes_opt_(OutputSize) PVOID OutputBuffer, _Out_opt_ SIZE_T *OutputSizeReturned, _Inout_opt_ PIRP Irp)

Definition at line 413 of file wsk.h.

typedef NTSTATUS(WSKAPI * PFN_WSK_CONTROL_SOCKET)(_In_ PWSK_SOCKET Socket, _In_ WSK_CONTROL_SOCKET_TYPE RequestType, _In_ ULONG ControlCode, _In_ ULONG Level, _In_ SIZE_T InputSize, _In_reads_bytes_opt_(InputSize) PVOID InputBuffer, _In_ SIZE_T OutputSize, _Out_writes_bytes_opt_(OutputSize) PVOID OutputBuffer, _Out_opt_ SIZE_T *OutputSizeReturned, _Inout_opt_ PIRP Irp)

Definition at line 196 of file wsk.h.

typedef NTSTATUS(WSKAPI * PFN_WSK_DISCONNECT)(_In_ PWSK_SOCKET Socket, _In_opt_ PWSK_BUF Buffer, _In_ ULONG Flags, _Inout_ PIRP Irp)

Definition at line 337 of file wsk.h.

typedef NTSTATUS(WSKAPI * PFN_WSK_DISCONNECT_EVENT)(_In_opt_ PVOID SocketContext, _In_ ULONG Flags)

Definition at line 147 of file wsk.h.

typedef NTSTATUS(WSKAPI * PFN_WSK_GET_LOCAL_ADDRESS)(_In_ PWSK_SOCKET Socket, _Out_ PSOCKADDR LocalAddress, _Inout_ PIRP Irp)

Definition at line 251 of file wsk.h.

typedef NTSTATUS(WSKAPI * PFN_WSK_GET_REMOTE_ADDRESS)(_In_ PWSK_SOCKET Socket, _Out_ PSOCKADDR RemoteAddress, _Inout_ PIRP Irp)

Definition at line 314 of file wsk.h.

typedef NTSTATUS(WSKAPI * PFN_WSK_INSPECT_COMPLETE)(_In_ PWSK_SOCKET ListenSocket, _In_ PWSK_INSPECT_ID InspectID, _In_ WSK_INSPECT_ACTION Action, _Inout_ PIRP Irp)

Definition at line 243 of file wsk.h.

typedef NTSTATUS(WSKAPI * PFN_WSK_RECEIVE)(_In_ PWSK_SOCKET Socket, _In_ PWSK_BUF Buffer, _In_ ULONG Flags, _Inout_ PIRP Irp)

Definition at line 329 of file wsk.h.

typedef _Must_inspect_result_ NTSTATUS(WSKAPI * PFN_WSK_RECEIVE_EVENT)(_In_opt_ PVOID SocketContext, _In_ ULONG Flags, _In_opt_ PWSK_DATA_INDICATION DataIndication, _In_ SIZE_T BytesIndicated, _Inout_ SIZE_T *BytesAccepted)

Definition at line 138 of file wsk.h.

typedef NTSTATUS(WSKAPI * PFN_WSK_RECEIVE_FROM)(_In_ PWSK_SOCKET Socket, _In_ PWSK_BUF Buffer, _Reserved_ ULONG Flags, _Out_opt_ PSOCKADDR RemoteAddress, _Inout_ PULONG ControlLength, _Out_writes_bytes_opt_(*ControlLength) PCMSGHDR ControlInfo, _Out_opt_ PULONG ControlFlags, _Inout_ PIRP Irp)

Definition at line 494 of file wsk.h.

Definition at line 124 of file wsk.h.

typedef NTSTATUS(WSKAPI * PFN_WSK_RELEASE_DATA_INDICATION_LIST)(_In_ PWSK_SOCKET Socket, _In_ PWSK_DATA_INDICATION DataIndication)

Definition at line 345 of file wsk.h.

typedef NTSTATUS(WSKAPI * PFN_WSK_RELEASE_DATAGRAM_INDICATION_LIST)(_In_ PWSK_SOCKET Socket, _In_ PWSK_DATAGRAM_INDICATION DatagramIndication)

Definition at line 506 of file wsk.h.

Definition at line 321 of file wsk.h.

typedef NTSTATUS(WSKAPI * PFN_WSK_SEND_BACKLOG_EVENT)(_In_opt_ PVOID SocketContext, _In_ SIZE_T IdealBacklogSize)

Definition at line 153 of file wsk.h.

typedef NTSTATUS(WSKAPI * PFN_WSK_SEND_MESSAGES)(_In_ PWSK_SOCKET Socket, _In_ PWSK_BUF_LIST BufferList, _Reserved_ ULONG Flags, _In_opt_ PSOCKADDR RemoteAddress, _In_ ULONG ControlInfoLength, _In_reads_bytes_opt_(ControlInfoLength) PCMSGHDR ControlInfo, _Inout_ PIRP Irp)

Definition at line 277 of file wsk.h.

typedef NTSTATUS(WSKAPI * PFN_WSK_SEND_TO)(_In_ PWSK_SOCKET Socket, _In_ PWSK_BUF Buffer, _Reserved_ ULONG Flags, _In_opt_ PSOCKADDR RemoteAddress, _In_ ULONG ControlInfoLength, _In_reads_bytes_opt_(ControlInfoLength) PCMSGHDR ControlInfo, _Inout_ PIRP Irp)

Definition at line 483 of file wsk.h.

Definition at line 182 of file wsk.h.

typedef PVOID PWSK_CLIENT

Definition at line 92 of file wsk.h.

Definition at line 170 of file wsk.h.

Definition at line 426 of file wsk.h.

Definition at line 182 of file wsk.h.

Enumeration Type Documentation

Enumerator
WskSetOption 
WskGetOption 
WskIoctl 
WskControlMax 

Definition at line 84 of file wsk.h.

85 {
88  WskIoctl,
Definition: wsk.h:88
enum WSK_CONTROL_SOCKET_TYPE * PWSK_CONTROL_SOCKET_TYPE
WSK_CONTROL_SOCKET_TYPE
Definition: wsk.h:84
Enumerator
WskInspectReject 
WskInspectAccept 
WskInspectPend 
WskInspectMax 

Definition at line 76 of file wsk.h.

77 {
WSK_INSPECT_ACTION
Definition: wsk.h:76
enum WSK_INSPECT_ACTION * PWSK_INSPECT_ACTION

Function Documentation

typedef _At_ ( Irp->IoStatus.  Information,
__drv_allocatesMem(Mem)   
)
typedef _At_ ( Socket  ,
__drv_freesMem(Mem)   
)
typedef _At_ ( AddrInfo  ,
__drv_freesMem(Mem)   
)
typedef NTSTATUS ( WSKAPI PFN_WSK_BIND)
_Must_inspect_result_ NTSTATUS WskCaptureProviderNPI ( _In_ PWSK_REGISTRATION  WskRegistration,
_In_ ULONG  WaitTimeout,
_Out_ PWSK_PROVIDER_NPI  WskProviderNpi 
)
VOID WskDeregister ( _In_ PWSK_REGISTRATION  WskRegistration)
_Must_inspect_result_ NTSTATUS WskQueryProviderCharacteristics ( _In_ PWSK_REGISTRATION  WskRegistration,
_Out_ PWSK_PROVIDER_CHARACTERISTICS  WskProviderCharacteristics 
)
_Must_inspect_result_ NTSTATUS WskRegister ( _In_ PWSK_CLIENT_NPI  WskClientNpi,
_Out_ PWSK_REGISTRATION  WskRegistration 
)
VOID WskReleaseProviderNPI ( _In_ PWSK_REGISTRATION  WskRegistration)

Variable Documentation

CONST NPIID NPI_WSK_INTERFACE_ID