summaryrefslogtreecommitdiffstats
path: root/nsprpub/pr/include/private/primpl.h
diff options
context:
space:
mode:
Diffstat (limited to 'nsprpub/pr/include/private/primpl.h')
-rw-r--r--nsprpub/pr/include/private/primpl.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/nsprpub/pr/include/private/primpl.h b/nsprpub/pr/include/private/primpl.h
index 63ba3ee46..dc24a2572 100644
--- a/nsprpub/pr/include/private/primpl.h
+++ b/nsprpub/pr/include/private/primpl.h
@@ -1225,6 +1225,13 @@ extern PRInt32 _PR_MD_SENDTO(
const PRNetAddr *addr, PRUint32 addrlen, PRIntervalTime timeout);
#define _PR_MD_SENDTO _MD_SENDTO
+#if defined(_WIN64) && defined(WIN95)
+extern PRInt32 _PR_MD_TCPSENDTO(
+ PRFileDesc *fd, const void *buf, PRInt32 amount, PRIntn flags,
+ const PRNetAddr *addr, PRUint32 addrlen, PRIntervalTime timeout);
+#define _PR_MD_TCPSENDTO _MD_TCPSENDTO
+#endif
+
extern PRInt32 _PR_MD_SOCKETPAIR(int af, int type, int flags, PROsfd *osfd);
#define _PR_MD_SOCKETPAIR _MD_SOCKETPAIR
@@ -1747,6 +1754,18 @@ struct PRFilePrivate {
* requires knowing the address family of the
* socket, we save the address family here. */
#endif
+
+#if defined(_WIN64)
+ /* This is necessary for TCP Fast Open. TCP Fast Open in windows must
+ * use ConnectEx function which uses OVERLAPPED. TCPSendTo will call
+ * ConnectEx to send fast open data. If ConnectEx returns
+ * ERROR_IO_PENDING we need to save OVERLAPPED structure and we will
+ * use it in ConnectContinue to get the final result of ConnectEx.
+ */
+ PRBool alreadyConnected;
+ PRBool overlappedActive;
+ OVERLAPPED ol;
+#endif
};
#ifdef _WIN64