Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
7382ec90
Commit
7382ec90
authored
Jun 03, 2020
by
Alistair Leslie-Hughes
Committed by
Alexandre Julliard
Jun 03, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
include/ddk: Add wsk.h file.
Signed-off-by:
Paul Gofman
<
pgofman@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
8fe1c9e1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
117 additions
and
0 deletions
+117
-0
Makefile.in
include/Makefile.in
+1
-0
wsk.h
include/ddk/wsk.h
+116
-0
No files found.
include/Makefile.in
View file @
7382ec90
...
...
@@ -188,6 +188,7 @@ SOURCES = \
ddk/wdm.h
\
ddk/winddiui.h
\
ddk/winsplp.h
\
ddk/wsk.h
\
ddraw.h
\
ddrawgdi.h
\
ddrawi.h
\
...
...
include/ddk/wsk.h
0 → 100644
View file @
7382ec90
/*
* Copyright 2020 Alistair Leslie-Hughes
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef _INC_WSK
#define _INC_WSK
#include <winsock2.h>
#ifdef __cplusplus
extern
"C"
{
#endif
struct
_WSK_CLIENT
;
typedef
struct
_WSK_CLIENT
WSK_CLIENT
,
*
PWSK_CLIENT
;
typedef
struct
_WSK_CLIENT_CONNECTION_DISPATCH
WSK_CLIENT_CONNECTION_DISPATCH
,
*
PWSK_CLIENT_CONNECTION_DISPATCH
;
typedef
struct
_WSK_BUF
{
PMDL
Mdl
;
ULONG
Offset
;
SIZE_T
Length
;
}
WSK_BUF
,
*
PWSK_BUF
;
typedef
struct
_WSK_DATA_INDICATION
{
struct
_WSK_DATA_INDICATION
*
Next
;
WSK_BUF
Buffer
;
}
WSK_DATA_INDICATION
,
*
PWSK_DATA_INDICATION
;
typedef
NTSTATUS
(
WINAPI
*
PFN_WSK_CLIENT_EVENT
)(
void
*
context
,
ULONG
event
,
void
*
info
,
SIZE_T
length
);
typedef
NTSTATUS
(
WINAPI
*
PFN_WSK_DISCONNECT_EVENT
)(
void
*
context
,
ULONG
flags
);
typedef
NTSTATUS
(
WINAPI
*
PFN_WSK_SEND_BACKLOG_EVENT
)(
void
*
socket_context
,
SIZE_T
ideal_backlog_size
);
typedef
NTSTATUS
(
WINAPI
*
PFN_WSK_SOCKET
)(
WSK_CLIENT
*
client
,
ADDRESS_FAMILY
family
,
USHORT
type
,
ULONG
protocol
,
ULONG
flags
,
void
*
context
,
const
void
*
dispatch
,
PEPROCESS
process
,
PETHREAD
thread
,
SECURITY_DESCRIPTOR
*
security
,
IRP
*
irp
);
typedef
NTSTATUS
(
WINAPI
*
PFN_WSK_SOCKET_CONNECT
)(
WSK_CLIENT
*
client
,
USHORT
type
,
ULONG
protocol
,
SOCKADDR
*
local
,
SOCKADDR
*
remote
,
ULONG
flags
,
void
*
context
,
const
WSK_CLIENT_CONNECTION_DISPATCH
*
dispatch
,
PEPROCESS
process
,
PETHREAD
owning
,
SECURITY_DESCRIPTOR
*
descriptor
,
IRP
*
irp
);
typedef
NTSTATUS
(
WINAPI
*
PFN_WSK_CONTROL_CLIENT
)(
WSK_CLIENT
*
client
,
ULONG
control
,
SIZE_T
input_size
,
void
*
input
,
SIZE_T
output_size
,
void
*
output
,
SIZE_T
*
returned
,
IRP
*
irp
);
typedef
NTSTATUS
(
WINAPI
*
PFN_WSK_GET_ADDRESS_INFO
)(
WSK_CLIENT
*
client
,
UNICODE_STRING
*
node_name
,
UNICODE_STRING
*
service_name
,
ULONG
name_space
,
GUID
*
provider
,
ADDRINFOEXW
*
hints
,
ADDRINFOEXW
**
result
,
PEPROCESS
process
,
PETHREAD
thread
,
IRP
*
irp
);
typedef
void
(
WINAPI
*
PFN_WSK_FREE_ADDRESS_INFO
)(
WSK_CLIENT
*
client
,
ADDRINFOEXW
*
addrinfo
);
typedef
NTSTATUS
(
WINAPI
*
PFN_WSK_GET_NAME_INFO
)(
WSK_CLIENT
*
client
,
SOCKADDR
*
addr
,
ULONG
length
,
UNICODE_STRING
*
node_name
,
UNICODE_STRING
*
service_name
,
ULONG
flags
,
PEPROCESS
process
,
PETHREAD
thread
,
IRP
*
irp
);
typedef
NTSTATUS
(
WINAPI
*
PFN_WSK_RECEIVE_EVENT
)(
void
*
context
,
ULONG
flags
,
WSK_DATA_INDICATION
*
indication
,
SIZE_T
size
,
SIZE_T
*
accepted
);
typedef
struct
_WSK_PROVIDER_DISPATCH
{
USHORT
Version
;
USHORT
Reserved
;
PFN_WSK_SOCKET
WskSocket
;
PFN_WSK_SOCKET_CONNECT
WskSocketConnect
;
PFN_WSK_CONTROL_CLIENT
WskControlClient
;
PFN_WSK_GET_ADDRESS_INFO
WskGetAddressInfo
;
PFN_WSK_FREE_ADDRESS_INFO
WskFreeAddressInfo
;
PFN_WSK_GET_NAME_INFO
WskGetNameInfo
;
}
WSK_PROVIDER_DISPATCH
,
*
PWSK_PROVIDER_DISPATCH
;
typedef
struct
_WSK_CLIENT_CONNECTION_DISPATCH
{
PFN_WSK_RECEIVE_EVENT
WskReceiveEvent
;
PFN_WSK_DISCONNECT_EVENT
WskDisconnectEvent
;
PFN_WSK_SEND_BACKLOG_EVENT
WskSendBacklogEvent
;
}
WSK_CLIENT_CONNECTION_DISPATCH
,
*
PWSK_CLIENT_CONNECTION_DISPATCH
;
typedef
struct
_WSK_CLIENT_DISPATCH
{
USHORT
Version
;
USHORT
Reserved
;
PFN_WSK_CLIENT_EVENT
WskClientEvent
;
}
WSK_CLIENT_DISPATCH
,
*
PWSK_CLIENT_DISPATCH
;
typedef
struct
_WSK_CLIENT_NPI
{
void
*
ClientContext
;
const
WSK_CLIENT_DISPATCH
*
Dispatch
;
}
WSK_CLIENT_NPI
,
*
PWSK_CLIENT_NPI
;
typedef
struct
_WSK_REGISTRATION
{
ULONGLONG
ReservedRegistrationState
;
void
*
ReservedRegistrationContext
;
KSPIN_LOCK
ReservedRegistrationLock
;
}
WSK_REGISTRATION
,
*
PWSK_REGISTRATION
;
typedef
struct
_WSK_PROVIDER_NPI
{
PWSK_CLIENT
Client
;
const
WSK_PROVIDER_DISPATCH
*
Dispatch
;
}
WSK_PROVIDER_NPI
,
*
PWSK_PROVIDER_NPI
;
#ifdef __cplusplus
}
#endif
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment