zigwin32/win32/networking/win_http.zig

1445 lines
64 KiB
Zig

//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (468)
//--------------------------------------------------------------------------------
pub const WINHTTP_FLAG_ASYNC = @as(u32, 268435456);
pub const WINHTTP_FLAG_SECURE_DEFAULTS = @as(u32, 805306368);
pub const SECURITY_FLAG_IGNORE_UNKNOWN_CA = @as(u32, 256);
pub const SECURITY_FLAG_IGNORE_CERT_DATE_INVALID = @as(u32, 8192);
pub const SECURITY_FLAG_IGNORE_CERT_CN_INVALID = @as(u32, 4096);
pub const SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE = @as(u32, 512);
pub const WINHTTP_AUTOPROXY_AUTO_DETECT = @as(u32, 1);
pub const WINHTTP_AUTOPROXY_CONFIG_URL = @as(u32, 2);
pub const WINHTTP_AUTOPROXY_HOST_KEEPCASE = @as(u32, 4);
pub const WINHTTP_AUTOPROXY_HOST_LOWERCASE = @as(u32, 8);
pub const WINHTTP_AUTOPROXY_ALLOW_AUTOCONFIG = @as(u32, 256);
pub const WINHTTP_AUTOPROXY_ALLOW_STATIC = @as(u32, 512);
pub const WINHTTP_AUTOPROXY_ALLOW_CM = @as(u32, 1024);
pub const WINHTTP_AUTOPROXY_RUN_INPROCESS = @as(u32, 65536);
pub const WINHTTP_AUTOPROXY_RUN_OUTPROCESS_ONLY = @as(u32, 131072);
pub const WINHTTP_AUTOPROXY_NO_DIRECTACCESS = @as(u32, 262144);
pub const WINHTTP_AUTOPROXY_NO_CACHE_CLIENT = @as(u32, 524288);
pub const WINHTTP_AUTOPROXY_NO_CACHE_SVC = @as(u32, 1048576);
pub const WINHTTP_AUTOPROXY_SORT_RESULTS = @as(u32, 4194304);
pub const WINHTTP_AUTO_DETECT_TYPE_DHCP = @as(u32, 1);
pub const WINHTTP_AUTO_DETECT_TYPE_DNS_A = @as(u32, 2);
pub const NETWORKING_KEY_BUFSIZE = @as(u32, 128);
pub const WINHTTP_PROXY_TYPE_DIRECT = @as(u32, 1);
pub const WINHTTP_PROXY_TYPE_PROXY = @as(u32, 2);
pub const WINHTTP_PROXY_TYPE_AUTO_PROXY_URL = @as(u32, 4);
pub const WINHTTP_PROXY_TYPE_AUTO_DETECT = @as(u32, 8);
pub const WINHTTP_REQUEST_STAT_FLAG_TCP_FAST_OPEN = @as(u32, 1);
pub const WINHTTP_REQUEST_STAT_FLAG_TLS_SESSION_RESUMPTION = @as(u32, 2);
pub const WINHTTP_REQUEST_STAT_FLAG_TLS_FALSE_START = @as(u32, 4);
pub const WINHTTP_REQUEST_STAT_FLAG_PROXY_TLS_SESSION_RESUMPTION = @as(u32, 8);
pub const WINHTTP_REQUEST_STAT_FLAG_PROXY_TLS_FALSE_START = @as(u32, 16);
pub const WINHTTP_REQUEST_STAT_FLAG_FIRST_REQUEST = @as(u32, 32);
pub const WINHTTP_MATCH_CONNECTION_GUID_FLAG_REQUIRE_MARKED_CONNECTION = @as(u32, 1);
pub const WINHTTP_MATCH_CONNECTION_GUID_FLAGS_MASK = @as(u32, 1);
pub const WINHTTP_RESOLVER_CACHE_CONFIG_FLAG_SOFT_LIMIT = @as(u32, 1);
pub const WINHTTP_RESOLVER_CACHE_CONFIG_FLAG_BYPASS_CACHE = @as(u32, 2);
pub const WINHTTP_RESOLVER_CACHE_CONFIG_FLAG_USE_DNS_TTL = @as(u32, 4);
pub const WINHTTP_RESOLVER_CACHE_CONFIG_FLAG_CONN_USE_TTL = @as(u32, 8);
pub const WINHTTP_TIME_FORMAT_BUFSIZE = @as(u32, 62);
pub const WINHTTP_OPTION_CALLBACK = @as(u32, 1);
pub const WINHTTP_OPTION_RESOLVE_TIMEOUT = @as(u32, 2);
pub const WINHTTP_OPTION_CONNECT_TIMEOUT = @as(u32, 3);
pub const WINHTTP_OPTION_CONNECT_RETRIES = @as(u32, 4);
pub const WINHTTP_OPTION_SEND_TIMEOUT = @as(u32, 5);
pub const WINHTTP_OPTION_RECEIVE_TIMEOUT = @as(u32, 6);
pub const WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT = @as(u32, 7);
pub const WINHTTP_OPTION_HANDLE_TYPE = @as(u32, 9);
pub const WINHTTP_OPTION_READ_BUFFER_SIZE = @as(u32, 12);
pub const WINHTTP_OPTION_WRITE_BUFFER_SIZE = @as(u32, 13);
pub const WINHTTP_OPTION_PARENT_HANDLE = @as(u32, 21);
pub const WINHTTP_OPTION_EXTENDED_ERROR = @as(u32, 24);
pub const WINHTTP_OPTION_SECURITY_FLAGS = @as(u32, 31);
pub const WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT = @as(u32, 32);
pub const WINHTTP_OPTION_URL = @as(u32, 34);
pub const WINHTTP_OPTION_SECURITY_KEY_BITNESS = @as(u32, 36);
pub const WINHTTP_OPTION_PROXY = @as(u32, 38);
pub const WINHTTP_OPTION_PROXY_RESULT_ENTRY = @as(u32, 39);
pub const WINHTTP_OPTION_USER_AGENT = @as(u32, 41);
pub const WINHTTP_OPTION_CONTEXT_VALUE = @as(u32, 45);
pub const WINHTTP_OPTION_CLIENT_CERT_CONTEXT = @as(u32, 47);
pub const WINHTTP_OPTION_REQUEST_PRIORITY = @as(u32, 58);
pub const WINHTTP_OPTION_HTTP_VERSION = @as(u32, 59);
pub const WINHTTP_OPTION_DISABLE_FEATURE = @as(u32, 63);
pub const WINHTTP_OPTION_CODEPAGE = @as(u32, 68);
pub const WINHTTP_OPTION_MAX_CONNS_PER_SERVER = @as(u32, 73);
pub const WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER = @as(u32, 74);
pub const WINHTTP_OPTION_AUTOLOGON_POLICY = @as(u32, 77);
pub const WINHTTP_OPTION_SERVER_CERT_CONTEXT = @as(u32, 78);
pub const WINHTTP_OPTION_ENABLE_FEATURE = @as(u32, 79);
pub const WINHTTP_OPTION_WORKER_THREAD_COUNT = @as(u32, 80);
pub const WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT = @as(u32, 81);
pub const WINHTTP_OPTION_PASSPORT_COBRANDING_URL = @as(u32, 82);
pub const WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH = @as(u32, 83);
pub const WINHTTP_OPTION_SECURE_PROTOCOLS = @as(u32, 84);
pub const WINHTTP_OPTION_ENABLETRACING = @as(u32, 85);
pub const WINHTTP_OPTION_PASSPORT_SIGN_OUT = @as(u32, 86);
pub const WINHTTP_OPTION_PASSPORT_RETURN_URL = @as(u32, 87);
pub const WINHTTP_OPTION_REDIRECT_POLICY = @as(u32, 88);
pub const WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS = @as(u32, 89);
pub const WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE = @as(u32, 90);
pub const WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE = @as(u32, 91);
pub const WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE = @as(u32, 92);
pub const WINHTTP_OPTION_CONNECTION_INFO = @as(u32, 93);
pub const WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST = @as(u32, 94);
pub const WINHTTP_OPTION_SPN = @as(u32, 96);
pub const WINHTTP_OPTION_GLOBAL_PROXY_CREDS = @as(u32, 97);
pub const WINHTTP_OPTION_GLOBAL_SERVER_CREDS = @as(u32, 98);
pub const WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT = @as(u32, 99);
pub const WINHTTP_OPTION_REJECT_USERPWD_IN_URL = @as(u32, 100);
pub const WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS = @as(u32, 101);
pub const WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE = @as(u32, 103);
pub const WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE = @as(u32, 104);
pub const WINHTTP_OPTION_SERVER_SPN_USED = @as(u32, 106);
pub const WINHTTP_OPTION_PROXY_SPN_USED = @as(u32, 107);
pub const WINHTTP_OPTION_SERVER_CBT = @as(u32, 108);
pub const WINHTTP_OPTION_UNSAFE_HEADER_PARSING = @as(u32, 110);
pub const WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS = @as(u32, 111);
pub const WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET = @as(u32, 114);
pub const WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT = @as(u32, 115);
pub const WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL = @as(u32, 116);
pub const WINHTTP_OPTION_DECOMPRESSION = @as(u32, 118);
pub const WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE = @as(u32, 122);
pub const WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE = @as(u32, 123);
pub const WINHTTP_OPTION_TCP_PRIORITY_HINT = @as(u32, 128);
pub const WINHTTP_OPTION_CONNECTION_FILTER = @as(u32, 131);
pub const WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL = @as(u32, 133);
pub const WINHTTP_OPTION_HTTP_PROTOCOL_USED = @as(u32, 134);
pub const WINHTTP_OPTION_KDC_PROXY_SETTINGS = @as(u32, 136);
pub const WINHTTP_OPTION_PROXY_DISABLE_SERVICE_CALLS = @as(u32, 137);
pub const WINHTTP_OPTION_ENCODE_EXTRA = @as(u32, 138);
pub const WINHTTP_OPTION_DISABLE_STREAM_QUEUE = @as(u32, 139);
pub const WINHTTP_OPTION_IPV6_FAST_FALLBACK = @as(u32, 140);
pub const WINHTTP_OPTION_CONNECTION_STATS_V0 = @as(u32, 141);
pub const WINHTTP_OPTION_REQUEST_TIMES = @as(u32, 142);
pub const WINHTTP_OPTION_EXPIRE_CONNECTION = @as(u32, 143);
pub const WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK = @as(u32, 144);
pub const WINHTTP_OPTION_HTTP_PROTOCOL_REQUIRED = @as(u32, 145);
pub const WINHTTP_OPTION_REQUEST_STATS = @as(u32, 146);
pub const WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT = @as(u32, 147);
pub const WINHTTP_OPTION_CONNECTION_STATS_V1 = @as(u32, 150);
pub const WINHTTP_OPTION_SECURITY_INFO = @as(u32, 151);
pub const WINHTTP_OPTION_TCP_KEEPALIVE = @as(u32, 152);
pub const WINHTTP_OPTION_TCP_FAST_OPEN = @as(u32, 153);
pub const WINHTTP_OPTION_TLS_FALSE_START = @as(u32, 154);
pub const WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE = @as(u32, 155);
pub const WINHTTP_OPTION_SOURCE_ADDRESS = @as(u32, 156);
pub const WINHTTP_OPTION_HEAP_EXTENSION = @as(u32, 157);
pub const WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK = @as(u32, 158);
pub const WINHTTP_OPTION_STREAM_ERROR_CODE = @as(u32, 159);
pub const WINHTTP_OPTION_REQUIRE_STREAM_END = @as(u32, 160);
pub const WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT = @as(u32, 161);
pub const WINHTTP_OPTION_FAILED_CONNECTION_RETRIES = @as(u32, 162);
pub const WINHTTP_OPTION_SET_GLOBAL_CALLBACK = @as(u32, 163);
pub const WINHTTP_OPTION_HTTP2_KEEPALIVE = @as(u32, 164);
pub const WINHTTP_OPTION_RESOLUTION_HOSTNAME = @as(u32, 165);
pub const WINHTTP_OPTION_SET_TOKEN_BINDING = @as(u32, 166);
pub const WINHTTP_OPTION_TOKEN_BINDING_PUBLIC_KEY = @as(u32, 167);
pub const WINHTTP_OPTION_REFERER_TOKEN_BINDING_HOSTNAME = @as(u32, 168);
pub const WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING = @as(u32, 169);
pub const WINHTTP_OPTION_RESOLVER_CACHE_CONFIG = @as(u32, 170);
pub const WINHTTP_OPTION_DISABLE_CERT_CHAIN_BUILDING = @as(u32, 171);
pub const WINHTTP_OPTION_BACKGROUND_CONNECTIONS = @as(u32, 172);
pub const WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION = @as(u32, 173);
pub const WINHTTP_OPTION_ENABLE_TEST_SIGNING = @as(u32, 174);
pub const WINHTTP_OPTION_NTSERVICE_FLAG_TEST = @as(u32, 175);
pub const WINHTTP_OPTION_DISABLE_PROXY_LINK_LOCAL_NAME_RESOLUTION = @as(u32, 176);
pub const WINHTTP_OPTION_TCP_PRIORITY_STATUS = @as(u32, 177);
pub const WINHTTP_OPTION_CONNECTION_GUID = @as(u32, 178);
pub const WINHTTP_OPTION_MATCH_CONNECTION_GUID = @as(u32, 179);
pub const WINHTTP_OPTION_PROXY_CONFIG_INFO = @as(u32, 180);
pub const WINHTTP_OPTION_AGGREGATE_PROXY_CONFIG = @as(u32, 181);
pub const WINHTTP_OPTION_SELECTED_PROXY_CONFIG_INFO = @as(u32, 182);
pub const WINHTTP_OPTION_HTTP2_RECEIVE_WINDOW = @as(u32, 183);
pub const WINHTTP_LAST_OPTION = @as(u32, 183);
pub const WINHTTP_OPTION_USERNAME = @as(u32, 4096);
pub const WINHTTP_OPTION_PASSWORD = @as(u32, 4097);
pub const WINHTTP_OPTION_PROXY_USERNAME = @as(u32, 4098);
pub const WINHTTP_OPTION_PROXY_PASSWORD = @as(u32, 4099);
pub const WINHTTP_CONNS_PER_SERVER_UNLIMITED = @as(u32, 4294967295);
pub const WINHTTP_CONNECTION_RETRY_CONDITION_408 = @as(u32, 1);
pub const WINHTTP_CONNECTION_RETRY_CONDITION_SSL_HANDSHAKE = @as(u32, 2);
pub const WINHTTP_CONNECTION_RETRY_CONDITION_STALE_CONNECTION = @as(u32, 4);
pub const WINHTTP_DECOMPRESSION_FLAG_GZIP = @as(u32, 1);
pub const WINHTTP_DECOMPRESSION_FLAG_DEFLATE = @as(u32, 2);
pub const WINHTTP_PROTOCOL_FLAG_HTTP2 = @as(u32, 1);
pub const WINHTTP_PROTOCOL_FLAG_HTTP3 = @as(u32, 2);
pub const WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM = @as(u32, 0);
pub const WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW = @as(u32, 1);
pub const WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH = @as(u32, 2);
pub const WINHTTP_AUTOLOGON_SECURITY_LEVEL_DEFAULT = @as(u32, 0);
pub const WINHTTP_OPTION_REDIRECT_POLICY_NEVER = @as(u32, 0);
pub const WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP = @as(u32, 1);
pub const WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS = @as(u32, 2);
pub const WINHTTP_OPTION_REDIRECT_POLICY_LAST = @as(u32, 2);
pub const WINHTTP_OPTION_REDIRECT_POLICY_DEFAULT = @as(u32, 1);
pub const WINHTTP_DISABLE_PASSPORT_AUTH = @as(u32, 0);
pub const WINHTTP_ENABLE_PASSPORT_AUTH = @as(u32, 268435456);
pub const WINHTTP_DISABLE_PASSPORT_KEYRING = @as(u32, 536870912);
pub const WINHTTP_ENABLE_PASSPORT_KEYRING = @as(u32, 1073741824);
pub const WINHTTP_DISABLE_COOKIES = @as(u32, 1);
pub const WINHTTP_DISABLE_REDIRECTS = @as(u32, 2);
pub const WINHTTP_DISABLE_AUTHENTICATION = @as(u32, 4);
pub const WINHTTP_DISABLE_KEEP_ALIVE = @as(u32, 8);
pub const WINHTTP_ENABLE_SSL_REVOCATION = @as(u32, 1);
pub const WINHTTP_ENABLE_SSL_REVERT_IMPERSONATION = @as(u32, 2);
pub const WINHTTP_DISABLE_SPN_SERVER_PORT = @as(u32, 0);
pub const WINHTTP_ENABLE_SPN_SERVER_PORT = @as(u32, 1);
pub const WINHTTP_OPTION_SPN_MASK = @as(u32, 1);
pub const WINHTTP_HANDLE_TYPE_SESSION = @as(u32, 1);
pub const WINHTTP_HANDLE_TYPE_CONNECT = @as(u32, 2);
pub const WINHTTP_HANDLE_TYPE_REQUEST = @as(u32, 3);
pub const WINHTTP_AUTH_SCHEME_PASSPORT = @as(u32, 4);
pub const WINHTTP_AUTH_SCHEME_DIGEST = @as(u32, 8);
pub const WINHTTP_AUTH_TARGET_SERVER = @as(u32, 0);
pub const WINHTTP_AUTH_TARGET_PROXY = @as(u32, 1);
pub const SECURITY_FLAG_SECURE = @as(u32, 1);
pub const SECURITY_FLAG_STRENGTH_WEAK = @as(u32, 268435456);
pub const SECURITY_FLAG_STRENGTH_MEDIUM = @as(u32, 1073741824);
pub const SECURITY_FLAG_STRENGTH_STRONG = @as(u32, 536870912);
pub const WINHTTP_CALLBACK_STATUS_FLAG_CERT_REV_FAILED = @as(u32, 1);
pub const WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CERT = @as(u32, 2);
pub const WINHTTP_CALLBACK_STATUS_FLAG_CERT_REVOKED = @as(u32, 4);
pub const WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA = @as(u32, 8);
pub const WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID = @as(u32, 16);
pub const WINHTTP_CALLBACK_STATUS_FLAG_CERT_DATE_INVALID = @as(u32, 32);
pub const WINHTTP_CALLBACK_STATUS_FLAG_CERT_WRONG_USAGE = @as(u32, 64);
pub const WINHTTP_CALLBACK_STATUS_FLAG_SECURITY_CHANNEL_ERROR = @as(u32, 2147483648);
pub const WINHTTP_FLAG_SECURE_PROTOCOL_SSL2 = @as(u32, 8);
pub const WINHTTP_FLAG_SECURE_PROTOCOL_SSL3 = @as(u32, 32);
pub const WINHTTP_FLAG_SECURE_PROTOCOL_TLS1 = @as(u32, 128);
pub const WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1 = @as(u32, 512);
pub const WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2 = @as(u32, 2048);
pub const WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_3 = @as(u32, 8192);
pub const WINHTTP_CALLBACK_STATUS_RESOLVING_NAME = @as(u32, 1);
pub const WINHTTP_CALLBACK_STATUS_NAME_RESOLVED = @as(u32, 2);
pub const WINHTTP_CALLBACK_STATUS_CONNECTING_TO_SERVER = @as(u32, 4);
pub const WINHTTP_CALLBACK_STATUS_CONNECTED_TO_SERVER = @as(u32, 8);
pub const WINHTTP_CALLBACK_STATUS_SENDING_REQUEST = @as(u32, 16);
pub const WINHTTP_CALLBACK_STATUS_REQUEST_SENT = @as(u32, 32);
pub const WINHTTP_CALLBACK_STATUS_RECEIVING_RESPONSE = @as(u32, 64);
pub const WINHTTP_CALLBACK_STATUS_RESPONSE_RECEIVED = @as(u32, 128);
pub const WINHTTP_CALLBACK_STATUS_CLOSING_CONNECTION = @as(u32, 256);
pub const WINHTTP_CALLBACK_STATUS_CONNECTION_CLOSED = @as(u32, 512);
pub const WINHTTP_CALLBACK_STATUS_HANDLE_CREATED = @as(u32, 1024);
pub const WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING = @as(u32, 2048);
pub const WINHTTP_CALLBACK_STATUS_DETECTING_PROXY = @as(u32, 4096);
pub const WINHTTP_CALLBACK_STATUS_REDIRECT = @as(u32, 16384);
pub const WINHTTP_CALLBACK_STATUS_INTERMEDIATE_RESPONSE = @as(u32, 32768);
pub const WINHTTP_CALLBACK_STATUS_SECURE_FAILURE = @as(u32, 65536);
pub const WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE = @as(u32, 131072);
pub const WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE = @as(u32, 262144);
pub const WINHTTP_CALLBACK_STATUS_READ_COMPLETE = @as(u32, 524288);
pub const WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE = @as(u32, 1048576);
pub const WINHTTP_CALLBACK_STATUS_REQUEST_ERROR = @as(u32, 2097152);
pub const WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE = @as(u32, 4194304);
pub const WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE = @as(u32, 16777216);
pub const WINHTTP_CALLBACK_STATUS_CLOSE_COMPLETE = @as(u32, 33554432);
pub const WINHTTP_CALLBACK_STATUS_SHUTDOWN_COMPLETE = @as(u32, 67108864);
pub const WINHTTP_CALLBACK_STATUS_SETTINGS_WRITE_COMPLETE = @as(u32, 268435456);
pub const WINHTTP_CALLBACK_STATUS_SETTINGS_READ_COMPLETE = @as(u32, 536870912);
pub const API_RECEIVE_RESPONSE = @as(u32, 1);
pub const API_QUERY_DATA_AVAILABLE = @as(u32, 2);
pub const API_READ_DATA = @as(u32, 3);
pub const API_WRITE_DATA = @as(u32, 4);
pub const API_SEND_REQUEST = @as(u32, 5);
pub const API_GET_PROXY_FOR_URL = @as(u32, 6);
pub const WINHTTP_CALLBACK_FLAG_DETECTING_PROXY = @as(u32, 4096);
pub const WINHTTP_CALLBACK_FLAG_REDIRECT = @as(u32, 16384);
pub const WINHTTP_CALLBACK_FLAG_INTERMEDIATE_RESPONSE = @as(u32, 32768);
pub const WINHTTP_CALLBACK_FLAG_SECURE_FAILURE = @as(u32, 65536);
pub const WINHTTP_CALLBACK_FLAG_SENDREQUEST_COMPLETE = @as(u32, 4194304);
pub const WINHTTP_CALLBACK_FLAG_HEADERS_AVAILABLE = @as(u32, 131072);
pub const WINHTTP_CALLBACK_FLAG_DATA_AVAILABLE = @as(u32, 262144);
pub const WINHTTP_CALLBACK_FLAG_READ_COMPLETE = @as(u32, 524288);
pub const WINHTTP_CALLBACK_FLAG_WRITE_COMPLETE = @as(u32, 1048576);
pub const WINHTTP_CALLBACK_FLAG_REQUEST_ERROR = @as(u32, 2097152);
pub const WINHTTP_CALLBACK_FLAG_GETPROXYFORURL_COMPLETE = @as(u32, 16777216);
pub const WINHTTP_CALLBACK_FLAG_ALL_NOTIFICATIONS = @as(u32, 4294967295);
pub const WINHTTP_QUERY_MIME_VERSION = @as(u32, 0);
pub const WINHTTP_QUERY_CONTENT_TYPE = @as(u32, 1);
pub const WINHTTP_QUERY_CONTENT_TRANSFER_ENCODING = @as(u32, 2);
pub const WINHTTP_QUERY_CONTENT_ID = @as(u32, 3);
pub const WINHTTP_QUERY_CONTENT_DESCRIPTION = @as(u32, 4);
pub const WINHTTP_QUERY_CONTENT_LENGTH = @as(u32, 5);
pub const WINHTTP_QUERY_CONTENT_LANGUAGE = @as(u32, 6);
pub const WINHTTP_QUERY_ALLOW = @as(u32, 7);
pub const WINHTTP_QUERY_PUBLIC = @as(u32, 8);
pub const WINHTTP_QUERY_DATE = @as(u32, 9);
pub const WINHTTP_QUERY_EXPIRES = @as(u32, 10);
pub const WINHTTP_QUERY_LAST_MODIFIED = @as(u32, 11);
pub const WINHTTP_QUERY_MESSAGE_ID = @as(u32, 12);
pub const WINHTTP_QUERY_URI = @as(u32, 13);
pub const WINHTTP_QUERY_DERIVED_FROM = @as(u32, 14);
pub const WINHTTP_QUERY_COST = @as(u32, 15);
pub const WINHTTP_QUERY_LINK = @as(u32, 16);
pub const WINHTTP_QUERY_PRAGMA = @as(u32, 17);
pub const WINHTTP_QUERY_VERSION = @as(u32, 18);
pub const WINHTTP_QUERY_STATUS_CODE = @as(u32, 19);
pub const WINHTTP_QUERY_STATUS_TEXT = @as(u32, 20);
pub const WINHTTP_QUERY_RAW_HEADERS = @as(u32, 21);
pub const WINHTTP_QUERY_RAW_HEADERS_CRLF = @as(u32, 22);
pub const WINHTTP_QUERY_CONNECTION = @as(u32, 23);
pub const WINHTTP_QUERY_ACCEPT = @as(u32, 24);
pub const WINHTTP_QUERY_ACCEPT_CHARSET = @as(u32, 25);
pub const WINHTTP_QUERY_ACCEPT_ENCODING = @as(u32, 26);
pub const WINHTTP_QUERY_ACCEPT_LANGUAGE = @as(u32, 27);
pub const WINHTTP_QUERY_AUTHORIZATION = @as(u32, 28);
pub const WINHTTP_QUERY_CONTENT_ENCODING = @as(u32, 29);
pub const WINHTTP_QUERY_FORWARDED = @as(u32, 30);
pub const WINHTTP_QUERY_FROM = @as(u32, 31);
pub const WINHTTP_QUERY_IF_MODIFIED_SINCE = @as(u32, 32);
pub const WINHTTP_QUERY_LOCATION = @as(u32, 33);
pub const WINHTTP_QUERY_ORIG_URI = @as(u32, 34);
pub const WINHTTP_QUERY_REFERER = @as(u32, 35);
pub const WINHTTP_QUERY_RETRY_AFTER = @as(u32, 36);
pub const WINHTTP_QUERY_SERVER = @as(u32, 37);
pub const WINHTTP_QUERY_TITLE = @as(u32, 38);
pub const WINHTTP_QUERY_USER_AGENT = @as(u32, 39);
pub const WINHTTP_QUERY_WWW_AUTHENTICATE = @as(u32, 40);
pub const WINHTTP_QUERY_PROXY_AUTHENTICATE = @as(u32, 41);
pub const WINHTTP_QUERY_ACCEPT_RANGES = @as(u32, 42);
pub const WINHTTP_QUERY_SET_COOKIE = @as(u32, 43);
pub const WINHTTP_QUERY_COOKIE = @as(u32, 44);
pub const WINHTTP_QUERY_REQUEST_METHOD = @as(u32, 45);
pub const WINHTTP_QUERY_REFRESH = @as(u32, 46);
pub const WINHTTP_QUERY_CONTENT_DISPOSITION = @as(u32, 47);
pub const WINHTTP_QUERY_AGE = @as(u32, 48);
pub const WINHTTP_QUERY_CACHE_CONTROL = @as(u32, 49);
pub const WINHTTP_QUERY_CONTENT_BASE = @as(u32, 50);
pub const WINHTTP_QUERY_CONTENT_LOCATION = @as(u32, 51);
pub const WINHTTP_QUERY_CONTENT_MD5 = @as(u32, 52);
pub const WINHTTP_QUERY_CONTENT_RANGE = @as(u32, 53);
pub const WINHTTP_QUERY_ETAG = @as(u32, 54);
pub const WINHTTP_QUERY_HOST = @as(u32, 55);
pub const WINHTTP_QUERY_IF_MATCH = @as(u32, 56);
pub const WINHTTP_QUERY_IF_NONE_MATCH = @as(u32, 57);
pub const WINHTTP_QUERY_IF_RANGE = @as(u32, 58);
pub const WINHTTP_QUERY_IF_UNMODIFIED_SINCE = @as(u32, 59);
pub const WINHTTP_QUERY_MAX_FORWARDS = @as(u32, 60);
pub const WINHTTP_QUERY_PROXY_AUTHORIZATION = @as(u32, 61);
pub const WINHTTP_QUERY_RANGE = @as(u32, 62);
pub const WINHTTP_QUERY_TRANSFER_ENCODING = @as(u32, 63);
pub const WINHTTP_QUERY_UPGRADE = @as(u32, 64);
pub const WINHTTP_QUERY_VARY = @as(u32, 65);
pub const WINHTTP_QUERY_VIA = @as(u32, 66);
pub const WINHTTP_QUERY_WARNING = @as(u32, 67);
pub const WINHTTP_QUERY_EXPECT = @as(u32, 68);
pub const WINHTTP_QUERY_PROXY_CONNECTION = @as(u32, 69);
pub const WINHTTP_QUERY_UNLESS_MODIFIED_SINCE = @as(u32, 70);
pub const WINHTTP_QUERY_PROXY_SUPPORT = @as(u32, 75);
pub const WINHTTP_QUERY_AUTHENTICATION_INFO = @as(u32, 76);
pub const WINHTTP_QUERY_PASSPORT_URLS = @as(u32, 77);
pub const WINHTTP_QUERY_PASSPORT_CONFIG = @as(u32, 78);
pub const WINHTTP_QUERY_MAX = @as(u32, 78);
pub const WINHTTP_QUERY_EX_ALL_HEADERS = @as(u32, 21);
pub const WINHTTP_QUERY_CUSTOM = @as(u32, 65535);
pub const WINHTTP_QUERY_FLAG_REQUEST_HEADERS = @as(u32, 2147483648);
pub const WINHTTP_QUERY_FLAG_SYSTEMTIME = @as(u32, 1073741824);
pub const WINHTTP_QUERY_FLAG_NUMBER = @as(u32, 536870912);
pub const WINHTTP_QUERY_FLAG_NUMBER64 = @as(u32, 134217728);
pub const WINHTTP_QUERY_FLAG_TRAILERS = @as(u32, 33554432);
pub const WINHTTP_QUERY_FLAG_WIRE_ENCODING = @as(u32, 16777216);
pub const HTTP_STATUS_CONTINUE = @as(u32, 100);
pub const HTTP_STATUS_SWITCH_PROTOCOLS = @as(u32, 101);
pub const HTTP_STATUS_OK = @as(u32, 200);
pub const HTTP_STATUS_CREATED = @as(u32, 201);
pub const HTTP_STATUS_ACCEPTED = @as(u32, 202);
pub const HTTP_STATUS_PARTIAL = @as(u32, 203);
pub const HTTP_STATUS_NO_CONTENT = @as(u32, 204);
pub const HTTP_STATUS_RESET_CONTENT = @as(u32, 205);
pub const HTTP_STATUS_PARTIAL_CONTENT = @as(u32, 206);
pub const HTTP_STATUS_WEBDAV_MULTI_STATUS = @as(u32, 207);
pub const HTTP_STATUS_AMBIGUOUS = @as(u32, 300);
pub const HTTP_STATUS_MOVED = @as(u32, 301);
pub const HTTP_STATUS_REDIRECT = @as(u32, 302);
pub const HTTP_STATUS_REDIRECT_METHOD = @as(u32, 303);
pub const HTTP_STATUS_NOT_MODIFIED = @as(u32, 304);
pub const HTTP_STATUS_USE_PROXY = @as(u32, 305);
pub const HTTP_STATUS_REDIRECT_KEEP_VERB = @as(u32, 307);
pub const HTTP_STATUS_PERMANENT_REDIRECT = @as(u32, 308);
pub const HTTP_STATUS_BAD_REQUEST = @as(u32, 400);
pub const HTTP_STATUS_DENIED = @as(u32, 401);
pub const HTTP_STATUS_PAYMENT_REQ = @as(u32, 402);
pub const HTTP_STATUS_FORBIDDEN = @as(u32, 403);
pub const HTTP_STATUS_NOT_FOUND = @as(u32, 404);
pub const HTTP_STATUS_BAD_METHOD = @as(u32, 405);
pub const HTTP_STATUS_NONE_ACCEPTABLE = @as(u32, 406);
pub const HTTP_STATUS_PROXY_AUTH_REQ = @as(u32, 407);
pub const HTTP_STATUS_REQUEST_TIMEOUT = @as(u32, 408);
pub const HTTP_STATUS_CONFLICT = @as(u32, 409);
pub const HTTP_STATUS_GONE = @as(u32, 410);
pub const HTTP_STATUS_LENGTH_REQUIRED = @as(u32, 411);
pub const HTTP_STATUS_PRECOND_FAILED = @as(u32, 412);
pub const HTTP_STATUS_REQUEST_TOO_LARGE = @as(u32, 413);
pub const HTTP_STATUS_URI_TOO_LONG = @as(u32, 414);
pub const HTTP_STATUS_UNSUPPORTED_MEDIA = @as(u32, 415);
pub const HTTP_STATUS_RETRY_WITH = @as(u32, 449);
pub const HTTP_STATUS_SERVER_ERROR = @as(u32, 500);
pub const HTTP_STATUS_NOT_SUPPORTED = @as(u32, 501);
pub const HTTP_STATUS_BAD_GATEWAY = @as(u32, 502);
pub const HTTP_STATUS_SERVICE_UNAVAIL = @as(u32, 503);
pub const HTTP_STATUS_GATEWAY_TIMEOUT = @as(u32, 504);
pub const HTTP_STATUS_VERSION_NOT_SUP = @as(u32, 505);
pub const HTTP_STATUS_FIRST = @as(u32, 100);
pub const HTTP_STATUS_LAST = @as(u32, 505);
pub const ICU_NO_ENCODE = @as(u32, 536870912);
pub const ICU_NO_META = @as(u32, 134217728);
pub const ICU_ENCODE_SPACES_ONLY = @as(u32, 67108864);
pub const ICU_BROWSER_MODE = @as(u32, 33554432);
pub const ICU_ENCODE_PERCENT = @as(u32, 4096);
pub const ICU_ESCAPE_AUTHORITY = @as(u32, 8192);
pub const WINHTTP_ADDREQ_INDEX_MASK = @as(u32, 65535);
pub const WINHTTP_ADDREQ_FLAGS_MASK = @as(u32, 4294901760);
pub const WINHTTP_ADDREQ_FLAG_ADD_IF_NEW = @as(u32, 268435456);
pub const WINHTTP_ADDREQ_FLAG_ADD = @as(u32, 536870912);
pub const WINHTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA = @as(u32, 1073741824);
pub const WINHTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON = @as(u32, 16777216);
pub const WINHTTP_ADDREQ_FLAG_COALESCE = @as(u32, 1073741824);
pub const WINHTTP_ADDREQ_FLAG_REPLACE = @as(u32, 2147483648);
pub const WINHTTP_EXTENDED_HEADER_FLAG_UNICODE = @as(u32, 1);
pub const WINHTTP_IGNORE_REQUEST_TOTAL_LENGTH = @as(u32, 0);
pub const WINHTTP_ERROR_BASE = @as(u32, 12000);
pub const ERROR_WINHTTP_OUT_OF_HANDLES = @as(u32, 12001);
pub const ERROR_WINHTTP_TIMEOUT = @as(u32, 12002);
pub const ERROR_WINHTTP_INTERNAL_ERROR = @as(u32, 12004);
pub const ERROR_WINHTTP_INVALID_URL = @as(u32, 12005);
pub const ERROR_WINHTTP_UNRECOGNIZED_SCHEME = @as(u32, 12006);
pub const ERROR_WINHTTP_NAME_NOT_RESOLVED = @as(u32, 12007);
pub const ERROR_WINHTTP_INVALID_OPTION = @as(u32, 12009);
pub const ERROR_WINHTTP_OPTION_NOT_SETTABLE = @as(u32, 12011);
pub const ERROR_WINHTTP_SHUTDOWN = @as(u32, 12012);
pub const ERROR_WINHTTP_LOGIN_FAILURE = @as(u32, 12015);
pub const ERROR_WINHTTP_OPERATION_CANCELLED = @as(u32, 12017);
pub const ERROR_WINHTTP_INCORRECT_HANDLE_TYPE = @as(u32, 12018);
pub const ERROR_WINHTTP_INCORRECT_HANDLE_STATE = @as(u32, 12019);
pub const ERROR_WINHTTP_CANNOT_CONNECT = @as(u32, 12029);
pub const ERROR_WINHTTP_CONNECTION_ERROR = @as(u32, 12030);
pub const ERROR_WINHTTP_RESEND_REQUEST = @as(u32, 12032);
pub const ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED = @as(u32, 12044);
pub const ERROR_WINHTTP_CANNOT_CALL_BEFORE_OPEN = @as(u32, 12100);
pub const ERROR_WINHTTP_CANNOT_CALL_BEFORE_SEND = @as(u32, 12101);
pub const ERROR_WINHTTP_CANNOT_CALL_AFTER_SEND = @as(u32, 12102);
pub const ERROR_WINHTTP_CANNOT_CALL_AFTER_OPEN = @as(u32, 12103);
pub const ERROR_WINHTTP_HEADER_NOT_FOUND = @as(u32, 12150);
pub const ERROR_WINHTTP_INVALID_SERVER_RESPONSE = @as(u32, 12152);
pub const ERROR_WINHTTP_INVALID_HEADER = @as(u32, 12153);
pub const ERROR_WINHTTP_INVALID_QUERY_REQUEST = @as(u32, 12154);
pub const ERROR_WINHTTP_HEADER_ALREADY_EXISTS = @as(u32, 12155);
pub const ERROR_WINHTTP_REDIRECT_FAILED = @as(u32, 12156);
pub const ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR = @as(u32, 12178);
pub const ERROR_WINHTTP_BAD_AUTO_PROXY_SCRIPT = @as(u32, 12166);
pub const ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT = @as(u32, 12167);
pub const ERROR_WINHTTP_UNHANDLED_SCRIPT_TYPE = @as(u32, 12176);
pub const ERROR_WINHTTP_SCRIPT_EXECUTION_ERROR = @as(u32, 12177);
pub const ERROR_WINHTTP_NOT_INITIALIZED = @as(u32, 12172);
pub const ERROR_WINHTTP_SECURE_FAILURE = @as(u32, 12175);
pub const ERROR_WINHTTP_SECURE_CERT_DATE_INVALID = @as(u32, 12037);
pub const ERROR_WINHTTP_SECURE_CERT_CN_INVALID = @as(u32, 12038);
pub const ERROR_WINHTTP_SECURE_INVALID_CA = @as(u32, 12045);
pub const ERROR_WINHTTP_SECURE_CERT_REV_FAILED = @as(u32, 12057);
pub const ERROR_WINHTTP_SECURE_CHANNEL_ERROR = @as(u32, 12157);
pub const ERROR_WINHTTP_SECURE_INVALID_CERT = @as(u32, 12169);
pub const ERROR_WINHTTP_SECURE_CERT_REVOKED = @as(u32, 12170);
pub const ERROR_WINHTTP_SECURE_CERT_WRONG_USAGE = @as(u32, 12179);
pub const ERROR_WINHTTP_AUTODETECTION_FAILED = @as(u32, 12180);
pub const ERROR_WINHTTP_HEADER_COUNT_EXCEEDED = @as(u32, 12181);
pub const ERROR_WINHTTP_HEADER_SIZE_OVERFLOW = @as(u32, 12182);
pub const ERROR_WINHTTP_CHUNKED_ENCODING_HEADER_SIZE_OVERFLOW = @as(u32, 12183);
pub const ERROR_WINHTTP_RESPONSE_DRAIN_OVERFLOW = @as(u32, 12184);
pub const ERROR_WINHTTP_CLIENT_CERT_NO_PRIVATE_KEY = @as(u32, 12185);
pub const ERROR_WINHTTP_CLIENT_CERT_NO_ACCESS_PRIVATE_KEY = @as(u32, 12186);
pub const ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED_PROXY = @as(u32, 12187);
pub const ERROR_WINHTTP_SECURE_FAILURE_PROXY = @as(u32, 12188);
pub const ERROR_WINHTTP_RESERVED_189 = @as(u32, 12189);
pub const ERROR_WINHTTP_HTTP_PROTOCOL_MISMATCH = @as(u32, 12190);
pub const ERROR_WINHTTP_GLOBAL_CALLBACK_FAILED = @as(u32, 12191);
pub const ERROR_WINHTTP_FEATURE_DISABLED = @as(u32, 12192);
pub const WINHTTP_ERROR_LAST = @as(u32, 12192);
pub const WINHTTP_RESET_STATE = @as(u32, 1);
pub const WINHTTP_RESET_SWPAD_CURRENT_NETWORK = @as(u32, 2);
pub const WINHTTP_RESET_SWPAD_ALL = @as(u32, 4);
pub const WINHTTP_RESET_SCRIPT_CACHE = @as(u32, 8);
pub const WINHTTP_RESET_ALL = @as(u32, 65535);
pub const WINHTTP_RESET_NOTIFY_NETWORK_CHANGED = @as(u32, 65536);
pub const WINHTTP_RESET_OUT_OF_PROC = @as(u32, 131072);
pub const WINHTTP_RESET_DISCARD_RESOLVERS = @as(u32, 262144);
pub const WINHTTP_WEB_SOCKET_MAX_CLOSE_REASON_LENGTH = @as(u32, 123);
pub const WINHTTP_WEB_SOCKET_MIN_KEEPALIVE_VALUE = @as(u32, 15000);
//--------------------------------------------------------------------------------
// Section: Types (47)
//--------------------------------------------------------------------------------
pub const INTERNET_PORT = enum(u32) {
HTTP_PORT = 80,
HTTPS_PORT = 443,
PORT = 0,
};
pub const INTERNET_DEFAULT_HTTP_PORT = INTERNET_PORT.HTTP_PORT;
pub const INTERNET_DEFAULT_HTTPS_PORT = INTERNET_PORT.HTTPS_PORT;
pub const INTERNET_DEFAULT_PORT = INTERNET_PORT.PORT;
pub const WINHTTP_OPEN_REQUEST_FLAGS = enum(u32) {
BYPASS_PROXY_CACHE = 256,
ESCAPE_DISABLE = 64,
ESCAPE_DISABLE_QUERY = 128,
ESCAPE_PERCENT = 4,
NULL_CODEPAGE = 8,
// REFRESH = 256, this enum value conflicts with BYPASS_PROXY_CACHE
SECURE = 8388608,
_,
pub fn initFlags(o: struct {
BYPASS_PROXY_CACHE: u1 = 0,
ESCAPE_DISABLE: u1 = 0,
ESCAPE_DISABLE_QUERY: u1 = 0,
ESCAPE_PERCENT: u1 = 0,
NULL_CODEPAGE: u1 = 0,
SECURE: u1 = 0,
}) WINHTTP_OPEN_REQUEST_FLAGS {
return @as(WINHTTP_OPEN_REQUEST_FLAGS, @enumFromInt(
(if (o.BYPASS_PROXY_CACHE == 1) @intFromEnum(WINHTTP_OPEN_REQUEST_FLAGS.BYPASS_PROXY_CACHE) else 0)
| (if (o.ESCAPE_DISABLE == 1) @intFromEnum(WINHTTP_OPEN_REQUEST_FLAGS.ESCAPE_DISABLE) else 0)
| (if (o.ESCAPE_DISABLE_QUERY == 1) @intFromEnum(WINHTTP_OPEN_REQUEST_FLAGS.ESCAPE_DISABLE_QUERY) else 0)
| (if (o.ESCAPE_PERCENT == 1) @intFromEnum(WINHTTP_OPEN_REQUEST_FLAGS.ESCAPE_PERCENT) else 0)
| (if (o.NULL_CODEPAGE == 1) @intFromEnum(WINHTTP_OPEN_REQUEST_FLAGS.NULL_CODEPAGE) else 0)
| (if (o.SECURE == 1) @intFromEnum(WINHTTP_OPEN_REQUEST_FLAGS.SECURE) else 0)
));
}
};
pub const WINHTTP_FLAG_BYPASS_PROXY_CACHE = WINHTTP_OPEN_REQUEST_FLAGS.BYPASS_PROXY_CACHE;
pub const WINHTTP_FLAG_ESCAPE_DISABLE = WINHTTP_OPEN_REQUEST_FLAGS.ESCAPE_DISABLE;
pub const WINHTTP_FLAG_ESCAPE_DISABLE_QUERY = WINHTTP_OPEN_REQUEST_FLAGS.ESCAPE_DISABLE_QUERY;
pub const WINHTTP_FLAG_ESCAPE_PERCENT = WINHTTP_OPEN_REQUEST_FLAGS.ESCAPE_PERCENT;
pub const WINHTTP_FLAG_NULL_CODEPAGE = WINHTTP_OPEN_REQUEST_FLAGS.NULL_CODEPAGE;
pub const WINHTTP_FLAG_REFRESH = WINHTTP_OPEN_REQUEST_FLAGS.BYPASS_PROXY_CACHE;
pub const WINHTTP_FLAG_SECURE = WINHTTP_OPEN_REQUEST_FLAGS.SECURE;
pub const WIN_HTTP_CREATE_URL_FLAGS = enum(u32) {
ESCAPE = 2147483648,
REJECT_USERPWD = 16384,
DECODE = 268435456,
};
pub const ICU_ESCAPE = WIN_HTTP_CREATE_URL_FLAGS.ESCAPE;
pub const ICU_REJECT_USERPWD = WIN_HTTP_CREATE_URL_FLAGS.REJECT_USERPWD;
pub const ICU_DECODE = WIN_HTTP_CREATE_URL_FLAGS.DECODE;
pub const WINHTTP_ACCESS_TYPE = enum(u32) {
NO_PROXY = 1,
DEFAULT_PROXY = 0,
NAMED_PROXY = 3,
AUTOMATIC_PROXY = 4,
};
pub const WINHTTP_ACCESS_TYPE_NO_PROXY = WINHTTP_ACCESS_TYPE.NO_PROXY;
pub const WINHTTP_ACCESS_TYPE_DEFAULT_PROXY = WINHTTP_ACCESS_TYPE.DEFAULT_PROXY;
pub const WINHTTP_ACCESS_TYPE_NAMED_PROXY = WINHTTP_ACCESS_TYPE.NAMED_PROXY;
pub const WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY = WINHTTP_ACCESS_TYPE.AUTOMATIC_PROXY;
pub const WINHTTP_CREDS_AUTHSCHEME = enum(u32) {
BASIC = 1,
NTLM = 2,
NEGOTIATE = 16,
};
pub const WINHTTP_AUTH_SCHEME_BASIC = WINHTTP_CREDS_AUTHSCHEME.BASIC;
pub const WINHTTP_AUTH_SCHEME_NTLM = WINHTTP_CREDS_AUTHSCHEME.NTLM;
pub const WINHTTP_AUTH_SCHEME_NEGOTIATE = WINHTTP_CREDS_AUTHSCHEME.NEGOTIATE;
pub const WINHTTP_INTERNET_SCHEME = enum(u32) {
HTTP = 1,
HTTPS = 2,
FTP = 3,
SOCKS = 4,
};
pub const WINHTTP_INTERNET_SCHEME_HTTP = WINHTTP_INTERNET_SCHEME.HTTP;
pub const WINHTTP_INTERNET_SCHEME_HTTPS = WINHTTP_INTERNET_SCHEME.HTTPS;
pub const WINHTTP_INTERNET_SCHEME_FTP = WINHTTP_INTERNET_SCHEME.FTP;
pub const WINHTTP_INTERNET_SCHEME_SOCKS = WINHTTP_INTERNET_SCHEME.SOCKS;
pub const WINHTTP_ASYNC_RESULT = extern struct {
dwResult: usize,
dwError: u32,
};
pub const HTTP_VERSION_INFO = extern struct {
dwMajorVersion: u32,
dwMinorVersion: u32,
};
pub const URL_COMPONENTS = extern struct {
dwStructSize: u32,
lpszScheme: ?PWSTR,
dwSchemeLength: u32,
nScheme: WINHTTP_INTERNET_SCHEME,
lpszHostName: ?PWSTR,
dwHostNameLength: u32,
nPort: u16,
lpszUserName: ?PWSTR,
dwUserNameLength: u32,
lpszPassword: ?PWSTR,
dwPasswordLength: u32,
lpszUrlPath: ?PWSTR,
dwUrlPathLength: u32,
lpszExtraInfo: ?PWSTR,
dwExtraInfoLength: u32,
};
pub const WINHTTP_PROXY_INFO = extern struct {
dwAccessType: WINHTTP_ACCESS_TYPE,
lpszProxy: ?PWSTR,
lpszProxyBypass: ?PWSTR,
};
pub const WINHTTP_AUTOPROXY_OPTIONS = extern struct {
dwFlags: u32,
dwAutoDetectFlags: u32,
lpszAutoConfigUrl: ?[*:0]const u16,
lpvReserved: ?*anyopaque,
dwReserved: u32,
fAutoLogonIfChallenged: BOOL,
};
pub const WINHTTP_PROXY_RESULT_ENTRY = extern struct {
fProxy: BOOL,
fBypass: BOOL,
ProxyScheme: WINHTTP_INTERNET_SCHEME,
pwszProxy: ?PWSTR,
ProxyPort: u16,
};
pub const WINHTTP_PROXY_RESULT = extern struct {
cEntries: u32,
pEntries: ?*WINHTTP_PROXY_RESULT_ENTRY,
};
pub const WINHTTP_PROXY_RESULT_EX = extern struct {
cEntries: u32,
pEntries: ?*WINHTTP_PROXY_RESULT_ENTRY,
hProxyDetectionHandle: ?HANDLE,
dwProxyInterfaceAffinity: u32,
};
pub const _WinHttpProxyNetworkKey = extern struct {
pbBuffer: [128]u8,
};
pub const WINHTTP_PROXY_SETTINGS = extern struct {
dwStructSize: u32,
dwFlags: u32,
dwCurrentSettingsVersion: u32,
pwszConnectionName: ?PWSTR,
pwszProxy: ?PWSTR,
pwszProxyBypass: ?PWSTR,
pwszAutoconfigUrl: ?PWSTR,
pwszAutoconfigSecondaryUrl: ?PWSTR,
dwAutoDiscoveryFlags: u32,
pwszLastKnownGoodAutoConfigUrl: ?PWSTR,
dwAutoconfigReloadDelayMins: u32,
ftLastKnownDetectTime: FILETIME,
dwDetectedInterfaceIpCount: u32,
pdwDetectedInterfaceIp: ?*u32,
cNetworkKeys: u32,
pNetworkKeys: ?*_WinHttpProxyNetworkKey,
};
pub const WINHTTP_CERTIFICATE_INFO = extern struct {
ftExpiry: FILETIME,
ftStart: FILETIME,
lpszSubjectInfo: ?PWSTR,
lpszIssuerInfo: ?PWSTR,
lpszProtocolName: ?PWSTR,
lpszSignatureAlgName: ?PWSTR,
lpszEncryptionAlgName: ?PWSTR,
dwKeySize: u32,
};
pub const WINHTTP_REQUEST_TIME_ENTRY = enum(i32) {
ProxyDetectionStart = 0,
ProxyDetectionEnd = 1,
ConnectionAcquireStart = 2,
ConnectionAcquireWaitEnd = 3,
ConnectionAcquireEnd = 4,
NameResolutionStart = 5,
NameResolutionEnd = 6,
ConnectionEstablishmentStart = 7,
ConnectionEstablishmentEnd = 8,
TlsHandshakeClientLeg1Start = 9,
TlsHandshakeClientLeg1End = 10,
TlsHandshakeClientLeg2Start = 11,
TlsHandshakeClientLeg2End = 12,
TlsHandshakeClientLeg3Start = 13,
TlsHandshakeClientLeg3End = 14,
StreamWaitStart = 15,
StreamWaitEnd = 16,
SendRequestStart = 17,
SendRequestHeadersCompressionStart = 18,
SendRequestHeadersCompressionEnd = 19,
SendRequestHeadersEnd = 20,
SendRequestEnd = 21,
ReceiveResponseStart = 22,
ReceiveResponseHeadersDecompressionStart = 23,
ReceiveResponseHeadersDecompressionEnd = 24,
ReceiveResponseHeadersEnd = 25,
ReceiveResponseBodyDecompressionDelta = 26,
ReceiveResponseEnd = 27,
ProxyTunnelStart = 28,
ProxyTunnelEnd = 29,
ProxyTlsHandshakeClientLeg1Start = 30,
ProxyTlsHandshakeClientLeg1End = 31,
ProxyTlsHandshakeClientLeg2Start = 32,
ProxyTlsHandshakeClientLeg2End = 33,
ProxyTlsHandshakeClientLeg3Start = 34,
ProxyTlsHandshakeClientLeg3End = 35,
RequestTimeLast = 36,
RequestTimeMax = 64,
};
pub const WinHttpProxyDetectionStart = WINHTTP_REQUEST_TIME_ENTRY.ProxyDetectionStart;
pub const WinHttpProxyDetectionEnd = WINHTTP_REQUEST_TIME_ENTRY.ProxyDetectionEnd;
pub const WinHttpConnectionAcquireStart = WINHTTP_REQUEST_TIME_ENTRY.ConnectionAcquireStart;
pub const WinHttpConnectionAcquireWaitEnd = WINHTTP_REQUEST_TIME_ENTRY.ConnectionAcquireWaitEnd;
pub const WinHttpConnectionAcquireEnd = WINHTTP_REQUEST_TIME_ENTRY.ConnectionAcquireEnd;
pub const WinHttpNameResolutionStart = WINHTTP_REQUEST_TIME_ENTRY.NameResolutionStart;
pub const WinHttpNameResolutionEnd = WINHTTP_REQUEST_TIME_ENTRY.NameResolutionEnd;
pub const WinHttpConnectionEstablishmentStart = WINHTTP_REQUEST_TIME_ENTRY.ConnectionEstablishmentStart;
pub const WinHttpConnectionEstablishmentEnd = WINHTTP_REQUEST_TIME_ENTRY.ConnectionEstablishmentEnd;
pub const WinHttpTlsHandshakeClientLeg1Start = WINHTTP_REQUEST_TIME_ENTRY.TlsHandshakeClientLeg1Start;
pub const WinHttpTlsHandshakeClientLeg1End = WINHTTP_REQUEST_TIME_ENTRY.TlsHandshakeClientLeg1End;
pub const WinHttpTlsHandshakeClientLeg2Start = WINHTTP_REQUEST_TIME_ENTRY.TlsHandshakeClientLeg2Start;
pub const WinHttpTlsHandshakeClientLeg2End = WINHTTP_REQUEST_TIME_ENTRY.TlsHandshakeClientLeg2End;
pub const WinHttpTlsHandshakeClientLeg3Start = WINHTTP_REQUEST_TIME_ENTRY.TlsHandshakeClientLeg3Start;
pub const WinHttpTlsHandshakeClientLeg3End = WINHTTP_REQUEST_TIME_ENTRY.TlsHandshakeClientLeg3End;
pub const WinHttpStreamWaitStart = WINHTTP_REQUEST_TIME_ENTRY.StreamWaitStart;
pub const WinHttpStreamWaitEnd = WINHTTP_REQUEST_TIME_ENTRY.StreamWaitEnd;
pub const WinHttpSendRequestStart = WINHTTP_REQUEST_TIME_ENTRY.SendRequestStart;
pub const WinHttpSendRequestHeadersCompressionStart = WINHTTP_REQUEST_TIME_ENTRY.SendRequestHeadersCompressionStart;
pub const WinHttpSendRequestHeadersCompressionEnd = WINHTTP_REQUEST_TIME_ENTRY.SendRequestHeadersCompressionEnd;
pub const WinHttpSendRequestHeadersEnd = WINHTTP_REQUEST_TIME_ENTRY.SendRequestHeadersEnd;
pub const WinHttpSendRequestEnd = WINHTTP_REQUEST_TIME_ENTRY.SendRequestEnd;
pub const WinHttpReceiveResponseStart = WINHTTP_REQUEST_TIME_ENTRY.ReceiveResponseStart;
pub const WinHttpReceiveResponseHeadersDecompressionStart = WINHTTP_REQUEST_TIME_ENTRY.ReceiveResponseHeadersDecompressionStart;
pub const WinHttpReceiveResponseHeadersDecompressionEnd = WINHTTP_REQUEST_TIME_ENTRY.ReceiveResponseHeadersDecompressionEnd;
pub const WinHttpReceiveResponseHeadersEnd = WINHTTP_REQUEST_TIME_ENTRY.ReceiveResponseHeadersEnd;
pub const WinHttpReceiveResponseBodyDecompressionDelta = WINHTTP_REQUEST_TIME_ENTRY.ReceiveResponseBodyDecompressionDelta;
pub const WinHttpReceiveResponseEnd = WINHTTP_REQUEST_TIME_ENTRY.ReceiveResponseEnd;
pub const WinHttpProxyTunnelStart = WINHTTP_REQUEST_TIME_ENTRY.ProxyTunnelStart;
pub const WinHttpProxyTunnelEnd = WINHTTP_REQUEST_TIME_ENTRY.ProxyTunnelEnd;
pub const WinHttpProxyTlsHandshakeClientLeg1Start = WINHTTP_REQUEST_TIME_ENTRY.ProxyTlsHandshakeClientLeg1Start;
pub const WinHttpProxyTlsHandshakeClientLeg1End = WINHTTP_REQUEST_TIME_ENTRY.ProxyTlsHandshakeClientLeg1End;
pub const WinHttpProxyTlsHandshakeClientLeg2Start = WINHTTP_REQUEST_TIME_ENTRY.ProxyTlsHandshakeClientLeg2Start;
pub const WinHttpProxyTlsHandshakeClientLeg2End = WINHTTP_REQUEST_TIME_ENTRY.ProxyTlsHandshakeClientLeg2End;
pub const WinHttpProxyTlsHandshakeClientLeg3Start = WINHTTP_REQUEST_TIME_ENTRY.ProxyTlsHandshakeClientLeg3Start;
pub const WinHttpProxyTlsHandshakeClientLeg3End = WINHTTP_REQUEST_TIME_ENTRY.ProxyTlsHandshakeClientLeg3End;
pub const WinHttpRequestTimeLast = WINHTTP_REQUEST_TIME_ENTRY.RequestTimeLast;
pub const WinHttpRequestTimeMax = WINHTTP_REQUEST_TIME_ENTRY.RequestTimeMax;
pub const WINHTTP_REQUEST_STAT_ENTRY = enum(i32) {
ConnectFailureCount = 0,
ProxyFailureCount = 1,
TlsHandshakeClientLeg1Size = 2,
TlsHandshakeServerLeg1Size = 3,
TlsHandshakeClientLeg2Size = 4,
TlsHandshakeServerLeg2Size = 5,
RequestHeadersSize = 6,
RequestHeadersCompressedSize = 7,
ResponseHeadersSize = 8,
ResponseHeadersCompressedSize = 9,
ResponseBodySize = 10,
ResponseBodyCompressedSize = 11,
ProxyTlsHandshakeClientLeg1Size = 12,
ProxyTlsHandshakeServerLeg1Size = 13,
ProxyTlsHandshakeClientLeg2Size = 14,
ProxyTlsHandshakeServerLeg2Size = 15,
RequestStatLast = 16,
RequestStatMax = 32,
};
pub const WinHttpConnectFailureCount = WINHTTP_REQUEST_STAT_ENTRY.ConnectFailureCount;
pub const WinHttpProxyFailureCount = WINHTTP_REQUEST_STAT_ENTRY.ProxyFailureCount;
pub const WinHttpTlsHandshakeClientLeg1Size = WINHTTP_REQUEST_STAT_ENTRY.TlsHandshakeClientLeg1Size;
pub const WinHttpTlsHandshakeServerLeg1Size = WINHTTP_REQUEST_STAT_ENTRY.TlsHandshakeServerLeg1Size;
pub const WinHttpTlsHandshakeClientLeg2Size = WINHTTP_REQUEST_STAT_ENTRY.TlsHandshakeClientLeg2Size;
pub const WinHttpTlsHandshakeServerLeg2Size = WINHTTP_REQUEST_STAT_ENTRY.TlsHandshakeServerLeg2Size;
pub const WinHttpRequestHeadersSize = WINHTTP_REQUEST_STAT_ENTRY.RequestHeadersSize;
pub const WinHttpRequestHeadersCompressedSize = WINHTTP_REQUEST_STAT_ENTRY.RequestHeadersCompressedSize;
pub const WinHttpResponseHeadersSize = WINHTTP_REQUEST_STAT_ENTRY.ResponseHeadersSize;
pub const WinHttpResponseHeadersCompressedSize = WINHTTP_REQUEST_STAT_ENTRY.ResponseHeadersCompressedSize;
pub const WinHttpResponseBodySize = WINHTTP_REQUEST_STAT_ENTRY.ResponseBodySize;
pub const WinHttpResponseBodyCompressedSize = WINHTTP_REQUEST_STAT_ENTRY.ResponseBodyCompressedSize;
pub const WinHttpProxyTlsHandshakeClientLeg1Size = WINHTTP_REQUEST_STAT_ENTRY.ProxyTlsHandshakeClientLeg1Size;
pub const WinHttpProxyTlsHandshakeServerLeg1Size = WINHTTP_REQUEST_STAT_ENTRY.ProxyTlsHandshakeServerLeg1Size;
pub const WinHttpProxyTlsHandshakeClientLeg2Size = WINHTTP_REQUEST_STAT_ENTRY.ProxyTlsHandshakeClientLeg2Size;
pub const WinHttpProxyTlsHandshakeServerLeg2Size = WINHTTP_REQUEST_STAT_ENTRY.ProxyTlsHandshakeServerLeg2Size;
pub const WinHttpRequestStatLast = WINHTTP_REQUEST_STAT_ENTRY.RequestStatLast;
pub const WinHttpRequestStatMax = WINHTTP_REQUEST_STAT_ENTRY.RequestStatMax;
pub const WINHTTP_EXTENDED_HEADER = extern struct {
Anonymous1: extern union {
pwszName: ?[*:0]const u16,
pszName: ?[*:0]const u8,
},
Anonymous2: extern union {
pwszValue: ?[*:0]const u16,
pszValue: ?[*:0]const u8,
},
};
pub const WINHTTP_HEADER_NAME = extern union {
pwszName: ?[*:0]const u16,
pszName: ?[*:0]const u8,
};
pub const WINHTTP_SECURE_DNS_SETTING = enum(i32) {
Default = 0,
ForcePlaintext = 1,
RequireEncryption = 2,
TryEncryptionWithFallback = 3,
Max = 4,
};
pub const WinHttpSecureDnsSettingDefault = WINHTTP_SECURE_DNS_SETTING.Default;
pub const WinHttpSecureDnsSettingForcePlaintext = WINHTTP_SECURE_DNS_SETTING.ForcePlaintext;
pub const WinHttpSecureDnsSettingRequireEncryption = WINHTTP_SECURE_DNS_SETTING.RequireEncryption;
pub const WinHttpSecureDnsSettingTryEncryptionWithFallback = WINHTTP_SECURE_DNS_SETTING.TryEncryptionWithFallback;
pub const WinHttpSecureDnsSettingMax = WINHTTP_SECURE_DNS_SETTING.Max;
pub const WINHTTP_CONNECTION_GROUP = extern struct {
cConnections: u32,
guidGroup: Guid,
};
pub const WINHTTP_HOST_CONNECTION_GROUP = extern struct {
pwszHost: ?[*:0]const u16,
cConnectionGroups: u32,
pConnectionGroups: ?*WINHTTP_CONNECTION_GROUP,
};
pub const WINHTTP_QUERY_CONNECTION_GROUP_RESULT = extern struct {
cHosts: u32,
pHostConnectionGroups: ?*WINHTTP_HOST_CONNECTION_GROUP,
};
pub const WINHTTP_HTTP2_RECEIVE_WINDOW = extern struct {
ulStreamWindow: u32,
ulStreamWindowUpdateDelta: u32,
};
pub const WINHTTP_FAILED_CONNECTION_RETRIES = extern struct {
dwMaxRetries: u32,
dwAllowedRetryConditions: u32,
};
pub const WINHTTP_CREDS = extern struct {
lpszUserName: ?PSTR,
lpszPassword: ?PSTR,
lpszRealm: ?PSTR,
dwAuthScheme: WINHTTP_CREDS_AUTHSCHEME,
lpszHostName: ?PSTR,
dwPort: u32,
};
pub const WINHTTP_CREDS_EX = extern struct {
lpszUserName: ?PSTR,
lpszPassword: ?PSTR,
lpszRealm: ?PSTR,
dwAuthScheme: WINHTTP_CREDS_AUTHSCHEME,
lpszHostName: ?PSTR,
dwPort: u32,
lpszUrl: ?PSTR,
};
pub const WINHTTP_STATUS_CALLBACK = switch (@import("builtin").zig_backend) {
.stage1 => fn(
hInternet: ?*anyopaque,
dwContext: usize,
dwInternetStatus: u32,
lpvStatusInformation: ?*anyopaque,
dwStatusInformationLength: u32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
hInternet: ?*anyopaque,
dwContext: usize,
dwInternetStatus: u32,
lpvStatusInformation: ?*anyopaque,
dwStatusInformationLength: u32,
) callconv(@import("std").os.windows.WINAPI) void,
} ;
pub const LPWINHTTP_STATUS_CALLBACK = switch (@import("builtin").zig_backend) {
.stage1 => fn(
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
) callconv(@import("std").os.windows.WINAPI) void,
} ;
pub const WINHTTP_CURRENT_USER_IE_PROXY_CONFIG = extern struct {
fAutoDetect: BOOL,
lpszAutoConfigUrl: ?PWSTR,
lpszProxy: ?PWSTR,
lpszProxyBypass: ?PWSTR,
};
pub const WINHTTP_WEB_SOCKET_OPERATION = enum(i32) {
SEND_OPERATION = 0,
RECEIVE_OPERATION = 1,
CLOSE_OPERATION = 2,
SHUTDOWN_OPERATION = 3,
};
pub const WINHTTP_WEB_SOCKET_SEND_OPERATION = WINHTTP_WEB_SOCKET_OPERATION.SEND_OPERATION;
pub const WINHTTP_WEB_SOCKET_RECEIVE_OPERATION = WINHTTP_WEB_SOCKET_OPERATION.RECEIVE_OPERATION;
pub const WINHTTP_WEB_SOCKET_CLOSE_OPERATION = WINHTTP_WEB_SOCKET_OPERATION.CLOSE_OPERATION;
pub const WINHTTP_WEB_SOCKET_SHUTDOWN_OPERATION = WINHTTP_WEB_SOCKET_OPERATION.SHUTDOWN_OPERATION;
pub const WINHTTP_WEB_SOCKET_BUFFER_TYPE = enum(i32) {
BINARY_MESSAGE_BUFFER_TYPE = 0,
BINARY_FRAGMENT_BUFFER_TYPE = 1,
UTF8_MESSAGE_BUFFER_TYPE = 2,
UTF8_FRAGMENT_BUFFER_TYPE = 3,
CLOSE_BUFFER_TYPE = 4,
};
pub const WINHTTP_WEB_SOCKET_BINARY_MESSAGE_BUFFER_TYPE = WINHTTP_WEB_SOCKET_BUFFER_TYPE.BINARY_MESSAGE_BUFFER_TYPE;
pub const WINHTTP_WEB_SOCKET_BINARY_FRAGMENT_BUFFER_TYPE = WINHTTP_WEB_SOCKET_BUFFER_TYPE.BINARY_FRAGMENT_BUFFER_TYPE;
pub const WINHTTP_WEB_SOCKET_UTF8_MESSAGE_BUFFER_TYPE = WINHTTP_WEB_SOCKET_BUFFER_TYPE.UTF8_MESSAGE_BUFFER_TYPE;
pub const WINHTTP_WEB_SOCKET_UTF8_FRAGMENT_BUFFER_TYPE = WINHTTP_WEB_SOCKET_BUFFER_TYPE.UTF8_FRAGMENT_BUFFER_TYPE;
pub const WINHTTP_WEB_SOCKET_CLOSE_BUFFER_TYPE = WINHTTP_WEB_SOCKET_BUFFER_TYPE.CLOSE_BUFFER_TYPE;
pub const WINHTTP_WEB_SOCKET_CLOSE_STATUS = enum(i32) {
SUCCESS_CLOSE_STATUS = 1000,
ENDPOINT_TERMINATED_CLOSE_STATUS = 1001,
PROTOCOL_ERROR_CLOSE_STATUS = 1002,
INVALID_DATA_TYPE_CLOSE_STATUS = 1003,
EMPTY_CLOSE_STATUS = 1005,
ABORTED_CLOSE_STATUS = 1006,
INVALID_PAYLOAD_CLOSE_STATUS = 1007,
POLICY_VIOLATION_CLOSE_STATUS = 1008,
MESSAGE_TOO_BIG_CLOSE_STATUS = 1009,
UNSUPPORTED_EXTENSIONS_CLOSE_STATUS = 1010,
SERVER_ERROR_CLOSE_STATUS = 1011,
SECURE_HANDSHAKE_ERROR_CLOSE_STATUS = 1015,
};
pub const WINHTTP_WEB_SOCKET_SUCCESS_CLOSE_STATUS = WINHTTP_WEB_SOCKET_CLOSE_STATUS.SUCCESS_CLOSE_STATUS;
pub const WINHTTP_WEB_SOCKET_ENDPOINT_TERMINATED_CLOSE_STATUS = WINHTTP_WEB_SOCKET_CLOSE_STATUS.ENDPOINT_TERMINATED_CLOSE_STATUS;
pub const WINHTTP_WEB_SOCKET_PROTOCOL_ERROR_CLOSE_STATUS = WINHTTP_WEB_SOCKET_CLOSE_STATUS.PROTOCOL_ERROR_CLOSE_STATUS;
pub const WINHTTP_WEB_SOCKET_INVALID_DATA_TYPE_CLOSE_STATUS = WINHTTP_WEB_SOCKET_CLOSE_STATUS.INVALID_DATA_TYPE_CLOSE_STATUS;
pub const WINHTTP_WEB_SOCKET_EMPTY_CLOSE_STATUS = WINHTTP_WEB_SOCKET_CLOSE_STATUS.EMPTY_CLOSE_STATUS;
pub const WINHTTP_WEB_SOCKET_ABORTED_CLOSE_STATUS = WINHTTP_WEB_SOCKET_CLOSE_STATUS.ABORTED_CLOSE_STATUS;
pub const WINHTTP_WEB_SOCKET_INVALID_PAYLOAD_CLOSE_STATUS = WINHTTP_WEB_SOCKET_CLOSE_STATUS.INVALID_PAYLOAD_CLOSE_STATUS;
pub const WINHTTP_WEB_SOCKET_POLICY_VIOLATION_CLOSE_STATUS = WINHTTP_WEB_SOCKET_CLOSE_STATUS.POLICY_VIOLATION_CLOSE_STATUS;
pub const WINHTTP_WEB_SOCKET_MESSAGE_TOO_BIG_CLOSE_STATUS = WINHTTP_WEB_SOCKET_CLOSE_STATUS.MESSAGE_TOO_BIG_CLOSE_STATUS;
pub const WINHTTP_WEB_SOCKET_UNSUPPORTED_EXTENSIONS_CLOSE_STATUS = WINHTTP_WEB_SOCKET_CLOSE_STATUS.UNSUPPORTED_EXTENSIONS_CLOSE_STATUS;
pub const WINHTTP_WEB_SOCKET_SERVER_ERROR_CLOSE_STATUS = WINHTTP_WEB_SOCKET_CLOSE_STATUS.SERVER_ERROR_CLOSE_STATUS;
pub const WINHTTP_WEB_SOCKET_SECURE_HANDSHAKE_ERROR_CLOSE_STATUS = WINHTTP_WEB_SOCKET_CLOSE_STATUS.SECURE_HANDSHAKE_ERROR_CLOSE_STATUS;
pub const WINHTTP_WEB_SOCKET_ASYNC_RESULT = extern struct {
AsyncResult: WINHTTP_ASYNC_RESULT,
Operation: WINHTTP_WEB_SOCKET_OPERATION,
};
pub const WINHTTP_WEB_SOCKET_STATUS = extern struct {
dwBytesTransferred: u32,
eBufferType: WINHTTP_WEB_SOCKET_BUFFER_TYPE,
};
pub const WINHTTP_CONNECTION_INFO = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
LocalAddress: SOCKADDR_STORAGE,
RemoteAddress: SOCKADDR_STORAGE,
},
.X86 => extern struct {
cbSize: u32 align(4),
LocalAddress: SOCKADDR_STORAGE align(4),
RemoteAddress: SOCKADDR_STORAGE align(4),
},
};
pub const WINHTTP_REQUEST_TIMES = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cTimes: u32,
rgullTimes: [64]u64,
},
.X86 => extern struct {
cTimes: u32 align(4),
rgullTimes: [64]u64 align(4),
},
};
pub const WINHTTP_REQUEST_STATS = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
ullFlags: u64,
ulIndex: u32,
cStats: u32,
rgullStats: [32]u64,
},
.X86 => extern struct {
ullFlags: u64 align(4),
ulIndex: u32 align(4),
cStats: u32 align(4),
rgullStats: [32]u64 align(4),
},
};
pub const WINHTTP_MATCH_CONNECTION_GUID = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
ConnectionGuid: Guid,
ullFlags: u64,
},
.X86 => extern struct {
ConnectionGuid: Guid align(4),
ullFlags: u64 align(4),
},
};
pub const WINHTTP_RESOLVER_CACHE_CONFIG = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
ulMaxResolverCacheEntries: u32,
ulMaxCacheEntryAge: u32,
ulMinCacheEntryTtl: u32,
SecureDnsSetting: WINHTTP_SECURE_DNS_SETTING,
ullConnResolutionWaitTime: u64,
ullFlags: u64,
},
.X86 => extern struct {
ulMaxResolverCacheEntries: u32 align(4),
ulMaxCacheEntryAge: u32 align(4),
ulMinCacheEntryTtl: u32 align(4),
SecureDnsSetting: WINHTTP_SECURE_DNS_SETTING align(4),
ullConnResolutionWaitTime: u64 align(4),
ullFlags: u64 align(4),
},
};
//--------------------------------------------------------------------------------
// Section: Functions (51)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpSetStatusCallback(
hInternet: ?*anyopaque,
lpfnInternetCallback: ?WINHTTP_STATUS_CALLBACK,
dwNotificationFlags: u32,
dwReserved: usize,
) callconv(@import("std").os.windows.WINAPI) ?WINHTTP_STATUS_CALLBACK;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpTimeFromSystemTime(
pst: ?*const SYSTEMTIME,
pwszTime: *[62]u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpTimeToSystemTime(
pwszTime: ?[*:0]const u16,
pst: ?*SYSTEMTIME,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpCrackUrl(
pwszUrl: [*:0]const u16,
dwUrlLength: u32,
dwFlags: u32,
lpUrlComponents: ?*URL_COMPONENTS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpCreateUrl(
lpUrlComponents: ?*URL_COMPONENTS,
dwFlags: WIN_HTTP_CREATE_URL_FLAGS,
pwszUrl: ?[*:0]u16,
pdwUrlLength: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpCheckPlatform(
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpGetDefaultProxyConfiguration(
pProxyInfo: ?*WINHTTP_PROXY_INFO,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpSetDefaultProxyConfiguration(
pProxyInfo: ?*WINHTTP_PROXY_INFO,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpOpen(
pszAgentW: ?[*:0]const u16,
dwAccessType: WINHTTP_ACCESS_TYPE,
pszProxyW: ?[*:0]const u16,
pszProxyBypassW: ?[*:0]const u16,
dwFlags: u32,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpCloseHandle(
hInternet: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpConnect(
hSession: ?*anyopaque,
pswzServerName: ?[*:0]const u16,
nServerPort: INTERNET_PORT,
dwReserved: u32,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpReadData(
hRequest: ?*anyopaque,
// TODO: what to do with BytesParamIndex 2?
lpBuffer: ?*anyopaque,
dwNumberOfBytesToRead: u32,
lpdwNumberOfBytesRead: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winhttp" fn WinHttpReadDataEx(
hRequest: ?*anyopaque,
// TODO: what to do with BytesParamIndex 2?
lpBuffer: ?*anyopaque,
dwNumberOfBytesToRead: u32,
lpdwNumberOfBytesRead: ?*u32,
ullFlags: u64,
cbProperty: u32,
// TODO: what to do with BytesParamIndex 5?
pvProperty: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpWriteData(
hRequest: ?*anyopaque,
// TODO: what to do with BytesParamIndex 2?
lpBuffer: ?*const anyopaque,
dwNumberOfBytesToWrite: u32,
lpdwNumberOfBytesWritten: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpQueryDataAvailable(
hRequest: ?*anyopaque,
lpdwNumberOfBytesAvailable: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpQueryOption(
hInternet: ?*anyopaque,
dwOption: u32,
// TODO: what to do with BytesParamIndex 3?
lpBuffer: ?*anyopaque,
lpdwBufferLength: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpSetOption(
hInternet: ?*anyopaque,
dwOption: u32,
lpBuffer: ?[*]u8,
dwBufferLength: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpSetTimeouts(
hInternet: ?*anyopaque,
nResolveTimeout: i32,
nConnectTimeout: i32,
nSendTimeout: i32,
nReceiveTimeout: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpOpenRequest(
hConnect: ?*anyopaque,
pwszVerb: ?[*:0]const u16,
pwszObjectName: ?[*:0]const u16,
pwszVersion: ?[*:0]const u16,
pwszReferrer: ?[*:0]const u16,
ppwszAcceptTypes: ?*?PWSTR,
dwFlags: WINHTTP_OPEN_REQUEST_FLAGS,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpAddRequestHeaders(
hRequest: ?*anyopaque,
lpszHeaders: [*:0]const u16,
dwHeadersLength: u32,
dwModifiers: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winhttp" fn WinHttpAddRequestHeadersEx(
hRequest: ?*anyopaque,
dwModifiers: u32,
ullFlags: u64,
ullExtra: u64,
cHeaders: u32,
pHeaders: [*]WINHTTP_EXTENDED_HEADER,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpSendRequest(
hRequest: ?*anyopaque,
lpszHeaders: ?[*:0]const u16,
dwHeadersLength: u32,
// TODO: what to do with BytesParamIndex 4?
lpOptional: ?*anyopaque,
dwOptionalLength: u32,
dwTotalLength: u32,
dwContext: usize,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpSetCredentials(
hRequest: ?*anyopaque,
AuthTargets: u32,
AuthScheme: u32,
pwszUserName: ?[*:0]const u16,
pwszPassword: ?[*:0]const u16,
pAuthParams: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpQueryAuthSchemes(
hRequest: ?*anyopaque,
lpdwSupportedSchemes: ?*u32,
lpdwFirstScheme: ?*u32,
pdwAuthTarget: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpReceiveResponse(
hRequest: ?*anyopaque,
lpReserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpQueryHeaders(
hRequest: ?*anyopaque,
dwInfoLevel: u32,
pwszName: ?[*:0]const u16,
// TODO: what to do with BytesParamIndex 4?
lpBuffer: ?*anyopaque,
lpdwBufferLength: ?*u32,
lpdwIndex: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winhttp" fn WinHttpQueryHeadersEx(
hRequest: ?*anyopaque,
dwInfoLevel: u32,
ullFlags: u64,
uiCodePage: u32,
pdwIndex: ?*u32,
pHeaderName: ?*WINHTTP_HEADER_NAME,
// TODO: what to do with BytesParamIndex 7?
pBuffer: ?*anyopaque,
pdwBufferLength: ?*u32,
ppHeaders: ?[*]?*WINHTTP_EXTENDED_HEADER,
pdwHeadersCount: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winhttp" fn WinHttpQueryConnectionGroup(
hInternet: ?*anyopaque,
pGuidConnection: ?*const Guid,
ullFlags: u64,
ppResult: ?*?*WINHTTP_QUERY_CONNECTION_GROUP_RESULT,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winhttp" fn WinHttpFreeQueryConnectionGroupResult(
pResult: ?*WINHTTP_QUERY_CONNECTION_GROUP_RESULT,
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpDetectAutoProxyConfigUrl(
dwAutoDetectFlags: u32,
ppwstrAutoConfigUrl: ?*?PWSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpGetProxyForUrl(
hSession: ?*anyopaque,
lpcwszUrl: ?[*:0]const u16,
pAutoProxyOptions: ?*WINHTTP_AUTOPROXY_OPTIONS,
pProxyInfo: ?*WINHTTP_PROXY_INFO,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "winhttp" fn WinHttpCreateProxyResolver(
hSession: ?*anyopaque,
phResolver: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows8.0'
pub extern "winhttp" fn WinHttpGetProxyForUrlEx(
hResolver: ?*anyopaque,
pcwszUrl: ?[*:0]const u16,
pAutoProxyOptions: ?*WINHTTP_AUTOPROXY_OPTIONS,
pContext: usize,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winhttp" fn WinHttpGetProxyForUrlEx2(
hResolver: ?*anyopaque,
pcwszUrl: ?[*:0]const u16,
pAutoProxyOptions: ?*WINHTTP_AUTOPROXY_OPTIONS,
cbInterfaceSelectionContext: u32,
// TODO: what to do with BytesParamIndex 3?
pInterfaceSelectionContext: ?*u8,
pContext: usize,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows8.0'
pub extern "winhttp" fn WinHttpGetProxyResult(
hResolver: ?*anyopaque,
pProxyResult: ?*WINHTTP_PROXY_RESULT,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winhttp" fn WinHttpGetProxyResultEx(
hResolver: ?*anyopaque,
pProxyResultEx: ?*WINHTTP_PROXY_RESULT_EX,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows8.0'
pub extern "winhttp" fn WinHttpFreeProxyResult(
pProxyResult: ?*WINHTTP_PROXY_RESULT,
) callconv(@import("std").os.windows.WINAPI) void;
pub extern "winhttp" fn WinHttpFreeProxyResultEx(
pProxyResultEx: ?*WINHTTP_PROXY_RESULT_EX,
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windows8.0'
pub extern "winhttp" fn WinHttpResetAutoProxy(
hSession: ?*anyopaque,
dwFlags: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "winhttp" fn WinHttpGetIEProxyConfigForCurrentUser(
pProxyConfig: ?*WINHTTP_CURRENT_USER_IE_PROXY_CONFIG,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winhttp" fn WinHttpWriteProxySettings(
hSession: ?*anyopaque,
fForceUpdate: BOOL,
pWinHttpProxySettings: ?*WINHTTP_PROXY_SETTINGS,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winhttp" fn WinHttpReadProxySettings(
hSession: ?*anyopaque,
pcwszConnectionName: ?[*:0]const u16,
fFallBackToDefaultSettings: BOOL,
fSetAutoDiscoverForDefaultSettings: BOOL,
pdwSettingsVersion: ?*u32,
pfDefaultSettingsAreReturned: ?*BOOL,
pWinHttpProxySettings: ?*WINHTTP_PROXY_SETTINGS,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winhttp" fn WinHttpFreeProxySettings(
pWinHttpProxySettings: ?*WINHTTP_PROXY_SETTINGS,
) callconv(@import("std").os.windows.WINAPI) void;
pub extern "winhttp" fn WinHttpGetProxySettingsVersion(
hSession: ?*anyopaque,
pdwProxySettingsVersion: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winhttp" fn WinHttpSetProxySettingsPerUser(
fProxySettingsPerUser: BOOL,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows8.0'
pub extern "winhttp" fn WinHttpWebSocketCompleteUpgrade(
hRequest: ?*anyopaque,
pContext: usize,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows8.0'
pub extern "winhttp" fn WinHttpWebSocketSend(
hWebSocket: ?*anyopaque,
eBufferType: WINHTTP_WEB_SOCKET_BUFFER_TYPE,
pvBuffer: ?[*]u8,
dwBufferLength: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows8.0'
pub extern "winhttp" fn WinHttpWebSocketReceive(
hWebSocket: ?*anyopaque,
// TODO: what to do with BytesParamIndex 2?
pvBuffer: ?*anyopaque,
dwBufferLength: u32,
pdwBytesRead: ?*u32,
peBufferType: ?*WINHTTP_WEB_SOCKET_BUFFER_TYPE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows8.0'
pub extern "winhttp" fn WinHttpWebSocketShutdown(
hWebSocket: ?*anyopaque,
usStatus: u16,
// TODO: what to do with BytesParamIndex 3?
pvReason: ?*anyopaque,
dwReasonLength: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows8.0'
pub extern "winhttp" fn WinHttpWebSocketClose(
hWebSocket: ?*anyopaque,
usStatus: u16,
// TODO: what to do with BytesParamIndex 3?
pvReason: ?*anyopaque,
dwReasonLength: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows8.0'
pub extern "winhttp" fn WinHttpWebSocketQueryCloseStatus(
hWebSocket: ?*anyopaque,
pusStatus: ?*u16,
// TODO: what to do with BytesParamIndex 3?
pvReason: ?*anyopaque,
dwReasonLength: u32,
pdwReasonLengthConsumed: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
const thismodule = @This();
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (8)
//--------------------------------------------------------------------------------
const Guid = @import("../zig.zig").Guid;
const BOOL = @import("../foundation.zig").BOOL;
const FILETIME = @import("../foundation.zig").FILETIME;
const HANDLE = @import("../foundation.zig").HANDLE;
const PSTR = @import("../foundation.zig").PSTR;
const PWSTR = @import("../foundation.zig").PWSTR;
const SOCKADDR_STORAGE = @import("../networking/win_sock.zig").SOCKADDR_STORAGE;
const SYSTEMTIME = @import("../foundation.zig").SYSTEMTIME;
test {
// The following '_ = <FuncPtrType>' lines are a workaround for https://github.com/ziglang/zig/issues/4476
if (@hasDecl(@This(), "WINHTTP_STATUS_CALLBACK")) { _ = WINHTTP_STATUS_CALLBACK; }
if (@hasDecl(@This(), "LPWINHTTP_STATUS_CALLBACK")) { _ = LPWINHTTP_STATUS_CALLBACK; }
@setEvalBranchQuota(
comptime @import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("builtin").is_test) return;
inline for (comptime @import("std").meta.declarations(@This())) |decl| {
_ = @field(@This(), decl.name);
}
}