summaryrefslogtreecommitdiffstats
path: root/third_party/rust/winapi-0.2.8/src/ws2def.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--third_party/rust/winapi-0.2.8/src/ws2def.rs279
1 files changed, 279 insertions, 0 deletions
diff --git a/third_party/rust/winapi-0.2.8/src/ws2def.rs b/third_party/rust/winapi-0.2.8/src/ws2def.rs
new file mode 100644
index 0000000000..dcc4aaa6f1
--- /dev/null
+++ b/third_party/rust/winapi-0.2.8/src/ws2def.rs
@@ -0,0 +1,279 @@
+// Copyright © 2015, Peter Atashian
+// Licensed under the MIT License <LICENSE.md>
+//! This file contains the core definitions for the Winsock2 specification that can be used by
+//! both user-mode and kernel mode modules.
+pub type ADDRESS_FAMILY = ::USHORT;
+pub const AF_UNSPEC: ::c_int = 0;
+pub const AF_UNIX: ::c_int = 1;
+pub const AF_INET: ::c_int = 2;
+pub const AF_IMPLINK: ::c_int = 3;
+pub const AF_PUP: ::c_int = 4;
+pub const AF_CHAOS: ::c_int = 5;
+pub const AF_NS: ::c_int = 6;
+pub const AF_IPX: ::c_int = AF_NS;
+pub const AF_ISO: ::c_int = 7;
+pub const AF_OSI: ::c_int = AF_ISO;
+pub const AF_ECMA: ::c_int = 8;
+pub const AF_DATAKIT: ::c_int = 9;
+pub const AF_CCITT: ::c_int = 10;
+pub const AF_SNA: ::c_int = 11;
+pub const AF_DECnet: ::c_int = 12;
+pub const AF_DLI: ::c_int = 13;
+pub const AF_LAT: ::c_int = 14;
+pub const AF_HYLINK: ::c_int = 15;
+pub const AF_APPLETALK: ::c_int = 16;
+pub const AF_NETBIOS: ::c_int = 17;
+pub const AF_VOICEVIEW: ::c_int = 18;
+pub const AF_FIREFOX: ::c_int = 19;
+pub const AF_UNKNOWN1: ::c_int = 20;
+pub const AF_BAN: ::c_int = 21;
+pub const AF_ATM: ::c_int = 22;
+pub const AF_INET6: ::c_int = 23;
+pub const AF_CLUSTER: ::c_int = 24;
+pub const AF_12844: ::c_int = 25;
+pub const AF_IRDA: ::c_int = 26;
+pub const AF_NETDES: ::c_int = 28;
+pub const AF_TCNPROCESS: ::c_int = 29;
+pub const AF_TCNMESSAGE: ::c_int = 30;
+pub const AF_ICLFXBM: ::c_int = 31;
+pub const AF_BTH: ::c_int = 32;
+pub const AF_LINK: ::c_int = 33;
+pub const AF_MAX: ::c_int = 34;
+pub const SOCK_STREAM: ::c_int = 1;
+pub const SOCK_DGRAM: ::c_int = 2;
+pub const SOCK_RAW: ::c_int = 3;
+pub const SOCK_RDM: ::c_int = 4;
+pub const SOCK_SEQPACKET: ::c_int = 5;
+pub const SOL_SOCKET: ::c_int = 0xffff;
+pub const SO_DEBUG: ::c_int = 0x0001;
+pub const SO_ACCEPTCONN: ::c_int = 0x0002;
+pub const SO_REUSEADDR: ::c_int = 0x0004;
+pub const SO_KEEPALIVE: ::c_int = 0x0008;
+pub const SO_DONTROUTE: ::c_int = 0x0010;
+pub const SO_BROADCAST: ::c_int = 0x0020;
+pub const SO_USELOOPBACK: ::c_int = 0x0040;
+pub const SO_LINGER: ::c_int = 0x0080;
+pub const SO_OOBINLINE: ::c_int = 0x0100;
+pub const SO_DONTLINGER: ::c_int = !SO_LINGER;
+pub const SO_EXCLUSIVEADDRUSE: ::c_int = !SO_REUSEADDR;
+pub const SO_SNDBUF: ::c_int = 0x1001;
+pub const SO_RCVBUF: ::c_int = 0x1002;
+pub const SO_SNDLOWAT: ::c_int = 0x1003;
+pub const SO_RCVLOWAT: ::c_int = 0x1004;
+pub const SO_SNDTIMEO: ::c_int = 0x1005;
+pub const SO_RCVTIMEO: ::c_int = 0x1006;
+pub const SO_ERROR: ::c_int = 0x1007;
+pub const SO_TYPE: ::c_int = 0x1008;
+pub const SO_BSP_STATE: ::c_int = 0x1009;
+pub const SO_GROUP_ID: ::c_int = 0x2001;
+pub const SO_GROUP_PRIORITY: ::c_int = 0x2002;
+pub const SO_MAX_MSG_SIZE: ::c_int = 0x2003;
+pub const SO_CONDITIONAL_ACCEPT: ::c_int = 0x3002;
+pub const SO_PAUSE_ACCEPT: ::c_int = 0x3003;
+pub const SO_COMPARTMENT_ID: ::c_int = 0x3004;
+pub const SO_RANDOMIZE_PORT: ::c_int = 0x3005;
+pub const SO_PORT_SCALABILITY: ::c_int = 0x3006;
+pub const WSK_SO_BASE: ::c_int = 0x4000;
+pub const TCP_NODELAY: ::c_int = 0x0001;
+STRUCT!{struct SOCKADDR {
+ sa_family: ADDRESS_FAMILY,
+ sa_data: [::CHAR; 14],
+}}
+pub type PSOCKADDR = *mut SOCKADDR;
+pub type LPSOCKADDR = *mut SOCKADDR;
+STRUCT!{struct SOCKET_ADDRESS {
+ lpSockaddr: LPSOCKADDR,
+ iSockaddrLength: ::INT,
+}}
+pub type PSOCKET_ADDRESS = *mut SOCKET_ADDRESS;
+pub type LPSOCKET_ADDRESS = *mut SOCKET_ADDRESS;
+STRUCT!{nodebug struct SOCKET_ADDRESS_LIST {
+ iAddressCount: ::INT,
+ Address: [SOCKET_ADDRESS; 0],
+}}
+pub type PSOCKET_ADDRESS_LIST = *mut SOCKET_ADDRESS_LIST;
+pub type LPSOCKET_ADDRESS_LIST = *mut SOCKET_ADDRESS_LIST;
+STRUCT!{struct CSADDR_INFO {
+ LocalAddr: SOCKET_ADDRESS,
+ RemoteAddr: SOCKET_ADDRESS,
+ iSocketType: ::INT,
+ iProtocol: ::INT,
+}}
+pub type PCSADDR_INFO = *mut CSADDR_INFO;
+pub type LPCSADDR_INFO = *mut CSADDR_INFO;
+STRUCT!{nodebug struct SOCKADDR_STORAGE_LH {
+ ss_family: ADDRESS_FAMILY,
+ __ss_pad1: [::CHAR; 6],
+ __ss_align: ::__int64,
+ __ss_pad2: [::CHAR; 112],
+}}
+pub type PSOCKADDR_STORAGE_LH = *mut SOCKADDR_STORAGE_LH;
+pub type LPSOCKADDR_STORAGE_LH = *mut SOCKADDR_STORAGE_LH;
+STRUCT!{nodebug struct SOCKADDR_STORAGE_XP {
+ ss_family: ::c_short,
+ __ss_pad1: [::CHAR; 6],
+ __ss_align: ::__int64,
+ __ss_pad2: [::CHAR; 112],
+}}
+pub type PSOCKADDR_STORAGE_XP = *mut SOCKADDR_STORAGE_XP;
+pub type LPSOCKADDR_STORAGE_XP = *mut SOCKADDR_STORAGE_XP;
+pub type SOCKADDR_STORAGE = SOCKADDR_STORAGE_LH;
+pub type PSOCKADDR_STORAGE = *mut SOCKADDR_STORAGE;
+pub type LPSOCKADDR_STORAGE = *mut SOCKADDR_STORAGE;
+STRUCT!{struct SOCKET_PROCESSOR_AFFINITY {
+ Processor: ::PROCESSOR_NUMBER,
+ NumaNodeId: ::USHORT,
+ Reserved: ::USHORT,
+}}
+pub type PSOCKET_PROCESSOR_AFFINITY = *mut SOCKET_PROCESSOR_AFFINITY;
+pub const IOC_UNIX: ::DWORD = 0x00000000;
+pub const IOC_WS2: ::DWORD = 0x08000000;
+pub const IOC_PROTOCOL: ::DWORD = 0x10000000;
+pub const IOC_VENDOR: ::DWORD = 0x18000000;
+pub const IOC_WSK: ::DWORD = IOC_WS2 | 0x07000000;
+macro_rules! _WSAIO { ($x:expr, $y:expr) => { IOC_VOID | $x | $y } }
+macro_rules! _WSAIOR { ($x:expr, $y:expr) => { IOC_OUT | $x | $y } }
+macro_rules! _WSAIOW { ($x:expr, $y:expr) => { IOC_IN | $x | $y } }
+macro_rules! _WSAIORW { ($x:expr, $y:expr) => { IOC_INOUT | $x | $y } }
+pub const SIO_ASSOCIATE_HANDLE: ::DWORD = _WSAIOW!(IOC_WS2, 1);
+pub const SIO_ENABLE_CIRCULAR_QUEUEING: ::DWORD = _WSAIO!(IOC_WS2, 2);
+pub const SIO_FIND_ROUTE: ::DWORD = _WSAIOR!(IOC_WS2, 3);
+pub const SIO_FLUSH: ::DWORD = _WSAIO!(IOC_WS2, 4);
+pub const SIO_GET_BROADCAST_ADDRESS: ::DWORD = _WSAIOR!(IOC_WS2, 5);
+pub const SIO_GET_EXTENSION_FUNCTION_POINTER: ::DWORD = _WSAIORW!(IOC_WS2, 6);
+pub const SIO_GET_QOS: ::DWORD = _WSAIORW!(IOC_WS2, 7);
+pub const SIO_GET_GROUP_QOS: ::DWORD = _WSAIORW!(IOC_WS2, 8);
+pub const SIO_MULTIPOINT_LOOPBACK: ::DWORD = _WSAIOW!(IOC_WS2, 9);
+pub const SIO_MULTICAST_SCOPE: ::DWORD = _WSAIOW!(IOC_WS2, 10);
+pub const SIO_SET_QOS: ::DWORD = _WSAIOW!(IOC_WS2, 11);
+pub const SIO_SET_GROUP_QOS: ::DWORD = _WSAIOW!(IOC_WS2, 12);
+pub const SIO_TRANSLATE_HANDLE: ::DWORD = _WSAIORW!(IOC_WS2, 13);
+pub const SIO_ROUTING_INTERFACE_QUERY: ::DWORD = _WSAIORW!(IOC_WS2, 20);
+pub const SIO_ROUTING_INTERFACE_CHANGE: ::DWORD = _WSAIOW!(IOC_WS2, 21);
+pub const SIO_ADDRESS_LIST_QUERY: ::DWORD = _WSAIOR!(IOC_WS2, 22);
+pub const SIO_ADDRESS_LIST_CHANGE: ::DWORD = _WSAIO!(IOC_WS2, 23);
+pub const SIO_QUERY_TARGET_PNP_HANDLE: ::DWORD = _WSAIOR!(IOC_WS2, 24);
+pub const SIO_QUERY_RSS_PROCESSOR_INFO: ::DWORD = _WSAIOR!(IOC_WS2, 37);
+pub const SIO_ADDRESS_LIST_SORT: ::DWORD = _WSAIORW!(IOC_WS2, 25);
+pub const SIO_RESERVED_1: ::DWORD = _WSAIOW!(IOC_WS2, 26);
+pub const SIO_RESERVED_2: ::DWORD = _WSAIOW!(IOC_WS2, 33);
+pub const SIO_GET_MULTIPLE_EXTENSION_FUNCTION_POINTER: ::DWORD = _WSAIORW!(IOC_WS2, 36);
+pub const IPPROTO_IP: ::c_int = 0;
+ENUM!{enum IPPROTO {
+ IPPROTO_HOPOPTS = 0, // IPv6 Hop-by-Hop options
+ IPPROTO_ICMP = 1,
+ IPPROTO_IGMP = 2,
+ IPPROTO_GGP = 3,
+ IPPROTO_IPV4 = 4,
+ IPPROTO_ST = 5,
+ IPPROTO_TCP = 6,
+ IPPROTO_CBT = 7,
+ IPPROTO_EGP = 8,
+ IPPROTO_IGP = 9,
+ IPPROTO_PUP = 12,
+ IPPROTO_UDP = 17,
+ IPPROTO_IDP = 22,
+ IPPROTO_RDP = 27,
+ IPPROTO_IPV6 = 41, // IPv6 header
+ IPPROTO_ROUTING = 43, // IPv6 Routing header
+ IPPROTO_FRAGMENT = 44, // IPv6 fragmentation header
+ IPPROTO_ESP = 50, // encapsulating security payload
+ IPPROTO_AH = 51, // authentication header
+ IPPROTO_ICMPV6 = 58, // ICMPv6
+ IPPROTO_NONE = 59, // IPv6 no next header
+ IPPROTO_DSTOPTS = 60, // IPv6 Destination options
+ IPPROTO_ND = 77,
+ IPPROTO_ICLFXBM = 78,
+ IPPROTO_PIM = 103,
+ IPPROTO_PGM = 113,
+ IPPROTO_L2TP = 115,
+ IPPROTO_SCTP = 132,
+ IPPROTO_RAW = 255,
+ IPPROTO_MAX = 256,
+ IPPROTO_RESERVED_RAW = 257,
+ IPPROTO_RESERVED_IPSEC = 258,
+ IPPROTO_RESERVED_IPSECOFFLOAD = 259,
+ IPPROTO_RESERVED_WNV = 260,
+ IPPROTO_RESERVED_MAX = 261,
+}}
+pub type PIPPROTO = *mut IPPROTO;
+STRUCT!{struct SOCKADDR_IN {
+ sin_family: ADDRESS_FAMILY,
+ sin_port: ::USHORT,
+ sin_addr: ::IN_ADDR,
+ sin_zero: [::CHAR; 8],
+}}
+pub type PSOCKADDR_IN = *mut SOCKADDR_IN;
+//645
+pub const IOCPARM_MASK: ::DWORD = 0x7f;
+pub const IOC_VOID: ::DWORD = 0x20000000;
+pub const IOC_OUT: ::DWORD = 0x40000000;
+pub const IOC_IN: ::DWORD = 0x80000000;
+pub const IOC_INOUT: ::DWORD = IOC_IN | IOC_OUT;
+STRUCT!{struct WSABUF {
+ len: ::ULONG,
+ buf: *mut ::CHAR,
+}}
+pub type LPWSABUF = *mut WSABUF;
+STRUCT!{struct WSAMSG {
+ name: LPSOCKADDR,
+ namelen: ::INT,
+ lpBuffers: LPWSABUF,
+ dwBufferCount: ::ULONG,
+ Control: WSABUF,
+ dwFlags: ::ULONG,
+}}
+pub type PWSAMSG = *mut WSAMSG;
+pub type LPWSAMSG = *mut WSAMSG;
+STRUCT!{struct ADDRINFOA {
+ ai_flags: ::c_int,
+ ai_family: ::c_int,
+ ai_socktype: ::c_int,
+ ai_protocol: ::c_int,
+ ai_addrlen: ::size_t,
+ ai_canonname: *mut ::c_char,
+ ai_addr: *mut SOCKADDR,
+ ai_next: *mut ADDRINFOA,
+}}
+pub type PADDRINFOA = *mut ADDRINFOA;
+STRUCT!{struct ADDRINFOW {
+ ai_flags: ::c_int,
+ ai_family: ::c_int,
+ ai_socktype: ::c_int,
+ ai_protocol: ::c_int,
+ ai_addrlen: ::size_t,
+ ai_canonname: ::PWSTR,
+ ai_addr: *mut SOCKADDR,
+ ai_next: *mut ADDRINFOW,
+}}
+pub type PADDRINFOW = *mut ADDRINFOW;
+STRUCT!{struct ADDRINFOEXA {
+ ai_flags: ::c_int,
+ ai_family: ::c_int,
+ ai_socktype: ::c_int,
+ ai_protocol: ::c_int,
+ ai_addrlen: ::size_t,
+ ai_canonname: *mut ::c_char,
+ ai_addr: *mut SOCKADDR,
+ ai_blob: *mut ::c_void,
+ ai_bloblen: ::size_t,
+ ai_provider: ::LPGUID,
+ ai_next: *mut ADDRINFOEXW,
+}}
+pub type PADDRINFOEXA = *mut ADDRINFOEXA;
+pub type LPADDRINFOEXA = *mut ADDRINFOEXA;
+STRUCT!{struct ADDRINFOEXW {
+ ai_flags: ::c_int,
+ ai_family: ::c_int,
+ ai_socktype: ::c_int,
+ ai_protocol: ::c_int,
+ ai_addrlen: ::size_t,
+ ai_canonname: ::PWSTR,
+ ai_addr: *mut SOCKADDR,
+ ai_blob: *mut ::c_void,
+ ai_bloblen: ::size_t,
+ ai_provider: ::LPGUID,
+ ai_next: *mut ADDRINFOEXW,
+}}
+pub type PADDRINFOEXW = *mut ADDRINFOEXW;
+pub type LPADDRINFOEXW = *mut ADDRINFOEXW;