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
cf78e15c
Commit
cf78e15c
authored
Oct 04, 2004
by
Robert Shearman
Committed by
Alexandre Julliard
Oct 04, 2004
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- Fix calculation of required buffer size.
- Add support for detecting the IFF_MULTICAST flag. - Stub for SIO_ADDRESS_LIST_CHANGE.
parent
179dc259
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
1 deletion
+15
-1
socket.c
dlls/winsock/socket.c
+14
-1
winsock2.h
include/winsock2.h
+1
-0
No files found.
dlls/winsock/socket.c
View file @
cf78e15c
...
...
@@ -1812,6 +1812,10 @@ INT WINAPI WSAIoctl (SOCKET s,
if
(
fd
==
-
1
)
return
SOCKET_ERROR
;
TRACE
(
"%d, 0x%08lx, %p, %ld, %p, %ld, %p, %p, %p
\n
"
,
s
,
dwIoControlCode
,
lpvInBuffer
,
cbInBuffer
,
lpbOutBuffer
,
cbOutBuffer
,
lpcbBytesReturned
,
lpOverlapped
,
lpCompletionRoutine
);
switch
(
dwIoControlCode
)
{
case
SIO_GET_INTERFACE_LIST
:
...
...
@@ -1849,8 +1853,9 @@ INT WINAPI WSAIoctl (SOCKET s,
{
PIP_ADAPTER_INFO
ptr
;
if
(
size
>
cbOutBuffer
)
if
(
size
*
sizeof
(
INTERFACE_INFO
)
/
sizeof
(
IP_ADAPTER_INFO
)
>
cbOutBuffer
)
{
WARN
(
"Buffer too small = %lu, cbOutBuffer = %lu
\n
"
,
size
,
cbOutBuffer
);
HeapFree
(
GetProcessHeap
(),
0
,
table
);
release_sock_fd
(
s
,
fd
);
WSASetLastError
(
WSAEFAULT
);
...
...
@@ -1889,6 +1894,8 @@ INT WINAPI WSAIoctl (SOCKET s,
intArray
->
iiFlags
|=
WS_IFF_LOOPBACK
;
if
(
ifInfo
.
ifr_flags
&
IFF_UP
)
intArray
->
iiFlags
|=
WS_IFF_UP
;
if
(
ifInfo
.
ifr_flags
&
IFF_MULTICAST
)
intArray
->
iiFlags
|=
WS_IFF_MULTICAST
;
}
addr
=
inet_addr
(
ptr
->
IpAddressList
.
IpAddress
.
String
);
...
...
@@ -1938,6 +1945,12 @@ INT WINAPI WSAIoctl (SOCKET s,
break
;
}
case
SIO_ADDRESS_LIST_CHANGE
:
FIXME
(
"-> SIO_ADDRESS_LIST_CHANGE request: stub
\n
"
);
/* FIXME: error and return code depend on whether socket was created
* with WSA_FLAG_OVERLAPPED, but there is no easy way to get this */
break
;
default:
WARN
(
"
\t
unsupported WS_IOCTL cmd (%08lx)
\n
"
,
dwIoControlCode
);
release_sock_fd
(
s
,
fd
);
...
...
include/winsock2.h
View file @
cf78e15c
...
...
@@ -117,6 +117,7 @@ extern "C" {
#define IOC_WS2 0x08000000
#define IOC_PROTOCOL 0x10000000
#define IOC_VENDOR 0x18000000
#define IOC_VOID 0x20000000
#define _WSAIO(x,y) (IOC_VOID|(x)|(y))
#define _WSAIOR(x,y) (IOC_OUT|(x)|(y))
#define _WSAIOW(x,y) (IOC_IN|(x)|(y))
...
...
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