Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
048964b4
Commit
048964b4
authored
Sep 06, 2016
by
Bruno Jesus
Committed by
Alexandre Julliard
Sep 07, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ws2_32: Debug the ioctl code name whenever possible.
Signed-off-by:
Bruno Jesus
<
00cpxxx@gmail.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
f53c320f
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
59 additions
and
9 deletions
+59
-9
socket.c
dlls/ws2_32/socket.c
+59
-9
No files found.
dlls/ws2_32/socket.c
View file @
048964b4
...
...
@@ -4393,11 +4393,61 @@ char* WINAPI WS_inet_ntoa(struct WS_in_addr in)
return
data
->
ntoa_buffer
;
}
static
const
char
*
debugstr_wsaioctl
(
DWORD
ioctl
)
static
const
char
*
debugstr_wsaioctl
(
DWORD
code
)
{
const
char
*
buf_type
,
*
family
;
const
char
*
name
=
NULL
,
*
buf_type
,
*
family
;
switch
(
ioctl
&
0x18000000
)
#define IOCTL_NAME(x) case x: name = #x; break
switch
(
code
)
{
IOCTL_NAME
(
WS_FIONBIO
);
IOCTL_NAME
(
WS_FIONREAD
);
IOCTL_NAME
(
WS_SIOCATMARK
);
/* IOCTL_NAME(WS_SIO_ACQUIRE_PORT_RESERVATION); */
IOCTL_NAME
(
WS_SIO_ADDRESS_LIST_CHANGE
);
IOCTL_NAME
(
WS_SIO_ADDRESS_LIST_QUERY
);
IOCTL_NAME
(
WS_SIO_ASSOCIATE_HANDLE
);
/* IOCTL_NAME(WS_SIO_ASSOCIATE_PORT_RESERVATION);
IOCTL_NAME(WS_SIO_BASE_HANDLE);
IOCTL_NAME(WS_SIO_BSP_HANDLE);
IOCTL_NAME(WS_SIO_BSP_HANDLE_SELECT);
IOCTL_NAME(WS_SIO_BSP_HANDLE_POLL);
IOCTL_NAME(WS_SIO_CHK_QOS); */
IOCTL_NAME
(
WS_SIO_ENABLE_CIRCULAR_QUEUEING
);
IOCTL_NAME
(
WS_SIO_FIND_ROUTE
);
IOCTL_NAME
(
WS_SIO_FLUSH
);
IOCTL_NAME
(
WS_SIO_GET_BROADCAST_ADDRESS
);
IOCTL_NAME
(
WS_SIO_GET_EXTENSION_FUNCTION_POINTER
);
IOCTL_NAME
(
WS_SIO_GET_GROUP_QOS
);
IOCTL_NAME
(
WS_SIO_GET_INTERFACE_LIST
);
/* IOCTL_NAME(WS_SIO_GET_INTERFACE_LIST_EX); */
IOCTL_NAME
(
WS_SIO_GET_QOS
);
/* IOCTL_NAME(WS_SIO_IDEAL_SEND_BACKLOG_CHANGE);
IOCTL_NAME(WS_SIO_IDEAL_SEND_BACKLOG_QUERY); */
IOCTL_NAME
(
WS_SIO_KEEPALIVE_VALS
);
IOCTL_NAME
(
WS_SIO_MULTIPOINT_LOOPBACK
);
IOCTL_NAME
(
WS_SIO_MULTICAST_SCOPE
);
/* IOCTL_NAME(WS_SIO_QUERY_RSS_SCALABILITY_INFO);
IOCTL_NAME(WS_SIO_QUERY_WFP_ALE_ENDPOINT_HANDLE); */
IOCTL_NAME
(
WS_SIO_RCVALL
);
IOCTL_NAME
(
WS_SIO_RCVALL_IGMPMCAST
);
IOCTL_NAME
(
WS_SIO_RCVALL_MCAST
);
/* IOCTL_NAME(WS_SIO_RELEASE_PORT_RESERVATION); */
IOCTL_NAME
(
WS_SIO_ROUTING_INTERFACE_CHANGE
);
IOCTL_NAME
(
WS_SIO_ROUTING_INTERFACE_QUERY
);
IOCTL_NAME
(
WS_SIO_SET_COMPATIBILITY_MODE
);
IOCTL_NAME
(
WS_SIO_SET_GROUP_QOS
);
IOCTL_NAME
(
WS_SIO_SET_QOS
);
IOCTL_NAME
(
WS_SIO_TRANSLATE_HANDLE
);
IOCTL_NAME
(
WS_SIO_UDP_CONNRESET
);
}
#undef IOCTL_NAME
if
(
name
)
return
name
+
3
;
/* If this is not a known code split its bits */
switch
(
code
&
0x18000000
)
{
case
WS_IOC_WS2
:
family
=
"IOC_WS2"
;
...
...
@@ -4410,12 +4460,12 @@ static const char *debugstr_wsaioctl(DWORD ioctl)
break
;
default:
/* WS_IOC_UNIX */
{
BYTE
size
=
(
ioctl
>>
16
)
&
WS_IOCPARM_MASK
;
char
x
=
(
ioctl
&
0xff00
)
>>
8
;
BYTE
y
=
ioctl
&
0xff
;
BYTE
size
=
(
code
>>
16
)
&
WS_IOCPARM_MASK
;
char
x
=
(
code
&
0xff00
)
>>
8
;
BYTE
y
=
code
&
0xff
;
char
args
[
14
];
switch
(
ioctl
&
(
WS_IOC_VOID
|
WS_IOC_INOUT
))
switch
(
code
&
(
WS_IOC_VOID
|
WS_IOC_INOUT
))
{
case
WS_IOC_VOID
:
buf_type
=
"_IO"
;
...
...
@@ -4439,7 +4489,7 @@ static const char *debugstr_wsaioctl(DWORD ioctl)
}
/* We are different from WS_IOC_UNIX. */
switch
(
ioctl
&
(
WS_IOC_VOID
|
WS_IOC_INOUT
))
switch
(
code
&
(
WS_IOC_VOID
|
WS_IOC_INOUT
))
{
case
WS_IOC_VOID
:
buf_type
=
"_WSAIO"
;
...
...
@@ -4459,7 +4509,7 @@ static const char *debugstr_wsaioctl(DWORD ioctl)
}
return
wine_dbg_sprintf
(
"%s(%s, %d)"
,
buf_type
,
family
,
(
USHORT
)(
ioctl
&
0xffff
));
(
USHORT
)(
code
&
0xffff
));
}
/* do an ioctl call through the server */
...
...
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