summaryrefslogtreecommitdiffstats
path: root/vendor/winapi/src/shared/mswsockdef.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/winapi/src/shared/mswsockdef.rs')
-rw-r--r--vendor/winapi/src/shared/mswsockdef.rs48
1 files changed, 48 insertions, 0 deletions
diff --git a/vendor/winapi/src/shared/mswsockdef.rs b/vendor/winapi/src/shared/mswsockdef.rs
new file mode 100644
index 000000000..b62cf299d
--- /dev/null
+++ b/vendor/winapi/src/shared/mswsockdef.rs
@@ -0,0 +1,48 @@
+// Licensed under the Apache License, Version 2.0
+// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
+// All files in the project carrying such notice may not be copied, modified, or distributed
+// except according to those terms.
+use shared::minwindef::{DWORD, ULONG};
+use shared::ws2def::IOC_VENDOR;
+use um::winnt::{LONG, PVOID, ULONGLONG};
+pub const SIO_SET_COMPATIBILITY_MODE: DWORD = _WSAIOW!(IOC_VENDOR, 300);
+ENUM!{enum WSA_COMPATIBILITY_BEHAVIOR_ID {
+ WsaBehaviorAll = 0,
+ WsaBehaviorReceiveBuffering,
+ WsaBehaviorAutoTuning,
+}}
+pub type PWSA_COMPATIBILITY_BEHAVIOR_ID = *mut WSA_COMPATIBILITY_BEHAVIOR_ID;
+STRUCT!{struct WSA_COMPATIBILITY_MODE {
+ BehaviorId: WSA_COMPATIBILITY_BEHAVIOR_ID,
+ TargetOsVersion: ULONG,
+}}
+pub type PWSA_COMPATIBILITY_MODE = *mut WSA_COMPATIBILITY_MODE;
+pub type RIO_BUFFERID = PVOID;
+pub type PRIO_BUFFERID = *mut PVOID;
+pub type RIO_CQ = PVOID;
+pub type PRIO_CQ = *mut PVOID;
+pub type RIO_RQ = PVOID;
+pub type PRIO_RQ = *mut PVOID;
+STRUCT!{struct RIORESULT {
+ Status: LONG,
+ BytesTransferred: ULONG,
+ SocketContext: ULONGLONG,
+ RequestContext: ULONGLONG,
+}}
+pub type PRIORESULT = *mut RIORESULT;
+STRUCT!{struct RIO_BUF {
+ BufferId: RIO_BUFFERID,
+ Offset: ULONG,
+ Length: ULONG,
+}}
+pub type PRIO_BUF = *mut RIO_BUF;
+pub const RIO_MSG_DONT_NOTIFY: DWORD = 0x00000001;
+pub const RIO_MSG_DEFER: DWORD = 0x00000002;
+pub const RIO_MSG_WAITALL: DWORD = 0x00000004;
+pub const RIO_MSG_COMMIT_ONLY: DWORD = 0x00000008;
+pub const RIO_INVALID_BUFFERID: RIO_BUFFERID = 0xFFFFFFFF as RIO_BUFFERID;
+pub const RIO_INVALID_CQ: RIO_CQ = 0 as RIO_CQ;
+pub const RIO_INVALID_RQ: RIO_RQ = 0 as RIO_RQ;
+pub const RIO_MAX_CQ_SIZE: DWORD = 0x8000000;
+pub const RIO_CORRUPT_CQ: ULONG = 0xFFFFFFFF;