zigwin32/win32/network_management/qo_s.zig

1718 lines
60 KiB
Zig

//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (523)
//--------------------------------------------------------------------------------
pub const QOS_MAX_OBJECT_STRING_LENGTH = @as(u32, 256);
pub const QOS_TRAFFIC_GENERAL_ID_BASE = @as(u32, 4000);
pub const SERVICETYPE_NOTRAFFIC = @as(u32, 0);
pub const SERVICETYPE_BESTEFFORT = @as(u32, 1);
pub const SERVICETYPE_CONTROLLEDLOAD = @as(u32, 2);
pub const SERVICETYPE_GUARANTEED = @as(u32, 3);
pub const SERVICETYPE_NETWORK_UNAVAILABLE = @as(u32, 4);
pub const SERVICETYPE_GENERAL_INFORMATION = @as(u32, 5);
pub const SERVICETYPE_NOCHANGE = @as(u32, 6);
pub const SERVICETYPE_NONCONFORMING = @as(u32, 9);
pub const SERVICETYPE_NETWORK_CONTROL = @as(u32, 10);
pub const SERVICETYPE_QUALITATIVE = @as(u32, 13);
pub const SERVICE_BESTEFFORT = @as(u32, 2147549184);
pub const SERVICE_CONTROLLEDLOAD = @as(u32, 2147614720);
pub const SERVICE_GUARANTEED = @as(u32, 2147745792);
pub const SERVICE_QUALITATIVE = @as(u32, 2149580800);
pub const SERVICE_NO_TRAFFIC_CONTROL = @as(u32, 2164260864);
pub const SERVICE_NO_QOS_SIGNALING = @as(u32, 1073741824);
pub const QOS_NOT_SPECIFIED = @as(u32, 4294967295);
pub const POSITIVE_INFINITY_RATE = @as(u32, 4294967294);
pub const QOS_GENERAL_ID_BASE = @as(u32, 2000);
pub const TC_NONCONF_BORROW = @as(u32, 0);
pub const TC_NONCONF_SHAPE = @as(u32, 1);
pub const TC_NONCONF_DISCARD = @as(u32, 2);
pub const TC_NONCONF_BORROW_PLUS = @as(u32, 3);
pub const class_NULL = @as(u32, 0);
pub const class_SESSION = @as(u32, 1);
pub const class_SESSION_GROUP = @as(u32, 2);
pub const class_RSVP_HOP = @as(u32, 3);
pub const class_INTEGRITY = @as(u32, 4);
pub const class_TIME_VALUES = @as(u32, 5);
pub const class_ERROR_SPEC = @as(u32, 6);
pub const class_SCOPE = @as(u32, 7);
pub const class_STYLE = @as(u32, 8);
pub const class_FLOWSPEC = @as(u32, 9);
pub const class_IS_FLOWSPEC = @as(u32, 9);
pub const class_FILTER_SPEC = @as(u32, 10);
pub const class_SENDER_TEMPLATE = @as(u32, 11);
pub const class_SENDER_TSPEC = @as(u32, 12);
pub const class_ADSPEC = @as(u32, 13);
pub const class_POLICY_DATA = @as(u32, 14);
pub const class_CONFIRM = @as(u32, 15);
pub const class_MAX = @as(u32, 15);
pub const ctype_SESSION_ipv4 = @as(u32, 1);
pub const ctype_SESSION_ipv4GPI = @as(u32, 3);
pub const SESSFLG_E_Police = @as(u32, 1);
pub const ctype_RSVP_HOP_ipv4 = @as(u32, 1);
pub const Opt_Share_mask = @as(u32, 24);
pub const Opt_Distinct = @as(u32, 8);
pub const Opt_Shared = @as(u32, 16);
pub const Opt_SndSel_mask = @as(u32, 7);
pub const Opt_Wildcard = @as(u32, 1);
pub const Opt_Explicit = @as(u32, 2);
pub const ctype_STYLE = @as(u32, 1);
pub const ctype_FILTER_SPEC_ipv4 = @as(u32, 1);
pub const ctype_FILTER_SPEC_ipv4GPI = @as(u32, 4);
pub const ctype_SENDER_TEMPLATE_ipv4 = @as(u32, 1);
pub const ctype_SENDER_TEMPLATE_ipv4GPI = @as(u32, 4);
pub const ctype_SCOPE_list_ipv4 = @as(u32, 1);
pub const ctype_ERROR_SPEC_ipv4 = @as(u32, 1);
pub const ERROR_SPECF_InPlace = @as(u32, 1);
pub const ERROR_SPECF_NotGuilty = @as(u32, 2);
pub const ERR_FORWARD_OK = @as(u32, 32768);
pub const ERR_Usage_globl = @as(u32, 0);
pub const ERR_Usage_local = @as(u32, 16);
pub const ERR_Usage_serv = @as(u32, 17);
pub const ERR_global_mask = @as(u32, 4095);
pub const ctype_POLICY_DATA = @as(u32, 1);
pub const GENERAL_INFO = @as(u32, 1);
pub const GUARANTEED_SERV = @as(u32, 2);
pub const PREDICTIVE_SERV = @as(u32, 3);
pub const CONTROLLED_DELAY_SERV = @as(u32, 4);
pub const CONTROLLED_LOAD_SERV = @as(u32, 5);
pub const QUALITATIVE_SERV = @as(u32, 6);
pub const INTSERV_VERS_MASK = @as(u32, 240);
pub const INTSERV_VERSION0 = @as(u32, 0);
pub const ISSH_BREAK_BIT = @as(u32, 128);
pub const ISPH_FLG_INV = @as(u32, 128);
pub const ctype_SENDER_TSPEC = @as(u32, 2);
pub const ctype_FLOWSPEC_Intserv0 = @as(u32, 2);
pub const ctype_ADSPEC_INTSERV = @as(u32, 2);
pub const RSVP_PATH = @as(u32, 1);
pub const RSVP_RESV = @as(u32, 2);
pub const RSVP_PATH_ERR = @as(u32, 3);
pub const RSVP_RESV_ERR = @as(u32, 4);
pub const RSVP_PATH_TEAR = @as(u32, 5);
pub const RSVP_RESV_TEAR = @as(u32, 6);
pub const RSVP_Err_NONE = @as(u32, 0);
pub const RSVP_Erv_Nonev = @as(u32, 0);
pub const RSVP_Err_ADMISSION = @as(u32, 1);
pub const RSVP_Erv_Other = @as(u32, 0);
pub const RSVP_Erv_DelayBnd = @as(u32, 1);
pub const RSVP_Erv_Bandwidth = @as(u32, 2);
pub const RSVP_Erv_MTU = @as(u32, 3);
pub const RSVP_Erv_Flow_Rate = @as(u32, 32769);
pub const RSVP_Erv_Bucket_szie = @as(u32, 32770);
pub const RSVP_Erv_Peak_Rate = @as(u32, 32771);
pub const RSVP_Erv_Min_Policied_size = @as(u32, 32772);
pub const RSVP_Err_POLICY = @as(u32, 2);
pub const POLICY_ERRV_NO_MORE_INFO = @as(u32, 1);
pub const POLICY_ERRV_UNSUPPORTED_CREDENTIAL_TYPE = @as(u32, 2);
pub const POLICY_ERRV_INSUFFICIENT_PRIVILEGES = @as(u32, 3);
pub const POLICY_ERRV_EXPIRED_CREDENTIALS = @as(u32, 4);
pub const POLICY_ERRV_IDENTITY_CHANGED = @as(u32, 5);
pub const POLICY_ERRV_UNKNOWN = @as(u32, 0);
pub const POLICY_ERRV_GLOBAL_DEF_FLOW_COUNT = @as(u32, 1);
pub const POLICY_ERRV_GLOBAL_GRP_FLOW_COUNT = @as(u32, 2);
pub const POLICY_ERRV_GLOBAL_USER_FLOW_COUNT = @as(u32, 3);
pub const POLICY_ERRV_GLOBAL_UNAUTH_USER_FLOW_COUNT = @as(u32, 4);
pub const POLICY_ERRV_SUBNET_DEF_FLOW_COUNT = @as(u32, 5);
pub const POLICY_ERRV_SUBNET_GRP_FLOW_COUNT = @as(u32, 6);
pub const POLICY_ERRV_SUBNET_USER_FLOW_COUNT = @as(u32, 7);
pub const POLICY_ERRV_SUBNET_UNAUTH_USER_FLOW_COUNT = @as(u32, 8);
pub const POLICY_ERRV_GLOBAL_DEF_FLOW_DURATION = @as(u32, 9);
pub const POLICY_ERRV_GLOBAL_GRP_FLOW_DURATION = @as(u32, 10);
pub const POLICY_ERRV_GLOBAL_USER_FLOW_DURATION = @as(u32, 11);
pub const POLICY_ERRV_GLOBAL_UNAUTH_USER_FLOW_DURATION = @as(u32, 12);
pub const POLICY_ERRV_SUBNET_DEF_FLOW_DURATION = @as(u32, 13);
pub const POLICY_ERRV_SUBNET_GRP_FLOW_DURATION = @as(u32, 14);
pub const POLICY_ERRV_SUBNET_USER_FLOW_DURATION = @as(u32, 15);
pub const POLICY_ERRV_SUBNET_UNAUTH_USER_FLOW_DURATION = @as(u32, 16);
pub const POLICY_ERRV_GLOBAL_DEF_FLOW_RATE = @as(u32, 17);
pub const POLICY_ERRV_GLOBAL_GRP_FLOW_RATE = @as(u32, 18);
pub const POLICY_ERRV_GLOBAL_USER_FLOW_RATE = @as(u32, 19);
pub const POLICY_ERRV_GLOBAL_UNAUTH_USER_FLOW_RATE = @as(u32, 20);
pub const POLICY_ERRV_SUBNET_DEF_FLOW_RATE = @as(u32, 21);
pub const POLICY_ERRV_SUBNET_GRP_FLOW_RATE = @as(u32, 22);
pub const POLICY_ERRV_SUBNET_USER_FLOW_RATE = @as(u32, 23);
pub const POLICY_ERRV_SUBNET_UNAUTH_USER_FLOW_RATE = @as(u32, 24);
pub const POLICY_ERRV_GLOBAL_DEF_PEAK_RATE = @as(u32, 25);
pub const POLICY_ERRV_GLOBAL_GRP_PEAK_RATE = @as(u32, 26);
pub const POLICY_ERRV_GLOBAL_USER_PEAK_RATE = @as(u32, 27);
pub const POLICY_ERRV_GLOBAL_UNAUTH_USER_PEAK_RATE = @as(u32, 28);
pub const POLICY_ERRV_SUBNET_DEF_PEAK_RATE = @as(u32, 29);
pub const POLICY_ERRV_SUBNET_GRP_PEAK_RATE = @as(u32, 30);
pub const POLICY_ERRV_SUBNET_USER_PEAK_RATE = @as(u32, 31);
pub const POLICY_ERRV_SUBNET_UNAUTH_USER_PEAK_RATE = @as(u32, 32);
pub const POLICY_ERRV_GLOBAL_DEF_SUM_FLOW_RATE = @as(u32, 33);
pub const POLICY_ERRV_GLOBAL_GRP_SUM_FLOW_RATE = @as(u32, 34);
pub const POLICY_ERRV_GLOBAL_USER_SUM_FLOW_RATE = @as(u32, 35);
pub const POLICY_ERRV_GLOBAL_UNAUTH_USER_SUM_FLOW_RATE = @as(u32, 36);
pub const POLICY_ERRV_SUBNET_DEF_SUM_FLOW_RATE = @as(u32, 37);
pub const POLICY_ERRV_SUBNET_GRP_SUM_FLOW_RATE = @as(u32, 38);
pub const POLICY_ERRV_SUBNET_USER_SUM_FLOW_RATE = @as(u32, 39);
pub const POLICY_ERRV_SUBNET_UNAUTH_USER_SUM_FLOW_RATE = @as(u32, 40);
pub const POLICY_ERRV_GLOBAL_DEF_SUM_PEAK_RATE = @as(u32, 41);
pub const POLICY_ERRV_GLOBAL_GRP_SUM_PEAK_RATE = @as(u32, 42);
pub const POLICY_ERRV_GLOBAL_USER_SUM_PEAK_RATE = @as(u32, 43);
pub const POLICY_ERRV_GLOBAL_UNAUTH_USER_SUM_PEAK_RATE = @as(u32, 44);
pub const POLICY_ERRV_SUBNET_DEF_SUM_PEAK_RATE = @as(u32, 45);
pub const POLICY_ERRV_SUBNET_GRP_SUM_PEAK_RATE = @as(u32, 46);
pub const POLICY_ERRV_SUBNET_USER_SUM_PEAK_RATE = @as(u32, 47);
pub const POLICY_ERRV_SUBNET_UNAUTH_USER_SUM_PEAK_RATE = @as(u32, 48);
pub const POLICY_ERRV_UNKNOWN_USER = @as(u32, 49);
pub const POLICY_ERRV_NO_PRIVILEGES = @as(u32, 50);
pub const POLICY_ERRV_EXPIRED_USER_TOKEN = @as(u32, 51);
pub const POLICY_ERRV_NO_RESOURCES = @as(u32, 52);
pub const POLICY_ERRV_PRE_EMPTED = @as(u32, 53);
pub const POLICY_ERRV_USER_CHANGED = @as(u32, 54);
pub const POLICY_ERRV_NO_ACCEPTS = @as(u32, 55);
pub const POLICY_ERRV_NO_MEMORY = @as(u32, 56);
pub const POLICY_ERRV_CRAZY_FLOWSPEC = @as(u32, 57);
pub const RSVP_Err_NO_PATH = @as(u32, 3);
pub const RSVP_Err_NO_SENDER = @as(u32, 4);
pub const RSVP_Err_BAD_STYLE = @as(u32, 5);
pub const RSVP_Err_UNKNOWN_STYLE = @as(u32, 6);
pub const RSVP_Err_BAD_DSTPORT = @as(u32, 7);
pub const RSVP_Err_BAD_SNDPORT = @as(u32, 8);
pub const RSVP_Err_AMBIG_FILTER = @as(u32, 9);
pub const RSVP_Err_PREEMPTED = @as(u32, 12);
pub const RSVP_Err_UNKN_OBJ_CLASS = @as(u32, 13);
pub const RSVP_Err_UNKNOWN_CTYPE = @as(u32, 14);
pub const RSVP_Err_API_ERROR = @as(u32, 20);
pub const RSVP_Err_TC_ERROR = @as(u32, 21);
pub const RSVP_Erv_Conflict_Serv = @as(u32, 1);
pub const RSVP_Erv_No_Serv = @as(u32, 2);
pub const RSVP_Erv_Crazy_Flowspec = @as(u32, 3);
pub const RSVP_Erv_Crazy_Tspec = @as(u32, 4);
pub const RSVP_Err_TC_SYS_ERROR = @as(u32, 22);
pub const RSVP_Err_RSVP_SYS_ERROR = @as(u32, 23);
pub const RSVP_Erv_MEMORY = @as(u32, 1);
pub const RSVP_Erv_API = @as(u32, 2);
pub const LPM_PE_USER_IDENTITY = @as(u32, 2);
pub const LPM_PE_APP_IDENTITY = @as(u32, 3);
pub const ERROR_NO_MORE_INFO = @as(u32, 1);
pub const UNSUPPORTED_CREDENTIAL_TYPE = @as(u32, 2);
pub const INSUFFICIENT_PRIVILEGES = @as(u32, 3);
pub const EXPIRED_CREDENTIAL = @as(u32, 4);
pub const IDENTITY_CHANGED = @as(u32, 5);
pub const LPM_OK = @as(u32, 0);
pub const INV_LPM_HANDLE = @as(u32, 1);
pub const LPM_TIME_OUT = @as(u32, 2);
pub const INV_REQ_HANDLE = @as(u32, 3);
pub const DUP_RESULTS = @as(u32, 4);
pub const INV_RESULTS = @as(u32, 5);
pub const LPM_PE_ALL_TYPES = @as(u32, 0);
pub const LPM_API_VERSION_1 = @as(u32, 1);
pub const PCM_VERSION_1 = @as(u32, 1);
pub const LPV_RESERVED = @as(u32, 0);
pub const LPV_MIN_PRIORITY = @as(u32, 1);
pub const LPV_MAX_PRIORITY = @as(u32, 65280);
pub const LPV_DROP_MSG = @as(u32, 65533);
pub const LPV_DONT_CARE = @as(u32, 65534);
pub const LPV_REJECT = @as(u32, 65535);
pub const FORCE_IMMEDIATE_REFRESH = @as(u32, 1);
pub const LPM_RESULT_READY = @as(u32, 0);
pub const LPM_RESULT_DEFER = @as(u32, 1);
pub const RCVD_PATH_TEAR = @as(u32, 1);
pub const RCVD_RESV_TEAR = @as(u32, 2);
pub const ADM_CTRL_FAILED = @as(u32, 3);
pub const STATE_TIMEOUT = @as(u32, 4);
pub const FLOW_DURATION = @as(u32, 5);
pub const RESOURCES_ALLOCATED = @as(u32, 1);
pub const RESOURCES_MODIFIED = @as(u32, 2);
pub const CURRENT_TCI_VERSION = @as(u32, 2);
pub const TC_NOTIFY_IFC_UP = @as(u32, 1);
pub const TC_NOTIFY_IFC_CLOSE = @as(u32, 2);
pub const TC_NOTIFY_IFC_CHANGE = @as(u32, 3);
pub const TC_NOTIFY_PARAM_CHANGED = @as(u32, 4);
pub const TC_NOTIFY_FLOW_CLOSE = @as(u32, 5);
pub const MAX_STRING_LENGTH = @as(u32, 256);
pub const QOS_OUTGOING_DEFAULT_MINIMUM_BANDWIDTH = @as(u32, 4294967295);
pub const QOS_QUERYFLOW_FRESH = @as(u32, 1);
pub const QOS_NON_ADAPTIVE_FLOW = @as(u32, 2);
pub const RSVP_OBJECT_ID_BASE = @as(u32, 1000);
pub const RSVP_DEFAULT_STYLE = @as(u32, 0);
pub const RSVP_WILDCARD_STYLE = @as(u32, 1);
pub const RSVP_FIXED_FILTER_STYLE = @as(u32, 2);
pub const RSVP_SHARED_EXPLICIT_STYLE = @as(u32, 3);
pub const AD_FLAG_BREAK_BIT = @as(u32, 1);
pub const mIOC_IN = @as(u32, 2147483648);
pub const mIOC_OUT = @as(u32, 1073741824);
pub const mIOC_VENDOR = @as(u32, 67108864);
pub const mCOMPANY = @as(u32, 402653184);
pub const ioctl_code = @as(u32, 1);
pub const QOSSPBASE = @as(u32, 50000);
pub const ALLOWED_TO_SEND_DATA = @as(u32, 50001);
pub const ABLE_TO_RECV_RSVP = @as(u32, 50002);
pub const LINE_RATE = @as(u32, 50003);
pub const LOCAL_TRAFFIC_CONTROL = @as(u32, 50004);
pub const LOCAL_QOSABILITY = @as(u32, 50005);
pub const END_TO_END_QOSABILITY = @as(u32, 50006);
pub const INFO_NOT_AVAILABLE = @as(u32, 4294967295);
pub const ANY_DEST_ADDR = @as(u32, 4294967295);
pub const MODERATELY_DELAY_SENSITIVE = @as(u32, 4294967293);
pub const HIGHLY_DELAY_SENSITIVE = @as(u32, 4294967294);
pub const QOSSP_ERR_BASE = @as(u32, 56000);
pub const GQOS_NO_ERRORCODE = @as(u32, 0);
pub const GQOS_NO_ERRORVALUE = @as(u32, 0);
pub const GQOS_ERRORCODE_UNKNOWN = @as(u32, 4294967295);
pub const GQOS_ERRORVALUE_UNKNOWN = @as(u32, 4294967295);
pub const GQOS_NET_ADMISSION = @as(u32, 56100);
pub const GQOS_NET_POLICY = @as(u32, 56200);
pub const GQOS_RSVP = @as(u32, 56300);
pub const GQOS_API = @as(u32, 56400);
pub const GQOS_KERNEL_TC_SYS = @as(u32, 56500);
pub const GQOS_RSVP_SYS = @as(u32, 56600);
pub const GQOS_KERNEL_TC = @as(u32, 56700);
pub const PE_TYPE_APPID = @as(u32, 3);
pub const PE_ATTRIB_TYPE_POLICY_LOCATOR = @as(u32, 1);
pub const POLICY_LOCATOR_SUB_TYPE_ASCII_DN = @as(u32, 1);
pub const POLICY_LOCATOR_SUB_TYPE_UNICODE_DN = @as(u32, 2);
pub const POLICY_LOCATOR_SUB_TYPE_ASCII_DN_ENC = @as(u32, 3);
pub const POLICY_LOCATOR_SUB_TYPE_UNICODE_DN_ENC = @as(u32, 4);
pub const PE_ATTRIB_TYPE_CREDENTIAL = @as(u32, 2);
pub const CREDENTIAL_SUB_TYPE_ASCII_ID = @as(u32, 1);
pub const CREDENTIAL_SUB_TYPE_UNICODE_ID = @as(u32, 2);
pub const CREDENTIAL_SUB_TYPE_KERBEROS_TKT = @as(u32, 3);
pub const CREDENTIAL_SUB_TYPE_X509_V3_CERT = @as(u32, 4);
pub const CREDENTIAL_SUB_TYPE_PGP_CERT = @as(u32, 5);
pub const TCBASE = @as(u32, 7500);
pub const ERROR_INCOMPATIBLE_TCI_VERSION = @as(u32, 7501);
pub const ERROR_INVALID_SERVICE_TYPE = @as(u32, 7502);
pub const ERROR_INVALID_TOKEN_RATE = @as(u32, 7503);
pub const ERROR_INVALID_PEAK_RATE = @as(u32, 7504);
pub const ERROR_INVALID_SD_MODE = @as(u32, 7505);
pub const ERROR_INVALID_QOS_PRIORITY = @as(u32, 7506);
pub const ERROR_INVALID_TRAFFIC_CLASS = @as(u32, 7507);
pub const ERROR_INVALID_ADDRESS_TYPE = @as(u32, 7508);
pub const ERROR_DUPLICATE_FILTER = @as(u32, 7509);
pub const ERROR_FILTER_CONFLICT = @as(u32, 7510);
pub const ERROR_ADDRESS_TYPE_NOT_SUPPORTED = @as(u32, 7511);
pub const ERROR_TC_SUPPORTED_OBJECTS_EXIST = @as(u32, 7512);
pub const ERROR_INCOMPATABLE_QOS = @as(u32, 7513);
pub const ERROR_TC_NOT_SUPPORTED = @as(u32, 7514);
pub const ERROR_TC_OBJECT_LENGTH_INVALID = @as(u32, 7515);
pub const ERROR_INVALID_FLOW_MODE = @as(u32, 7516);
pub const ERROR_INVALID_DIFFSERV_FLOW = @as(u32, 7517);
pub const ERROR_DS_MAPPING_EXISTS = @as(u32, 7518);
pub const ERROR_INVALID_SHAPE_RATE = @as(u32, 7519);
pub const ERROR_INVALID_DS_CLASS = @as(u32, 7520);
pub const ERROR_TOO_MANY_CLIENTS = @as(u32, 7521);
pub const GUID_QOS_REMAINING_BANDWIDTH = Guid.initString("c4c51720-40ec-11d1-2c91-00aa00574915");
pub const GUID_QOS_BESTEFFORT_BANDWIDTH = Guid.initString("ed885290-40ec-11d1-2c91-00aa00574915");
pub const GUID_QOS_LATENCY = Guid.initString("fc408ef0-40ec-11d1-2c91-00aa00574915");
pub const GUID_QOS_FLOW_COUNT = Guid.initString("1147f880-40ed-11d1-2c91-00aa00574915");
pub const GUID_QOS_NON_BESTEFFORT_LIMIT = Guid.initString("185c44e0-40ed-11d1-2c91-00aa00574915");
pub const GUID_QOS_MAX_OUTSTANDING_SENDS = Guid.initString("161ffa86-6120-11d1-2c91-00aa00574915");
pub const GUID_QOS_STATISTICS_BUFFER = Guid.initString("bb2c0980-e900-11d1-b07e-0080c71382bf");
pub const GUID_QOS_FLOW_MODE = Guid.initString("5c82290a-515a-11d2-8e58-00c04fc9bfcb");
pub const GUID_QOS_ISSLOW_FLOW = Guid.initString("abf273a4-ee07-11d2-be1b-00a0c99ee63b");
pub const GUID_QOS_TIMER_RESOLUTION = Guid.initString("ba10cc88-f13e-11d2-be1b-00a0c99ee63b");
pub const GUID_QOS_FLOW_IP_CONFORMING = Guid.initString("07f99a8b-fcd2-11d2-be1e-00a0c99ee63b");
pub const GUID_QOS_FLOW_IP_NONCONFORMING = Guid.initString("087a5987-fcd2-11d2-be1e-00a0c99ee63b");
pub const GUID_QOS_FLOW_8021P_CONFORMING = Guid.initString("08c1e013-fcd2-11d2-be1e-00a0c99ee63b");
pub const GUID_QOS_FLOW_8021P_NONCONFORMING = Guid.initString("09023f91-fcd2-11d2-be1e-00a0c99ee63b");
pub const GUID_QOS_ENABLE_AVG_STATS = Guid.initString("bafb6d11-27c4-4801-a46f-ef8080c188c8");
pub const GUID_QOS_ENABLE_WINDOW_ADJUSTMENT = Guid.initString("aa966725-d3e9-4c55-b335-2a00279a1e64");
pub const FSCTL_TCP_BASE = @as(u32, 18);
pub const DD_TCP_DEVICE_NAME = "\\Device\\Tcp";
pub const IF_MIB_STATS_ID = @as(u32, 1);
pub const IP_MIB_STATS_ID = @as(u32, 1);
pub const IP_MIB_ADDRTABLE_ENTRY_ID = @as(u32, 258);
pub const IP_INTFC_INFO_ID = @as(u32, 259);
pub const MAX_PHYSADDR_SIZE = @as(u32, 8);
pub const SIPAEV_PREBOOT_CERT = @as(u32, 0);
pub const SIPAEV_POST_CODE = @as(u32, 1);
pub const SIPAEV_UNUSED = @as(u32, 2);
pub const SIPAEV_NO_ACTION = @as(u32, 3);
pub const SIPAEV_SEPARATOR = @as(u32, 4);
pub const SIPAEV_ACTION = @as(u32, 5);
pub const SIPAEV_EVENT_TAG = @as(u32, 6);
pub const SIPAEV_S_CRTM_CONTENTS = @as(u32, 7);
pub const SIPAEV_S_CRTM_VERSION = @as(u32, 8);
pub const SIPAEV_CPU_MICROCODE = @as(u32, 9);
pub const SIPAEV_PLATFORM_CONFIG_FLAGS = @as(u32, 10);
pub const SIPAEV_TABLE_OF_DEVICES = @as(u32, 11);
pub const SIPAEV_COMPACT_HASH = @as(u32, 12);
pub const SIPAEV_IPL = @as(u32, 13);
pub const SIPAEV_IPL_PARTITION_DATA = @as(u32, 14);
pub const SIPAEV_NONHOST_CODE = @as(u32, 15);
pub const SIPAEV_NONHOST_CONFIG = @as(u32, 16);
pub const SIPAEV_NONHOST_INFO = @as(u32, 17);
pub const SIPAEV_OMIT_BOOT_DEVICE_EVENTS = @as(u32, 18);
pub const SIPAEV_EFI_EVENT_BASE = @as(u32, 2147483648);
pub const SIPAEV_EFI_VARIABLE_DRIVER_CONFIG = @as(u32, 2147483649);
pub const SIPAEV_EFI_VARIABLE_BOOT = @as(u32, 2147483650);
pub const SIPAEV_EFI_BOOT_SERVICES_APPLICATION = @as(u32, 2147483651);
pub const SIPAEV_EFI_BOOT_SERVICES_DRIVER = @as(u32, 2147483652);
pub const SIPAEV_EFI_RUNTIME_SERVICES_DRIVER = @as(u32, 2147483653);
pub const SIPAEV_EFI_GPT_EVENT = @as(u32, 2147483654);
pub const SIPAEV_EFI_ACTION = @as(u32, 2147483655);
pub const SIPAEV_EFI_PLATFORM_FIRMWARE_BLOB = @as(u32, 2147483656);
pub const SIPAEV_EFI_HANDOFF_TABLES = @as(u32, 2147483657);
pub const SIPAEV_EFI_PLATFORM_FIRMWARE_BLOB2 = @as(u32, 2147483658);
pub const SIPAEV_EFI_HANDOFF_TABLES2 = @as(u32, 2147483659);
pub const SIPAEV_EFI_HCRTM_EVENT = @as(u32, 2147483664);
pub const SIPAEV_EFI_VARIABLE_AUTHORITY = @as(u32, 2147483872);
pub const SIPAEV_EFI_SPDM_FIRMWARE_BLOB = @as(u32, 2147483873);
pub const SIPAEV_EFI_SPDM_FIRMWARE_CONFIG = @as(u32, 2147483874);
pub const SIPAEV_TXT_EVENT_BASE = @as(u32, 1024);
pub const SIPAEV_TXT_PCR_MAPPING = @as(u32, 1025);
pub const SIPAEV_TXT_HASH_START = @as(u32, 1026);
pub const SIPAEV_TXT_COMBINED_HASH = @as(u32, 1027);
pub const SIPAEV_TXT_MLE_HASH = @as(u32, 1028);
pub const SIPAEV_TXT_BIOSAC_REG_DATA = @as(u32, 1034);
pub const SIPAEV_TXT_CPU_SCRTM_STAT = @as(u32, 1035);
pub const SIPAEV_TXT_LCP_CONTROL_HASH = @as(u32, 1036);
pub const SIPAEV_TXT_ELEMENTS_HASH = @as(u32, 1037);
pub const SIPAEV_TXT_STM_HASH = @as(u32, 1038);
pub const SIPAEV_TXT_OSSINITDATA_CAP_HASH = @as(u32, 1039);
pub const SIPAEV_TXT_SINIT_PUBKEY_HASH = @as(u32, 1040);
pub const SIPAEV_TXT_LCP_HASH = @as(u32, 1041);
pub const SIPAEV_TXT_LCP_DETAILS_HASH = @as(u32, 1042);
pub const SIPAEV_TXT_LCP_AUTHORITIES_HASH = @as(u32, 1043);
pub const SIPAEV_TXT_NV_INFO_HASH = @as(u32, 1044);
pub const SIPAEV_TXT_COLD_BOOT_BIOS_HASH = @as(u32, 1045);
pub const SIPAEV_TXT_KM_HASH = @as(u32, 1046);
pub const SIPAEV_TXT_BPM_HASH = @as(u32, 1047);
pub const SIPAEV_TXT_KM_INFO_HASH = @as(u32, 1048);
pub const SIPAEV_TXT_BPM_INFO_HASH = @as(u32, 1049);
pub const SIPAEV_TXT_BOOT_POL_HASH = @as(u32, 1050);
pub const SIPAEV_TXT_RANDOM_VALUE = @as(u32, 1278);
pub const SIPAEV_TXT_CAP_VALUE = @as(u32, 1279);
pub const SIPAEV_AMD_SL_EVENT_BASE = @as(u32, 32768);
pub const SIPAEV_AMD_SL_LOAD = @as(u32, 32769);
pub const SIPAEV_AMD_SL_PSP_FW_SPLT = @as(u32, 32770);
pub const SIPAEV_AMD_SL_TSME_RB_FUSE = @as(u32, 32771);
pub const SIPAEV_AMD_SL_PUB_KEY = @as(u32, 32772);
pub const SIPAEV_AMD_SL_SVN = @as(u32, 32773);
pub const SIPAEV_AMD_SL_LOAD_1 = @as(u32, 32774);
pub const SIPAEV_AMD_SL_SEPARATOR = @as(u32, 32775);
pub const SIPAEVENTTYPE_NONMEASURED = @as(u32, 2147483648);
pub const SIPAEVENTTYPE_AGGREGATION = @as(u32, 1073741824);
pub const SIPAEVENTTYPE_CONTAINER = @as(u32, 65536);
pub const SIPAEVENTTYPE_INFORMATION = @as(u32, 131072);
pub const SIPAEVENTTYPE_ERROR = @as(u32, 196608);
pub const SIPAEVENTTYPE_PREOSPARAMETER = @as(u32, 262144);
pub const SIPAEVENTTYPE_OSPARAMETER = @as(u32, 327680);
pub const SIPAEVENTTYPE_AUTHORITY = @as(u32, 393216);
pub const SIPAEVENTTYPE_LOADEDMODULE = @as(u32, 458752);
pub const SIPAEVENTTYPE_TRUSTPOINT = @as(u32, 524288);
pub const SIPAEVENTTYPE_ELAM = @as(u32, 589824);
pub const SIPAEVENTTYPE_VBS = @as(u32, 655360);
pub const SIPAEVENTTYPE_KSR = @as(u32, 720896);
pub const SIPAEVENTTYPE_DRTM = @as(u32, 786432);
pub const SIPAERROR_FIRMWAREFAILURE = @as(u32, 196609);
pub const SIPAERROR_INTERNALFAILURE = @as(u32, 196611);
pub const SIPAEVENT_INFORMATION = @as(u32, 131073);
pub const SIPAEVENT_BOOTCOUNTER = @as(u32, 131074);
pub const SIPAEVENT_TRANSFER_CONTROL = @as(u32, 131075);
pub const SIPAEVENT_APPLICATION_RETURN = @as(u32, 131076);
pub const SIPAEVENT_BITLOCKER_UNLOCK = @as(u32, 131077);
pub const SIPAEVENT_EVENTCOUNTER = @as(u32, 131078);
pub const SIPAEVENT_COUNTERID = @as(u32, 131079);
pub const SIPAEVENT_MORBIT_NOT_CANCELABLE = @as(u32, 131080);
pub const SIPAEVENT_APPLICATION_SVN = @as(u32, 131081);
pub const SIPAEVENT_SVN_CHAIN_STATUS = @as(u32, 131082);
pub const SIPAEVENT_MORBIT_API_STATUS = @as(u32, 131083);
pub const SIPAEVENT_BOOTDEBUGGING = @as(u32, 262145);
pub const SIPAEVENT_BOOT_REVOCATION_LIST = @as(u32, 262146);
pub const SIPAEVENT_OSKERNELDEBUG = @as(u32, 327681);
pub const SIPAEVENT_CODEINTEGRITY = @as(u32, 327682);
pub const SIPAEVENT_TESTSIGNING = @as(u32, 327683);
pub const SIPAEVENT_DATAEXECUTIONPREVENTION = @as(u32, 327684);
pub const SIPAEVENT_SAFEMODE = @as(u32, 327685);
pub const SIPAEVENT_WINPE = @as(u32, 327686);
pub const SIPAEVENT_PHYSICALADDRESSEXTENSION = @as(u32, 327687);
pub const SIPAEVENT_OSDEVICE = @as(u32, 327688);
pub const SIPAEVENT_SYSTEMROOT = @as(u32, 327689);
pub const SIPAEVENT_HYPERVISOR_LAUNCH_TYPE = @as(u32, 327690);
pub const SIPAEVENT_HYPERVISOR_PATH = @as(u32, 327691);
pub const SIPAEVENT_HYPERVISOR_IOMMU_POLICY = @as(u32, 327692);
pub const SIPAEVENT_HYPERVISOR_DEBUG = @as(u32, 327693);
pub const SIPAEVENT_DRIVER_LOAD_POLICY = @as(u32, 327694);
pub const SIPAEVENT_SI_POLICY = @as(u32, 327695);
pub const SIPAEVENT_HYPERVISOR_MMIO_NX_POLICY = @as(u32, 327696);
pub const SIPAEVENT_HYPERVISOR_MSR_FILTER_POLICY = @as(u32, 327697);
pub const SIPAEVENT_VSM_LAUNCH_TYPE = @as(u32, 327698);
pub const SIPAEVENT_OS_REVOCATION_LIST = @as(u32, 327699);
pub const SIPAEVENT_SMT_STATUS = @as(u32, 327700);
pub const SIPAEVENT_VSM_IDK_INFO = @as(u32, 327712);
pub const SIPAEVENT_FLIGHTSIGNING = @as(u32, 327713);
pub const SIPAEVENT_PAGEFILE_ENCRYPTION_ENABLED = @as(u32, 327714);
pub const SIPAEVENT_VSM_IDKS_INFO = @as(u32, 327715);
pub const SIPAEVENT_HIBERNATION_DISABLED = @as(u32, 327716);
pub const SIPAEVENT_DUMPS_DISABLED = @as(u32, 327717);
pub const SIPAEVENT_DUMP_ENCRYPTION_ENABLED = @as(u32, 327718);
pub const SIPAEVENT_DUMP_ENCRYPTION_KEY_DIGEST = @as(u32, 327719);
pub const SIPAEVENT_LSAISO_CONFIG = @as(u32, 327720);
pub const SIPAEVENT_SBCP_INFO = @as(u32, 327721);
pub const SIPAEVENT_HYPERVISOR_BOOT_DMA_PROTECTION = @as(u32, 327728);
pub const SIPAEVENT_NOAUTHORITY = @as(u32, 393217);
pub const SIPAEVENT_AUTHORITYPUBKEY = @as(u32, 393218);
pub const SIPAEVENT_FILEPATH = @as(u32, 458753);
pub const SIPAEVENT_IMAGESIZE = @as(u32, 458754);
pub const SIPAEVENT_HASHALGORITHMID = @as(u32, 458755);
pub const SIPAEVENT_AUTHENTICODEHASH = @as(u32, 458756);
pub const SIPAEVENT_AUTHORITYISSUER = @as(u32, 458757);
pub const SIPAEVENT_AUTHORITYSERIAL = @as(u32, 458758);
pub const SIPAEVENT_IMAGEBASE = @as(u32, 458759);
pub const SIPAEVENT_AUTHORITYPUBLISHER = @as(u32, 458760);
pub const SIPAEVENT_AUTHORITYSHA1THUMBPRINT = @as(u32, 458761);
pub const SIPAEVENT_IMAGEVALIDATED = @as(u32, 458762);
pub const SIPAEVENT_MODULE_SVN = @as(u32, 458763);
pub const SIPAEVENT_ELAM_KEYNAME = @as(u32, 589825);
pub const SIPAEVENT_ELAM_CONFIGURATION = @as(u32, 589826);
pub const SIPAEVENT_ELAM_POLICY = @as(u32, 589827);
pub const SIPAEVENT_ELAM_MEASURED = @as(u32, 589828);
pub const SIPAEVENT_VBS_VSM_REQUIRED = @as(u32, 655361);
pub const SIPAEVENT_VBS_SECUREBOOT_REQUIRED = @as(u32, 655362);
pub const SIPAEVENT_VBS_IOMMU_REQUIRED = @as(u32, 655363);
pub const SIPAEVENT_VBS_MMIO_NX_REQUIRED = @as(u32, 655364);
pub const SIPAEVENT_VBS_MSR_FILTERING_REQUIRED = @as(u32, 655365);
pub const SIPAEVENT_VBS_MANDATORY_ENFORCEMENT = @as(u32, 655366);
pub const SIPAEVENT_VBS_HVCI_POLICY = @as(u32, 655367);
pub const SIPAEVENT_VBS_MICROSOFT_BOOT_CHAIN_REQUIRED = @as(u32, 655368);
pub const SIPAEVENT_VBS_DUMP_USES_AMEROOT = @as(u32, 655369);
pub const SIPAEVENT_VBS_VSM_NOSECRETS_ENFORCED = @as(u32, 655370);
pub const SIPAEVENT_KSR_SIGNATURE = @as(u32, 720897);
pub const SIPAEVENT_DRTM_STATE_AUTH = @as(u32, 786433);
pub const SIPAEVENT_DRTM_SMM_LEVEL = @as(u32, 786434);
pub const SIPAEVENT_DRTM_AMD_SMM_HASH = @as(u32, 786435);
pub const SIPAEVENT_DRTM_AMD_SMM_SIGNER_KEY = @as(u32, 786436);
pub const FVEB_UNLOCK_FLAG_NONE = @as(u32, 0);
pub const FVEB_UNLOCK_FLAG_CACHED = @as(u32, 1);
pub const FVEB_UNLOCK_FLAG_MEDIA = @as(u32, 2);
pub const FVEB_UNLOCK_FLAG_TPM = @as(u32, 4);
pub const FVEB_UNLOCK_FLAG_PIN = @as(u32, 16);
pub const FVEB_UNLOCK_FLAG_EXTERNAL = @as(u32, 32);
pub const FVEB_UNLOCK_FLAG_RECOVERY = @as(u32, 64);
pub const FVEB_UNLOCK_FLAG_PASSPHRASE = @as(u32, 128);
pub const FVEB_UNLOCK_FLAG_NBP = @as(u32, 256);
pub const FVEB_UNLOCK_FLAG_AUK_OSFVEINFO = @as(u32, 512);
pub const OSDEVICE_TYPE_UNKNOWN = @as(u32, 0);
pub const OSDEVICE_TYPE_BLOCKIO_HARDDISK = @as(u32, 65537);
pub const OSDEVICE_TYPE_BLOCKIO_REMOVABLEDISK = @as(u32, 65538);
pub const OSDEVICE_TYPE_BLOCKIO_CDROM = @as(u32, 65539);
pub const OSDEVICE_TYPE_BLOCKIO_PARTITION = @as(u32, 65540);
pub const OSDEVICE_TYPE_BLOCKIO_FILE = @as(u32, 65541);
pub const OSDEVICE_TYPE_BLOCKIO_RAMDISK = @as(u32, 65542);
pub const OSDEVICE_TYPE_BLOCKIO_VIRTUALHARDDISK = @as(u32, 65543);
pub const OSDEVICE_TYPE_SERIAL = @as(u32, 131072);
pub const OSDEVICE_TYPE_UDP = @as(u32, 196608);
pub const OSDEVICE_TYPE_VMBUS = @as(u32, 262144);
pub const OSDEVICE_TYPE_COMPOSITE = @as(u32, 327680);
pub const SIPAHDRSIGNATURE = @as(u32, 1279476311);
pub const SIPALOGVERSION = @as(u32, 1);
pub const SIPAKSRHDRSIGNATURE = @as(u32, 1297240907);
pub const WBCL_DIGEST_ALG_ID_SHA_1 = @as(u32, 4);
pub const WBCL_DIGEST_ALG_ID_SHA_2_256 = @as(u32, 11);
pub const WBCL_DIGEST_ALG_ID_SHA_2_384 = @as(u32, 12);
pub const WBCL_DIGEST_ALG_ID_SHA_2_512 = @as(u32, 13);
pub const WBCL_DIGEST_ALG_ID_SM3_256 = @as(u32, 18);
pub const WBCL_DIGEST_ALG_ID_SHA3_256 = @as(u32, 39);
pub const WBCL_DIGEST_ALG_ID_SHA3_384 = @as(u32, 40);
pub const WBCL_DIGEST_ALG_ID_SHA3_512 = @as(u32, 41);
pub const WBCL_DIGEST_ALG_BITMAP_SHA_1 = @as(u32, 1);
pub const WBCL_DIGEST_ALG_BITMAP_SHA_2_256 = @as(u32, 2);
pub const WBCL_DIGEST_ALG_BITMAP_SHA_2_384 = @as(u32, 4);
pub const WBCL_DIGEST_ALG_BITMAP_SHA_2_512 = @as(u32, 8);
pub const WBCL_DIGEST_ALG_BITMAP_SM3_256 = @as(u32, 16);
pub const WBCL_DIGEST_ALG_BITMAP_SHA3_256 = @as(u32, 32);
pub const WBCL_DIGEST_ALG_BITMAP_SHA3_384 = @as(u32, 64);
pub const WBCL_DIGEST_ALG_BITMAP_SHA3_512 = @as(u32, 128);
pub const WBCL_HASH_LEN_SHA1 = @as(u32, 20);
pub const IS_GUAR_RSPEC = @as(i32, 130);
pub const GUAR_ADSPARM_C = @as(i32, 131);
pub const GUAR_ADSPARM_D = @as(i32, 132);
pub const GUAR_ADSPARM_Ctot = @as(i32, 133);
pub const GUAR_ADSPARM_Dtot = @as(i32, 134);
pub const GUAR_ADSPARM_Csum = @as(i32, 135);
pub const GUAR_ADSPARM_Dsum = @as(i32, 136);
//--------------------------------------------------------------------------------
// Section: Types (112)
//--------------------------------------------------------------------------------
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
pub const LPM_HANDLE = isize;
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
pub const RHANDLE = isize;
pub const FLOWSPEC = extern struct {
TokenRate: u32,
TokenBucketSize: u32,
PeakBandwidth: u32,
Latency: u32,
DelayVariation: u32,
ServiceType: u32,
MaxSduSize: u32,
MinimumPolicedSize: u32,
};
pub const QOS_OBJECT_HDR = extern struct {
ObjectType: u32,
ObjectLength: u32,
};
pub const QOS_SD_MODE = extern struct {
ObjectHdr: QOS_OBJECT_HDR,
ShapeDiscardMode: u32,
};
pub const QOS_SHAPING_RATE = extern struct {
ObjectHdr: QOS_OBJECT_HDR,
ShapingRate: u32,
};
pub const RsvpObjHdr = extern struct {
obj_length: u16,
obj_class: u8,
obj_ctype: u8,
};
pub const Session_IPv4 = extern struct {
sess_destaddr: IN_ADDR,
sess_protid: u8,
sess_flags: u8,
sess_destport: u16,
};
pub const RSVP_SESSION = extern struct {
sess_header: RsvpObjHdr,
sess_u: extern union {
sess_ipv4: Session_IPv4,
},
};
pub const Rsvp_Hop_IPv4 = extern struct {
hop_ipaddr: IN_ADDR,
hop_LIH: u32,
};
pub const RSVP_HOP = extern struct {
hop_header: RsvpObjHdr,
hop_u: extern union {
hop_ipv4: Rsvp_Hop_IPv4,
},
};
pub const RESV_STYLE = extern struct {
style_header: RsvpObjHdr,
style_word: u32,
};
pub const Filter_Spec_IPv4 = extern struct {
filt_ipaddr: IN_ADDR,
filt_unused: u16,
filt_port: u16,
};
pub const Filter_Spec_IPv4GPI = extern struct {
filt_ipaddr: IN_ADDR,
filt_gpi: u32,
};
pub const FILTER_SPEC = extern struct {
filt_header: RsvpObjHdr,
filt_u: extern union {
filt_ipv4: Filter_Spec_IPv4,
filt_ipv4gpi: Filter_Spec_IPv4GPI,
},
};
pub const Scope_list_ipv4 = extern struct {
scopl_ipaddr: [1]IN_ADDR,
};
pub const RSVP_SCOPE = extern struct {
scopl_header: RsvpObjHdr,
scope_u: extern union {
scopl_ipv4: Scope_list_ipv4,
},
};
pub const Error_Spec_IPv4 = extern struct {
errs_errnode: IN_ADDR,
errs_flags: u8,
errs_code: u8,
errs_value: u16,
};
pub const ERROR_SPEC = extern struct {
errs_header: RsvpObjHdr,
errs_u: extern union {
errs_ipv4: Error_Spec_IPv4,
},
};
pub const POLICY_DATA = extern struct {
PolicyObjHdr: RsvpObjHdr,
usPeOffset: u16,
usReserved: u16,
};
pub const POLICY_ELEMENT = extern struct {
usPeLength: u16,
usPeType: u16,
ucPeData: [4]u8,
};
pub const int_serv_wkp = enum(i32) {
HOP_CNT = 4,
PATH_BW = 6,
MIN_LATENCY = 8,
COMPOSED_MTU = 10,
TB_TSPEC = 127,
Q_TSPEC = 128,
};
pub const IS_WKP_HOP_CNT = int_serv_wkp.HOP_CNT;
pub const IS_WKP_PATH_BW = int_serv_wkp.PATH_BW;
pub const IS_WKP_MIN_LATENCY = int_serv_wkp.MIN_LATENCY;
pub const IS_WKP_COMPOSED_MTU = int_serv_wkp.COMPOSED_MTU;
pub const IS_WKP_TB_TSPEC = int_serv_wkp.TB_TSPEC;
pub const IS_WKP_Q_TSPEC = int_serv_wkp.Q_TSPEC;
pub const IntServMainHdr = extern struct {
ismh_version: u8,
ismh_unused: u8,
ismh_len32b: u16,
};
pub const IntServServiceHdr = extern struct {
issh_service: u8,
issh_flags: u8,
issh_len32b: u16,
};
pub const IntServParmHdr = extern struct {
isph_parm_num: u8,
isph_flags: u8,
isph_len32b: u16,
};
pub const GenTspecParms = extern struct {
TB_Tspec_r: f32,
TB_Tspec_b: f32,
TB_Tspec_p: f32,
TB_Tspec_m: u32,
TB_Tspec_M: u32,
};
pub const GenTspec = extern struct {
gen_Tspec_serv_hdr: IntServServiceHdr,
gen_Tspec_parm_hdr: IntServParmHdr,
gen_Tspec_parms: GenTspecParms,
};
pub const QualTspecParms = extern struct {
TB_Tspec_M: u32,
};
pub const QualTspec = extern struct {
qual_Tspec_serv_hdr: IntServServiceHdr,
qual_Tspec_parm_hdr: IntServParmHdr,
qual_Tspec_parms: QualTspecParms,
};
pub const QualAppFlowSpec = extern struct {
Q_spec_serv_hdr: IntServServiceHdr,
Q_spec_parm_hdr: IntServParmHdr,
Q_spec_parms: QualTspecParms,
};
pub const IntServTspecBody = extern struct {
st_mh: IntServMainHdr,
tspec_u: extern union {
gen_stspec: GenTspec,
qual_stspec: QualTspec,
},
};
pub const SENDER_TSPEC = extern struct {
stspec_header: RsvpObjHdr,
stspec_body: IntServTspecBody,
};
pub const CtrlLoadFlowspec = extern struct {
CL_spec_serv_hdr: IntServServiceHdr,
CL_spec_parm_hdr: IntServParmHdr,
CL_spec_parms: GenTspecParms,
};
pub const GuarRspec = extern struct {
Guar_R: f32,
Guar_S: u32,
};
pub const GuarFlowSpec = extern struct {
Guar_serv_hdr: IntServServiceHdr,
Guar_Tspec_hdr: IntServParmHdr,
Guar_Tspec_parms: GenTspecParms,
Guar_Rspec_hdr: IntServParmHdr,
Guar_Rspec: GuarRspec,
};
pub const IntServFlowSpec = extern struct {
spec_mh: IntServMainHdr,
spec_u: extern union {
CL_spec: CtrlLoadFlowspec,
G_spec: GuarFlowSpec,
Q_spec: QualAppFlowSpec,
},
};
pub const IS_FLOWSPEC = extern struct {
flow_header: RsvpObjHdr,
flow_body: IntServFlowSpec,
};
pub const flow_desc = extern struct {
u1: extern union {
stspec: ?*SENDER_TSPEC,
isflow: ?*IS_FLOWSPEC,
},
u2: extern union {
stemp: ?*FILTER_SPEC,
fspec: ?*FILTER_SPEC,
},
};
pub const Gads_parms_t = extern struct {
Gads_serv_hdr: IntServServiceHdr,
Gads_Ctot_hdr: IntServParmHdr,
Gads_Ctot: u32,
Gads_Dtot_hdr: IntServParmHdr,
Gads_Dtot: u32,
Gads_Csum_hdr: IntServParmHdr,
Gads_Csum: u32,
Gads_Dsum_hdr: IntServParmHdr,
Gads_Dsum: u32,
};
pub const GenAdspecParams = extern struct {
gen_parm_hdr: IntServServiceHdr,
gen_parm_hopcnt_hdr: IntServParmHdr,
gen_parm_hopcnt: u32,
gen_parm_pathbw_hdr: IntServParmHdr,
gen_parm_path_bw: f32,
gen_parm_minlat_hdr: IntServParmHdr,
gen_parm_min_latency: u32,
gen_parm_compmtu_hdr: IntServParmHdr,
gen_parm_composed_MTU: u32,
};
pub const IS_ADSPEC_BODY = extern struct {
adspec_mh: IntServMainHdr,
adspec_genparms: GenAdspecParams,
};
pub const ADSPEC = extern struct {
adspec_header: RsvpObjHdr,
adspec_body: IS_ADSPEC_BODY,
};
pub const ID_ERROR_OBJECT = extern struct {
usIdErrLength: u16,
ucAType: u8,
ucSubType: u8,
usReserved: u16,
usIdErrorValue: u16,
ucIdErrData: [4]u8,
};
pub const RSVP_MSG_OBJS = extern struct {
RsvpMsgType: i32,
pRsvpSession: ?*RSVP_SESSION,
pRsvpFromHop: ?*RSVP_HOP,
pRsvpToHop: ?*RSVP_HOP,
pResvStyle: ?*RESV_STYLE,
pRsvpScope: ?*RSVP_SCOPE,
FlowDescCount: i32,
pFlowDescs: ?*flow_desc,
PdObjectCount: i32,
ppPdObjects: ?*?*POLICY_DATA,
pErrorSpec: ?*ERROR_SPEC,
pAdspec: ?*ADSPEC,
};
pub const PALLOCMEM = switch (@import("builtin").zig_backend) {
.stage1 => fn(
Size: u32,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque,
else => *const fn(
Size: u32,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque,
} ;
pub const PFREEMEM = switch (@import("builtin").zig_backend) {
.stage1 => fn(
pv: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
pv: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void,
} ;
pub const policy_decision = extern struct {
lpvResult: u32,
wPolicyErrCode: u16,
wPolicyErrValue: u16,
};
pub const CBADMITRESULT = switch (@import("builtin").zig_backend) {
.stage1 => fn(
LpmHandle: LPM_HANDLE,
RequestHandle: RHANDLE,
ulPcmActionFlags: u32,
LpmError: i32,
PolicyDecisionsCount: i32,
pPolicyDecisions: ?*policy_decision,
) callconv(@import("std").os.windows.WINAPI) ?*u32,
else => *const fn(
LpmHandle: LPM_HANDLE,
RequestHandle: RHANDLE,
ulPcmActionFlags: u32,
LpmError: i32,
PolicyDecisionsCount: i32,
pPolicyDecisions: ?*policy_decision,
) callconv(@import("std").os.windows.WINAPI) ?*u32,
} ;
pub const CBGETRSVPOBJECTS = switch (@import("builtin").zig_backend) {
.stage1 => fn(
LpmHandle: LPM_HANDLE,
RequestHandle: RHANDLE,
LpmError: i32,
RsvpObjectsCount: i32,
ppRsvpObjects: ?*?*RsvpObjHdr,
) callconv(@import("std").os.windows.WINAPI) ?*u32,
else => *const fn(
LpmHandle: LPM_HANDLE,
RequestHandle: RHANDLE,
LpmError: i32,
RsvpObjectsCount: i32,
ppRsvpObjects: ?*?*RsvpObjHdr,
) callconv(@import("std").os.windows.WINAPI) ?*u32,
} ;
pub const LPM_INIT_INFO = extern struct {
PcmVersionNumber: u32,
ResultTimeLimit: u32,
ConfiguredLpmCount: i32,
AllocMemory: ?PALLOCMEM,
FreeMemory: ?PFREEMEM,
PcmAdmitResultCallback: ?CBADMITRESULT,
GetRsvpObjectsCallback: ?CBGETRSVPOBJECTS,
};
pub const lpmiptable = extern struct {
ulIfIndex: u32,
MediaType: u32,
IfIpAddr: IN_ADDR,
IfNetMask: IN_ADDR,
};
pub const QOS_TRAFFIC_TYPE = enum(i32) {
BestEffort = 0,
Background = 1,
ExcellentEffort = 2,
AudioVideo = 3,
Voice = 4,
Control = 5,
};
pub const QOSTrafficTypeBestEffort = QOS_TRAFFIC_TYPE.BestEffort;
pub const QOSTrafficTypeBackground = QOS_TRAFFIC_TYPE.Background;
pub const QOSTrafficTypeExcellentEffort = QOS_TRAFFIC_TYPE.ExcellentEffort;
pub const QOSTrafficTypeAudioVideo = QOS_TRAFFIC_TYPE.AudioVideo;
pub const QOSTrafficTypeVoice = QOS_TRAFFIC_TYPE.Voice;
pub const QOSTrafficTypeControl = QOS_TRAFFIC_TYPE.Control;
pub const QOS_SET_FLOW = enum(i32) {
TrafficType = 0,
OutgoingRate = 1,
OutgoingDSCPValue = 2,
};
pub const QOSSetTrafficType = QOS_SET_FLOW.TrafficType;
pub const QOSSetOutgoingRate = QOS_SET_FLOW.OutgoingRate;
pub const QOSSetOutgoingDSCPValue = QOS_SET_FLOW.OutgoingDSCPValue;
pub const QOS_PACKET_PRIORITY = extern struct {
ConformantDSCPValue: u32,
NonConformantDSCPValue: u32,
ConformantL2Value: u32,
NonConformantL2Value: u32,
};
pub const QOS_FLOW_FUNDAMENTALS = extern struct {
BottleneckBandwidthSet: BOOL,
BottleneckBandwidth: u64,
AvailableBandwidthSet: BOOL,
AvailableBandwidth: u64,
RTTSet: BOOL,
RTT: u32,
};
pub const QOS_FLOWRATE_REASON = enum(i32) {
NotApplicable = 0,
ContentChange = 1,
Congestion = 2,
HigherContentEncoding = 3,
UserCaused = 4,
};
pub const QOSFlowRateNotApplicable = QOS_FLOWRATE_REASON.NotApplicable;
pub const QOSFlowRateContentChange = QOS_FLOWRATE_REASON.ContentChange;
pub const QOSFlowRateCongestion = QOS_FLOWRATE_REASON.Congestion;
pub const QOSFlowRateHigherContentEncoding = QOS_FLOWRATE_REASON.HigherContentEncoding;
pub const QOSFlowRateUserCaused = QOS_FLOWRATE_REASON.UserCaused;
pub const QOS_SHAPING = enum(i32) {
ShapeOnly = 0,
ShapeAndMark = 1,
UseNonConformantMarkings = 2,
};
pub const QOSShapeOnly = QOS_SHAPING.ShapeOnly;
pub const QOSShapeAndMark = QOS_SHAPING.ShapeAndMark;
pub const QOSUseNonConformantMarkings = QOS_SHAPING.UseNonConformantMarkings;
pub const QOS_FLOWRATE_OUTGOING = extern struct {
Bandwidth: u64,
ShapingBehavior: QOS_SHAPING,
Reason: QOS_FLOWRATE_REASON,
};
pub const QOS_QUERY_FLOW = enum(i32) {
FlowFundamentals = 0,
PacketPriority = 1,
OutgoingRate = 2,
};
pub const QOSQueryFlowFundamentals = QOS_QUERY_FLOW.FlowFundamentals;
pub const QOSQueryPacketPriority = QOS_QUERY_FLOW.PacketPriority;
pub const QOSQueryOutgoingRate = QOS_QUERY_FLOW.OutgoingRate;
pub const QOS_NOTIFY_FLOW = enum(i32) {
Congested = 0,
Uncongested = 1,
Available = 2,
};
pub const QOSNotifyCongested = QOS_NOTIFY_FLOW.Congested;
pub const QOSNotifyUncongested = QOS_NOTIFY_FLOW.Uncongested;
pub const QOSNotifyAvailable = QOS_NOTIFY_FLOW.Available;
pub const QOS_VERSION = extern struct {
MajorVersion: u16,
MinorVersion: u16,
};
pub const QOS_FRIENDLY_NAME = extern struct {
ObjectHdr: QOS_OBJECT_HDR,
FriendlyName: [256]u16,
};
pub const QOS_TRAFFIC_CLASS = extern struct {
ObjectHdr: QOS_OBJECT_HDR,
TrafficClass: u32,
};
pub const QOS_DS_CLASS = extern struct {
ObjectHdr: QOS_OBJECT_HDR,
DSField: u32,
};
pub const QOS_DIFFSERV = extern struct {
ObjectHdr: QOS_OBJECT_HDR,
DSFieldCount: u32,
DiffservRule: [1]u8,
};
pub const QOS_DIFFSERV_RULE = extern struct {
InboundDSField: u8,
ConformingOutboundDSField: u8,
NonConformingOutboundDSField: u8,
ConformingUserPriority: u8,
NonConformingUserPriority: u8,
};
pub const QOS_TCP_TRAFFIC = extern struct {
ObjectHdr: QOS_OBJECT_HDR,
};
pub const TCI_NOTIFY_HANDLER = switch (@import("builtin").zig_backend) {
.stage1 => fn(
ClRegCtx: ?HANDLE,
ClIfcCtx: ?HANDLE,
Event: u32,
SubCode: ?HANDLE,
BufSize: u32,
// TODO: what to do with BytesParamIndex 4?
Buffer: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
ClRegCtx: ?HANDLE,
ClIfcCtx: ?HANDLE,
Event: u32,
SubCode: ?HANDLE,
BufSize: u32,
// TODO: what to do with BytesParamIndex 4?
Buffer: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void,
} ;
pub const TCI_ADD_FLOW_COMPLETE_HANDLER = switch (@import("builtin").zig_backend) {
.stage1 => fn(
ClFlowCtx: ?HANDLE,
Status: u32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
ClFlowCtx: ?HANDLE,
Status: u32,
) callconv(@import("std").os.windows.WINAPI) void,
} ;
pub const TCI_MOD_FLOW_COMPLETE_HANDLER = switch (@import("builtin").zig_backend) {
.stage1 => fn(
ClFlowCtx: ?HANDLE,
Status: u32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
ClFlowCtx: ?HANDLE,
Status: u32,
) callconv(@import("std").os.windows.WINAPI) void,
} ;
pub const TCI_DEL_FLOW_COMPLETE_HANDLER = switch (@import("builtin").zig_backend) {
.stage1 => fn(
ClFlowCtx: ?HANDLE,
Status: u32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
ClFlowCtx: ?HANDLE,
Status: u32,
) callconv(@import("std").os.windows.WINAPI) void,
} ;
pub const TCI_CLIENT_FUNC_LIST = extern struct {
ClNotifyHandler: ?TCI_NOTIFY_HANDLER,
ClAddFlowCompleteHandler: ?TCI_ADD_FLOW_COMPLETE_HANDLER,
ClModifyFlowCompleteHandler: ?TCI_MOD_FLOW_COMPLETE_HANDLER,
ClDeleteFlowCompleteHandler: ?TCI_DEL_FLOW_COMPLETE_HANDLER,
};
pub const ADDRESS_LIST_DESCRIPTOR = extern struct {
MediaType: u32,
AddressList: NETWORK_ADDRESS_LIST,
};
pub const TC_IFC_DESCRIPTOR = extern struct {
Length: u32,
pInterfaceName: ?PWSTR,
pInterfaceID: ?PWSTR,
AddressListDesc: ADDRESS_LIST_DESCRIPTOR,
};
pub const TC_SUPPORTED_INFO_BUFFER = extern struct {
InstanceIDLength: u16,
InstanceID: [256]u16,
InterfaceLuid: u64,
AddrListDesc: ADDRESS_LIST_DESCRIPTOR,
};
pub const TC_GEN_FILTER = extern struct {
AddressType: u16,
PatternSize: u32,
Pattern: ?*anyopaque,
Mask: ?*anyopaque,
};
pub const TC_GEN_FLOW = extern struct {
SendingFlowspec: FLOWSPEC,
ReceivingFlowspec: FLOWSPEC,
TcObjectsLength: u32,
TcObjects: [1]QOS_OBJECT_HDR,
};
pub const IP_PATTERN = extern struct {
Reserved1: u32,
Reserved2: u32,
SrcAddr: u32,
DstAddr: u32,
S_un: extern union {
S_un_ports: extern struct {
s_srcport: u16,
s_dstport: u16,
},
S_un_icmp: extern struct {
s_type: u8,
s_code: u8,
filler: u16,
},
S_Spi: u32,
},
ProtocolId: u8,
Reserved3: [3]u8,
};
pub const IPX_PATTERN = extern struct {
Src: extern struct {
NetworkAddress: u32,
NodeAddress: [6]u8,
Socket: u16,
},
Dest: extern struct {
NetworkAddress: u32,
NodeAddress: [6]u8,
Socket: u16,
},
};
pub const ENUMERATION_BUFFER = extern struct {
Length: u32,
OwnerProcessId: u32,
FlowNameLength: u16,
FlowName: [256]u16,
pFlow: ?*TC_GEN_FLOW,
NumberOfFilters: u32,
GenericFilter: [1]TC_GEN_FILTER,
};
pub const IN_ADDR_IPV4 = extern union {
Addr: u32,
AddrBytes: [4]u8,
};
pub const IN_ADDR_IPV6 = extern struct {
Addr: [16]u8,
};
pub const RSVP_FILTERSPEC_V4 = extern struct {
Address: IN_ADDR_IPV4,
Unused: u16,
Port: u16,
};
pub const RSVP_FILTERSPEC_V6 = extern struct {
Address: IN_ADDR_IPV6,
UnUsed: u16,
Port: u16,
};
pub const RSVP_FILTERSPEC_V6_FLOW = extern struct {
Address: IN_ADDR_IPV6,
UnUsed: u8,
FlowLabel: [3]u8,
};
pub const RSVP_FILTERSPEC_V4_GPI = extern struct {
Address: IN_ADDR_IPV4,
GeneralPortId: u32,
};
pub const RSVP_FILTERSPEC_V6_GPI = extern struct {
Address: IN_ADDR_IPV6,
GeneralPortId: u32,
};
pub const FilterType = enum(i32) {
V4 = 1,
V6 = 2,
V6_FLOW = 3,
V4_GPI = 4,
V6_GPI = 5,
_END = 6,
};
pub const FILTERSPECV4 = FilterType.V4;
pub const FILTERSPECV6 = FilterType.V6;
pub const FILTERSPECV6_FLOW = FilterType.V6_FLOW;
pub const FILTERSPECV4_GPI = FilterType.V4_GPI;
pub const FILTERSPECV6_GPI = FilterType.V6_GPI;
pub const FILTERSPEC_END = FilterType._END;
pub const RSVP_FILTERSPEC = extern struct {
Type: FilterType,
Anonymous: extern union {
FilterSpecV4: RSVP_FILTERSPEC_V4,
FilterSpecV6: RSVP_FILTERSPEC_V6,
FilterSpecV6Flow: RSVP_FILTERSPEC_V6_FLOW,
FilterSpecV4Gpi: RSVP_FILTERSPEC_V4_GPI,
FilterSpecV6Gpi: RSVP_FILTERSPEC_V6_GPI,
},
};
pub const FLOWDESCRIPTOR = extern struct {
FlowSpec: FLOWSPEC,
NumFilters: u32,
FilterList: ?*RSVP_FILTERSPEC,
};
pub const RSVP_POLICY = extern struct {
Len: u16,
Type: u16,
Info: [4]u8,
};
pub const RSVP_POLICY_INFO = extern struct {
ObjectHdr: QOS_OBJECT_HDR,
NumPolicyElement: u32,
PolicyElement: [1]RSVP_POLICY,
};
pub const RSVP_RESERVE_INFO = extern struct {
ObjectHdr: QOS_OBJECT_HDR,
Style: u32,
ConfirmRequest: u32,
PolicyElementList: ?*RSVP_POLICY_INFO,
NumFlowDesc: u32,
FlowDescList: ?*FLOWDESCRIPTOR,
};
pub const RSVP_STATUS_INFO = extern struct {
ObjectHdr: QOS_OBJECT_HDR,
StatusCode: u32,
ExtendedStatus1: u32,
ExtendedStatus2: u32,
};
pub const QOS_DESTADDR = extern struct {
ObjectHdr: QOS_OBJECT_HDR,
SocketAddress: ?*const SOCKADDR,
SocketAddressLength: u32,
};
pub const AD_GENERAL_PARAMS = extern struct {
IntServAwareHopCount: u32,
PathBandwidthEstimate: u32,
MinimumLatency: u32,
PathMTU: u32,
Flags: u32,
};
pub const AD_GUARANTEED = extern struct {
CTotal: u32,
DTotal: u32,
CSum: u32,
DSum: u32,
};
pub const PARAM_BUFFER = extern struct {
ParameterId: u32,
Length: u32,
Buffer: [1]u8,
};
pub const CONTROL_SERVICE = extern struct {
Length: u32,
Service: u32,
Overrides: AD_GENERAL_PARAMS,
Anonymous: extern union {
Guaranteed: AD_GUARANTEED,
ParamBuffer: [1]PARAM_BUFFER,
},
};
pub const RSVP_ADSPEC = extern struct {
ObjectHdr: QOS_OBJECT_HDR,
GeneralParams: AD_GENERAL_PARAMS,
NumberOfServices: u32,
Services: [1]CONTROL_SERVICE,
};
pub const IDPE_ATTR = extern struct {
PeAttribLength: u16,
PeAttribType: u8,
PeAttribSubType: u8,
PeAttribValue: [4]u8,
};
pub const WBCL_Iterator = extern struct {
firstElementPtr: ?*anyopaque align(1),
logSize: u32 align(1),
currentElementPtr: ?*anyopaque align(1),
currentElementSize: u32 align(1),
digestSize: u16 align(1),
logFormat: u16 align(1),
numberOfDigests: u32 align(1),
digestSizes: ?*anyopaque align(1),
supportedAlgorithms: u32 align(1),
hashAlgorithm: u16 align(1),
};
pub const TCG_PCClientPCREventStruct = extern struct {
pcrIndex: u32 align(1),
eventType: u32 align(1),
digest: [20]u8 align(1),
eventDataSize: u32 align(1),
event: [1]u8 align(1),
};
pub const TCG_PCClientTaggedEventStruct = extern struct {
EventID: u32 align(1),
EventDataSize: u32 align(1),
EventData: [1]u8 align(1),
};
pub const WBCL_LogHdr = extern struct {
signature: u32 align(1),
version: u32 align(1),
entries: u32 align(1),
length: u32 align(1),
};
pub const tag_SIPAEVENT_VSM_IDK_RSA_INFO = extern struct {
KeyBitLength: u32 align(1),
PublicExpLengthBytes: u32 align(1),
ModulusSizeBytes: u32 align(1),
PublicKeyData: [1]u8 align(1),
};
pub const tag_SIPAEVENT_VSM_IDK_INFO_PAYLOAD = extern struct {
KeyAlgID: u32 align(1),
Anonymous: extern union {
RsaKeyInfo: tag_SIPAEVENT_VSM_IDK_RSA_INFO,
} align(1),
};
pub const tag_SIPAEVENT_SI_POLICY_PAYLOAD = extern struct {
PolicyVersion: u64 align(1),
PolicyNameLength: u16 align(1),
HashAlgID: u16 align(1),
DigestLength: u32 align(1),
VarLengthData: [1]u8 align(1),
};
pub const tag_SIPAEVENT_REVOCATION_LIST_PAYLOAD = extern struct {
CreationTime: i64 align(1),
DigestLength: u32 align(1),
HashAlgID: u16 align(1),
Digest: [1]u8 align(1),
};
pub const tag_SIPAEVENT_KSR_SIGNATURE_PAYLOAD = extern struct {
SignAlgID: u32 align(1),
SignatureLength: u32 align(1),
Signature: [1]u8 align(1),
};
pub const tag_SIPAEVENT_SBCP_INFO_PAYLOAD_V1 = extern struct {
PayloadVersion: u32 align(1),
VarDataOffset: u32 align(1),
HashAlgID: u16 align(1),
DigestLength: u16 align(1),
Options: u32 align(1),
SignersCount: u32 align(1),
VarData: [1]u8 align(1),
};
pub const QOS = extern struct {
SendingFlowspec: FLOWSPEC,
ReceivingFlowspec: FLOWSPEC,
ProviderSpecific: WSABUF,
};
//--------------------------------------------------------------------------------
// Section: Functions (31)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "qwave" fn QOSCreateHandle(
Version: ?*QOS_VERSION,
QOSHandle: ?*?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "qwave" fn QOSCloseHandle(
QOSHandle: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "qwave" fn QOSStartTrackingClient(
QOSHandle: ?HANDLE,
DestAddr: ?*SOCKADDR,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "qwave" fn QOSStopTrackingClient(
QOSHandle: ?HANDLE,
DestAddr: ?*SOCKADDR,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "qwave" fn QOSEnumerateFlows(
QOSHandle: ?HANDLE,
Size: ?*u32,
// TODO: what to do with BytesParamIndex 1?
Buffer: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "qwave" fn QOSAddSocketToFlow(
QOSHandle: ?HANDLE,
Socket: ?SOCKET,
DestAddr: ?*SOCKADDR,
TrafficType: QOS_TRAFFIC_TYPE,
Flags: u32,
FlowId: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
// This function from dll 'qwave' is being skipped because it has some sort of issue
pub fn QOSRemoveSocketFromFlow() void { @panic("this function is not working"); }
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "qwave" fn QOSSetFlow(
QOSHandle: ?HANDLE,
FlowId: u32,
Operation: QOS_SET_FLOW,
Size: u32,
// TODO: what to do with BytesParamIndex 3?
Buffer: ?*anyopaque,
Flags: u32,
Overlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "qwave" fn QOSQueryFlow(
QOSHandle: ?HANDLE,
FlowId: u32,
Operation: QOS_QUERY_FLOW,
Size: ?*u32,
// TODO: what to do with BytesParamIndex 3?
Buffer: ?*anyopaque,
Flags: u32,
Overlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "qwave" fn QOSNotifyFlow(
QOSHandle: ?HANDLE,
FlowId: u32,
Operation: QOS_NOTIFY_FLOW,
Size: ?*u32,
// TODO: what to do with BytesParamIndex 3?
Buffer: ?*anyopaque,
Flags: u32,
Overlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "qwave" fn QOSCancel(
QOSHandle: ?HANDLE,
Overlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "traffic" fn TcRegisterClient(
TciVersion: u32,
ClRegCtx: ?HANDLE,
ClientHandlerList: ?*TCI_CLIENT_FUNC_LIST,
pClientHandle: ?*?HANDLE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "traffic" fn TcEnumerateInterfaces(
ClientHandle: ?HANDLE,
pBufferSize: ?*u32,
InterfaceBuffer: ?*TC_IFC_DESCRIPTOR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "traffic" fn TcOpenInterfaceA(
pInterfaceName: ?PSTR,
ClientHandle: ?HANDLE,
ClIfcCtx: ?HANDLE,
pIfcHandle: ?*?HANDLE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "traffic" fn TcOpenInterfaceW(
pInterfaceName: ?PWSTR,
ClientHandle: ?HANDLE,
ClIfcCtx: ?HANDLE,
pIfcHandle: ?*?HANDLE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "traffic" fn TcCloseInterface(
IfcHandle: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "traffic" fn TcQueryInterface(
IfcHandle: ?HANDLE,
pGuidParam: ?*Guid,
NotifyChange: BOOLEAN,
pBufferSize: ?*u32,
// TODO: what to do with BytesParamIndex 3?
Buffer: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "traffic" fn TcSetInterface(
IfcHandle: ?HANDLE,
pGuidParam: ?*Guid,
BufferSize: u32,
// TODO: what to do with BytesParamIndex 2?
Buffer: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "traffic" fn TcQueryFlowA(
pFlowName: ?PSTR,
pGuidParam: ?*Guid,
pBufferSize: ?*u32,
// TODO: what to do with BytesParamIndex 2?
Buffer: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "traffic" fn TcQueryFlowW(
pFlowName: ?PWSTR,
pGuidParam: ?*Guid,
pBufferSize: ?*u32,
// TODO: what to do with BytesParamIndex 2?
Buffer: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "traffic" fn TcSetFlowA(
pFlowName: ?PSTR,
pGuidParam: ?*Guid,
BufferSize: u32,
// TODO: what to do with BytesParamIndex 2?
Buffer: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "traffic" fn TcSetFlowW(
pFlowName: ?PWSTR,
pGuidParam: ?*Guid,
BufferSize: u32,
// TODO: what to do with BytesParamIndex 2?
Buffer: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "traffic" fn TcAddFlow(
IfcHandle: ?HANDLE,
ClFlowCtx: ?HANDLE,
Flags: u32,
pGenericFlow: ?*TC_GEN_FLOW,
pFlowHandle: ?*?HANDLE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "traffic" fn TcGetFlowNameA(
FlowHandle: ?HANDLE,
StrSize: u32,
pFlowName: [*:0]u8,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "traffic" fn TcGetFlowNameW(
FlowHandle: ?HANDLE,
StrSize: u32,
pFlowName: [*:0]u16,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "traffic" fn TcModifyFlow(
FlowHandle: ?HANDLE,
pGenericFlow: ?*TC_GEN_FLOW,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "traffic" fn TcAddFilter(
FlowHandle: ?HANDLE,
pGenericFilter: ?*TC_GEN_FILTER,
pFilterHandle: ?*?HANDLE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "traffic" fn TcDeregisterClient(
ClientHandle: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "traffic" fn TcDeleteFlow(
FlowHandle: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "traffic" fn TcDeleteFilter(
FilterHandle: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "traffic" fn TcEnumerateFlows(
IfcHandle: ?HANDLE,
pEnumHandle: ?*?HANDLE,
pFlowCount: ?*u32,
pBufSize: ?*u32,
Buffer: ?*ENUMERATION_BUFFER,
) callconv(@import("std").os.windows.WINAPI) u32;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (4)
//--------------------------------------------------------------------------------
const thismodule = @This();
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
pub const TcOpenInterface = thismodule.TcOpenInterfaceA;
pub const TcQueryFlow = thismodule.TcQueryFlowA;
pub const TcSetFlow = thismodule.TcSetFlowA;
pub const TcGetFlowName = thismodule.TcGetFlowNameA;
},
.wide => struct {
pub const TcOpenInterface = thismodule.TcOpenInterfaceW;
pub const TcQueryFlow = thismodule.TcQueryFlowW;
pub const TcSetFlow = thismodule.TcSetFlowW;
pub const TcGetFlowName = thismodule.TcGetFlowNameW;
},
.unspecified => if (@import("builtin").is_test) struct {
pub const TcOpenInterface = *opaque{};
pub const TcQueryFlow = *opaque{};
pub const TcSetFlow = *opaque{};
pub const TcGetFlowName = *opaque{};
} else struct {
pub const TcOpenInterface = @compileError("'TcOpenInterface' requires that UNICODE be set to true or false in the root module");
pub const TcQueryFlow = @compileError("'TcQueryFlow' requires that UNICODE be set to true or false in the root module");
pub const TcSetFlow = @compileError("'TcSetFlow' requires that UNICODE be set to true or false in the root module");
pub const TcGetFlowName = @compileError("'TcGetFlowName' requires that UNICODE be set to true or false in the root module");
},
};
//--------------------------------------------------------------------------------
// Section: Imports (12)
//--------------------------------------------------------------------------------
const Guid = @import("../zig.zig").Guid;
const BOOL = @import("../foundation.zig").BOOL;
const BOOLEAN = @import("../foundation.zig").BOOLEAN;
const HANDLE = @import("../foundation.zig").HANDLE;
const IN_ADDR = @import("../networking/win_sock.zig").IN_ADDR;
const NETWORK_ADDRESS_LIST = @import("../network_management/ndis.zig").NETWORK_ADDRESS_LIST;
const OVERLAPPED = @import("../system/io.zig").OVERLAPPED;
const PSTR = @import("../foundation.zig").PSTR;
const PWSTR = @import("../foundation.zig").PWSTR;
const SOCKADDR = @import("../networking/win_sock.zig").SOCKADDR;
const SOCKET = @import("../networking/win_sock.zig").SOCKET;
const WSABUF = @import("../networking/win_sock.zig").WSABUF;
test {
// The following '_ = <FuncPtrType>' lines are a workaround for https://github.com/ziglang/zig/issues/4476
if (@hasDecl(@This(), "PALLOCMEM")) { _ = PALLOCMEM; }
if (@hasDecl(@This(), "PFREEMEM")) { _ = PFREEMEM; }
if (@hasDecl(@This(), "CBADMITRESULT")) { _ = CBADMITRESULT; }
if (@hasDecl(@This(), "CBGETRSVPOBJECTS")) { _ = CBGETRSVPOBJECTS; }
if (@hasDecl(@This(), "TCI_NOTIFY_HANDLER")) { _ = TCI_NOTIFY_HANDLER; }
if (@hasDecl(@This(), "TCI_ADD_FLOW_COMPLETE_HANDLER")) { _ = TCI_ADD_FLOW_COMPLETE_HANDLER; }
if (@hasDecl(@This(), "TCI_MOD_FLOW_COMPLETE_HANDLER")) { _ = TCI_MOD_FLOW_COMPLETE_HANDLER; }
if (@hasDecl(@This(), "TCI_DEL_FLOW_COMPLETE_HANDLER")) { _ = TCI_DEL_FLOW_COMPLETE_HANDLER; }
@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);
}
}