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
be8bd6f4
Commit
be8bd6f4
authored
Jun 02, 2021
by
Zebediah Figura
Committed by
Alexandre Julliard
Jun 02, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ntdll: Introduce IOCTL_WINE_AFD_COMPLETE_ASYNC.
Signed-off-by:
Zebediah Figura
<
z.figura12@gmail.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
810a9da9
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
24 additions
and
1 deletion
+24
-1
file.c
dlls/ntdll/unix/file.c
+1
-1
socket.c
dlls/ntdll/unix/socket.c
+21
-0
unix_private.h
dlls/ntdll/unix/unix_private.h
+1
-0
afd.h
include/wine/afd.h
+1
-0
No files found.
dlls/ntdll/unix/file.c
View file @
be8bd6f4
...
@@ -5099,7 +5099,7 @@ static NTSTATUS register_async_file_read( HANDLE handle, HANDLE event,
...
@@ -5099,7 +5099,7 @@ static NTSTATUS register_async_file_read( HANDLE handle, HANDLE event,
return
status
;
return
status
;
}
}
static
void
add_completion
(
HANDLE
handle
,
ULONG_PTR
value
,
NTSTATUS
status
,
ULONG
info
,
BOOL
async
)
void
add_completion
(
HANDLE
handle
,
ULONG_PTR
value
,
NTSTATUS
status
,
ULONG
info
,
BOOL
async
)
{
{
SERVER_START_REQ
(
add_fd_completion
)
SERVER_START_REQ
(
add_fd_completion
)
{
{
...
...
dlls/ntdll/unix/socket.c
View file @
be8bd6f4
...
@@ -1116,6 +1116,17 @@ static NTSTATUS sock_transmit( HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc,
...
@@ -1116,6 +1116,17 @@ static NTSTATUS sock_transmit( HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc,
return
status
;
return
status
;
}
}
static
void
complete_async
(
HANDLE
handle
,
HANDLE
event
,
PIO_APC_ROUTINE
apc
,
void
*
apc_user
,
IO_STATUS_BLOCK
*
io
,
NTSTATUS
status
,
ULONG_PTR
information
)
{
io
->
Status
=
status
;
io
->
Information
=
information
;
if
(
event
)
NtSetEvent
(
event
,
NULL
);
if
(
apc
)
NtQueueApcThread
(
GetCurrentThread
(),
(
PNTAPCFUNC
)
apc
,
(
ULONG_PTR
)
apc_user
,
(
ULONG_PTR
)
io
,
0
);
if
(
apc_user
)
add_completion
(
handle
,
(
ULONG_PTR
)
apc_user
,
status
,
information
,
FALSE
);
}
NTSTATUS
sock_ioctl
(
HANDLE
handle
,
HANDLE
event
,
PIO_APC_ROUTINE
apc
,
void
*
apc_user
,
IO_STATUS_BLOCK
*
io
,
NTSTATUS
sock_ioctl
(
HANDLE
handle
,
HANDLE
event
,
PIO_APC_ROUTINE
apc
,
void
*
apc_user
,
IO_STATUS_BLOCK
*
io
,
ULONG
code
,
void
*
in_buffer
,
ULONG
in_size
,
void
*
out_buffer
,
ULONG
out_size
)
ULONG
code
,
void
*
in_buffer
,
ULONG
in_size
,
void
*
out_buffer
,
ULONG
out_size
)
{
{
...
@@ -1249,6 +1260,16 @@ NTSTATUS sock_ioctl( HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc, void *apc
...
@@ -1249,6 +1260,16 @@ NTSTATUS sock_ioctl( HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc, void *apc
break
;
break
;
}
}
case
IOCTL_AFD_WINE_COMPLETE_ASYNC
:
{
if
(
in_size
!=
sizeof
(
NTSTATUS
))
return
STATUS_BUFFER_TOO_SMALL
;
status
=
*
(
NTSTATUS
*
)
in_buffer
;
complete_async
(
handle
,
event
,
apc
,
apc_user
,
io
,
status
,
0
);
break
;
}
case
IOCTL_AFD_POLL
:
case
IOCTL_AFD_POLL
:
status
=
sock_poll
(
handle
,
event
,
apc
,
apc_user
,
io
,
in_buffer
,
in_size
,
out_buffer
,
out_size
);
status
=
sock_poll
(
handle
,
event
,
apc
,
apc_user
,
io
,
in_buffer
,
in_size
,
out_buffer
,
out_size
);
break
;
break
;
...
...
dlls/ntdll/unix/unix_private.h
View file @
be8bd6f4
...
@@ -279,6 +279,7 @@ extern NTSTATUS open_unix_file( HANDLE *handle, const char *unix_name, ACCESS_MA
...
@@ -279,6 +279,7 @@ extern NTSTATUS open_unix_file( HANDLE *handle, const char *unix_name, ACCESS_MA
ULONG
options
,
void
*
ea_buffer
,
ULONG
ea_length
)
DECLSPEC_HIDDEN
;
ULONG
options
,
void
*
ea_buffer
,
ULONG
ea_length
)
DECLSPEC_HIDDEN
;
extern
void
init_files
(
void
)
DECLSPEC_HIDDEN
;
extern
void
init_files
(
void
)
DECLSPEC_HIDDEN
;
extern
void
init_cpu_info
(
void
)
DECLSPEC_HIDDEN
;
extern
void
init_cpu_info
(
void
)
DECLSPEC_HIDDEN
;
extern
void
add_completion
(
HANDLE
handle
,
ULONG_PTR
value
,
NTSTATUS
status
,
ULONG
info
,
BOOL
async
)
DECLSPEC_HIDDEN
;
extern
void
dbg_init
(
void
)
DECLSPEC_HIDDEN
;
extern
void
dbg_init
(
void
)
DECLSPEC_HIDDEN
;
...
...
include/wine/afd.h
View file @
be8bd6f4
...
@@ -97,6 +97,7 @@ struct afd_poll_params
...
@@ -97,6 +97,7 @@ struct afd_poll_params
#define IOCTL_AFD_WINE_TRANSMIT CTL_CODE(FILE_DEVICE_NETWORK, 207, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_AFD_WINE_TRANSMIT CTL_CODE(FILE_DEVICE_NETWORK, 207, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_AFD_WINE_ADDRESS_LIST_CHANGE CTL_CODE(FILE_DEVICE_NETWORK, 208, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_AFD_WINE_ADDRESS_LIST_CHANGE CTL_CODE(FILE_DEVICE_NETWORK, 208, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_AFD_WINE_FIONBIO CTL_CODE(FILE_DEVICE_NETWORK, 209, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_AFD_WINE_FIONBIO CTL_CODE(FILE_DEVICE_NETWORK, 209, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_AFD_WINE_COMPLETE_ASYNC CTL_CODE(FILE_DEVICE_NETWORK, 210, METHOD_BUFFERED, FILE_ANY_ACCESS)
struct
afd_create_params
struct
afd_create_params
{
{
...
...
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