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
5eaf775d
Commit
5eaf775d
authored
Mar 09, 1999
by
Marcus Meissner
Committed by
Alexandre Julliard
Mar 09, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix broken _convert_sockopt for IPPROTO_TCP cases, added TCP_NODELAY.
parent
2503e7e4
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
24 additions
and
2 deletions
+24
-2
winsock.h
include/winsock.h
+3
-0
winsock.c
misc/winsock.c
+21
-2
No files found.
include/winsock.h
View file @
5eaf775d
...
...
@@ -220,6 +220,9 @@ typedef struct WSAData {
#define WS_IOR(x,y,t) (WS_IOC_OUT|(((UINT)sizeof(t)&WS_IOCPARM_MASK)<<16)|((x)<<8)|(y))
#define WS_IOW(x,y,t) (WS_IOC_IN|(((UINT)sizeof(t)&WS_IOCPARM_MASK)<<16)|((x)<<8)|(y))
/* IPPROTO_TCP options */
#define WS_TCP_NODELAY 1
/* do not apply nagle algorithm */
/*
* Socket I/O flags (supported by spec 1.1)
*/
...
...
misc/winsock.c
View file @
5eaf775d
...
...
@@ -98,6 +98,20 @@ static int _px_sock_ops[] =
SO_LINGER
,
SO_OOBINLINE
,
SO_SNDBUF
,
SO_RCVBUF
,
SO_ERROR
,
SO_TYPE
,
SO_LINGER
};
static
INT
_ws_tcp_ops
[]
=
{
#ifdef TCP_NODELAY
WS_TCP_NODELAY
,
#endif
0
};
static
int
_px_tcp_ops
[]
=
{
#ifdef TCP_NODELAY
TCP_NODELAY
,
#endif
0
};
static
int
_check_ws
(
LPWSINFO
pwsi
,
ws_socket
*
pws
);
static
char
*
_check_buffer
(
LPWSINFO
pwsi
,
int
size
);
...
...
@@ -116,10 +130,15 @@ static void convert_sockopt(INT *level, INT *optname)
for
(
i
=
0
;
_ws_sock_ops
[
i
];
i
++
)
if
(
_ws_sock_ops
[
i
]
==
*
optname
)
break
;
if
(
_ws_sock_ops
[
i
]
)
*
optname
=
_px_sock_ops
[
i
];
else
WARN
(
winsock
,
"Unknown
optname %d
\n
"
,
*
optname
);
else
FIXME
(
winsock
,
"Unknown SOL_SOCKET
optname %d
\n
"
,
*
optname
);
break
;
case
WS_IPPROTO_TCP
:
*
optname
=
IPPROTO_TCP
;
*
level
=
IPPROTO_TCP
;
for
(
i
=
0
;
_ws_tcp_ops
[
i
];
i
++
)
if
(
_ws_tcp_ops
[
i
]
==
*
optname
)
break
;
if
(
_ws_tcp_ops
[
i
]
)
*
optname
=
_px_tcp_ops
[
i
];
else
FIXME
(
winsock
,
"Unknown IPPROTO_TCP optname %d
\n
"
,
*
optname
);
break
;
}
}
...
...
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