| 
   | 
const std = @import("../../std.zig");
const assert = std.debug.assert;
const windows = std.os.windows;
const WINAPI = windows.WINAPI;
const OVERLAPPED = windows.OVERLAPPED;
const WORD = windows.WORD;
const DWORD = windows.DWORD;
const GUID = windows.GUID;
const USHORT = windows.USHORT;
const WCHAR = windows.WCHAR;
const BOOL = windows.BOOL;
const HANDLE = windows.HANDLE;
const timeval = windows.timeval;
const HWND = windows.HWND;
const INT = windows.INT;
const SHORT = windows.SHORT;
const CHAR = windows.CHAR;
const ULONG = windows.ULONG;
const LPARAM = windows.LPARAM;
const FARPROC = windows.FARPROC;
 | 
| SOCKET | 
pub const SOCKET = *opaque {};
 | 
| INVALID_SOCKET | pub const INVALID_SOCKET = @as(SOCKET, @ptrFromInt(~@as(usize, 0))); | 
| GROUP | pub const GROUP = u32; | 
| ADDRESS_FAMILY | pub const ADDRESS_FAMILY = u16; | 
| WSAEVENT | pub const WSAEVENT = HANDLE; // Microsoft use the signed c_int for this, but it should never be negative | 
| socklen_t | pub const socklen_t = u32; | 
| LM_HB_Extension | pub const LM_HB_Extension = 128; | 
| LM_HB1_PnP | pub const LM_HB1_PnP = 1; | 
| LM_HB1_PDA_Palmtop | pub const LM_HB1_PDA_Palmtop = 2; | 
| LM_HB1_Computer | pub const LM_HB1_Computer = 4; | 
| LM_HB1_Printer | pub const LM_HB1_Printer = 8; | 
| LM_HB1_Modem | pub const LM_HB1_Modem = 16; | 
| LM_HB1_Fax | pub const LM_HB1_Fax = 32; | 
| LM_HB1_LANAccess | pub const LM_HB1_LANAccess = 64; | 
| LM_HB2_Telephony | pub const LM_HB2_Telephony = 1; | 
| LM_HB2_FileServer | pub const LM_HB2_FileServer = 2; | 
| ATMPROTO_AALUSER | pub const ATMPROTO_AALUSER = 0; | 
| ATMPROTO_AAL1 | pub const ATMPROTO_AAL1 = 1; | 
| ATMPROTO_AAL2 | pub const ATMPROTO_AAL2 = 2; | 
| ATMPROTO_AAL34 | pub const ATMPROTO_AAL34 = 3; | 
| ATMPROTO_AAL5 | pub const ATMPROTO_AAL5 = 5; | 
| SAP_FIELD_ABSENT | pub const SAP_FIELD_ABSENT = 4294967294; | 
| SAP_FIELD_ANY | pub const SAP_FIELD_ANY = 4294967295; | 
| SAP_FIELD_ANY_AESA_SEL | pub const SAP_FIELD_ANY_AESA_SEL = 4294967290; | 
| SAP_FIELD_ANY_AESA_REST | pub const SAP_FIELD_ANY_AESA_REST = 4294967291; | 
| ATM_E164 | pub const ATM_E164 = 1; | 
| ATM_NSAP | pub const ATM_NSAP = 2; | 
| ATM_AESA | pub const ATM_AESA = 2; | 
| ATM_ADDR_SIZE | pub const ATM_ADDR_SIZE = 20; | 
| BLLI_L2_ISO_1745 | pub const BLLI_L2_ISO_1745 = 1; | 
| BLLI_L2_Q921 | pub const BLLI_L2_Q921 = 2; | 
| BLLI_L2_X25L | pub const BLLI_L2_X25L = 6; | 
| BLLI_L2_X25M | pub const BLLI_L2_X25M = 7; | 
| BLLI_L2_ELAPB | pub const BLLI_L2_ELAPB = 8; | 
| BLLI_L2_HDLC_ARM | pub const BLLI_L2_HDLC_ARM = 9; | 
| BLLI_L2_HDLC_NRM | pub const BLLI_L2_HDLC_NRM = 10; | 
| BLLI_L2_HDLC_ABM | pub const BLLI_L2_HDLC_ABM = 11; | 
| BLLI_L2_LLC | pub const BLLI_L2_LLC = 12; | 
| BLLI_L2_X75 | pub const BLLI_L2_X75 = 13; | 
| BLLI_L2_Q922 | pub const BLLI_L2_Q922 = 14; | 
| BLLI_L2_USER_SPECIFIED | pub const BLLI_L2_USER_SPECIFIED = 16; | 
| BLLI_L2_ISO_7776 | pub const BLLI_L2_ISO_7776 = 17; | 
| BLLI_L3_X25 | pub const BLLI_L3_X25 = 6; | 
| BLLI_L3_ISO_8208 | pub const BLLI_L3_ISO_8208 = 7; | 
| BLLI_L3_X223 | pub const BLLI_L3_X223 = 8; | 
| BLLI_L3_SIO_8473 | pub const BLLI_L3_SIO_8473 = 9; | 
| BLLI_L3_T70 | pub const BLLI_L3_T70 = 10; | 
| BLLI_L3_ISO_TR9577 | pub const BLLI_L3_ISO_TR9577 = 11; | 
| BLLI_L3_USER_SPECIFIED | pub const BLLI_L3_USER_SPECIFIED = 16; | 
| BLLI_L3_IPI_SNAP | pub const BLLI_L3_IPI_SNAP = 128; | 
| BLLI_L3_IPI_IP | pub const BLLI_L3_IPI_IP = 204; | 
| BHLI_ISO | pub const BHLI_ISO = 0; | 
| BHLI_UserSpecific | pub const BHLI_UserSpecific = 1; | 
| BHLI_HighLayerProfile | pub const BHLI_HighLayerProfile = 2; | 
| BHLI_VendorSpecificAppId | pub const BHLI_VendorSpecificAppId = 3; | 
| AAL5_MODE_MESSAGE | pub const AAL5_MODE_MESSAGE = 1; | 
| AAL5_MODE_STREAMING | pub const AAL5_MODE_STREAMING = 2; | 
| AAL5_SSCS_NULL | pub const AAL5_SSCS_NULL = 0; | 
| AAL5_SSCS_SSCOP_ASSURED | pub const AAL5_SSCS_SSCOP_ASSURED = 1; | 
| AAL5_SSCS_SSCOP_NON_ASSURED | pub const AAL5_SSCS_SSCOP_NON_ASSURED = 2; | 
| AAL5_SSCS_FRAME_RELAY | pub const AAL5_SSCS_FRAME_RELAY = 4; | 
| BCOB_A | pub const BCOB_A = 1; | 
| BCOB_C | pub const BCOB_C = 3; | 
| BCOB_X | pub const BCOB_X = 16; | 
| TT_NOIND | pub const TT_NOIND = 0; | 
| TT_CBR | pub const TT_CBR = 4; | 
| TT_VBR | pub const TT_VBR = 8; | 
| TR_NOIND | pub const TR_NOIND = 0; | 
| TR_END_TO_END | pub const TR_END_TO_END = 1; | 
| TR_NO_END_TO_END | pub const TR_NO_END_TO_END = 2; | 
| CLIP_NOT | pub const CLIP_NOT = 0; | 
| CLIP_SUS | pub const CLIP_SUS = 32; | 
| UP_P2P | pub const UP_P2P = 0; | 
| UP_P2MP | pub const UP_P2MP = 1; | 
| BLLI_L2_MODE_NORMAL | pub const BLLI_L2_MODE_NORMAL = 64; | 
| BLLI_L2_MODE_EXT | pub const BLLI_L2_MODE_EXT = 128; | 
| BLLI_L3_MODE_NORMAL | pub const BLLI_L3_MODE_NORMAL = 64; | 
| BLLI_L3_MODE_EXT | pub const BLLI_L3_MODE_EXT = 128; | 
| BLLI_L3_PACKET_16 | pub const BLLI_L3_PACKET_16 = 4; | 
| BLLI_L3_PACKET_32 | pub const BLLI_L3_PACKET_32 = 5; | 
| BLLI_L3_PACKET_64 | pub const BLLI_L3_PACKET_64 = 6; | 
| BLLI_L3_PACKET_128 | pub const BLLI_L3_PACKET_128 = 7; | 
| BLLI_L3_PACKET_256 | pub const BLLI_L3_PACKET_256 = 8; | 
| BLLI_L3_PACKET_512 | pub const BLLI_L3_PACKET_512 = 9; | 
| BLLI_L3_PACKET_1024 | pub const BLLI_L3_PACKET_1024 = 10; | 
| BLLI_L3_PACKET_2048 | pub const BLLI_L3_PACKET_2048 = 11; | 
| BLLI_L3_PACKET_4096 | pub const BLLI_L3_PACKET_4096 = 12; | 
| PI_ALLOWED | pub const PI_ALLOWED = 0; | 
| PI_RESTRICTED | pub const PI_RESTRICTED = 64; | 
| PI_NUMBER_NOT_AVAILABLE | pub const PI_NUMBER_NOT_AVAILABLE = 128; | 
| SI_USER_NOT_SCREENED | pub const SI_USER_NOT_SCREENED = 0; | 
| SI_USER_PASSED | pub const SI_USER_PASSED = 1; | 
| SI_USER_FAILED | pub const SI_USER_FAILED = 2; | 
| SI_NETWORK | pub const SI_NETWORK = 3; | 
| CAUSE_LOC_USER | pub const CAUSE_LOC_USER = 0; | 
| CAUSE_LOC_PRIVATE_LOCAL | pub const CAUSE_LOC_PRIVATE_LOCAL = 1; | 
| CAUSE_LOC_PUBLIC_LOCAL | pub const CAUSE_LOC_PUBLIC_LOCAL = 2; | 
| CAUSE_LOC_TRANSIT_NETWORK | pub const CAUSE_LOC_TRANSIT_NETWORK = 3; | 
| CAUSE_LOC_PUBLIC_REMOTE | pub const CAUSE_LOC_PUBLIC_REMOTE = 4; | 
| CAUSE_LOC_PRIVATE_REMOTE | pub const CAUSE_LOC_PRIVATE_REMOTE = 5; | 
| CAUSE_LOC_INTERNATIONAL_NETWORK | pub const CAUSE_LOC_INTERNATIONAL_NETWORK = 7; | 
| CAUSE_LOC_BEYOND_INTERWORKING | pub const CAUSE_LOC_BEYOND_INTERWORKING = 10; | 
| CAUSE_UNALLOCATED_NUMBER | pub const CAUSE_UNALLOCATED_NUMBER = 1; | 
| CAUSE_NO_ROUTE_TO_TRANSIT_NETWORK | pub const CAUSE_NO_ROUTE_TO_TRANSIT_NETWORK = 2; | 
| CAUSE_NO_ROUTE_TO_DESTINATION | pub const CAUSE_NO_ROUTE_TO_DESTINATION = 3; | 
| CAUSE_VPI_VCI_UNACCEPTABLE | pub const CAUSE_VPI_VCI_UNACCEPTABLE = 10; | 
| CAUSE_NORMAL_CALL_CLEARING | pub const CAUSE_NORMAL_CALL_CLEARING = 16; | 
| CAUSE_USER_BUSY | pub const CAUSE_USER_BUSY = 17; | 
| CAUSE_NO_USER_RESPONDING | pub const CAUSE_NO_USER_RESPONDING = 18; | 
| CAUSE_CALL_REJECTED | pub const CAUSE_CALL_REJECTED = 21; | 
| CAUSE_NUMBER_CHANGED | pub const CAUSE_NUMBER_CHANGED = 22; | 
| CAUSE_USER_REJECTS_CLIR | pub const CAUSE_USER_REJECTS_CLIR = 23; | 
| CAUSE_DESTINATION_OUT_OF_ORDER | pub const CAUSE_DESTINATION_OUT_OF_ORDER = 27; | 
| CAUSE_INVALID_NUMBER_FORMAT | pub const CAUSE_INVALID_NUMBER_FORMAT = 28; | 
| CAUSE_STATUS_ENQUIRY_RESPONSE | pub const CAUSE_STATUS_ENQUIRY_RESPONSE = 30; | 
| CAUSE_NORMAL_UNSPECIFIED | pub const CAUSE_NORMAL_UNSPECIFIED = 31; | 
| CAUSE_VPI_VCI_UNAVAILABLE | pub const CAUSE_VPI_VCI_UNAVAILABLE = 35; | 
| CAUSE_NETWORK_OUT_OF_ORDER | pub const CAUSE_NETWORK_OUT_OF_ORDER = 38; | 
| CAUSE_TEMPORARY_FAILURE | pub const CAUSE_TEMPORARY_FAILURE = 41; | 
| CAUSE_ACCESS_INFORMAION_DISCARDED | pub const CAUSE_ACCESS_INFORMAION_DISCARDED = 43; | 
| CAUSE_NO_VPI_VCI_AVAILABLE | pub const CAUSE_NO_VPI_VCI_AVAILABLE = 45; | 
| CAUSE_RESOURCE_UNAVAILABLE | pub const CAUSE_RESOURCE_UNAVAILABLE = 47; | 
| CAUSE_QOS_UNAVAILABLE | pub const CAUSE_QOS_UNAVAILABLE = 49; | 
| CAUSE_USER_CELL_RATE_UNAVAILABLE | pub const CAUSE_USER_CELL_RATE_UNAVAILABLE = 51; | 
| CAUSE_BEARER_CAPABILITY_UNAUTHORIZED | pub const CAUSE_BEARER_CAPABILITY_UNAUTHORIZED = 57; | 
| CAUSE_BEARER_CAPABILITY_UNAVAILABLE | pub const CAUSE_BEARER_CAPABILITY_UNAVAILABLE = 58; | 
| CAUSE_OPTION_UNAVAILABLE | pub const CAUSE_OPTION_UNAVAILABLE = 63; | 
| CAUSE_BEARER_CAPABILITY_UNIMPLEMENTED | pub const CAUSE_BEARER_CAPABILITY_UNIMPLEMENTED = 65; | 
| CAUSE_UNSUPPORTED_TRAFFIC_PARAMETERS | pub const CAUSE_UNSUPPORTED_TRAFFIC_PARAMETERS = 73; | 
| CAUSE_INVALID_CALL_REFERENCE | pub const CAUSE_INVALID_CALL_REFERENCE = 81; | 
| CAUSE_CHANNEL_NONEXISTENT | pub const CAUSE_CHANNEL_NONEXISTENT = 82; | 
| CAUSE_INCOMPATIBLE_DESTINATION | pub const CAUSE_INCOMPATIBLE_DESTINATION = 88; | 
| CAUSE_INVALID_ENDPOINT_REFERENCE | pub const CAUSE_INVALID_ENDPOINT_REFERENCE = 89; | 
| CAUSE_INVALID_TRANSIT_NETWORK_SELECTION | pub const CAUSE_INVALID_TRANSIT_NETWORK_SELECTION = 91; | 
| CAUSE_TOO_MANY_PENDING_ADD_PARTY | pub const CAUSE_TOO_MANY_PENDING_ADD_PARTY = 92; | 
| CAUSE_AAL_PARAMETERS_UNSUPPORTED | pub const CAUSE_AAL_PARAMETERS_UNSUPPORTED = 93; | 
| CAUSE_MANDATORY_IE_MISSING | pub const CAUSE_MANDATORY_IE_MISSING = 96; | 
| CAUSE_UNIMPLEMENTED_MESSAGE_TYPE | pub const CAUSE_UNIMPLEMENTED_MESSAGE_TYPE = 97; | 
| CAUSE_UNIMPLEMENTED_IE | pub const CAUSE_UNIMPLEMENTED_IE = 99; | 
| CAUSE_INVALID_IE_CONTENTS | pub const CAUSE_INVALID_IE_CONTENTS = 100; | 
| CAUSE_INVALID_STATE_FOR_MESSAGE | pub const CAUSE_INVALID_STATE_FOR_MESSAGE = 101; | 
| CAUSE_RECOVERY_ON_TIMEOUT | pub const CAUSE_RECOVERY_ON_TIMEOUT = 102; | 
| CAUSE_INCORRECT_MESSAGE_LENGTH | pub const CAUSE_INCORRECT_MESSAGE_LENGTH = 104; | 
| CAUSE_PROTOCOL_ERROR | pub const CAUSE_PROTOCOL_ERROR = 111; | 
| CAUSE_COND_UNKNOWN | pub const CAUSE_COND_UNKNOWN = 0; | 
| CAUSE_COND_PERMANENT | pub const CAUSE_COND_PERMANENT = 1; | 
| CAUSE_COND_TRANSIENT | pub const CAUSE_COND_TRANSIENT = 2; | 
| CAUSE_REASON_USER | pub const CAUSE_REASON_USER = 0; | 
| CAUSE_REASON_IE_MISSING | pub const CAUSE_REASON_IE_MISSING = 4; | 
| CAUSE_REASON_IE_INSUFFICIENT | pub const CAUSE_REASON_IE_INSUFFICIENT = 8; | 
| CAUSE_PU_PROVIDER | pub const CAUSE_PU_PROVIDER = 0; | 
| CAUSE_PU_USER | pub const CAUSE_PU_USER = 8; | 
| CAUSE_NA_NORMAL | pub const CAUSE_NA_NORMAL = 0; | 
| CAUSE_NA_ABNORMAL | pub const CAUSE_NA_ABNORMAL = 4; | 
| QOS_CLASS0 | pub const QOS_CLASS0 = 0; | 
| QOS_CLASS1 | pub const QOS_CLASS1 = 1; | 
| QOS_CLASS2 | pub const QOS_CLASS2 = 2; | 
| QOS_CLASS3 | pub const QOS_CLASS3 = 3; | 
| QOS_CLASS4 | pub const QOS_CLASS4 = 4; | 
| TNS_TYPE_NATIONAL | pub const TNS_TYPE_NATIONAL = 64; | 
| TNS_PLAN_CARRIER_ID_CODE | pub const TNS_PLAN_CARRIER_ID_CODE = 1; | 
| SIO_GET_NUMBER_OF_ATM_DEVICES | pub const SIO_GET_NUMBER_OF_ATM_DEVICES = 1343619073; | 
| SIO_GET_ATM_ADDRESS | pub const SIO_GET_ATM_ADDRESS = 3491102722; | 
| SIO_ASSOCIATE_PVC | pub const SIO_ASSOCIATE_PVC = 2417360899; | 
| SIO_GET_ATM_CONNECTION_ID | pub const SIO_GET_ATM_CONNECTION_ID = 1343619076; | 
| RIO_MSG_DONT_NOTIFY | pub const RIO_MSG_DONT_NOTIFY = 1; | 
| RIO_MSG_DEFER | pub const RIO_MSG_DEFER = 2; | 
| RIO_MSG_WAITALL | pub const RIO_MSG_WAITALL = 4; | 
| RIO_MSG_COMMIT_ONLY | pub const RIO_MSG_COMMIT_ONLY = 8; | 
| RIO_MAX_CQ_SIZE | pub const RIO_MAX_CQ_SIZE = 134217728; | 
| RIO_CORRUPT_CQ | pub const RIO_CORRUPT_CQ = 4294967295; | 
| WINDOWS_AF_IRDA | pub const WINDOWS_AF_IRDA = 26; | 
| WCE_AF_IRDA | pub const WCE_AF_IRDA = 22; | 
| IRDA_PROTO_SOCK_STREAM | pub const IRDA_PROTO_SOCK_STREAM = 1; | 
| IRLMP_ENUMDEVICES | pub const IRLMP_ENUMDEVICES = 16; | 
| IRLMP_IAS_SET | pub const IRLMP_IAS_SET = 17; | 
| IRLMP_IAS_QUERY | pub const IRLMP_IAS_QUERY = 18; | 
| IRLMP_SEND_PDU_LEN | pub const IRLMP_SEND_PDU_LEN = 19; | 
| IRLMP_EXCLUSIVE_MODE | pub const IRLMP_EXCLUSIVE_MODE = 20; | 
| IRLMP_IRLPT_MODE | pub const IRLMP_IRLPT_MODE = 21; | 
| IRLMP_9WIRE_MODE | pub const IRLMP_9WIRE_MODE = 22; | 
| IRLMP_TINYTP_MODE | pub const IRLMP_TINYTP_MODE = 23; | 
| IRLMP_PARAMETERS | pub const IRLMP_PARAMETERS = 24; | 
| IRLMP_DISCOVERY_MODE | pub const IRLMP_DISCOVERY_MODE = 25; | 
| IRLMP_SHARP_MODE | pub const IRLMP_SHARP_MODE = 32; | 
| IAS_ATTRIB_NO_CLASS | pub const IAS_ATTRIB_NO_CLASS = 16; | 
| IAS_ATTRIB_NO_ATTRIB | pub const IAS_ATTRIB_NO_ATTRIB = 0; | 
| IAS_ATTRIB_INT | pub const IAS_ATTRIB_INT = 1; | 
| IAS_ATTRIB_OCTETSEQ | pub const IAS_ATTRIB_OCTETSEQ = 2; | 
| IAS_ATTRIB_STR | pub const IAS_ATTRIB_STR = 3; | 
| IAS_MAX_USER_STRING | pub const IAS_MAX_USER_STRING = 256; | 
| IAS_MAX_OCTET_STRING | pub const IAS_MAX_OCTET_STRING = 1024; | 
| IAS_MAX_CLASSNAME | pub const IAS_MAX_CLASSNAME = 64; | 
| IAS_MAX_ATTRIBNAME | pub const IAS_MAX_ATTRIBNAME = 256; | 
| LmCharSetASCII | pub const LmCharSetASCII = 0; | 
| LmCharSetISO_8859_1 | pub const LmCharSetISO_8859_1 = 1; | 
| LmCharSetISO_8859_2 | pub const LmCharSetISO_8859_2 = 2; | 
| LmCharSetISO_8859_3 | pub const LmCharSetISO_8859_3 = 3; | 
| LmCharSetISO_8859_4 | pub const LmCharSetISO_8859_4 = 4; | 
| LmCharSetISO_8859_5 | pub const LmCharSetISO_8859_5 = 5; | 
| LmCharSetISO_8859_6 | pub const LmCharSetISO_8859_6 = 6; | 
| LmCharSetISO_8859_7 | pub const LmCharSetISO_8859_7 = 7; | 
| LmCharSetISO_8859_8 | pub const LmCharSetISO_8859_8 = 8; | 
| LmCharSetISO_8859_9 | pub const LmCharSetISO_8859_9 = 9; | 
| LmCharSetUNICODE | pub const LmCharSetUNICODE = 255; | 
| LM_BAUD_1200 | pub const LM_BAUD_1200 = 1200; | 
| LM_BAUD_2400 | pub const LM_BAUD_2400 = 2400; | 
| LM_BAUD_9600 | pub const LM_BAUD_9600 = 9600; | 
| LM_BAUD_19200 | pub const LM_BAUD_19200 = 19200; | 
| LM_BAUD_38400 | pub const LM_BAUD_38400 = 38400; | 
| LM_BAUD_57600 | pub const LM_BAUD_57600 = 57600; | 
| LM_BAUD_115200 | pub const LM_BAUD_115200 = 115200; | 
| LM_BAUD_576K | pub const LM_BAUD_576K = 576000; | 
| LM_BAUD_1152K | pub const LM_BAUD_1152K = 1152000; | 
| LM_BAUD_4M | pub const LM_BAUD_4M = 4000000; | 
| LM_BAUD_16M | pub const LM_BAUD_16M = 16000000; | 
| IPX_PTYPE | pub const IPX_PTYPE = 16384; | 
| IPX_FILTERPTYPE | pub const IPX_FILTERPTYPE = 16385; | 
| IPX_STOPFILTERPTYPE | pub const IPX_STOPFILTERPTYPE = 16387; | 
| IPX_DSTYPE | pub const IPX_DSTYPE = 16386; | 
| IPX_EXTENDED_ADDRESS | pub const IPX_EXTENDED_ADDRESS = 16388; | 
| IPX_RECVHDR | pub const IPX_RECVHDR = 16389; | 
| IPX_MAXSIZE | pub const IPX_MAXSIZE = 16390; | 
| IPX_ADDRESS | pub const IPX_ADDRESS = 16391; | 
| IPX_GETNETINFO | pub const IPX_GETNETINFO = 16392; | 
| IPX_GETNETINFO_NORIP | pub const IPX_GETNETINFO_NORIP = 16393; | 
| IPX_SPXGETCONNECTIONSTATUS | pub const IPX_SPXGETCONNECTIONSTATUS = 16395; | 
| IPX_ADDRESS_NOTIFY | pub const IPX_ADDRESS_NOTIFY = 16396; | 
| IPX_MAX_ADAPTER_NUM | pub const IPX_MAX_ADAPTER_NUM = 16397; | 
| IPX_RERIPNETNUMBER | pub const IPX_RERIPNETNUMBER = 16398; | 
| IPX_RECEIVE_BROADCAST | pub const IPX_RECEIVE_BROADCAST = 16399; | 
| IPX_IMMEDIATESPXACK | pub const IPX_IMMEDIATESPXACK = 16400; | 
| MAX_MCAST_TTL | pub const MAX_MCAST_TTL = 255; | 
| RM_OPTIONSBASE | pub const RM_OPTIONSBASE = 1000; | 
| RM_RATE_WINDOW_SIZE | pub const RM_RATE_WINDOW_SIZE = 1001; | 
| RM_SET_MESSAGE_BOUNDARY | pub const RM_SET_MESSAGE_BOUNDARY = 1002; | 
| RM_FLUSHCACHE | pub const RM_FLUSHCACHE = 1003; | 
| RM_SENDER_WINDOW_ADVANCE_METHOD | pub const RM_SENDER_WINDOW_ADVANCE_METHOD = 1004; | 
| RM_SENDER_STATISTICS | pub const RM_SENDER_STATISTICS = 1005; | 
| RM_LATEJOIN | pub const RM_LATEJOIN = 1006; | 
| RM_SET_SEND_IF | pub const RM_SET_SEND_IF = 1007; | 
| RM_ADD_RECEIVE_IF | pub const RM_ADD_RECEIVE_IF = 1008; | 
| RM_DEL_RECEIVE_IF | pub const RM_DEL_RECEIVE_IF = 1009; | 
| RM_SEND_WINDOW_ADV_RATE | pub const RM_SEND_WINDOW_ADV_RATE = 1010; | 
| RM_USE_FEC | pub const RM_USE_FEC = 1011; | 
| RM_SET_MCAST_TTL | pub const RM_SET_MCAST_TTL = 1012; | 
| RM_RECEIVER_STATISTICS | pub const RM_RECEIVER_STATISTICS = 1013; | 
| RM_HIGH_SPEED_INTRANET_OPT | pub const RM_HIGH_SPEED_INTRANET_OPT = 1014; | 
| SENDER_DEFAULT_RATE_KBITS_PER_SEC | pub const SENDER_DEFAULT_RATE_KBITS_PER_SEC = 56; | 
| SENDER_DEFAULT_WINDOW_ADV_PERCENTAGE | pub const SENDER_DEFAULT_WINDOW_ADV_PERCENTAGE = 15; | 
| MAX_WINDOW_INCREMENT_PERCENTAGE | pub const MAX_WINDOW_INCREMENT_PERCENTAGE = 25; | 
| SENDER_DEFAULT_LATE_JOINER_PERCENTAGE | pub const SENDER_DEFAULT_LATE_JOINER_PERCENTAGE = 0; | 
| SENDER_MAX_LATE_JOINER_PERCENTAGE | pub const SENDER_MAX_LATE_JOINER_PERCENTAGE = 75; | 
| BITS_PER_BYTE | pub const BITS_PER_BYTE = 8; | 
| LOG2_BITS_PER_BYTE | pub const LOG2_BITS_PER_BYTE = 3; | 
| SOCKET_DEFAULT2_QM_POLICY | 
pub const SOCKET_DEFAULT2_QM_POLICY = GUID.parse("{aec2ef9c-3a4d-4d3e-8842-239942e39a47}");
 | 
| REAL_TIME_NOTIFICATION_CAPABILITY | 
pub const REAL_TIME_NOTIFICATION_CAPABILITY = GUID.parse("{6b59819a-5cae-492d-a901-2a3c2c50164f}");
 | 
| REAL_TIME_NOTIFICATION_CAPABILITY_EX | 
pub const REAL_TIME_NOTIFICATION_CAPABILITY_EX = GUID.parse("{6843da03-154a-4616-a508-44371295f96b}");
 | 
| ASSOCIATE_NAMERES_CONTEXT | 
pub const ASSOCIATE_NAMERES_CONTEXT = GUID.parse("{59a38b67-d4fe-46e1-ba3c-87ea74ca3049}");
 | 
| WSAID_CONNECTEX | 
pub const WSAID_CONNECTEX = GUID{
    .Data1 = 0x25a207b9,
    .Data2 = 0xddf3,
    .Data3 = 0x4660,
    .Data4 = [8]u8{ 0x8e, 0xe9, 0x76, 0xe5, 0x8c, 0x74, 0x06, 0x3e },
};
 | 
| WSAID_ACCEPTEX | 
pub const WSAID_ACCEPTEX = GUID{
    .Data1 = 0xb5367df1,
    .Data2 = 0xcbac,
    .Data3 = 0x11cf,
    .Data4 = [8]u8{ 0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92 },
};
 | 
| WSAID_GETACCEPTEXSOCKADDRS | 
pub const WSAID_GETACCEPTEXSOCKADDRS = GUID{
    .Data1 = 0xb5367df2,
    .Data2 = 0xcbac,
    .Data3 = 0x11cf,
    .Data4 = [8]u8{ 0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92 },
};
 | 
| WSAID_WSARECVMSG | 
pub const WSAID_WSARECVMSG = GUID{
    .Data1 = 0xf689d7c8,
    .Data2 = 0x6f1f,
    .Data3 = 0x436b,
    .Data4 = [8]u8{ 0x8a, 0x53, 0xe5, 0x4f, 0xe3, 0x51, 0xc3, 0x22 },
};
 | 
| WSAID_WSAPOLL | 
pub const WSAID_WSAPOLL = GUID{
    .Data1 = 0x18C76F85,
    .Data2 = 0xDC66,
    .Data3 = 0x4964,
    .Data4 = [8]u8{ 0x97, 0x2E, 0x23, 0xC2, 0x72, 0x38, 0x31, 0x2B },
};
 | 
| WSAID_WSASENDMSG | 
pub const WSAID_WSASENDMSG = GUID{
    .Data1 = 0xa441e712,
    .Data2 = 0x754f,
    .Data3 = 0x43ca,
    .Data4 = [8]u8{ 0x84, 0xa7, 0x0d, 0xee, 0x44, 0xcf, 0x60, 0x6d },
};
 | 
| TCP_INITIAL_RTO_DEFAULT_RTT | pub const TCP_INITIAL_RTO_DEFAULT_RTT = 0; | 
| TCP_INITIAL_RTO_DEFAULT_MAX_SYN_RETRANSMISSIONS | pub const TCP_INITIAL_RTO_DEFAULT_MAX_SYN_RETRANSMISSIONS = 0; | 
| SOCKET_SETTINGS_GUARANTEE_ENCRYPTION | pub const SOCKET_SETTINGS_GUARANTEE_ENCRYPTION = 1; | 
| SOCKET_SETTINGS_ALLOW_INSECURE | pub const SOCKET_SETTINGS_ALLOW_INSECURE = 2; | 
| SOCKET_SETTINGS_IPSEC_SKIP_FILTER_INSTANTIATION | pub const SOCKET_SETTINGS_IPSEC_SKIP_FILTER_INSTANTIATION = 1; | 
| SOCKET_SETTINGS_IPSEC_OPTIONAL_PEER_NAME_VERIFICATION | pub const SOCKET_SETTINGS_IPSEC_OPTIONAL_PEER_NAME_VERIFICATION = 2; | 
| SOCKET_SETTINGS_IPSEC_ALLOW_FIRST_INBOUND_PKT_UNENCRYPTED | pub const SOCKET_SETTINGS_IPSEC_ALLOW_FIRST_INBOUND_PKT_UNENCRYPTED = 4; | 
| SOCKET_SETTINGS_IPSEC_PEER_NAME_IS_RAW_FORMAT | pub const SOCKET_SETTINGS_IPSEC_PEER_NAME_IS_RAW_FORMAT = 8; | 
| SOCKET_QUERY_IPSEC2_ABORT_CONNECTION_ON_FIELD_CHANGE | pub const SOCKET_QUERY_IPSEC2_ABORT_CONNECTION_ON_FIELD_CHANGE = 1; | 
| SOCKET_QUERY_IPSEC2_FIELD_MASK_MM_SA_ID | pub const SOCKET_QUERY_IPSEC2_FIELD_MASK_MM_SA_ID = 1; | 
| SOCKET_QUERY_IPSEC2_FIELD_MASK_QM_SA_ID | pub const SOCKET_QUERY_IPSEC2_FIELD_MASK_QM_SA_ID = 2; | 
| SOCKET_INFO_CONNECTION_SECURED | pub const SOCKET_INFO_CONNECTION_SECURED = 1; | 
| SOCKET_INFO_CONNECTION_ENCRYPTED | pub const SOCKET_INFO_CONNECTION_ENCRYPTED = 2; | 
| SOCKET_INFO_CONNECTION_IMPERSONATED | pub const SOCKET_INFO_CONNECTION_IMPERSONATED = 4; | 
| IN4ADDR_LOOPBACK | pub const IN4ADDR_LOOPBACK = 16777343; | 
| IN4ADDR_LOOPBACKPREFIX_LENGTH | pub const IN4ADDR_LOOPBACKPREFIX_LENGTH = 8; | 
| IN4ADDR_LINKLOCALPREFIX_LENGTH | pub const IN4ADDR_LINKLOCALPREFIX_LENGTH = 16; | 
| IN4ADDR_MULTICASTPREFIX_LENGTH | pub const IN4ADDR_MULTICASTPREFIX_LENGTH = 4; | 
| IFF_UP | pub const IFF_UP = 1; | 
| IFF_BROADCAST | pub const IFF_BROADCAST = 2; | 
| IFF_LOOPBACK | pub const IFF_LOOPBACK = 4; | 
| IFF_POINTTOPOINT | pub const IFF_POINTTOPOINT = 8; | 
| IFF_MULTICAST | pub const IFF_MULTICAST = 16; | 
| IP_OPTIONS | pub const IP_OPTIONS = 1; | 
| IP_HDRINCL | pub const IP_HDRINCL = 2; | 
| IP_TOS | pub const IP_TOS = 3; | 
| IP_TTL | pub const IP_TTL = 4; | 
| IP_MULTICAST_IF | pub const IP_MULTICAST_IF = 9; | 
| IP_MULTICAST_TTL | pub const IP_MULTICAST_TTL = 10; | 
| IP_MULTICAST_LOOP | pub const IP_MULTICAST_LOOP = 11; | 
| IP_ADD_MEMBERSHIP | pub const IP_ADD_MEMBERSHIP = 12; | 
| IP_DROP_MEMBERSHIP | pub const IP_DROP_MEMBERSHIP = 13; | 
| IP_DONTFRAGMENT | pub const IP_DONTFRAGMENT = 14; | 
| IP_ADD_SOURCE_MEMBERSHIP | pub const IP_ADD_SOURCE_MEMBERSHIP = 15; | 
| IP_DROP_SOURCE_MEMBERSHIP | pub const IP_DROP_SOURCE_MEMBERSHIP = 16; | 
| IP_BLOCK_SOURCE | pub const IP_BLOCK_SOURCE = 17; | 
| IP_UNBLOCK_SOURCE | pub const IP_UNBLOCK_SOURCE = 18; | 
| IP_PKTINFO | pub const IP_PKTINFO = 19; | 
| IP_HOPLIMIT | pub const IP_HOPLIMIT = 21; | 
| IP_RECVTTL | pub const IP_RECVTTL = 21; | 
| IP_RECEIVE_BROADCAST | pub const IP_RECEIVE_BROADCAST = 22; | 
| IP_RECVIF | pub const IP_RECVIF = 24; | 
| IP_RECVDSTADDR | pub const IP_RECVDSTADDR = 25; | 
| IP_IFLIST | pub const IP_IFLIST = 28; | 
| IP_ADD_IFLIST | pub const IP_ADD_IFLIST = 29; | 
| IP_DEL_IFLIST | pub const IP_DEL_IFLIST = 30; | 
| IP_UNICAST_IF | pub const IP_UNICAST_IF = 31; | 
| IP_RTHDR | pub const IP_RTHDR = 32; | 
| IP_GET_IFLIST | pub const IP_GET_IFLIST = 33; | 
| IP_RECVRTHDR | pub const IP_RECVRTHDR = 38; | 
| IP_TCLASS | pub const IP_TCLASS = 39; | 
| IP_RECVTCLASS | pub const IP_RECVTCLASS = 40; | 
| IP_RECVTOS | pub const IP_RECVTOS = 40; | 
| IP_ORIGINAL_ARRIVAL_IF | pub const IP_ORIGINAL_ARRIVAL_IF = 47; | 
| IP_ECN | pub const IP_ECN = 50; | 
| IP_PKTINFO_EX | pub const IP_PKTINFO_EX = 51; | 
| IP_WFP_REDIRECT_RECORDS | pub const IP_WFP_REDIRECT_RECORDS = 60; | 
| IP_WFP_REDIRECT_CONTEXT | pub const IP_WFP_REDIRECT_CONTEXT = 70; | 
| IP_MTU_DISCOVER | pub const IP_MTU_DISCOVER = 71; | 
| IP_MTU | pub const IP_MTU = 73; | 
| IP_NRT_INTERFACE | pub const IP_NRT_INTERFACE = 74; | 
| IP_RECVERR | pub const IP_RECVERR = 75; | 
| IP_USER_MTU | pub const IP_USER_MTU = 76; | 
| IP_UNSPECIFIED_TYPE_OF_SERVICE | pub const IP_UNSPECIFIED_TYPE_OF_SERVICE = -1; | 
| IN6ADDR_LINKLOCALPREFIX_LENGTH | pub const IN6ADDR_LINKLOCALPREFIX_LENGTH = 64; | 
| IN6ADDR_MULTICASTPREFIX_LENGTH | pub const IN6ADDR_MULTICASTPREFIX_LENGTH = 8; | 
| IN6ADDR_SOLICITEDNODEMULTICASTPREFIX_LENGTH | pub const IN6ADDR_SOLICITEDNODEMULTICASTPREFIX_LENGTH = 104; | 
| IN6ADDR_V4MAPPEDPREFIX_LENGTH | pub const IN6ADDR_V4MAPPEDPREFIX_LENGTH = 96; | 
| IN6ADDR_6TO4PREFIX_LENGTH | pub const IN6ADDR_6TO4PREFIX_LENGTH = 16; | 
| IN6ADDR_TEREDOPREFIX_LENGTH | pub const IN6ADDR_TEREDOPREFIX_LENGTH = 32; | 
| MCAST_JOIN_GROUP | pub const MCAST_JOIN_GROUP = 41; | 
| MCAST_LEAVE_GROUP | pub const MCAST_LEAVE_GROUP = 42; | 
| MCAST_BLOCK_SOURCE | pub const MCAST_BLOCK_SOURCE = 43; | 
| MCAST_UNBLOCK_SOURCE | pub const MCAST_UNBLOCK_SOURCE = 44; | 
| MCAST_JOIN_SOURCE_GROUP | pub const MCAST_JOIN_SOURCE_GROUP = 45; | 
| MCAST_LEAVE_SOURCE_GROUP | pub const MCAST_LEAVE_SOURCE_GROUP = 46; | 
| IPV6_HOPOPTS | pub const IPV6_HOPOPTS = 1; | 
| IPV6_HDRINCL | pub const IPV6_HDRINCL = 2; | 
| IPV6_UNICAST_HOPS | pub const IPV6_UNICAST_HOPS = 4; | 
| IPV6_MULTICAST_IF | pub const IPV6_MULTICAST_IF = 9; | 
| IPV6_MULTICAST_HOPS | pub const IPV6_MULTICAST_HOPS = 10; | 
| IPV6_MULTICAST_LOOP | pub const IPV6_MULTICAST_LOOP = 11; | 
| IPV6_ADD_MEMBERSHIP | pub const IPV6_ADD_MEMBERSHIP = 12; | 
| IPV6_DROP_MEMBERSHIP | pub const IPV6_DROP_MEMBERSHIP = 13; | 
| IPV6_DONTFRAG | pub const IPV6_DONTFRAG = 14; | 
| IPV6_PKTINFO | pub const IPV6_PKTINFO = 19; | 
| IPV6_HOPLIMIT | pub const IPV6_HOPLIMIT = 21; | 
| IPV6_PROTECTION_LEVEL | pub const IPV6_PROTECTION_LEVEL = 23; | 
| IPV6_RECVIF | pub const IPV6_RECVIF = 24; | 
| IPV6_RECVDSTADDR | pub const IPV6_RECVDSTADDR = 25; | 
| IPV6_CHECKSUM | pub const IPV6_CHECKSUM = 26; | 
| IPV6_V6ONLY | pub const IPV6_V6ONLY = 27; | 
| IPV6_IFLIST | pub const IPV6_IFLIST = 28; | 
| IPV6_ADD_IFLIST | pub const IPV6_ADD_IFLIST = 29; | 
| IPV6_DEL_IFLIST | pub const IPV6_DEL_IFLIST = 30; | 
| IPV6_UNICAST_IF | pub const IPV6_UNICAST_IF = 31; | 
| IPV6_RTHDR | pub const IPV6_RTHDR = 32; | 
| IPV6_GET_IFLIST | pub const IPV6_GET_IFLIST = 33; | 
| IPV6_RECVRTHDR | pub const IPV6_RECVRTHDR = 38; | 
| IPV6_TCLASS | pub const IPV6_TCLASS = 39; | 
| IPV6_RECVTCLASS | pub const IPV6_RECVTCLASS = 40; | 
| IPV6_ECN | pub const IPV6_ECN = 50; | 
| IPV6_PKTINFO_EX | pub const IPV6_PKTINFO_EX = 51; | 
| IPV6_WFP_REDIRECT_RECORDS | pub const IPV6_WFP_REDIRECT_RECORDS = 60; | 
| IPV6_WFP_REDIRECT_CONTEXT | pub const IPV6_WFP_REDIRECT_CONTEXT = 70; | 
| IPV6_MTU_DISCOVER | pub const IPV6_MTU_DISCOVER = 71; | 
| IPV6_MTU | pub const IPV6_MTU = 72; | 
| IPV6_NRT_INTERFACE | pub const IPV6_NRT_INTERFACE = 74; | 
| IPV6_RECVERR | pub const IPV6_RECVERR = 75; | 
| IPV6_USER_MTU | pub const IPV6_USER_MTU = 76; | 
| IP_UNSPECIFIED_HOP_LIMIT | pub const IP_UNSPECIFIED_HOP_LIMIT = -1; | 
| PROTECTION_LEVEL_UNRESTRICTED | pub const PROTECTION_LEVEL_UNRESTRICTED = 10; | 
| PROTECTION_LEVEL_EDGERESTRICTED | pub const PROTECTION_LEVEL_EDGERESTRICTED = 20; | 
| PROTECTION_LEVEL_RESTRICTED | pub const PROTECTION_LEVEL_RESTRICTED = 30; | 
| INET_ADDRSTRLEN | pub const INET_ADDRSTRLEN = 22; | 
| INET6_ADDRSTRLEN | pub const INET6_ADDRSTRLEN = 65; | 
| TCP | 
pub const TCP = struct {
    pub const NODELAY = 1;
    pub const EXPEDITED_1122 = 2;
    pub const OFFLOAD_NO_PREFERENCE = 0;
    pub const OFFLOAD_NOT_PREFERRED = 1;
    pub const OFFLOAD_PREFERRED = 2;
    pub const KEEPALIVE = 3;
    pub const MAXSEG = 4;
    pub const MAXRT = 5;
    pub const STDURG = 6;
    pub const NOURG = 7;
    pub const ATMARK = 8;
    pub const NOSYNRETRIES = 9;
    pub const TIMESTAMPS = 10;
    pub const OFFLOAD_PREFERENCE = 11;
    pub const CONGESTION_ALGORITHM = 12;
    pub const DELAY_FIN_ACK = 13;
    pub const MAXRTMS = 14;
    pub const FASTOPEN = 15;
    pub const KEEPCNT = 16;
    pub const KEEPINTVL = 17;
    pub const FAIL_CONNECT_ON_ICMP_ERROR = 18;
    pub const ICMP_ERROR_INFO = 19;
    pub const BSDURGENT = 28672;
};
 | 
| UDP_SEND_MSG_SIZE | pub const UDP_SEND_MSG_SIZE = 2; | 
| UDP_RECV_MAX_COALESCED_SIZE | pub const UDP_RECV_MAX_COALESCED_SIZE = 3; | 
| UDP_COALESCED_INFO | pub const UDP_COALESCED_INFO = 3; | 
| AF | 
pub const AF = struct {
    pub const UNSPEC = 0;
    pub const UNIX = 1;
    pub const INET = 2;
    pub const IMPLINK = 3;
    pub const PUP = 4;
    pub const CHAOS = 5;
    pub const NS = 6;
    pub const IPX = 6;
    pub const ISO = 7;
    pub const ECMA = 8;
    pub const DATAKIT = 9;
    pub const CCITT = 10;
    pub const SNA = 11;
    pub const DECnet = 12;
    pub const DLI = 13;
    pub const LAT = 14;
    pub const HYLINK = 15;
    pub const APPLETALK = 16;
    pub const NETBIOS = 17;
    pub const VOICEVIEW = 18;
    pub const FIREFOX = 19;
    pub const UNKNOWN1 = 20;
    pub const BAN = 21;
    pub const ATM = 22;
    pub const INET6 = 23;
    pub const CLUSTER = 24;
    pub const @"12844" = 25;
    pub const IRDA = 26;
    pub const NETDES = 28;
    pub const MAX = 29;
    pub const TCNPROCESS = 29;
    pub const TCNMESSAGE = 30;
    pub const ICLFXBM = 31;
    pub const LINK = 33;
    pub const HYPERV = 34;
};
 | 
| SOCK | 
pub const SOCK = struct {
    pub const STREAM = 1;
    pub const DGRAM = 2;
    pub const RAW = 3;
    pub const RDM = 4;
    pub const SEQPACKET = 5;
    pub const CLOEXEC = 0x10000;
    pub const NONBLOCK = 0x20000;
};
 | 
| SOL WARNING: this flag is not supported by windows socket functions directly,          it is only supported by std.os.socket. Be sure that this value does          not share any bits with any of the  | 
pub const SOL = struct {
    pub const IRLMP = 255;
    pub const SOCKET = 65535;
};
 | 
| SO | 
pub const SO = struct {
    pub const DEBUG = 1;
    pub const ACCEPTCONN = 2;
    pub const REUSEADDR = 4;
    pub const KEEPALIVE = 8;
    pub const DONTROUTE = 16;
    pub const BROADCAST = 32;
    pub const USELOOPBACK = 64;
    pub const LINGER = 128;
    pub const OOBINLINE = 256;
    pub const SNDBUF = 4097;
    pub const RCVBUF = 4098;
    pub const SNDLOWAT = 4099;
    pub const RCVLOWAT = 4100;
    pub const SNDTIMEO = 4101;
    pub const RCVTIMEO = 4102;
    pub const ERROR = 4103;
    pub const TYPE = 4104;
    pub const BSP_STATE = 4105;
    pub const GROUP_ID = 8193;
    pub const GROUP_PRIORITY = 8194;
    pub const MAX_MSG_SIZE = 8195;
    pub const CONDITIONAL_ACCEPT = 12290;
    pub const PAUSE_ACCEPT = 12291;
    pub const COMPARTMENT_ID = 12292;
    pub const RANDOMIZE_PORT = 12293;
    pub const PORT_SCALABILITY = 12294;
    pub const REUSE_UNICASTPORT = 12295;
    pub const REUSE_MULTICASTPORT = 12296;
    pub const ORIGINAL_DST = 12303;
    pub const PROTOCOL_INFOA = 8196;
    pub const PROTOCOL_INFOW = 8197;
    pub const CONNDATA = 28672;
    pub const CONNOPT = 28673;
    pub const DISCDATA = 28674;
    pub const DISCOPT = 28675;
    pub const CONNDATALEN = 28676;
    pub const CONNOPTLEN = 28677;
    pub const DISCDATALEN = 28678;
    pub const DISCOPTLEN = 28679;
    pub const OPENTYPE = 28680;
    pub const SYNCHRONOUS_ALERT = 16;
    pub const SYNCHRONOUS_NONALERT = 32;
    pub const MAXDG = 28681;
    pub const MAXPATHDG = 28682;
    pub const UPDATE_ACCEPT_CONTEXT = 28683;
    pub const CONNECT_TIME = 28684;
    pub const UPDATE_CONNECT_CONTEXT = 28688;
};
 | 
| WSK_SO_BASE | pub const WSK_SO_BASE = 16384; | 
| IOC_UNIX | pub const IOC_UNIX = 0; | 
| IOC_WS2 | pub const IOC_WS2 = 134217728; | 
| IOC_PROTOCOL | pub const IOC_PROTOCOL = 268435456; | 
| IOC_VENDOR | pub const IOC_VENDOR = 402653184; | 
| SIO_GET_EXTENSION_FUNCTION_POINTER | pub const SIO_GET_EXTENSION_FUNCTION_POINTER = IOC_OUT | IOC_IN | IOC_WS2 | 6; | 
| SIO_BSP_HANDLE | pub const SIO_BSP_HANDLE = IOC_OUT | IOC_WS2 | 27; | 
| SIO_BSP_HANDLE_SELECT | pub const SIO_BSP_HANDLE_SELECT = IOC_OUT | IOC_WS2 | 28; | 
| SIO_BSP_HANDLE_POLL | pub const SIO_BSP_HANDLE_POLL = IOC_OUT | IOC_WS2 | 29; | 
| SIO_BASE_HANDLE | pub const SIO_BASE_HANDLE = IOC_OUT | IOC_WS2 | 34; | 
| IPPORT_TCPMUX | pub const IPPORT_TCPMUX = 1; | 
| IPPORT_ECHO | pub const IPPORT_ECHO = 7; | 
| IPPORT_DISCARD | pub const IPPORT_DISCARD = 9; | 
| IPPORT_SYSTAT | pub const IPPORT_SYSTAT = 11; | 
| IPPORT_DAYTIME | pub const IPPORT_DAYTIME = 13; | 
| IPPORT_NETSTAT | pub const IPPORT_NETSTAT = 15; | 
| IPPORT_QOTD | pub const IPPORT_QOTD = 17; | 
| IPPORT_MSP | pub const IPPORT_MSP = 18; | 
| IPPORT_CHARGEN | pub const IPPORT_CHARGEN = 19; | 
| IPPORT_FTP_DATA | pub const IPPORT_FTP_DATA = 20; | 
| IPPORT_FTP | pub const IPPORT_FTP = 21; | 
| IPPORT_TELNET | pub const IPPORT_TELNET = 23; | 
| IPPORT_SMTP | pub const IPPORT_SMTP = 25; | 
| IPPORT_TIMESERVER | pub const IPPORT_TIMESERVER = 37; | 
| IPPORT_NAMESERVER | pub const IPPORT_NAMESERVER = 42; | 
| IPPORT_WHOIS | pub const IPPORT_WHOIS = 43; | 
| IPPORT_MTP | pub const IPPORT_MTP = 57; | 
| IPPORT_TFTP | pub const IPPORT_TFTP = 69; | 
| IPPORT_RJE | pub const IPPORT_RJE = 77; | 
| IPPORT_FINGER | pub const IPPORT_FINGER = 79; | 
| IPPORT_TTYLINK | pub const IPPORT_TTYLINK = 87; | 
| IPPORT_SUPDUP | pub const IPPORT_SUPDUP = 95; | 
| IPPORT_POP3 | pub const IPPORT_POP3 = 110; | 
| IPPORT_NTP | pub const IPPORT_NTP = 123; | 
| IPPORT_EPMAP | pub const IPPORT_EPMAP = 135; | 
| IPPORT_NETBIOS_NS | pub const IPPORT_NETBIOS_NS = 137; | 
| IPPORT_NETBIOS_DGM | pub const IPPORT_NETBIOS_DGM = 138; | 
| IPPORT_NETBIOS_SSN | pub const IPPORT_NETBIOS_SSN = 139; | 
| IPPORT_IMAP | pub const IPPORT_IMAP = 143; | 
| IPPORT_SNMP | pub const IPPORT_SNMP = 161; | 
| IPPORT_SNMP_TRAP | pub const IPPORT_SNMP_TRAP = 162; | 
| IPPORT_IMAP3 | pub const IPPORT_IMAP3 = 220; | 
| IPPORT_LDAP | pub const IPPORT_LDAP = 389; | 
| IPPORT_HTTPS | pub const IPPORT_HTTPS = 443; | 
| IPPORT_MICROSOFT_DS | pub const IPPORT_MICROSOFT_DS = 445; | 
| IPPORT_EXECSERVER | pub const IPPORT_EXECSERVER = 512; | 
| IPPORT_LOGINSERVER | pub const IPPORT_LOGINSERVER = 513; | 
| IPPORT_CMDSERVER | pub const IPPORT_CMDSERVER = 514; | 
| IPPORT_EFSSERVER | pub const IPPORT_EFSSERVER = 520; | 
| IPPORT_BIFFUDP | pub const IPPORT_BIFFUDP = 512; | 
| IPPORT_WHOSERVER | pub const IPPORT_WHOSERVER = 513; | 
| IPPORT_ROUTESERVER | pub const IPPORT_ROUTESERVER = 520; | 
| IPPORT_RESERVED | pub const IPPORT_RESERVED = 1024; | 
| IPPORT_REGISTERED_MAX | pub const IPPORT_REGISTERED_MAX = 49151; | 
| IPPORT_DYNAMIC_MIN | pub const IPPORT_DYNAMIC_MIN = 49152; | 
| IPPORT_DYNAMIC_MAX | pub const IPPORT_DYNAMIC_MAX = 65535; | 
| IN_CLASSA_NET | pub const IN_CLASSA_NET = 4278190080; | 
| IN_CLASSA_NSHIFT | pub const IN_CLASSA_NSHIFT = 24; | 
| IN_CLASSA_HOST | pub const IN_CLASSA_HOST = 16777215; | 
| IN_CLASSA_MAX | pub const IN_CLASSA_MAX = 128; | 
| IN_CLASSB_NET | pub const IN_CLASSB_NET = 4294901760; | 
| IN_CLASSB_NSHIFT | pub const IN_CLASSB_NSHIFT = 16; | 
| IN_CLASSB_HOST | pub const IN_CLASSB_HOST = 65535; | 
| IN_CLASSB_MAX | pub const IN_CLASSB_MAX = 65536; | 
| IN_CLASSC_NET | pub const IN_CLASSC_NET = 4294967040; | 
| IN_CLASSC_NSHIFT | pub const IN_CLASSC_NSHIFT = 8; | 
| IN_CLASSC_HOST | pub const IN_CLASSC_HOST = 255; | 
| IN_CLASSD_NET | pub const IN_CLASSD_NET = 4026531840; | 
| IN_CLASSD_NSHIFT | pub const IN_CLASSD_NSHIFT = 28; | 
| IN_CLASSD_HOST | pub const IN_CLASSD_HOST = 268435455; | 
| INADDR_LOOPBACK | pub const INADDR_LOOPBACK = 2130706433; | 
| INADDR_NONE | pub const INADDR_NONE = 4294967295; | 
| IOCPARM_MASK | pub const IOCPARM_MASK = 127; | 
| IOC_VOID | pub const IOC_VOID = 536870912; | 
| IOC_OUT | pub const IOC_OUT = 1073741824; | 
| IOC_IN | pub const IOC_IN = 2147483648; | 
| MSG | 
pub const MSG = struct {
    pub const TRUNC = 256;
    pub const CTRUNC = 512;
    pub const BCAST = 1024;
    pub const MCAST = 2048;
    pub const ERRQUEUE = 4096;
    pub const PEEK = 2;
    pub const WAITALL = 8;
    pub const PUSH_IMMEDIATE = 32;
    pub const PARTIAL = 32768;
    pub const INTERRUPT = 16;
    pub const MAXIOVLEN = 16;
};
 | 
| AI | 
pub const AI = struct {
    pub const PASSIVE = 1;
    pub const CANONNAME = 2;
    pub const NUMERICHOST = 4;
    pub const NUMERICSERV = 8;
    pub const DNS_ONLY = 16;
    pub const ALL = 256;
    pub const ADDRCONFIG = 1024;
    pub const V4MAPPED = 2048;
    pub const NON_AUTHORITATIVE = 16384;
    pub const SECURE = 32768;
    pub const RETURN_PREFERRED_NAMES = 65536;
    pub const FQDN = 131072;
    pub const FILESERVER = 262144;
    pub const DISABLE_IDN_ENCODING = 524288;
    pub const EXTENDED = 2147483648;
    pub const RESOLUTION_HANDLE = 1073741824;
};
 | 
| FIONBIO | pub const FIONBIO = -2147195266; | 
| ADDRINFOEX_VERSION_2 | pub const ADDRINFOEX_VERSION_2 = 2; | 
| ADDRINFOEX_VERSION_3 | pub const ADDRINFOEX_VERSION_3 = 3; | 
| ADDRINFOEX_VERSION_4 | pub const ADDRINFOEX_VERSION_4 = 4; | 
| NS_ALL | pub const NS_ALL = 0; | 
| NS_SAP | pub const NS_SAP = 1; | 
| NS_NDS | pub const NS_NDS = 2; | 
| NS_PEER_BROWSE | pub const NS_PEER_BROWSE = 3; | 
| NS_SLP | pub const NS_SLP = 5; | 
| NS_DHCP | pub const NS_DHCP = 6; | 
| NS_TCPIP_LOCAL | pub const NS_TCPIP_LOCAL = 10; | 
| NS_TCPIP_HOSTS | pub const NS_TCPIP_HOSTS = 11; | 
| NS_DNS | pub const NS_DNS = 12; | 
| NS_NETBT | pub const NS_NETBT = 13; | 
| NS_WINS | pub const NS_WINS = 14; | 
| NS_NLA | pub const NS_NLA = 15; | 
| NS_NBP | pub const NS_NBP = 20; | 
| NS_MS | pub const NS_MS = 30; | 
| NS_STDA | pub const NS_STDA = 31; | 
| NS_NTDS | pub const NS_NTDS = 32; | 
| NS_EMAIL | pub const NS_EMAIL = 37; | 
| NS_X500 | pub const NS_X500 = 40; | 
| NS_NIS | pub const NS_NIS = 41; | 
| NS_NISPLUS | pub const NS_NISPLUS = 42; | 
| NS_WRQ | pub const NS_WRQ = 50; | 
| NS_NETDES | pub const NS_NETDES = 60; | 
| NI_NOFQDN | pub const NI_NOFQDN = 1; | 
| NI_NUMERICHOST | pub const NI_NUMERICHOST = 2; | 
| NI_NAMEREQD | pub const NI_NAMEREQD = 4; | 
| NI_NUMERICSERV | pub const NI_NUMERICSERV = 8; | 
| NI_DGRAM | pub const NI_DGRAM = 16; | 
| NI_MAXHOST | pub const NI_MAXHOST = 1025; | 
| NI_MAXSERV | pub const NI_MAXSERV = 32; | 
| INCL_WINSOCK_API_PROTOTYPES | pub const INCL_WINSOCK_API_PROTOTYPES = 1; | 
| INCL_WINSOCK_API_TYPEDEFS | pub const INCL_WINSOCK_API_TYPEDEFS = 0; | 
| FD_SETSIZE | pub const FD_SETSIZE = 64; | 
| IMPLINK_IP | pub const IMPLINK_IP = 155; | 
| IMPLINK_LOWEXPER | pub const IMPLINK_LOWEXPER = 156; | 
| IMPLINK_HIGHEXPER | pub const IMPLINK_HIGHEXPER = 158; | 
| WSADESCRIPTION_LEN | pub const WSADESCRIPTION_LEN = 256; | 
| WSASYS_STATUS_LEN | pub const WSASYS_STATUS_LEN = 128; | 
| SOCKET_ERROR | pub const SOCKET_ERROR = -1; | 
| FROM_PROTOCOL_INFO | pub const FROM_PROTOCOL_INFO = -1; | 
| PVD_CONFIG | pub const PVD_CONFIG = 12289; | 
| SOMAXCONN | pub const SOMAXCONN = 2147483647; | 
| MAXGETHOSTSTRUCT | pub const MAXGETHOSTSTRUCT = 1024; | 
| FD_READ_BIT | pub const FD_READ_BIT = 0; | 
| FD_WRITE_BIT | pub const FD_WRITE_BIT = 1; | 
| FD_OOB_BIT | pub const FD_OOB_BIT = 2; | 
| FD_ACCEPT_BIT | pub const FD_ACCEPT_BIT = 3; | 
| FD_CONNECT_BIT | pub const FD_CONNECT_BIT = 4; | 
| FD_CLOSE_BIT | pub const FD_CLOSE_BIT = 5; | 
| FD_QOS_BIT | pub const FD_QOS_BIT = 6; | 
| FD_GROUP_QOS_BIT | pub const FD_GROUP_QOS_BIT = 7; | 
| FD_ROUTING_INTERFACE_CHANGE_BIT | pub const FD_ROUTING_INTERFACE_CHANGE_BIT = 8; | 
| FD_ADDRESS_LIST_CHANGE_BIT | pub const FD_ADDRESS_LIST_CHANGE_BIT = 9; | 
| FD_MAX_EVENTS | pub const FD_MAX_EVENTS = 10; | 
| CF_ACCEPT | pub const CF_ACCEPT = 0; | 
| CF_REJECT | pub const CF_REJECT = 1; | 
| CF_DEFER | pub const CF_DEFER = 2; | 
| SD_RECEIVE | pub const SD_RECEIVE = 0; | 
| SD_SEND | pub const SD_SEND = 1; | 
| SD_BOTH | pub const SD_BOTH = 2; | 
| SG_UNCONSTRAINED_GROUP | pub const SG_UNCONSTRAINED_GROUP = 1; | 
| SG_CONSTRAINED_GROUP | pub const SG_CONSTRAINED_GROUP = 2; | 
| MAX_PROTOCOL_CHAIN | pub const MAX_PROTOCOL_CHAIN = 7; | 
| BASE_PROTOCOL | pub const BASE_PROTOCOL = 1; | 
| LAYERED_PROTOCOL | pub const LAYERED_PROTOCOL = 0; | 
| WSAPROTOCOL_LEN | pub const WSAPROTOCOL_LEN = 255; | 
| PFL_MULTIPLE_PROTO_ENTRIES | pub const PFL_MULTIPLE_PROTO_ENTRIES = 1; | 
| PFL_RECOMMENDED_PROTO_ENTRY | pub const PFL_RECOMMENDED_PROTO_ENTRY = 2; | 
| PFL_HIDDEN | pub const PFL_HIDDEN = 4; | 
| PFL_MATCHES_PROTOCOL_ZERO | pub const PFL_MATCHES_PROTOCOL_ZERO = 8; | 
| PFL_NETWORKDIRECT_PROVIDER | pub const PFL_NETWORKDIRECT_PROVIDER = 16; | 
| XP1_CONNECTIONLESS | pub const XP1_CONNECTIONLESS = 1; | 
| XP1_GUARANTEED_DELIVERY | pub const XP1_GUARANTEED_DELIVERY = 2; | 
| XP1_GUARANTEED_ORDER | pub const XP1_GUARANTEED_ORDER = 4; | 
| XP1_MESSAGE_ORIENTED | pub const XP1_MESSAGE_ORIENTED = 8; | 
| XP1_PSEUDO_STREAM | pub const XP1_PSEUDO_STREAM = 16; | 
| XP1_GRACEFUL_CLOSE | pub const XP1_GRACEFUL_CLOSE = 32; | 
| XP1_EXPEDITED_DATA | pub const XP1_EXPEDITED_DATA = 64; | 
| XP1_CONNECT_DATA | pub const XP1_CONNECT_DATA = 128; | 
| XP1_DISCONNECT_DATA | pub const XP1_DISCONNECT_DATA = 256; | 
| XP1_SUPPORT_BROADCAST | pub const XP1_SUPPORT_BROADCAST = 512; | 
| XP1_SUPPORT_MULTIPOINT | pub const XP1_SUPPORT_MULTIPOINT = 1024; | 
| XP1_MULTIPOINT_CONTROL_PLANE | pub const XP1_MULTIPOINT_CONTROL_PLANE = 2048; | 
| XP1_MULTIPOINT_DATA_PLANE | pub const XP1_MULTIPOINT_DATA_PLANE = 4096; | 
| XP1_QOS_SUPPORTED | pub const XP1_QOS_SUPPORTED = 8192; | 
| XP1_INTERRUPT | pub const XP1_INTERRUPT = 16384; | 
| XP1_UNI_SEND | pub const XP1_UNI_SEND = 32768; | 
| XP1_UNI_RECV | pub const XP1_UNI_RECV = 65536; | 
| XP1_IFS_HANDLES | pub const XP1_IFS_HANDLES = 131072; | 
| XP1_PARTIAL_MESSAGE | pub const XP1_PARTIAL_MESSAGE = 262144; | 
| XP1_SAN_SUPPORT_SDP | pub const XP1_SAN_SUPPORT_SDP = 524288; | 
| BIGENDIAN | pub const BIGENDIAN = 0; | 
| LITTLEENDIAN | pub const LITTLEENDIAN = 1; | 
| SECURITY_PROTOCOL_NONE | pub const SECURITY_PROTOCOL_NONE = 0; | 
| JL_SENDER_ONLY | pub const JL_SENDER_ONLY = 1; | 
| JL_RECEIVER_ONLY | pub const JL_RECEIVER_ONLY = 2; | 
| JL_BOTH | pub const JL_BOTH = 4; | 
| WSA_FLAG_OVERLAPPED | pub const WSA_FLAG_OVERLAPPED = 1; | 
| WSA_FLAG_MULTIPOINT_C_ROOT | pub const WSA_FLAG_MULTIPOINT_C_ROOT = 2; | 
| WSA_FLAG_MULTIPOINT_C_LEAF | pub const WSA_FLAG_MULTIPOINT_C_LEAF = 4; | 
| WSA_FLAG_MULTIPOINT_D_ROOT | pub const WSA_FLAG_MULTIPOINT_D_ROOT = 8; | 
| WSA_FLAG_MULTIPOINT_D_LEAF | pub const WSA_FLAG_MULTIPOINT_D_LEAF = 16; | 
| WSA_FLAG_ACCESS_SYSTEM_SECURITY | pub const WSA_FLAG_ACCESS_SYSTEM_SECURITY = 64; | 
| WSA_FLAG_NO_HANDLE_INHERIT | pub const WSA_FLAG_NO_HANDLE_INHERIT = 128; | 
| WSA_FLAG_REGISTERED_IO | pub const WSA_FLAG_REGISTERED_IO = 256; | 
| TH_NETDEV | pub const TH_NETDEV = 1; | 
| TH_TAPI | pub const TH_TAPI = 2; | 
| SERVICE_MULTIPLE | pub const SERVICE_MULTIPLE = 1; | 
| NS_LOCALNAME | pub const NS_LOCALNAME = 19; | 
| RES_UNUSED_1 | pub const RES_UNUSED_1 = 1; | 
| RES_FLUSH_CACHE | pub const RES_FLUSH_CACHE = 2; | 
| RES_SERVICE | pub const RES_SERVICE = 4; | 
| LUP_DEEP | pub const LUP_DEEP = 1; | 
| LUP_CONTAINERS | pub const LUP_CONTAINERS = 2; | 
| LUP_NOCONTAINERS | pub const LUP_NOCONTAINERS = 4; | 
| LUP_NEAREST | pub const LUP_NEAREST = 8; | 
| LUP_RETURN_NAME | pub const LUP_RETURN_NAME = 16; | 
| LUP_RETURN_TYPE | pub const LUP_RETURN_TYPE = 32; | 
| LUP_RETURN_VERSION | pub const LUP_RETURN_VERSION = 64; | 
| LUP_RETURN_COMMENT | pub const LUP_RETURN_COMMENT = 128; | 
| LUP_RETURN_ADDR | pub const LUP_RETURN_ADDR = 256; | 
| LUP_RETURN_BLOB | pub const LUP_RETURN_BLOB = 512; | 
| LUP_RETURN_ALIASES | pub const LUP_RETURN_ALIASES = 1024; | 
| LUP_RETURN_QUERY_STRING | pub const LUP_RETURN_QUERY_STRING = 2048; | 
| LUP_RETURN_ALL | pub const LUP_RETURN_ALL = 4080; | 
| LUP_RES_SERVICE | pub const LUP_RES_SERVICE = 32768; | 
| LUP_FLUSHCACHE | pub const LUP_FLUSHCACHE = 4096; | 
| LUP_FLUSHPREVIOUS | pub const LUP_FLUSHPREVIOUS = 8192; | 
| LUP_NON_AUTHORITATIVE | pub const LUP_NON_AUTHORITATIVE = 16384; | 
| LUP_SECURE | pub const LUP_SECURE = 32768; | 
| LUP_RETURN_PREFERRED_NAMES | pub const LUP_RETURN_PREFERRED_NAMES = 65536; | 
| LUP_DNS_ONLY | pub const LUP_DNS_ONLY = 131072; | 
| LUP_ADDRCONFIG | pub const LUP_ADDRCONFIG = 1048576; | 
| LUP_DUAL_ADDR | pub const LUP_DUAL_ADDR = 2097152; | 
| LUP_FILESERVER | pub const LUP_FILESERVER = 4194304; | 
| LUP_DISABLE_IDN_ENCODING | pub const LUP_DISABLE_IDN_ENCODING = 8388608; | 
| LUP_API_ANSI | pub const LUP_API_ANSI = 16777216; | 
| LUP_RESOLUTION_HANDLE | pub const LUP_RESOLUTION_HANDLE = 2147483648; | 
| RESULT_IS_ALIAS | pub const RESULT_IS_ALIAS = 1; | 
| RESULT_IS_ADDED | pub const RESULT_IS_ADDED = 16; | 
| RESULT_IS_CHANGED | pub const RESULT_IS_CHANGED = 32; | 
| RESULT_IS_DELETED | pub const RESULT_IS_DELETED = 64; | 
| POLL | 
pub const POLL = struct {
    pub const RDNORM = 256;
    pub const RDBAND = 512;
    pub const PRI = 1024;
    pub const WRNORM = 16;
    pub const WRBAND = 32;
    pub const ERR = 1;
    pub const HUP = 2;
    pub const NVAL = 4;
};
 | 
| TF_DISCONNECT | pub const TF_DISCONNECT = 1; | 
| TF_REUSE_SOCKET | pub const TF_REUSE_SOCKET = 2; | 
| TF_WRITE_BEHIND | pub const TF_WRITE_BEHIND = 4; | 
| TF_USE_DEFAULT_WORKER | pub const TF_USE_DEFAULT_WORKER = 0; | 
| TF_USE_SYSTEM_THREAD | pub const TF_USE_SYSTEM_THREAD = 16; | 
| TF_USE_KERNEL_APC | pub const TF_USE_KERNEL_APC = 32; | 
| TP_ELEMENT_MEMORY | pub const TP_ELEMENT_MEMORY = 1; | 
| TP_ELEMENT_FILE | pub const TP_ELEMENT_FILE = 2; | 
| TP_ELEMENT_EOP | pub const TP_ELEMENT_EOP = 4; | 
| NLA_ALLUSERS_NETWORK | pub const NLA_ALLUSERS_NETWORK = 1; | 
| NLA_FRIENDLY_NAME | pub const NLA_FRIENDLY_NAME = 2; | 
| WSPDESCRIPTION_LEN | pub const WSPDESCRIPTION_LEN = 255; | 
| WSS_OPERATION_IN_PROGRESS | pub const WSS_OPERATION_IN_PROGRESS = 259; | 
| LSP_SYSTEM | pub const LSP_SYSTEM = 2147483648; | 
| LSP_INSPECTOR | pub const LSP_INSPECTOR = 1; | 
| LSP_REDIRECTOR | pub const LSP_REDIRECTOR = 2; | 
| LSP_PROXY | pub const LSP_PROXY = 4; | 
| LSP_FIREWALL | pub const LSP_FIREWALL = 8; | 
| LSP_INBOUND_MODIFY | pub const LSP_INBOUND_MODIFY = 16; | 
| LSP_OUTBOUND_MODIFY | pub const LSP_OUTBOUND_MODIFY = 32; | 
| LSP_CRYPTO_COMPRESS | pub const LSP_CRYPTO_COMPRESS = 64; | 
| LSP_LOCAL_CACHE | pub const LSP_LOCAL_CACHE = 128; | 
| IPPROTO | 
pub const IPPROTO = struct {
    pub const IP = 0;
    pub const ICMP = 1;
    pub const IGMP = 2;
    pub const GGP = 3;
    pub const TCP = 6;
    pub const PUP = 12;
    pub const UDP = 17;
    pub const IDP = 22;
    pub const ND = 77;
    pub const RM = 113;
    pub const RAW = 255;
    pub const MAX = 256;
};
 | 
| IP_DEFAULT_MULTICAST_TTL | pub const IP_DEFAULT_MULTICAST_TTL = 1; | 
| IP_DEFAULT_MULTICAST_LOOP | pub const IP_DEFAULT_MULTICAST_LOOP = 1; | 
| IP_MAX_MEMBERSHIPS | pub const IP_MAX_MEMBERSHIPS = 20; | 
| FD_READ | pub const FD_READ = 1; | 
| FD_WRITE | pub const FD_WRITE = 2; | 
| FD_OOB | pub const FD_OOB = 4; | 
| FD_ACCEPT | pub const FD_ACCEPT = 8; | 
| FD_CONNECT | pub const FD_CONNECT = 16; | 
| FD_CLOSE | pub const FD_CLOSE = 32; | 
| SERVICE_RESOURCE | pub const SERVICE_RESOURCE = 1; | 
| SERVICE_SERVICE | pub const SERVICE_SERVICE = 2; | 
| SERVICE_LOCAL | pub const SERVICE_LOCAL = 4; | 
| SERVICE_FLAG_DEFER | pub const SERVICE_FLAG_DEFER = 1; | 
| SERVICE_FLAG_HARD | pub const SERVICE_FLAG_HARD = 2; | 
| PROP_COMMENT | pub const PROP_COMMENT = 1; | 
| PROP_LOCALE | pub const PROP_LOCALE = 2; | 
| PROP_DISPLAY_HINT | pub const PROP_DISPLAY_HINT = 4; | 
| PROP_VERSION | pub const PROP_VERSION = 8; | 
| PROP_START_TIME | pub const PROP_START_TIME = 16; | 
| PROP_MACHINE | pub const PROP_MACHINE = 32; | 
| PROP_ADDRESSES | pub const PROP_ADDRESSES = 256; | 
| PROP_SD | pub const PROP_SD = 512; | 
| PROP_ALL | pub const PROP_ALL = 2147483648; | 
| SERVICE_ADDRESS_FLAG_RPC_CN | pub const SERVICE_ADDRESS_FLAG_RPC_CN = 1; | 
| SERVICE_ADDRESS_FLAG_RPC_DG | pub const SERVICE_ADDRESS_FLAG_RPC_DG = 2; | 
| SERVICE_ADDRESS_FLAG_RPC_NB | pub const SERVICE_ADDRESS_FLAG_RPC_NB = 4; | 
| NS_DEFAULT | pub const NS_DEFAULT = 0; | 
| NS_VNS | pub const NS_VNS = 50; | 
| NSTYPE_HIERARCHICAL | pub const NSTYPE_HIERARCHICAL = 1; | 
| NSTYPE_DYNAMIC | pub const NSTYPE_DYNAMIC = 2; | 
| NSTYPE_ENUMERABLE | pub const NSTYPE_ENUMERABLE = 4; | 
| NSTYPE_WORKGROUP | pub const NSTYPE_WORKGROUP = 8; | 
| XP_CONNECTIONLESS | pub const XP_CONNECTIONLESS = 1; | 
| XP_GUARANTEED_DELIVERY | pub const XP_GUARANTEED_DELIVERY = 2; | 
| XP_GUARANTEED_ORDER | pub const XP_GUARANTEED_ORDER = 4; | 
| XP_MESSAGE_ORIENTED | pub const XP_MESSAGE_ORIENTED = 8; | 
| XP_PSEUDO_STREAM | pub const XP_PSEUDO_STREAM = 16; | 
| XP_GRACEFUL_CLOSE | pub const XP_GRACEFUL_CLOSE = 32; | 
| XP_EXPEDITED_DATA | pub const XP_EXPEDITED_DATA = 64; | 
| XP_CONNECT_DATA | pub const XP_CONNECT_DATA = 128; | 
| XP_DISCONNECT_DATA | pub const XP_DISCONNECT_DATA = 256; | 
| XP_SUPPORTS_BROADCAST | pub const XP_SUPPORTS_BROADCAST = 512; | 
| XP_SUPPORTS_MULTICAST | pub const XP_SUPPORTS_MULTICAST = 1024; | 
| XP_BANDWIDTH_ALLOCATION | pub const XP_BANDWIDTH_ALLOCATION = 2048; | 
| XP_FRAGMENTATION | pub const XP_FRAGMENTATION = 4096; | 
| XP_ENCRYPTS | pub const XP_ENCRYPTS = 8192; | 
| RES_SOFT_SEARCH | pub const RES_SOFT_SEARCH = 1; | 
| RES_FIND_MULTIPLE | pub const RES_FIND_MULTIPLE = 2; | 
| SET_SERVICE_PARTIAL_SUCCESS | pub const SET_SERVICE_PARTIAL_SUCCESS = 1; | 
| UDP_NOCHECKSUM | pub const UDP_NOCHECKSUM = 1; | 
| UDP_CHECKSUM_COVERAGE | pub const UDP_CHECKSUM_COVERAGE = 20; | 
| GAI_STRERROR_BUFFER_SIZE | pub const GAI_STRERROR_BUFFER_SIZE = 1024; | 
| LPCONDITIONPROC | 
pub const LPCONDITIONPROC = *const fn (
    lpCallerId: *WSABUF,
    lpCallerData: *WSABUF,
    lpSQOS: *QOS,
    lpGQOS: *QOS,
    lpCalleeId: *WSABUF,
    lpCalleeData: *WSABUF,
    g: *u32,
    dwCallbackData: usize,
) callconv(WINAPI) i32;
 | 
| LPWSAOVERLAPPED_COMPLETION_ROUTINE | 
pub const LPWSAOVERLAPPED_COMPLETION_ROUTINE = *const fn (
    dwError: u32,
    cbTransferred: u32,
    lpOverlapped: *OVERLAPPED,
    dwFlags: u32,
) callconv(WINAPI) void;
 | 
| FLOWSPEC | 
pub const FLOWSPEC = extern struct {
    TokenRate: u32,
    TokenBucketSize: u32,
    PeakBandwidth: u32,
    Latency: u32,
    DelayVariation: u32,
    ServiceType: u32,
    MaxSduSize: u32,
    MinimumPolicedSize: u32,
};
 | 
| QOS | 
pub const QOS = extern struct {
    SendingFlowspec: FLOWSPEC,
    ReceivingFlowspec: FLOWSPEC,
    ProviderSpecific: WSABUF,
};
 | 
| SOCKET_ADDRESS | 
pub const SOCKET_ADDRESS = extern struct {
    lpSockaddr: *sockaddr,
    iSockaddrLength: i32,
};
 | 
| SOCKET_ADDRESS_LIST | 
pub const SOCKET_ADDRESS_LIST = extern struct {
    iAddressCount: i32,
    Address: [1]SOCKET_ADDRESS,
};
 | 
| WSADATA | 
pub const WSADATA = if (@sizeOf(usize) == @sizeOf(u64))
    extern struct {
        wVersion: WORD,
        wHighVersion: WORD,
        iMaxSockets: u16,
        iMaxUdpDg: u16,
        lpVendorInfo: *u8,
        szDescription: [WSADESCRIPTION_LEN + 1]u8,
        szSystemStatus: [WSASYS_STATUS_LEN + 1]u8,
    }
else
    extern struct {
        wVersion: WORD,
        wHighVersion: WORD,
        szDescription: [WSADESCRIPTION_LEN + 1]u8,
        szSystemStatus: [WSASYS_STATUS_LEN + 1]u8,
        iMaxSockets: u16,
        iMaxUdpDg: u16,
        lpVendorInfo: *u8,
    };
 | 
| WSAPROTOCOLCHAIN | 
pub const WSAPROTOCOLCHAIN = extern struct {
    ChainLen: c_int,
    ChainEntries: [MAX_PROTOCOL_CHAIN]DWORD,
};
 | 
| WSAPROTOCOL_INFOA | 
pub const WSAPROTOCOL_INFOA = extern struct {
    dwServiceFlags1: DWORD,
    dwServiceFlags2: DWORD,
    dwServiceFlags3: DWORD,
    dwServiceFlags4: DWORD,
    dwProviderFlags: DWORD,
    ProviderId: GUID,
    dwCatalogEntryId: DWORD,
    ProtocolChain: WSAPROTOCOLCHAIN,
    iVersion: c_int,
    iAddressFamily: c_int,
    iMaxSockAddr: c_int,
    iMinSockAddr: c_int,
    iSocketType: c_int,
    iProtocol: c_int,
    iProtocolMaxOffset: c_int,
    iNetworkByteOrder: c_int,
    iSecurityScheme: c_int,
    dwMessageSize: DWORD,
    dwProviderReserved: DWORD,
    szProtocol: [WSAPROTOCOL_LEN + 1]CHAR,
};
 | 
| WSAPROTOCOL_INFOW | 
pub const WSAPROTOCOL_INFOW = extern struct {
    dwServiceFlags1: DWORD,
    dwServiceFlags2: DWORD,
    dwServiceFlags3: DWORD,
    dwServiceFlags4: DWORD,
    dwProviderFlags: DWORD,
    ProviderId: GUID,
    dwCatalogEntryId: DWORD,
    ProtocolChain: WSAPROTOCOLCHAIN,
    iVersion: c_int,
    iAddressFamily: c_int,
    iMaxSockAddr: c_int,
    iMinSockAddr: c_int,
    iSocketType: c_int,
    iProtocol: c_int,
    iProtocolMaxOffset: c_int,
    iNetworkByteOrder: c_int,
    iSecurityScheme: c_int,
    dwMessageSize: DWORD,
    dwProviderReserved: DWORD,
    szProtocol: [WSAPROTOCOL_LEN + 1]WCHAR,
};
 | 
| sockproto | 
pub const sockproto = extern struct {
    sp_family: u16,
    sp_protocol: u16,
};
 | 
| linger | 
pub const linger = extern struct {
    l_onoff: u16,
    l_linger: u16,
};
 | 
| WSANETWORKEVENTS | 
pub const WSANETWORKEVENTS = extern struct {
    lNetworkEvents: i32,
    iErrorCode: [10]i32,
};
 | 
| addrinfo | pub const addrinfo = addrinfoa; | 
| addrinfoa | 
pub const addrinfoa = extern struct {
    flags: i32,
    family: i32,
    socktype: i32,
    protocol: i32,
    addrlen: usize,
    canonname: ?[*:0]u8,
    addr: ?*sockaddr,
    next: ?*addrinfo,
};
 | 
| addrinfoexA | 
pub const addrinfoexA = extern struct {
    ai_flags: i32,
    ai_family: i32,
    ai_socktype: i32,
    ai_protocol: i32,
    ai_addrlen: usize,
    ai_canonname: [*:0]u8,
    ai_addr: *sockaddr,
    ai_blob: *anyopaque,
    ai_bloblen: usize,
    ai_provider: *GUID,
    ai_next: *addrinfoexA,
};
 | 
| sockaddr | 
pub const sockaddr = extern struct {
    family: ADDRESS_FAMILY,
    data: [14]u8,
    pub const SS_MAXSIZE = 128;
    pub const storage = extern struct {
        family: ADDRESS_FAMILY align(8),
        padding: [SS_MAXSIZE - @sizeOf(ADDRESS_FAMILY)]u8 = undefined,
        comptime {
            assert(@sizeOf(storage) == SS_MAXSIZE);
            assert(@alignOf(storage) == 8);
        }
    };
    pub const in = extern struct {
        family: ADDRESS_FAMILY = AF.INET,
        port: USHORT,
        addr: u32,
        zero: [8]u8 = [8]u8{ 0, 0, 0, 0, 0, 0, 0, 0 },
    };
    pub const in6 = extern struct {
        family: ADDRESS_FAMILY = AF.INET6,
        port: USHORT,
        flowinfo: u32,
        addr: [16]u8,
        scope_id: u32,
    };
    pub const un = extern struct {
        family: ADDRESS_FAMILY = AF.UNIX,
        path: [108]u8,
    };
};
 | 
| WSABUFIPv4 socket address IPv6 socket address UNIX domain socket address | 
pub const WSABUF = extern struct {
    len: ULONG,
    buf: [*]u8,
};
 | 
| msghdr | pub const msghdr = WSAMSG; | 
| msghdr_const | pub const msghdr_const = WSAMSG_const; | 
| WSAMSG_const | 
pub const WSAMSG_const = extern struct {
    name: *const sockaddr,
    namelen: INT,
    lpBuffers: [*]const WSABUF,
    dwBufferCount: DWORD,
    Control: WSABUF,
    dwFlags: DWORD,
};
 | 
| WSAMSG | 
pub const WSAMSG = extern struct {
    name: *sockaddr,
    namelen: INT,
    lpBuffers: [*]WSABUF,
    dwBufferCount: DWORD,
    Control: WSABUF,
    dwFlags: DWORD,
};
 | 
| WSAPOLLFD | pub const WSAPOLLFD = pollfd; | 
| pollfd | 
pub const pollfd = extern struct {
    fd: SOCKET,
    events: SHORT,
    revents: SHORT,
};
 | 
| TRANSMIT_FILE_BUFFERS | 
pub const TRANSMIT_FILE_BUFFERS = extern struct {
    Head: *anyopaque,
    HeadLength: u32,
    Tail: *anyopaque,
    TailLength: u32,
};
 | 
| LPFN_TRANSMITFILE | 
pub const LPFN_TRANSMITFILE = *const fn (
    hSocket: SOCKET,
    hFile: HANDLE,
    nNumberOfBytesToWrite: u32,
    nNumberOfBytesPerSend: u32,
    lpOverlapped: ?*OVERLAPPED,
    lpTransmitBuffers: ?*TRANSMIT_FILE_BUFFERS,
    dwReserved: u32,
) callconv(WINAPI) BOOL;
 | 
| LPFN_ACCEPTEX | 
pub const LPFN_ACCEPTEX = *const fn (
    sListenSocket: SOCKET,
    sAcceptSocket: SOCKET,
    lpOutputBuffer: *anyopaque,
    dwReceiveDataLength: u32,
    dwLocalAddressLength: u32,
    dwRemoteAddressLength: u32,
    lpdwBytesReceived: *u32,
    lpOverlapped: *OVERLAPPED,
) callconv(WINAPI) BOOL;
 | 
| LPFN_GETACCEPTEXSOCKADDRS | 
pub const LPFN_GETACCEPTEXSOCKADDRS = *const fn (
    lpOutputBuffer: *anyopaque,
    dwReceiveDataLength: u32,
    dwLocalAddressLength: u32,
    dwRemoteAddressLength: u32,
    LocalSockaddr: **sockaddr,
    LocalSockaddrLength: *i32,
    RemoteSockaddr: **sockaddr,
    RemoteSockaddrLength: *i32,
) callconv(WINAPI) void;
 | 
| LPFN_WSASENDMSG | 
pub const LPFN_WSASENDMSG = *const fn (
    s: SOCKET,
    lpMsg: *const WSAMSG_const,
    dwFlags: u32,
    lpNumberOfBytesSent: ?*u32,
    lpOverlapped: ?*OVERLAPPED,
    lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
) callconv(WINAPI) i32;
 | 
| LPFN_WSARECVMSG | 
pub const LPFN_WSARECVMSG = *const fn (
    s: SOCKET,
    lpMsg: *WSAMSG,
    lpdwNumberOfBytesRecv: ?*u32,
    lpOverlapped: ?*OVERLAPPED,
    lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
) callconv(WINAPI) i32;
 | 
| LPSERVICE_CALLBACK_PROC | 
pub const LPSERVICE_CALLBACK_PROC = *const fn (
    lParam: LPARAM,
    hAsyncTaskHandle: HANDLE,
) callconv(WINAPI) void;
 | 
| SERVICE_ASYNC_INFO | 
pub const SERVICE_ASYNC_INFO = extern struct {
    lpServiceCallbackProc: LPSERVICE_CALLBACK_PROC,
    lParam: LPARAM,
    hAsyncTaskHandle: HANDLE,
};
 | 
| LPLOOKUPSERVICE_COMPLETION_ROUTINE | 
pub const LPLOOKUPSERVICE_COMPLETION_ROUTINE = *const fn (
    dwError: u32,
    dwBytes: u32,
    lpOverlapped: *OVERLAPPED,
) callconv(WINAPI) void;
 | 
| fd_set | 
pub const fd_set = extern struct {
    fd_count: u32,
    fd_array: [64]SOCKET,
};
 | 
| hostent | 
pub const hostent = extern struct {
    h_name: [*]u8,
    h_aliases: **i8,
    h_addrtype: i16,
    h_length: i16,
    h_addr_list: **i8,
};
// https://docs.microsoft.com/en-au/windows/win32/winsock/windows-sockets-error-codes-2
 | 
| WinsockError | 
pub const WinsockError = enum(u16) {
    WSA_INVALID_HANDLE = 6,
    WSA_NOT_ENOUGH_MEMORY = 8,
    WSA_INVALID_PARAMETER = 87,
    WSA_OPERATION_ABORTED = 995,
    WSA_IO_INCOMPLETE = 996,
    WSA_IO_PENDING = 997,
    WSAEINTR = 10004,
    WSAEBADF = 10009,
    WSAEACCES = 10013,
    WSAEFAULT = 10014,
    WSAEINVAL = 10022,
    WSAEMFILE = 10024,
    WSAEWOULDBLOCK = 10035,
    WSAEINPROGRESS = 10036,
    WSAEALREADY = 10037,
    WSAENOTSOCK = 10038,
    WSAEDESTADDRREQ = 10039,
    WSAEMSGSIZE = 10040,
    WSAEPROTOTYPE = 10041,
    WSAENOPROTOOPT = 10042,
    WSAEPROTONOSUPPORT = 10043,
    WSAESOCKTNOSUPPORT = 10044,
    WSAEOPNOTSUPP = 10045,
    WSAEPFNOSUPPORT = 10046,
    WSAEAFNOSUPPORT = 10047,
    WSAEADDRINUSE = 10048,
    WSAEADDRNOTAVAIL = 10049,
    WSAENETDOWN = 10050,
    WSAENETUNREACH = 10051,
    WSAENETRESET = 10052,
    WSAECONNABORTED = 10053,
    WSAECONNRESET = 10054,
    WSAENOBUFS = 10055,
    WSAEISCONN = 10056,
    WSAENOTCONN = 10057,
    WSAESHUTDOWN = 10058,
    WSAETOOMANYREFS = 10059,
    WSAETIMEDOUT = 10060,
    WSAECONNREFUSED = 10061,
    WSAELOOP = 10062,
    WSAENAMETOOLONG = 10063,
    WSAEHOSTDOWN = 10064,
    WSAEHOSTUNREACH = 10065,
    WSAENOTEMPTY = 10066,
    WSAEPROCLIM = 10067,
    WSAEUSERS = 10068,
    WSAEDQUOT = 10069,
    WSAESTALE = 10070,
    WSAEREMOTE = 10071,
    WSASYSNOTREADY = 10091,
    WSAVERNOTSUPPORTED = 10092,
    WSANOTINITIALISED = 10093,
    WSAEDISCON = 10101,
    WSAENOMORE = 10102,
    WSAECANCELLED = 10103,
    WSAEINVALIDPROCTABLE = 10104,
    WSAEINVALIDPROVIDER = 10105,
    WSAEPROVIDERFAILEDINIT = 10106,
    WSASYSCALLFAILURE = 10107,
    WSASERVICE_NOT_FOUND = 10108,
    WSATYPE_NOT_FOUND = 10109,
    WSA_E_NO_MORE = 10110,
    WSA_E_CANCELLED = 10111,
    WSAEREFUSED = 10112,
    WSAHOST_NOT_FOUND = 11001,
    WSATRY_AGAIN = 11002,
    WSANO_RECOVERY = 11003,
    WSANO_DATA = 11004,
    WSA_QOS_RECEIVERS = 11005,
    WSA_QOS_SENDERS = 11006,
    WSA_QOS_NO_SENDERS = 11007,
    WSA_QOS_NO_RECEIVERS = 11008,
    WSA_QOS_REQUEST_CONFIRMED = 11009,
    WSA_QOS_ADMISSION_FAILURE = 11010,
    WSA_QOS_POLICY_FAILURE = 11011,
    WSA_QOS_BAD_STYLE = 11012,
    WSA_QOS_BAD_OBJECT = 11013,
    WSA_QOS_TRAFFIC_CTRL_ERROR = 11014,
    WSA_QOS_GENERIC_ERROR = 11015,
    WSA_QOS_ESERVICETYPE = 11016,
    WSA_QOS_EFLOWSPEC = 11017,
    WSA_QOS_EPROVSPECBUF = 11018,
    WSA_QOS_EFILTERSTYLE = 11019,
    WSA_QOS_EFILTERTYPE = 11020,
    WSA_QOS_EFILTERCOUNT = 11021,
    WSA_QOS_EOBJLENGTH = 11022,
    WSA_QOS_EFLOWCOUNT = 11023,
    WSA_QOS_EUNKOWNPSOBJ = 11024,
    WSA_QOS_EPOLICYOBJ = 11025,
    WSA_QOS_EFLOWDESC = 11026,
    WSA_QOS_EPSFLOWSPEC = 11027,
    WSA_QOS_EPSFILTERSPEC = 11028,
    WSA_QOS_ESDMODEOBJ = 11029,
    WSA_QOS_ESHAPERATEOBJ = 11030,
    WSA_QOS_RESERVED_PETYPE = 11031,
    _,
};
pub extern "ws2_32" fn accept(
    s: SOCKET,
    addr: ?*sockaddr,
    addrlen: ?*i32,
) callconv(WINAPI) SOCKET;
pub extern "ws2_32" fn bind(
    s: SOCKET,
    name: *const sockaddr,
    namelen: i32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn closesocket(
    s: SOCKET,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn connect(
    s: SOCKET,
    name: *const sockaddr,
    namelen: i32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn ioctlsocket(
    s: SOCKET,
    cmd: i32,
    argp: *u32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn getpeername(
    s: SOCKET,
    name: *sockaddr,
    namelen: *i32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn getsockname(
    s: SOCKET,
    name: *sockaddr,
    namelen: *i32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn getsockopt(
    s: SOCKET,
    level: i32,
    optname: i32,
    optval: [*]u8,
    optlen: *i32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn htonl(
    hostlong: u32,
) callconv(WINAPI) u32;
pub extern "ws2_32" fn htons(
    hostshort: u16,
) callconv(WINAPI) u16;
pub extern "ws2_32" fn inet_addr(
    cp: ?[*]const u8,
) callconv(WINAPI) u32;
pub extern "ws2_32" fn listen(
    s: SOCKET,
    backlog: i32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn ntohl(
    netlong: u32,
) callconv(WINAPI) u32;
pub extern "ws2_32" fn ntohs(
    netshort: u16,
) callconv(WINAPI) u16;
pub extern "ws2_32" fn recv(
    s: SOCKET,
    buf: [*]u8,
    len: i32,
    flags: i32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn recvfrom(
    s: SOCKET,
    buf: [*]u8,
    len: i32,
    flags: i32,
    from: ?*sockaddr,
    fromlen: ?*i32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn select(
    nfds: i32,
    readfds: ?*fd_set,
    writefds: ?*fd_set,
    exceptfds: ?*fd_set,
    timeout: ?*const timeval,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn send(
    s: SOCKET,
    buf: [*]const u8,
    len: i32,
    flags: u32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn sendto(
    s: SOCKET,
    buf: [*]const u8,
    len: i32,
    flags: i32,
    to: *const sockaddr,
    tolen: i32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn setsockopt(
    s: SOCKET,
    level: i32,
    optname: i32,
    optval: ?[*]const u8,
    optlen: i32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn shutdown(
    s: SOCKET,
    how: i32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn socket(
    af: i32,
    @"type": i32,
    protocol: i32,
) callconv(WINAPI) SOCKET;
pub extern "ws2_32" fn WSAStartup(
    wVersionRequired: WORD,
    lpWSAData: *WSADATA,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSACleanup() callconv(WINAPI) i32;
pub extern "ws2_32" fn WSASetLastError(iError: i32) callconv(WINAPI) void;
pub extern "ws2_32" fn WSAGetLastError() callconv(WINAPI) WinsockError;
pub extern "ws2_32" fn WSAIsBlocking() callconv(WINAPI) BOOL;
pub extern "ws2_32" fn WSAUnhookBlockingHook() callconv(WINAPI) i32;
pub extern "ws2_32" fn WSASetBlockingHook(lpBlockFunc: FARPROC) callconv(WINAPI) FARPROC;
pub extern "ws2_32" fn WSACancelBlockingCall() callconv(WINAPI) i32;
pub extern "ws2_32" fn WSAAsyncGetServByName(
    hWnd: HWND,
    wMsg: u32,
    name: [*:0]const u8,
    proto: ?[*:0]const u8,
    buf: [*]u8,
    buflen: i32,
) callconv(WINAPI) HANDLE;
pub extern "ws2_32" fn WSAAsyncGetServByPort(
    hWnd: HWND,
    wMsg: u32,
    port: i32,
    proto: ?[*:0]const u8,
    buf: [*]u8,
    buflen: i32,
) callconv(WINAPI) HANDLE;
pub extern "ws2_32" fn WSAAsyncGetProtoByName(
    hWnd: HWND,
    wMsg: u32,
    name: [*:0]const u8,
    buf: [*]u8,
    buflen: i32,
) callconv(WINAPI) HANDLE;
pub extern "ws2_32" fn WSAAsyncGetProtoByNumber(
    hWnd: HWND,
    wMsg: u32,
    number: i32,
    buf: [*]u8,
    buflen: i32,
) callconv(WINAPI) HANDLE;
pub extern "ws2_32" fn WSACancelAsyncRequest(hAsyncTaskHandle: HANDLE) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSAAsyncSelect(
    s: SOCKET,
    hWnd: HWND,
    wMsg: u32,
    lEvent: i32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSAAccept(
    s: SOCKET,
    addr: ?*sockaddr,
    addrlen: ?*i32,
    lpfnCondition: ?LPCONDITIONPROC,
    dwCallbackData: usize,
) callconv(WINAPI) SOCKET;
pub extern "ws2_32" fn WSACloseEvent(hEvent: HANDLE) callconv(WINAPI) BOOL;
pub extern "ws2_32" fn WSAConnect(
    s: SOCKET,
    name: *const sockaddr,
    namelen: i32,
    lpCallerData: ?*WSABUF,
    lpCalleeData: ?*WSABUF,
    lpSQOS: ?*QOS,
    lpGQOS: ?*QOS,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSAConnectByNameW(
    s: SOCKET,
    nodename: [*:0]const u16,
    servicename: [*:0]const u16,
    LocalAddressLength: ?*u32,
    LocalAddress: ?*sockaddr,
    RemoteAddressLength: ?*u32,
    RemoteAddress: ?*sockaddr,
    timeout: ?*const timeval,
    Reserved: *OVERLAPPED,
) callconv(WINAPI) BOOL;
pub extern "ws2_32" fn WSAConnectByNameA(
    s: SOCKET,
    nodename: [*:0]const u8,
    servicename: [*:0]const u8,
    LocalAddressLength: ?*u32,
    LocalAddress: ?*sockaddr,
    RemoteAddressLength: ?*u32,
    RemoteAddress: ?*sockaddr,
    timeout: ?*const timeval,
    Reserved: *OVERLAPPED,
) callconv(WINAPI) BOOL;
pub extern "ws2_32" fn WSAConnectByList(
    s: SOCKET,
    SocketAddress: *SOCKET_ADDRESS_LIST,
    LocalAddressLength: ?*u32,
    LocalAddress: ?*sockaddr,
    RemoteAddressLength: ?*u32,
    RemoteAddress: ?*sockaddr,
    timeout: ?*const timeval,
    Reserved: *OVERLAPPED,
) callconv(WINAPI) BOOL;
pub extern "ws2_32" fn WSACreateEvent() callconv(WINAPI) HANDLE;
pub extern "ws2_32" fn WSADuplicateSocketA(
    s: SOCKET,
    dwProcessId: u32,
    lpProtocolInfo: *WSAPROTOCOL_INFOA,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSADuplicateSocketW(
    s: SOCKET,
    dwProcessId: u32,
    lpProtocolInfo: *WSAPROTOCOL_INFOW,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSAEnumNetworkEvents(
    s: SOCKET,
    hEventObject: HANDLE,
    lpNetworkEvents: *WSANETWORKEVENTS,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSAEnumProtocolsA(
    lpiProtocols: ?*i32,
    lpProtocolBuffer: ?*WSAPROTOCOL_INFOA,
    lpdwBufferLength: *u32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSAEnumProtocolsW(
    lpiProtocols: ?*i32,
    lpProtocolBuffer: ?*WSAPROTOCOL_INFOW,
    lpdwBufferLength: *u32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSAEventSelect(
    s: SOCKET,
    hEventObject: HANDLE,
    lNetworkEvents: i32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSAGetOverlappedResult(
    s: SOCKET,
    lpOverlapped: *OVERLAPPED,
    lpcbTransfer: *u32,
    fWait: BOOL,
    lpdwFlags: *u32,
) callconv(WINAPI) BOOL;
pub extern "ws2_32" fn WSAGetQOSByName(
    s: SOCKET,
    lpQOSName: *WSABUF,
    lpQOS: *QOS,
) callconv(WINAPI) BOOL;
pub extern "ws2_32" fn WSAHtonl(
    s: SOCKET,
    hostlong: u32,
    lpnetlong: *u32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSAHtons(
    s: SOCKET,
    hostshort: u16,
    lpnetshort: *u16,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSAIoctl(
    s: SOCKET,
    dwIoControlCode: u32,
    lpvInBuffer: ?*const anyopaque,
    cbInBuffer: u32,
    lpvOutbuffer: ?*anyopaque,
    cbOutbuffer: u32,
    lpcbBytesReturned: *u32,
    lpOverlapped: ?*OVERLAPPED,
    lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSAJoinLeaf(
    s: SOCKET,
    name: *const sockaddr,
    namelen: i32,
    lpCallerdata: ?*WSABUF,
    lpCalleeData: ?*WSABUF,
    lpSQOS: ?*QOS,
    lpGQOS: ?*QOS,
    dwFlags: u32,
) callconv(WINAPI) SOCKET;
pub extern "ws2_32" fn WSANtohl(
    s: SOCKET,
    netlong: u32,
    lphostlong: *u32,
) callconv(WINAPI) u32;
pub extern "ws2_32" fn WSANtohs(
    s: SOCKET,
    netshort: u16,
    lphostshort: *u16,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSARecv(
    s: SOCKET,
    lpBuffers: [*]WSABUF,
    dwBufferCouynt: u32,
    lpNumberOfBytesRecv: ?*u32,
    lpFlags: *u32,
    lpOverlapped: ?*OVERLAPPED,
    lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSARecvDisconnect(
    s: SOCKET,
    lpInboundDisconnectData: ?*WSABUF,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSARecvFrom(
    s: SOCKET,
    lpBuffers: [*]WSABUF,
    dwBuffercount: u32,
    lpNumberOfBytesRecvd: ?*u32,
    lpFlags: *u32,
    lpFrom: ?*sockaddr,
    lpFromlen: ?*i32,
    lpOverlapped: ?*OVERLAPPED,
    lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSAResetEvent(hEvent: HANDLE) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSASend(
    s: SOCKET,
    lpBuffers: [*]WSABUF,
    dwBufferCount: u32,
    lpNumberOfBytesSent: ?*u32,
    dwFlags: u32,
    lpOverlapped: ?*OVERLAPPED,
    lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSASendMsg(
    s: SOCKET,
    lpMsg: *WSAMSG_const,
    dwFlags: u32,
    lpNumberOfBytesSent: ?*u32,
    lpOverlapped: ?*OVERLAPPED,
    lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSARecvMsg(
    s: SOCKET,
    lpMsg: *WSAMSG,
    lpdwNumberOfBytesRecv: ?*u32,
    lpOverlapped: ?*OVERLAPPED,
    lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSASendDisconnect(
    s: SOCKET,
    lpOutboundDisconnectData: ?*WSABUF,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSASendTo(
    s: SOCKET,
    lpBuffers: [*]WSABUF,
    dwBufferCount: u32,
    lpNumberOfBytesSent: ?*u32,
    dwFlags: u32,
    lpTo: ?*const sockaddr,
    iToLen: i32,
    lpOverlapped: ?*OVERLAPPED,
    lpCompletionRounte: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSASetEvent(
    hEvent: HANDLE,
) callconv(WINAPI) BOOL;
pub extern "ws2_32" fn WSASocketA(
    af: i32,
    @"type": i32,
    protocol: i32,
    lpProtocolInfo: ?*WSAPROTOCOL_INFOA,
    g: u32,
    dwFlags: u32,
) callconv(WINAPI) SOCKET;
pub extern "ws2_32" fn WSASocketW(
    af: i32,
    @"type": i32,
    protocol: i32,
    lpProtocolInfo: ?*WSAPROTOCOL_INFOW,
    g: u32,
    dwFlags: u32,
) callconv(WINAPI) SOCKET;
pub extern "ws2_32" fn WSAWaitForMultipleEvents(
    cEvents: u32,
    lphEvents: [*]const HANDLE,
    fWaitAll: BOOL,
    dwTimeout: u32,
    fAlertable: BOOL,
) callconv(WINAPI) u32;
pub extern "ws2_32" fn WSAAddressToStringA(
    lpsaAddress: *sockaddr,
    dwAddressLength: u32,
    lpProtocolInfo: ?*WSAPROTOCOL_INFOA,
    lpszAddressString: [*]u8,
    lpdwAddressStringLength: *u32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSAAddressToStringW(
    lpsaAddress: *sockaddr,
    dwAddressLength: u32,
    lpProtocolInfo: ?*WSAPROTOCOL_INFOW,
    lpszAddressString: [*]u16,
    lpdwAddressStringLength: *u32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSAStringToAddressA(
    AddressString: [*:0]const u8,
    AddressFamily: i32,
    lpProtocolInfo: ?*WSAPROTOCOL_INFOA,
    lpAddress: *sockaddr,
    lpAddressLength: *i32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSAStringToAddressW(
    AddressString: [*:0]const u16,
    AddressFamily: i32,
    lpProtocolInfo: ?*WSAPROTOCOL_INFOW,
    lpAddrses: *sockaddr,
    lpAddressLength: *i32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSAProviderConfigChange(
    lpNotificationHandle: *HANDLE,
    lpOverlapped: ?*OVERLAPPED,
    lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn WSAPoll(
    fdArray: [*]WSAPOLLFD,
    fds: u32,
    timeout: i32,
) callconv(WINAPI) i32;
pub extern "mswsock" fn WSARecvEx(
    s: SOCKET,
    buf: [*]u8,
    len: i32,
    flags: *i32,
) callconv(WINAPI) i32;
pub extern "mswsock" fn TransmitFile(
    hSocket: SOCKET,
    hFile: HANDLE,
    nNumberOfBytesToWrite: u32,
    nNumberOfBytesPerSend: u32,
    lpOverlapped: ?*OVERLAPPED,
    lpTransmitBuffers: ?*TRANSMIT_FILE_BUFFERS,
    dwReserved: u32,
) callconv(WINAPI) BOOL;
pub extern "mswsock" fn AcceptEx(
    sListenSocket: SOCKET,
    sAcceptSocket: SOCKET,
    lpOutputBuffer: *anyopaque,
    dwReceiveDataLength: u32,
    dwLocalAddressLength: u32,
    dwRemoteAddressLength: u32,
    lpdwBytesReceived: *u32,
    lpOverlapped: *OVERLAPPED,
) callconv(WINAPI) BOOL;
pub extern "mswsock" fn GetAcceptExSockaddrs(
    lpOutputBuffer: *anyopaque,
    dwReceiveDataLength: u32,
    dwLocalAddressLength: u32,
    dwRemoteAddressLength: u32,
    LocalSockaddr: **sockaddr,
    LocalSockaddrLength: *i32,
    RemoteSockaddr: **sockaddr,
    RemoteSockaddrLength: *i32,
) callconv(WINAPI) void;
pub extern "ws2_32" fn WSAProviderCompleteAsyncCall(
    hAsyncCall: HANDLE,
    iRetCode: i32,
) callconv(WINAPI) i32;
pub extern "mswsock" fn EnumProtocolsA(
    lpiProtocols: ?*i32,
    lpProtocolBuffer: *anyopaque,
    lpdwBufferLength: *u32,
) callconv(WINAPI) i32;
pub extern "mswsock" fn EnumProtocolsW(
    lpiProtocols: ?*i32,
    lpProtocolBuffer: *anyopaque,
    lpdwBufferLength: *u32,
) callconv(WINAPI) i32;
pub extern "mswsock" fn GetAddressByNameA(
    dwNameSpace: u32,
    lpServiceType: *GUID,
    lpServiceName: ?[*:0]u8,
    lpiProtocols: ?*i32,
    dwResolution: u32,
    lpServiceAsyncInfo: ?*SERVICE_ASYNC_INFO,
    lpCsaddrBuffer: *anyopaque,
    lpAliasBuffer: ?[*:0]const u8,
    lpdwAliasBufferLength: *u32,
) callconv(WINAPI) i32;
pub extern "mswsock" fn GetAddressByNameW(
    dwNameSpace: u32,
    lpServiceType: *GUID,
    lpServiceName: ?[*:0]u16,
    lpiProtocols: ?*i32,
    dwResolution: u32,
    lpServiceAsyncInfo: ?*SERVICE_ASYNC_INFO,
    lpCsaddrBuffer: *anyopaque,
    ldwBufferLEngth: *u32,
    lpAliasBuffer: ?[*:0]u16,
    lpdwAliasBufferLength: *u32,
) callconv(WINAPI) i32;
pub extern "mswsock" fn GetTypeByNameA(
    lpServiceName: [*:0]u8,
    lpServiceType: *GUID,
) callconv(WINAPI) i32;
pub extern "mswsock" fn GetTypeByNameW(
    lpServiceName: [*:0]u16,
    lpServiceType: *GUID,
) callconv(WINAPI) i32;
pub extern "mswsock" fn GetNameByTypeA(
    lpServiceType: *GUID,
    lpServiceName: [*:0]u8,
    dwNameLength: u32,
) callconv(WINAPI) i32;
pub extern "mswsock" fn GetNameByTypeW(
    lpServiceType: *GUID,
    lpServiceName: [*:0]u16,
    dwNameLength: u32,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn getaddrinfo(
    pNodeName: ?[*:0]const u8,
    pServiceName: ?[*:0]const u8,
    pHints: ?*const addrinfoa,
    ppResult: *?*addrinfoa,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn GetAddrInfoExA(
    pName: ?[*:0]const u8,
    pServiceName: ?[*:0]const u8,
    dwNameSapce: u32,
    lpNspId: ?*GUID,
    hints: ?*const addrinfoexA,
    ppResult: **addrinfoexA,
    timeout: ?*timeval,
    lpOverlapped: ?*OVERLAPPED,
    lpCompletionRoutine: ?LPLOOKUPSERVICE_COMPLETION_ROUTINE,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn GetAddrInfoExCancel(
    lpHandle: *HANDLE,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn GetAddrInfoExOverlappedResult(
    lpOverlapped: *OVERLAPPED,
) callconv(WINAPI) i32;
pub extern "ws2_32" fn freeaddrinfo(
    pAddrInfo: ?*addrinfoa,
) callconv(WINAPI) void;
pub extern "ws2_32" fn FreeAddrInfoEx(
    pAddrInfoEx: ?*addrinfoexA,
) callconv(WINAPI) void;
pub extern "ws2_32" fn getnameinfo(
    pSockaddr: *const sockaddr,
    SockaddrLength: i32,
    pNodeBuffer: ?[*]u8,
    NodeBufferSize: u32,
    pServiceBuffer: ?[*]u8,
    ServiceBufferName: u32,
    Flags: i32,
) callconv(WINAPI) i32;
pub extern "iphlpapi" fn if_nametoindex(
    InterfaceName: [*:0]const u8,
) callconv(WINAPI) u32;
 | 
| Generated by zstd-browse2 on 2023-11-04 14:12:39 -0400. |