zigwin32/win32/network_management/dhcp.zig

3592 lines
117 KiB
Zig

//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (323)
//--------------------------------------------------------------------------------
pub const OPTION_PAD = @as(u32, 0);
pub const OPTION_SUBNET_MASK = @as(u32, 1);
pub const OPTION_TIME_OFFSET = @as(u32, 2);
pub const OPTION_ROUTER_ADDRESS = @as(u32, 3);
pub const OPTION_TIME_SERVERS = @as(u32, 4);
pub const OPTION_IEN116_NAME_SERVERS = @as(u32, 5);
pub const OPTION_DOMAIN_NAME_SERVERS = @as(u32, 6);
pub const OPTION_LOG_SERVERS = @as(u32, 7);
pub const OPTION_COOKIE_SERVERS = @as(u32, 8);
pub const OPTION_LPR_SERVERS = @as(u32, 9);
pub const OPTION_IMPRESS_SERVERS = @as(u32, 10);
pub const OPTION_RLP_SERVERS = @as(u32, 11);
pub const OPTION_HOST_NAME = @as(u32, 12);
pub const OPTION_BOOT_FILE_SIZE = @as(u32, 13);
pub const OPTION_MERIT_DUMP_FILE = @as(u32, 14);
pub const OPTION_DOMAIN_NAME = @as(u32, 15);
pub const OPTION_SWAP_SERVER = @as(u32, 16);
pub const OPTION_ROOT_DISK = @as(u32, 17);
pub const OPTION_EXTENSIONS_PATH = @as(u32, 18);
pub const OPTION_BE_A_ROUTER = @as(u32, 19);
pub const OPTION_NON_LOCAL_SOURCE_ROUTING = @as(u32, 20);
pub const OPTION_POLICY_FILTER_FOR_NLSR = @as(u32, 21);
pub const OPTION_MAX_REASSEMBLY_SIZE = @as(u32, 22);
pub const OPTION_DEFAULT_TTL = @as(u32, 23);
pub const OPTION_PMTU_AGING_TIMEOUT = @as(u32, 24);
pub const OPTION_PMTU_PLATEAU_TABLE = @as(u32, 25);
pub const OPTION_MTU = @as(u32, 26);
pub const OPTION_ALL_SUBNETS_MTU = @as(u32, 27);
pub const OPTION_BROADCAST_ADDRESS = @as(u32, 28);
pub const OPTION_PERFORM_MASK_DISCOVERY = @as(u32, 29);
pub const OPTION_BE_A_MASK_SUPPLIER = @as(u32, 30);
pub const OPTION_PERFORM_ROUTER_DISCOVERY = @as(u32, 31);
pub const OPTION_ROUTER_SOLICITATION_ADDR = @as(u32, 32);
pub const OPTION_STATIC_ROUTES = @as(u32, 33);
pub const OPTION_TRAILERS = @as(u32, 34);
pub const OPTION_ARP_CACHE_TIMEOUT = @as(u32, 35);
pub const OPTION_ETHERNET_ENCAPSULATION = @as(u32, 36);
pub const OPTION_TTL = @as(u32, 37);
pub const OPTION_KEEP_ALIVE_INTERVAL = @as(u32, 38);
pub const OPTION_KEEP_ALIVE_DATA_SIZE = @as(u32, 39);
pub const OPTION_NETWORK_INFO_SERVICE_DOM = @as(u32, 40);
pub const OPTION_NETWORK_INFO_SERVERS = @as(u32, 41);
pub const OPTION_NETWORK_TIME_SERVERS = @as(u32, 42);
pub const OPTION_VENDOR_SPEC_INFO = @as(u32, 43);
pub const OPTION_NETBIOS_NAME_SERVER = @as(u32, 44);
pub const OPTION_NETBIOS_DATAGRAM_SERVER = @as(u32, 45);
pub const OPTION_NETBIOS_NODE_TYPE = @as(u32, 46);
pub const OPTION_NETBIOS_SCOPE_OPTION = @as(u32, 47);
pub const OPTION_XWINDOW_FONT_SERVER = @as(u32, 48);
pub const OPTION_XWINDOW_DISPLAY_MANAGER = @as(u32, 49);
pub const OPTION_REQUESTED_ADDRESS = @as(u32, 50);
pub const OPTION_LEASE_TIME = @as(u32, 51);
pub const OPTION_OK_TO_OVERLAY = @as(u32, 52);
pub const OPTION_MESSAGE_TYPE = @as(u32, 53);
pub const OPTION_SERVER_IDENTIFIER = @as(u32, 54);
pub const OPTION_PARAMETER_REQUEST_LIST = @as(u32, 55);
pub const OPTION_MESSAGE = @as(u32, 56);
pub const OPTION_MESSAGE_LENGTH = @as(u32, 57);
pub const OPTION_RENEWAL_TIME = @as(u32, 58);
pub const OPTION_REBIND_TIME = @as(u32, 59);
pub const OPTION_CLIENT_CLASS_INFO = @as(u32, 60);
pub const OPTION_CLIENT_ID = @as(u32, 61);
pub const OPTION_TFTP_SERVER_NAME = @as(u32, 66);
pub const OPTION_BOOTFILE_NAME = @as(u32, 67);
pub const OPTION_MSFT_IE_PROXY = @as(u32, 252);
pub const OPTION_END = @as(u32, 255);
pub const DHCPCAPI_REQUEST_PERSISTENT = @as(u32, 1);
pub const DHCPCAPI_REQUEST_SYNCHRONOUS = @as(u32, 2);
pub const DHCPCAPI_REQUEST_ASYNCHRONOUS = @as(u32, 4);
pub const DHCPCAPI_REQUEST_CANCEL = @as(u32, 8);
pub const DHCPCAPI_REQUEST_MASK = @as(u32, 15);
pub const DHCPCAPI_REGISTER_HANDLE_EVENT = @as(u32, 1);
pub const DHCPCAPI_DEREGISTER_HANDLE_EVENT = @as(u32, 1);
pub const ERROR_DHCP_REGISTRY_INIT_FAILED = @as(u32, 20000);
pub const ERROR_DHCP_DATABASE_INIT_FAILED = @as(u32, 20001);
pub const ERROR_DHCP_RPC_INIT_FAILED = @as(u32, 20002);
pub const ERROR_DHCP_NETWORK_INIT_FAILED = @as(u32, 20003);
pub const ERROR_DHCP_SUBNET_EXITS = @as(u32, 20004);
pub const ERROR_DHCP_SUBNET_NOT_PRESENT = @as(u32, 20005);
pub const ERROR_DHCP_PRIMARY_NOT_FOUND = @as(u32, 20006);
pub const ERROR_DHCP_ELEMENT_CANT_REMOVE = @as(u32, 20007);
pub const ERROR_DHCP_OPTION_EXITS = @as(u32, 20009);
pub const ERROR_DHCP_OPTION_NOT_PRESENT = @as(u32, 20010);
pub const ERROR_DHCP_ADDRESS_NOT_AVAILABLE = @as(u32, 20011);
pub const ERROR_DHCP_RANGE_FULL = @as(u32, 20012);
pub const ERROR_DHCP_JET_ERROR = @as(u32, 20013);
pub const ERROR_DHCP_CLIENT_EXISTS = @as(u32, 20014);
pub const ERROR_DHCP_INVALID_DHCP_MESSAGE = @as(u32, 20015);
pub const ERROR_DHCP_INVALID_DHCP_CLIENT = @as(u32, 20016);
pub const ERROR_DHCP_SERVICE_PAUSED = @as(u32, 20017);
pub const ERROR_DHCP_NOT_RESERVED_CLIENT = @as(u32, 20018);
pub const ERROR_DHCP_RESERVED_CLIENT = @as(u32, 20019);
pub const ERROR_DHCP_RANGE_TOO_SMALL = @as(u32, 20020);
pub const ERROR_DHCP_IPRANGE_EXITS = @as(u32, 20021);
pub const ERROR_DHCP_RESERVEDIP_EXITS = @as(u32, 20022);
pub const ERROR_DHCP_INVALID_RANGE = @as(u32, 20023);
pub const ERROR_DHCP_RANGE_EXTENDED = @as(u32, 20024);
pub const ERROR_EXTEND_TOO_SMALL = @as(u32, 20025);
pub const WARNING_EXTENDED_LESS = @as(i32, 20026);
pub const ERROR_DHCP_JET_CONV_REQUIRED = @as(u32, 20027);
pub const ERROR_SERVER_INVALID_BOOT_FILE_TABLE = @as(u32, 20028);
pub const ERROR_SERVER_UNKNOWN_BOOT_FILE_NAME = @as(u32, 20029);
pub const ERROR_DHCP_SUPER_SCOPE_NAME_TOO_LONG = @as(u32, 20030);
pub const ERROR_DHCP_IP_ADDRESS_IN_USE = @as(u32, 20032);
pub const ERROR_DHCP_LOG_FILE_PATH_TOO_LONG = @as(u32, 20033);
pub const ERROR_DHCP_UNSUPPORTED_CLIENT = @as(u32, 20034);
pub const ERROR_DHCP_JET97_CONV_REQUIRED = @as(u32, 20036);
pub const ERROR_DHCP_ROGUE_INIT_FAILED = @as(u32, 20037);
pub const ERROR_DHCP_ROGUE_SAMSHUTDOWN = @as(u32, 20038);
pub const ERROR_DHCP_ROGUE_NOT_AUTHORIZED = @as(u32, 20039);
pub const ERROR_DHCP_ROGUE_DS_UNREACHABLE = @as(u32, 20040);
pub const ERROR_DHCP_ROGUE_DS_CONFLICT = @as(u32, 20041);
pub const ERROR_DHCP_ROGUE_NOT_OUR_ENTERPRISE = @as(u32, 20042);
pub const ERROR_DHCP_ROGUE_STANDALONE_IN_DS = @as(u32, 20043);
pub const ERROR_DHCP_CLASS_NOT_FOUND = @as(u32, 20044);
pub const ERROR_DHCP_CLASS_ALREADY_EXISTS = @as(u32, 20045);
pub const ERROR_DHCP_SCOPE_NAME_TOO_LONG = @as(u32, 20046);
pub const ERROR_DHCP_DEFAULT_SCOPE_EXITS = @as(u32, 20047);
pub const ERROR_DHCP_CANT_CHANGE_ATTRIBUTE = @as(u32, 20048);
pub const ERROR_DHCP_IPRANGE_CONV_ILLEGAL = @as(u32, 20049);
pub const ERROR_DHCP_NETWORK_CHANGED = @as(u32, 20050);
pub const ERROR_DHCP_CANNOT_MODIFY_BINDINGS = @as(u32, 20051);
pub const ERROR_DHCP_SUBNET_EXISTS = @as(u32, 20052);
pub const ERROR_DHCP_MSCOPE_EXISTS = @as(u32, 20053);
pub const ERROR_MSCOPE_RANGE_TOO_SMALL = @as(u32, 20054);
pub const ERROR_DHCP_EXEMPTION_EXISTS = @as(u32, 20055);
pub const ERROR_DHCP_EXEMPTION_NOT_PRESENT = @as(u32, 20056);
pub const ERROR_DHCP_INVALID_PARAMETER_OPTION32 = @as(u32, 20057);
pub const ERROR_DDS_NO_DS_AVAILABLE = @as(u32, 20070);
pub const ERROR_DDS_NO_DHCP_ROOT = @as(u32, 20071);
pub const ERROR_DDS_UNEXPECTED_ERROR = @as(u32, 20072);
pub const ERROR_DDS_TOO_MANY_ERRORS = @as(u32, 20073);
pub const ERROR_DDS_DHCP_SERVER_NOT_FOUND = @as(u32, 20074);
pub const ERROR_DDS_OPTION_ALREADY_EXISTS = @as(u32, 20075);
pub const ERROR_DDS_OPTION_DOES_NOT_EXIST = @as(u32, 20076);
pub const ERROR_DDS_CLASS_EXISTS = @as(u32, 20077);
pub const ERROR_DDS_CLASS_DOES_NOT_EXIST = @as(u32, 20078);
pub const ERROR_DDS_SERVER_ALREADY_EXISTS = @as(u32, 20079);
pub const ERROR_DDS_SERVER_DOES_NOT_EXIST = @as(u32, 20080);
pub const ERROR_DDS_SERVER_ADDRESS_MISMATCH = @as(u32, 20081);
pub const ERROR_DDS_SUBNET_EXISTS = @as(u32, 20082);
pub const ERROR_DDS_SUBNET_HAS_DIFF_SSCOPE = @as(u32, 20083);
pub const ERROR_DDS_SUBNET_NOT_PRESENT = @as(u32, 20084);
pub const ERROR_DDS_RESERVATION_NOT_PRESENT = @as(u32, 20085);
pub const ERROR_DDS_RESERVATION_CONFLICT = @as(u32, 20086);
pub const ERROR_DDS_POSSIBLE_RANGE_CONFLICT = @as(u32, 20087);
pub const ERROR_DDS_RANGE_DOES_NOT_EXIST = @as(u32, 20088);
pub const ERROR_DHCP_DELETE_BUILTIN_CLASS = @as(u32, 20089);
pub const ERROR_DHCP_INVALID_SUBNET_PREFIX = @as(u32, 20091);
pub const ERROR_DHCP_INVALID_DELAY = @as(u32, 20092);
pub const ERROR_DHCP_LINKLAYER_ADDRESS_EXISTS = @as(u32, 20093);
pub const ERROR_DHCP_LINKLAYER_ADDRESS_RESERVATION_EXISTS = @as(u32, 20094);
pub const ERROR_DHCP_LINKLAYER_ADDRESS_DOES_NOT_EXIST = @as(u32, 20095);
pub const ERROR_DHCP_HARDWARE_ADDRESS_TYPE_ALREADY_EXEMPT = @as(u32, 20101);
pub const ERROR_DHCP_UNDEFINED_HARDWARE_ADDRESS_TYPE = @as(u32, 20102);
pub const ERROR_DHCP_OPTION_TYPE_MISMATCH = @as(u32, 20103);
pub const ERROR_DHCP_POLICY_BAD_PARENT_EXPR = @as(u32, 20104);
pub const ERROR_DHCP_POLICY_EXISTS = @as(u32, 20105);
pub const ERROR_DHCP_POLICY_RANGE_EXISTS = @as(u32, 20106);
pub const ERROR_DHCP_POLICY_RANGE_BAD = @as(u32, 20107);
pub const ERROR_DHCP_RANGE_INVALID_IN_SERVER_POLICY = @as(u32, 20108);
pub const ERROR_DHCP_INVALID_POLICY_EXPRESSION = @as(u32, 20109);
pub const ERROR_DHCP_INVALID_PROCESSING_ORDER = @as(u32, 20110);
pub const ERROR_DHCP_POLICY_NOT_FOUND = @as(u32, 20111);
pub const ERROR_SCOPE_RANGE_POLICY_RANGE_CONFLICT = @as(u32, 20112);
pub const ERROR_DHCP_FO_SCOPE_ALREADY_IN_RELATIONSHIP = @as(u32, 20113);
pub const ERROR_DHCP_FO_RELATIONSHIP_EXISTS = @as(u32, 20114);
pub const ERROR_DHCP_FO_RELATIONSHIP_DOES_NOT_EXIST = @as(u32, 20115);
pub const ERROR_DHCP_FO_SCOPE_NOT_IN_RELATIONSHIP = @as(u32, 20116);
pub const ERROR_DHCP_FO_RELATION_IS_SECONDARY = @as(u32, 20117);
pub const ERROR_DHCP_FO_NOT_SUPPORTED = @as(u32, 20118);
pub const ERROR_DHCP_FO_TIME_OUT_OF_SYNC = @as(u32, 20119);
pub const ERROR_DHCP_FO_STATE_NOT_NORMAL = @as(u32, 20120);
pub const ERROR_DHCP_NO_ADMIN_PERMISSION = @as(u32, 20121);
pub const ERROR_DHCP_SERVER_NOT_REACHABLE = @as(u32, 20122);
pub const ERROR_DHCP_SERVER_NOT_RUNNING = @as(u32, 20123);
pub const ERROR_DHCP_SERVER_NAME_NOT_RESOLVED = @as(u32, 20124);
pub const ERROR_DHCP_FO_RELATIONSHIP_NAME_TOO_LONG = @as(u32, 20125);
pub const ERROR_DHCP_REACHED_END_OF_SELECTION = @as(u32, 20126);
pub const ERROR_DHCP_FO_ADDSCOPE_LEASES_NOT_SYNCED = @as(u32, 20127);
pub const ERROR_DHCP_FO_MAX_RELATIONSHIPS = @as(u32, 20128);
pub const ERROR_DHCP_FO_IPRANGE_TYPE_CONV_ILLEGAL = @as(u32, 20129);
pub const ERROR_DHCP_FO_MAX_ADD_SCOPES = @as(u32, 20130);
pub const ERROR_DHCP_FO_BOOT_NOT_SUPPORTED = @as(u32, 20131);
pub const ERROR_DHCP_FO_RANGE_PART_OF_REL = @as(u32, 20132);
pub const ERROR_DHCP_FO_SCOPE_SYNC_IN_PROGRESS = @as(u32, 20133);
pub const ERROR_DHCP_FO_FEATURE_NOT_SUPPORTED = @as(u32, 20134);
pub const ERROR_DHCP_POLICY_FQDN_RANGE_UNSUPPORTED = @as(u32, 20135);
pub const ERROR_DHCP_POLICY_FQDN_OPTION_UNSUPPORTED = @as(u32, 20136);
pub const ERROR_DHCP_POLICY_EDIT_FQDN_UNSUPPORTED = @as(u32, 20137);
pub const ERROR_DHCP_NAP_NOT_SUPPORTED = @as(u32, 20138);
pub const ERROR_LAST_DHCP_SERVER_ERROR = @as(u32, 20139);
pub const DHCP_SUBNET_INFO_VQ_FLAG_QUARANTINE = @as(u32, 1);
pub const MAX_PATTERN_LENGTH = @as(u32, 255);
pub const MAC_ADDRESS_LENGTH = @as(u32, 6);
pub const HWTYPE_ETHERNET_10MB = @as(u32, 1);
pub const FILTER_STATUS_NONE = @as(u32, 1);
pub const FILTER_STATUS_FULL_MATCH_IN_ALLOW_LIST = @as(u32, 2);
pub const FILTER_STATUS_FULL_MATCH_IN_DENY_LIST = @as(u32, 4);
pub const FILTER_STATUS_WILDCARD_MATCH_IN_ALLOW_LIST = @as(u32, 8);
pub const FILTER_STATUS_WILDCARD_MATCH_IN_DENY_LIST = @as(u32, 16);
pub const Set_APIProtocolSupport = @as(u32, 1);
pub const Set_DatabaseName = @as(u32, 2);
pub const Set_DatabasePath = @as(u32, 4);
pub const Set_BackupPath = @as(u32, 8);
pub const Set_BackupInterval = @as(u32, 16);
pub const Set_DatabaseLoggingFlag = @as(u32, 32);
pub const Set_RestoreFlag = @as(u32, 64);
pub const Set_DatabaseCleanupInterval = @as(u32, 128);
pub const Set_DebugFlag = @as(u32, 256);
pub const Set_PingRetries = @as(u32, 512);
pub const Set_BootFileTable = @as(u32, 1024);
pub const Set_AuditLogState = @as(u32, 2048);
pub const Set_QuarantineON = @as(u32, 4096);
pub const Set_QuarantineDefFail = @as(u32, 8192);
pub const CLIENT_TYPE_UNSPECIFIED = @as(u32, 0);
pub const CLIENT_TYPE_DHCP = @as(u32, 1);
pub const CLIENT_TYPE_BOOTP = @as(u32, 2);
pub const CLIENT_TYPE_RESERVATION_FLAG = @as(u32, 4);
pub const CLIENT_TYPE_NONE = @as(u32, 100);
pub const Set_UnicastFlag = @as(u32, 1);
pub const Set_RapidCommitFlag = @as(u32, 2);
pub const Set_PreferredLifetime = @as(u32, 4);
pub const Set_ValidLifetime = @as(u32, 8);
pub const Set_T1 = @as(u32, 16);
pub const Set_T2 = @as(u32, 32);
pub const Set_PreferredLifetimeIATA = @as(u32, 64);
pub const Set_ValidLifetimeIATA = @as(u32, 128);
pub const V5_ADDRESS_STATE_OFFERED = @as(u32, 0);
pub const V5_ADDRESS_STATE_ACTIVE = @as(u32, 1);
pub const V5_ADDRESS_STATE_DECLINED = @as(u32, 2);
pub const V5_ADDRESS_STATE_DOOM = @as(u32, 3);
pub const V5_ADDRESS_BIT_DELETED = @as(u32, 128);
pub const V5_ADDRESS_BIT_UNREGISTERED = @as(u32, 64);
pub const V5_ADDRESS_BIT_BOTH_REC = @as(u32, 32);
pub const V5_ADDRESS_EX_BIT_DISABLE_PTR_RR = @as(u32, 1);
pub const DNS_FLAG_ENABLED = @as(u32, 1);
pub const DNS_FLAG_UPDATE_DOWNLEVEL = @as(u32, 2);
pub const DNS_FLAG_CLEANUP_EXPIRED = @as(u32, 4);
pub const DNS_FLAG_UPDATE_BOTH_ALWAYS = @as(u32, 16);
pub const DNS_FLAG_UPDATE_DHCID = @as(u32, 32);
pub const DNS_FLAG_DISABLE_PTR_UPDATE = @as(u32, 64);
pub const DNS_FLAG_HAS_DNS_SUFFIX = @as(u32, 128);
pub const DHCP_OPT_ENUM_IGNORE_VENDOR = @as(u32, 1);
pub const DHCP_OPT_ENUM_USE_CLASSNAME = @as(u32, 2);
pub const DHCP_FLAGS_DONT_ACCESS_DS = @as(u32, 1);
pub const DHCP_FLAGS_DONT_DO_RPC = @as(u32, 2);
pub const DHCP_FLAGS_OPTION_IS_VENDOR = @as(u32, 3);
pub const DHCP_ATTRIB_BOOL_IS_ROGUE = @as(u32, 1);
pub const DHCP_ATTRIB_BOOL_IS_DYNBOOTP = @as(u32, 2);
pub const DHCP_ATTRIB_BOOL_IS_PART_OF_DSDC = @as(u32, 3);
pub const DHCP_ATTRIB_BOOL_IS_BINDING_AWARE = @as(u32, 4);
pub const DHCP_ATTRIB_BOOL_IS_ADMIN = @as(u32, 5);
pub const DHCP_ATTRIB_ULONG_RESTORE_STATUS = @as(u32, 6);
pub const DHCP_ATTRIB_TYPE_BOOL = @as(u32, 1);
pub const DHCP_ATTRIB_TYPE_ULONG = @as(u32, 2);
pub const DHCP_ENDPOINT_FLAG_CANT_MODIFY = @as(u32, 1);
pub const QUARANTIN_OPTION_BASE = @as(u32, 43220);
pub const QUARANTINE_SCOPE_QUARPROFILE_OPTION = @as(u32, 43221);
pub const QUARANTINE_CONFIG_OPTION = @as(u32, 43222);
pub const ADDRESS_TYPE_IANA = @as(u32, 0);
pub const ADDRESS_TYPE_IATA = @as(u32, 1);
pub const DHCP_MIN_DELAY = @as(u32, 0);
pub const DHCP_MAX_DELAY = @as(u32, 1000);
pub const DHCP_FAILOVER_DELETE_SCOPES = @as(u32, 1);
pub const DHCP_FAILOVER_MAX_NUM_ADD_SCOPES = @as(u32, 400);
pub const DHCP_FAILOVER_MAX_NUM_REL = @as(u32, 31);
pub const MCLT = @as(u32, 1);
pub const SAFEPERIOD = @as(u32, 2);
pub const CHANGESTATE = @as(u32, 4);
pub const PERCENTAGE = @as(u32, 8);
pub const MODE = @as(u32, 16);
pub const PREVSTATE = @as(u32, 32);
pub const SHAREDSECRET = @as(u32, 64);
pub const DHCP_CALLOUT_LIST_KEY = "System\\CurrentControlSet\\Services\\DHCPServer\\Parameters";
pub const DHCP_CALLOUT_LIST_VALUE = "CalloutDlls";
pub const DHCP_CALLOUT_ENTRY_POINT = "DhcpServerCalloutEntry";
pub const DHCP_CONTROL_START = @as(u32, 1);
pub const DHCP_CONTROL_STOP = @as(u32, 2);
pub const DHCP_CONTROL_PAUSE = @as(u32, 3);
pub const DHCP_CONTROL_CONTINUE = @as(u32, 4);
pub const DHCP_DROP_DUPLICATE = @as(u32, 1);
pub const DHCP_DROP_NOMEM = @as(u32, 2);
pub const DHCP_DROP_INTERNAL_ERROR = @as(u32, 3);
pub const DHCP_DROP_TIMEOUT = @as(u32, 4);
pub const DHCP_DROP_UNAUTH = @as(u32, 5);
pub const DHCP_DROP_PAUSED = @as(u32, 6);
pub const DHCP_DROP_NO_SUBNETS = @as(u32, 7);
pub const DHCP_DROP_INVALID = @as(u32, 8);
pub const DHCP_DROP_WRONG_SERVER = @as(u32, 9);
pub const DHCP_DROP_NOADDRESS = @as(u32, 10);
pub const DHCP_DROP_PROCESSED = @as(u32, 11);
pub const DHCP_DROP_GEN_FAILURE = @as(u32, 256);
pub const DHCP_SEND_PACKET = @as(u32, 268435456);
pub const DHCP_PROB_CONFLICT = @as(u32, 536870913);
pub const DHCP_PROB_DECLINE = @as(u32, 536870914);
pub const DHCP_PROB_RELEASE = @as(u32, 536870915);
pub const DHCP_PROB_NACKED = @as(u32, 536870916);
pub const DHCP_GIVE_ADDRESS_NEW = @as(u32, 805306369);
pub const DHCP_GIVE_ADDRESS_OLD = @as(u32, 805306370);
pub const DHCP_CLIENT_BOOTP = @as(u32, 805306371);
pub const DHCP_CLIENT_DHCP = @as(u32, 805306372);
pub const DHCPV6_OPTION_CLIENTID = @as(u32, 1);
pub const DHCPV6_OPTION_SERVERID = @as(u32, 2);
pub const DHCPV6_OPTION_IA_NA = @as(u32, 3);
pub const DHCPV6_OPTION_IA_TA = @as(u32, 4);
pub const DHCPV6_OPTION_ORO = @as(u32, 6);
pub const DHCPV6_OPTION_PREFERENCE = @as(u32, 7);
pub const DHCPV6_OPTION_UNICAST = @as(u32, 12);
pub const DHCPV6_OPTION_RAPID_COMMIT = @as(u32, 14);
pub const DHCPV6_OPTION_USER_CLASS = @as(u32, 15);
pub const DHCPV6_OPTION_VENDOR_CLASS = @as(u32, 16);
pub const DHCPV6_OPTION_VENDOR_OPTS = @as(u32, 17);
pub const DHCPV6_OPTION_RECONF_MSG = @as(u32, 19);
pub const DHCPV6_OPTION_SIP_SERVERS_NAMES = @as(u32, 21);
pub const DHCPV6_OPTION_SIP_SERVERS_ADDRS = @as(u32, 22);
pub const DHCPV6_OPTION_DNS_SERVERS = @as(u32, 23);
pub const DHCPV6_OPTION_DOMAIN_LIST = @as(u32, 24);
pub const DHCPV6_OPTION_IA_PD = @as(u32, 25);
pub const DHCPV6_OPTION_NIS_SERVERS = @as(u32, 27);
pub const DHCPV6_OPTION_NISP_SERVERS = @as(u32, 28);
pub const DHCPV6_OPTION_NIS_DOMAIN_NAME = @as(u32, 29);
pub const DHCPV6_OPTION_NISP_DOMAIN_NAME = @as(u32, 30);
//--------------------------------------------------------------------------------
// Section: Types (164)
//--------------------------------------------------------------------------------
pub const DHCPV6CAPI_PARAMS = extern struct {
Flags: u32,
OptionId: u32,
IsVendor: BOOL,
Data: ?*u8,
nBytesData: u32,
};
pub const DHCPV6CAPI_PARAMS_ARRAY = extern struct {
nParams: u32,
Params: ?*DHCPV6CAPI_PARAMS,
};
pub const DHCPV6CAPI_CLASSID = extern struct {
Flags: u32,
Data: ?*u8,
nBytesData: u32,
};
pub const StatusCode = enum(i32) {
NO_ERROR = 0,
UNSPECIFIED_FAILURE = 1,
NO_BINDING = 3,
NOPREFIX_AVAIL = 6,
};
pub const STATUS_NO_ERROR = StatusCode.NO_ERROR;
pub const STATUS_UNSPECIFIED_FAILURE = StatusCode.UNSPECIFIED_FAILURE;
pub const STATUS_NO_BINDING = StatusCode.NO_BINDING;
pub const STATUS_NOPREFIX_AVAIL = StatusCode.NOPREFIX_AVAIL;
pub const DHCPV6Prefix = extern struct {
prefix: [16]u8,
prefixLength: u32,
preferredLifeTime: u32,
validLifeTime: u32,
status: StatusCode,
};
pub const DHCPV6PrefixLeaseInformation = extern struct {
nPrefixes: u32,
prefixArray: ?*DHCPV6Prefix,
iaid: u32,
T1: i64,
T2: i64,
MaxLeaseExpirationTime: i64,
LastRenewalTime: i64,
status: StatusCode,
ServerId: ?*u8,
ServerIdLen: u32,
};
pub const DHCPAPI_PARAMS = extern struct {
Flags: u32,
OptionId: u32,
IsVendor: BOOL,
Data: ?*u8,
nBytesData: u32,
};
pub const DHCPCAPI_PARAMS_ARRAY = extern struct {
nParams: u32,
Params: ?*DHCPAPI_PARAMS,
};
pub const DHCPCAPI_CLASSID = extern struct {
Flags: u32,
Data: ?*u8,
nBytesData: u32,
};
pub const LPDHCP_CONTROL = switch (@import("builtin").zig_backend) {
.stage1 => fn(
dwControlCode: u32,
lpReserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
dwControlCode: u32,
lpReserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const LPDHCP_NEWPKT = switch (@import("builtin").zig_backend) {
.stage1 => fn(
Packet: ?*?*u8,
PacketSize: ?*u32,
IpAddress: u32,
Reserved: ?*anyopaque,
PktContext: ?*?*anyopaque,
ProcessIt: ?*i32,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
Packet: ?*?*u8,
PacketSize: ?*u32,
IpAddress: u32,
Reserved: ?*anyopaque,
PktContext: ?*?*anyopaque,
ProcessIt: ?*i32,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const LPDHCP_DROP_SEND = switch (@import("builtin").zig_backend) {
.stage1 => fn(
Packet: ?*?*u8,
PacketSize: ?*u32,
ControlCode: u32,
IpAddress: u32,
Reserved: ?*anyopaque,
PktContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
Packet: ?*?*u8,
PacketSize: ?*u32,
ControlCode: u32,
IpAddress: u32,
Reserved: ?*anyopaque,
PktContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const LPDHCP_PROB = switch (@import("builtin").zig_backend) {
.stage1 => fn(
Packet: ?*u8,
PacketSize: u32,
ControlCode: u32,
IpAddress: u32,
AltAddress: u32,
Reserved: ?*anyopaque,
PktContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
Packet: ?*u8,
PacketSize: u32,
ControlCode: u32,
IpAddress: u32,
AltAddress: u32,
Reserved: ?*anyopaque,
PktContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const LPDHCP_GIVE_ADDRESS = switch (@import("builtin").zig_backend) {
.stage1 => fn(
Packet: ?*u8,
PacketSize: u32,
ControlCode: u32,
IpAddress: u32,
AltAddress: u32,
AddrType: u32,
LeaseTime: u32,
Reserved: ?*anyopaque,
PktContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
Packet: ?*u8,
PacketSize: u32,
ControlCode: u32,
IpAddress: u32,
AltAddress: u32,
AddrType: u32,
LeaseTime: u32,
Reserved: ?*anyopaque,
PktContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const LPDHCP_HANDLE_OPTIONS = switch (@import("builtin").zig_backend) {
.stage1 => fn(
Packet: ?*u8,
PacketSize: u32,
Reserved: ?*anyopaque,
PktContext: ?*anyopaque,
ServerOptions: ?*DHCP_SERVER_OPTIONS,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
Packet: ?*u8,
PacketSize: u32,
Reserved: ?*anyopaque,
PktContext: ?*anyopaque,
ServerOptions: ?*DHCP_SERVER_OPTIONS,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const LPDHCP_DELETE_CLIENT = switch (@import("builtin").zig_backend) {
.stage1 => fn(
IpAddress: u32,
HwAddress: ?*u8,
HwAddressLength: u32,
Reserved: u32,
ClientType: u32,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
IpAddress: u32,
HwAddress: ?*u8,
HwAddressLength: u32,
Reserved: u32,
ClientType: u32,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const DHCP_CALLOUT_TABLE = extern struct {
DhcpControlHook: ?LPDHCP_CONTROL,
DhcpNewPktHook: ?LPDHCP_NEWPKT,
DhcpPktDropHook: ?LPDHCP_DROP_SEND,
DhcpPktSendHook: ?LPDHCP_DROP_SEND,
DhcpAddressDelHook: ?LPDHCP_PROB,
DhcpAddressOfferHook: ?LPDHCP_GIVE_ADDRESS,
DhcpHandleOptionsHook: ?LPDHCP_HANDLE_OPTIONS,
DhcpDeleteClientHook: ?LPDHCP_DELETE_CLIENT,
DhcpExtensionHook: ?*anyopaque,
DhcpReservedHook: ?*anyopaque,
};
pub const LPDHCP_ENTRY_POINT_FUNC = switch (@import("builtin").zig_backend) {
.stage1 => fn(
ChainDlls: ?PWSTR,
CalloutVersion: u32,
CalloutTbl: ?*DHCP_CALLOUT_TABLE,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
ChainDlls: ?PWSTR,
CalloutVersion: u32,
CalloutTbl: ?*DHCP_CALLOUT_TABLE,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const DATE_TIME = extern struct {
dwLowDateTime: u32,
dwHighDateTime: u32,
};
pub const DHCP_IP_RANGE = extern struct {
StartAddress: u32,
EndAddress: u32,
};
pub const DHCP_BINARY_DATA = extern struct {
DataLength: u32,
Data: ?*u8,
};
pub const DHCP_HOST_INFO = extern struct {
IpAddress: u32,
NetBiosName: ?PWSTR,
HostName: ?PWSTR,
};
pub const DHCP_FORCE_FLAG = enum(i32) {
FullForce = 0,
NoForce = 1,
FailoverForce = 2,
};
pub const DhcpFullForce = DHCP_FORCE_FLAG.FullForce;
pub const DhcpNoForce = DHCP_FORCE_FLAG.NoForce;
pub const DhcpFailoverForce = DHCP_FORCE_FLAG.FailoverForce;
pub const DWORD_DWORD = extern struct {
DWord1: u32,
DWord2: u32,
};
pub const DHCP_SUBNET_STATE = enum(i32) {
Enabled = 0,
Disabled = 1,
EnabledSwitched = 2,
DisabledSwitched = 3,
InvalidState = 4,
};
pub const DhcpSubnetEnabled = DHCP_SUBNET_STATE.Enabled;
pub const DhcpSubnetDisabled = DHCP_SUBNET_STATE.Disabled;
pub const DhcpSubnetEnabledSwitched = DHCP_SUBNET_STATE.EnabledSwitched;
pub const DhcpSubnetDisabledSwitched = DHCP_SUBNET_STATE.DisabledSwitched;
pub const DhcpSubnetInvalidState = DHCP_SUBNET_STATE.InvalidState;
pub const DHCP_SUBNET_INFO = extern struct {
SubnetAddress: u32,
SubnetMask: u32,
SubnetName: ?PWSTR,
SubnetComment: ?PWSTR,
PrimaryHost: DHCP_HOST_INFO,
SubnetState: DHCP_SUBNET_STATE,
};
pub const DHCP_SUBNET_INFO_VQ = extern struct {
SubnetAddress: u32,
SubnetMask: u32,
SubnetName: ?PWSTR,
SubnetComment: ?PWSTR,
PrimaryHost: DHCP_HOST_INFO,
SubnetState: DHCP_SUBNET_STATE,
QuarantineOn: u32,
Reserved1: u32,
Reserved2: u32,
Reserved3: i64,
Reserved4: i64,
};
pub const DHCP_IP_ARRAY = extern struct {
NumElements: u32,
Elements: [*]u32,
};
pub const DHCP_IP_CLUSTER = extern struct {
ClusterAddress: u32,
ClusterMask: u32,
};
pub const DHCP_IP_RESERVATION = extern struct {
ReservedIpAddress: u32,
ReservedForClient: ?*DHCP_BINARY_DATA,
};
pub const DHCP_SUBNET_ELEMENT_TYPE = enum(i32) {
IpRanges = 0,
SecondaryHosts = 1,
ReservedIps = 2,
ExcludedIpRanges = 3,
IpUsedClusters = 4,
IpRangesDhcpOnly = 5,
IpRangesDhcpBootp = 6,
IpRangesBootpOnly = 7,
};
pub const DhcpIpRanges = DHCP_SUBNET_ELEMENT_TYPE.IpRanges;
pub const DhcpSecondaryHosts = DHCP_SUBNET_ELEMENT_TYPE.SecondaryHosts;
pub const DhcpReservedIps = DHCP_SUBNET_ELEMENT_TYPE.ReservedIps;
pub const DhcpExcludedIpRanges = DHCP_SUBNET_ELEMENT_TYPE.ExcludedIpRanges;
pub const DhcpIpUsedClusters = DHCP_SUBNET_ELEMENT_TYPE.IpUsedClusters;
pub const DhcpIpRangesDhcpOnly = DHCP_SUBNET_ELEMENT_TYPE.IpRangesDhcpOnly;
pub const DhcpIpRangesDhcpBootp = DHCP_SUBNET_ELEMENT_TYPE.IpRangesDhcpBootp;
pub const DhcpIpRangesBootpOnly = DHCP_SUBNET_ELEMENT_TYPE.IpRangesBootpOnly;
pub const DHCP_SUBNET_ELEMENT_DATA = extern struct {
pub const DHCP_SUBNET_ELEMENT_UNION = extern union {
IpRange: ?*DHCP_IP_RANGE,
SecondaryHost: ?*DHCP_HOST_INFO,
ReservedIp: ?*DHCP_IP_RESERVATION,
ExcludeIpRange: ?*DHCP_IP_RANGE,
IpUsedCluster: ?*DHCP_IP_CLUSTER,
};
ElementType: DHCP_SUBNET_ELEMENT_TYPE,
Element: DHCP_SUBNET_ELEMENT_UNION,
};
// WARNING: this type symbol conflicts with something!
pub const DHCP_SUBNET_ELEMENT_UNION_CONFLICT_ = usize;
pub const DHCP_SUBNET_ELEMENT_INFO_ARRAY = extern struct {
NumElements: u32,
Elements: ?*DHCP_SUBNET_ELEMENT_DATA,
};
pub const DHCP_IPV6_ADDRESS = extern struct {
HighOrderBits: u64,
LowOrderBits: u64,
};
pub const DHCP_FILTER_LIST_TYPE = enum(i32) {
Deny = 0,
Allow = 1,
};
pub const Deny = DHCP_FILTER_LIST_TYPE.Deny;
pub const Allow = DHCP_FILTER_LIST_TYPE.Allow;
pub const DHCP_ADDR_PATTERN = extern struct {
MatchHWType: BOOL,
HWType: u8,
IsWildcard: BOOL,
Length: u8,
Pattern: [255]u8,
};
pub const DHCP_FILTER_ADD_INFO = extern struct {
AddrPatt: DHCP_ADDR_PATTERN,
Comment: ?PWSTR,
ListType: DHCP_FILTER_LIST_TYPE,
};
pub const DHCP_FILTER_GLOBAL_INFO = extern struct {
EnforceAllowList: BOOL,
EnforceDenyList: BOOL,
};
pub const DHCP_FILTER_RECORD = extern struct {
AddrPatt: DHCP_ADDR_PATTERN,
Comment: ?PWSTR,
};
pub const DHCP_FILTER_ENUM_INFO = extern struct {
NumElements: u32,
pEnumRecords: ?*DHCP_FILTER_RECORD,
};
pub const DHCP_OPTION_DATA_TYPE = enum(i32) {
ByteOption = 0,
WordOption = 1,
DWordOption = 2,
DWordDWordOption = 3,
IpAddressOption = 4,
StringDataOption = 5,
BinaryDataOption = 6,
EncapsulatedDataOption = 7,
Ipv6AddressOption = 8,
};
pub const DhcpByteOption = DHCP_OPTION_DATA_TYPE.ByteOption;
pub const DhcpWordOption = DHCP_OPTION_DATA_TYPE.WordOption;
pub const DhcpDWordOption = DHCP_OPTION_DATA_TYPE.DWordOption;
pub const DhcpDWordDWordOption = DHCP_OPTION_DATA_TYPE.DWordDWordOption;
pub const DhcpIpAddressOption = DHCP_OPTION_DATA_TYPE.IpAddressOption;
pub const DhcpStringDataOption = DHCP_OPTION_DATA_TYPE.StringDataOption;
pub const DhcpBinaryDataOption = DHCP_OPTION_DATA_TYPE.BinaryDataOption;
pub const DhcpEncapsulatedDataOption = DHCP_OPTION_DATA_TYPE.EncapsulatedDataOption;
pub const DhcpIpv6AddressOption = DHCP_OPTION_DATA_TYPE.Ipv6AddressOption;
pub const DHCP_OPTION_DATA_ELEMENT = extern struct {
pub const DHCP_OPTION_ELEMENT_UNION = extern union {
ByteOption: u8,
WordOption: u16,
DWordOption: u32,
DWordDWordOption: DWORD_DWORD,
IpAddressOption: u32,
StringDataOption: ?PWSTR,
BinaryDataOption: DHCP_BINARY_DATA,
EncapsulatedDataOption: DHCP_BINARY_DATA,
Ipv6AddressDataOption: ?PWSTR,
};
OptionType: DHCP_OPTION_DATA_TYPE,
Element: DHCP_OPTION_ELEMENT_UNION,
};
// WARNING: this type symbol conflicts with something!
pub const DHCP_OPTION_ELEMENT_UNION_CONFLICT_ = usize;
pub const DHCP_OPTION_DATA = extern struct {
NumElements: u32,
Elements: ?*DHCP_OPTION_DATA_ELEMENT,
};
pub const DHCP_OPTION_TYPE = enum(i32) {
UnaryElementTypeOption = 0,
ArrayTypeOption = 1,
};
pub const DhcpUnaryElementTypeOption = DHCP_OPTION_TYPE.UnaryElementTypeOption;
pub const DhcpArrayTypeOption = DHCP_OPTION_TYPE.ArrayTypeOption;
pub const DHCP_OPTION = extern struct {
OptionID: u32,
OptionName: ?PWSTR,
OptionComment: ?PWSTR,
DefaultValue: DHCP_OPTION_DATA,
OptionType: DHCP_OPTION_TYPE,
};
pub const DHCP_OPTION_ARRAY = extern struct {
NumElements: u32,
Options: ?*DHCP_OPTION,
};
pub const DHCP_OPTION_VALUE = extern struct {
OptionID: u32,
Value: DHCP_OPTION_DATA,
};
pub const DHCP_OPTION_VALUE_ARRAY = extern struct {
NumElements: u32,
Values: ?*DHCP_OPTION_VALUE,
};
pub const DHCP_OPTION_SCOPE_TYPE = enum(i32) {
DefaultOptions = 0,
GlobalOptions = 1,
SubnetOptions = 2,
ReservedOptions = 3,
MScopeOptions = 4,
};
pub const DhcpDefaultOptions = DHCP_OPTION_SCOPE_TYPE.DefaultOptions;
pub const DhcpGlobalOptions = DHCP_OPTION_SCOPE_TYPE.GlobalOptions;
pub const DhcpSubnetOptions = DHCP_OPTION_SCOPE_TYPE.SubnetOptions;
pub const DhcpReservedOptions = DHCP_OPTION_SCOPE_TYPE.ReservedOptions;
pub const DhcpMScopeOptions = DHCP_OPTION_SCOPE_TYPE.MScopeOptions;
pub const DHCP_RESERVED_SCOPE = extern struct {
ReservedIpAddress: u32,
ReservedIpSubnetAddress: u32,
};
pub const DHCP_OPTION_SCOPE_INFO = extern struct {
pub const _DHCP_OPTION_SCOPE_UNION = extern union {
DefaultScopeInfo: ?*anyopaque,
GlobalScopeInfo: ?*anyopaque,
SubnetScopeInfo: u32,
ReservedScopeInfo: DHCP_RESERVED_SCOPE,
MScopeInfo: ?PWSTR,
};
ScopeType: DHCP_OPTION_SCOPE_TYPE,
ScopeInfo: _DHCP_OPTION_SCOPE_UNION,
};
pub const DHCP_OPTION_SCOPE_TYPE6 = enum(i32) {
DefaultOptions6 = 0,
ScopeOptions6 = 1,
ReservedOptions6 = 2,
GlobalOptions6 = 3,
};
pub const DhcpDefaultOptions6 = DHCP_OPTION_SCOPE_TYPE6.DefaultOptions6;
pub const DhcpScopeOptions6 = DHCP_OPTION_SCOPE_TYPE6.ScopeOptions6;
pub const DhcpReservedOptions6 = DHCP_OPTION_SCOPE_TYPE6.ReservedOptions6;
pub const DhcpGlobalOptions6 = DHCP_OPTION_SCOPE_TYPE6.GlobalOptions6;
pub const DHCP_RESERVED_SCOPE6 = extern struct {
ReservedIpAddress: DHCP_IPV6_ADDRESS,
ReservedIpSubnetAddress: DHCP_IPV6_ADDRESS,
};
pub const DHCP_OPTION_SCOPE_INFO6 = extern struct {
pub const DHCP_OPTION_SCOPE_UNION6 = extern union {
DefaultScopeInfo: ?*anyopaque,
SubnetScopeInfo: DHCP_IPV6_ADDRESS,
ReservedScopeInfo: DHCP_RESERVED_SCOPE6,
};
ScopeType: DHCP_OPTION_SCOPE_TYPE6,
ScopeInfo: DHCP_OPTION_SCOPE_UNION6,
};
// WARNING: this type symbol conflicts with something!
pub const DHCP_OPTION_SCOPE_UNION6_CONFLICT_ = usize;
pub const DHCP_OPTION_LIST = extern struct {
NumOptions: u32,
Options: ?*DHCP_OPTION_VALUE,
};
pub const DHCP_CLIENT_INFO = extern struct {
ClientIpAddress: u32,
SubnetMask: u32,
ClientHardwareAddress: DHCP_BINARY_DATA,
ClientName: ?PWSTR,
ClientComment: ?PWSTR,
ClientLeaseExpires: DATE_TIME,
OwnerHost: DHCP_HOST_INFO,
};
pub const DHCP_CLIENT_INFO_ARRAY = extern struct {
NumElements: u32,
Clients: ?*?*DHCP_CLIENT_INFO,
};
pub const QuarantineStatus = enum(i32) {
NOQUARANTINE = 0,
RESTRICTEDACCESS = 1,
DROPPACKET = 2,
PROBATION = 3,
EXEMPT = 4,
DEFAULTQUARSETTING = 5,
NOQUARINFO = 6,
};
pub const NOQUARANTINE = QuarantineStatus.NOQUARANTINE;
pub const RESTRICTEDACCESS = QuarantineStatus.RESTRICTEDACCESS;
pub const DROPPACKET = QuarantineStatus.DROPPACKET;
pub const PROBATION = QuarantineStatus.PROBATION;
pub const EXEMPT = QuarantineStatus.EXEMPT;
pub const DEFAULTQUARSETTING = QuarantineStatus.DEFAULTQUARSETTING;
pub const NOQUARINFO = QuarantineStatus.NOQUARINFO;
pub const DHCP_CLIENT_INFO_VQ = extern struct {
ClientIpAddress: u32,
SubnetMask: u32,
ClientHardwareAddress: DHCP_BINARY_DATA,
ClientName: ?PWSTR,
ClientComment: ?PWSTR,
ClientLeaseExpires: DATE_TIME,
OwnerHost: DHCP_HOST_INFO,
bClientType: u8,
AddressState: u8,
Status: QuarantineStatus,
ProbationEnds: DATE_TIME,
QuarantineCapable: BOOL,
};
pub const DHCP_CLIENT_INFO_ARRAY_VQ = extern struct {
NumElements: u32,
Clients: ?*?*DHCP_CLIENT_INFO_VQ,
};
pub const DHCP_CLIENT_FILTER_STATUS_INFO = extern struct {
ClientIpAddress: u32,
SubnetMask: u32,
ClientHardwareAddress: DHCP_BINARY_DATA,
ClientName: ?PWSTR,
ClientComment: ?PWSTR,
ClientLeaseExpires: DATE_TIME,
OwnerHost: DHCP_HOST_INFO,
bClientType: u8,
AddressState: u8,
Status: QuarantineStatus,
ProbationEnds: DATE_TIME,
QuarantineCapable: BOOL,
FilterStatus: u32,
};
pub const DHCP_CLIENT_FILTER_STATUS_INFO_ARRAY = extern struct {
NumElements: u32,
Clients: ?*?*DHCP_CLIENT_FILTER_STATUS_INFO,
};
pub const DHCP_CLIENT_INFO_PB = extern struct {
ClientIpAddress: u32,
SubnetMask: u32,
ClientHardwareAddress: DHCP_BINARY_DATA,
ClientName: ?PWSTR,
ClientComment: ?PWSTR,
ClientLeaseExpires: DATE_TIME,
OwnerHost: DHCP_HOST_INFO,
bClientType: u8,
AddressState: u8,
Status: QuarantineStatus,
ProbationEnds: DATE_TIME,
QuarantineCapable: BOOL,
FilterStatus: u32,
PolicyName: ?PWSTR,
};
pub const DHCP_CLIENT_INFO_PB_ARRAY = extern struct {
NumElements: u32,
Clients: ?*?*DHCP_CLIENT_INFO_PB,
};
pub const DHCP_SEARCH_INFO_TYPE = enum(i32) {
IpAddress = 0,
HardwareAddress = 1,
Name = 2,
};
pub const DhcpClientIpAddress = DHCP_SEARCH_INFO_TYPE.IpAddress;
pub const DhcpClientHardwareAddress = DHCP_SEARCH_INFO_TYPE.HardwareAddress;
pub const DhcpClientName = DHCP_SEARCH_INFO_TYPE.Name;
pub const DHCP_SEARCH_INFO = extern struct {
pub const DHCP_CLIENT_SEARCH_UNION = extern union {
ClientIpAddress: u32,
ClientHardwareAddress: DHCP_BINARY_DATA,
ClientName: ?PWSTR,
};
SearchType: DHCP_SEARCH_INFO_TYPE,
SearchInfo: DHCP_CLIENT_SEARCH_UNION,
};
// WARNING: this type symbol conflicts with something!
pub const DHCP_CLIENT_SEARCH_UNION_CONFLICT_ = usize;
pub const DHCP_PROPERTY_TYPE = enum(i32) {
Byte = 0,
Word = 1,
Dword = 2,
String = 3,
Binary = 4,
};
pub const DhcpPropTypeByte = DHCP_PROPERTY_TYPE.Byte;
pub const DhcpPropTypeWord = DHCP_PROPERTY_TYPE.Word;
pub const DhcpPropTypeDword = DHCP_PROPERTY_TYPE.Dword;
pub const DhcpPropTypeString = DHCP_PROPERTY_TYPE.String;
pub const DhcpPropTypeBinary = DHCP_PROPERTY_TYPE.Binary;
pub const DHCP_PROPERTY_ID = enum(i32) {
PolicyDnsSuffix = 0,
ClientAddressStateEx = 1,
};
pub const DhcpPropIdPolicyDnsSuffix = DHCP_PROPERTY_ID.PolicyDnsSuffix;
pub const DhcpPropIdClientAddressStateEx = DHCP_PROPERTY_ID.ClientAddressStateEx;
pub const DHCP_PROPERTY = extern struct {
pub const _DHCP_PROPERTY_VALUE_UNION = extern union {
ByteValue: u8,
WordValue: u16,
DWordValue: u32,
StringValue: ?PWSTR,
BinaryValue: DHCP_BINARY_DATA,
};
ID: DHCP_PROPERTY_ID,
Type: DHCP_PROPERTY_TYPE,
Value: _DHCP_PROPERTY_VALUE_UNION,
};
pub const DHCP_PROPERTY_ARRAY = extern struct {
NumElements: u32,
Elements: ?*DHCP_PROPERTY,
};
pub const DHCP_CLIENT_INFO_EX = extern struct {
ClientIpAddress: u32,
SubnetMask: u32,
ClientHardwareAddress: DHCP_BINARY_DATA,
ClientName: ?PWSTR,
ClientComment: ?PWSTR,
ClientLeaseExpires: DATE_TIME,
OwnerHost: DHCP_HOST_INFO,
bClientType: u8,
AddressState: u8,
Status: QuarantineStatus,
ProbationEnds: DATE_TIME,
QuarantineCapable: BOOL,
FilterStatus: u32,
PolicyName: ?PWSTR,
Properties: ?*DHCP_PROPERTY_ARRAY,
};
pub const DHCP_CLIENT_INFO_EX_ARRAY = extern struct {
NumElements: u32,
Clients: ?*?*DHCP_CLIENT_INFO_EX,
};
pub const SCOPE_MIB_INFO = extern struct {
Subnet: u32,
NumAddressesInuse: u32,
NumAddressesFree: u32,
NumPendingOffers: u32,
};
pub const DHCP_MIB_INFO = extern struct {
Discovers: u32,
Offers: u32,
Requests: u32,
Acks: u32,
Naks: u32,
Declines: u32,
Releases: u32,
ServerStartTime: DATE_TIME,
Scopes: u32,
ScopeInfo: ?*SCOPE_MIB_INFO,
};
pub const SCOPE_MIB_INFO_VQ = extern struct {
Subnet: u32,
NumAddressesInuse: u32,
NumAddressesFree: u32,
NumPendingOffers: u32,
QtnNumLeases: u32,
QtnPctQtnLeases: u32,
QtnProbationLeases: u32,
QtnNonQtnLeases: u32,
QtnExemptLeases: u32,
QtnCapableClients: u32,
};
pub const DHCP_MIB_INFO_VQ = extern struct {
Discovers: u32,
Offers: u32,
Requests: u32,
Acks: u32,
Naks: u32,
Declines: u32,
Releases: u32,
ServerStartTime: DATE_TIME,
QtnNumLeases: u32,
QtnPctQtnLeases: u32,
QtnProbationLeases: u32,
QtnNonQtnLeases: u32,
QtnExemptLeases: u32,
QtnCapableClients: u32,
QtnIASErrors: u32,
Scopes: u32,
ScopeInfo: ?*SCOPE_MIB_INFO_VQ,
};
pub const SCOPE_MIB_INFO_V5 = extern struct {
Subnet: u32,
NumAddressesInuse: u32,
NumAddressesFree: u32,
NumPendingOffers: u32,
};
pub const DHCP_MIB_INFO_V5 = extern struct {
Discovers: u32,
Offers: u32,
Requests: u32,
Acks: u32,
Naks: u32,
Declines: u32,
Releases: u32,
ServerStartTime: DATE_TIME,
QtnNumLeases: u32,
QtnPctQtnLeases: u32,
QtnProbationLeases: u32,
QtnNonQtnLeases: u32,
QtnExemptLeases: u32,
QtnCapableClients: u32,
QtnIASErrors: u32,
DelayedOffers: u32,
ScopesWithDelayedOffers: u32,
Scopes: u32,
ScopeInfo: ?*SCOPE_MIB_INFO_V5,
};
pub const DHCP_SERVER_CONFIG_INFO = extern struct {
APIProtocolSupport: u32,
DatabaseName: ?PWSTR,
DatabasePath: ?PWSTR,
BackupPath: ?PWSTR,
BackupInterval: u32,
DatabaseLoggingFlag: u32,
RestoreFlag: u32,
DatabaseCleanupInterval: u32,
DebugFlag: u32,
};
pub const DHCP_SCAN_FLAG = enum(i32) {
RegistryFix = 0,
DatabaseFix = 1,
};
pub const DhcpRegistryFix = DHCP_SCAN_FLAG.RegistryFix;
pub const DhcpDatabaseFix = DHCP_SCAN_FLAG.DatabaseFix;
pub const DHCP_SCAN_ITEM = extern struct {
IpAddress: u32,
ScanFlag: DHCP_SCAN_FLAG,
};
pub const DHCP_SCAN_LIST = extern struct {
NumScanItems: u32,
ScanItems: ?*DHCP_SCAN_ITEM,
};
pub const DHCP_CLASS_INFO = extern struct {
ClassName: ?PWSTR,
ClassComment: ?PWSTR,
ClassDataLength: u32,
IsVendor: BOOL,
Flags: u32,
ClassData: ?*u8,
};
pub const DHCP_CLASS_INFO_ARRAY = extern struct {
NumElements: u32,
Classes: ?*DHCP_CLASS_INFO,
};
pub const DHCP_CLASS_INFO_V6 = extern struct {
ClassName: ?PWSTR,
ClassComment: ?PWSTR,
ClassDataLength: u32,
IsVendor: BOOL,
EnterpriseNumber: u32,
Flags: u32,
ClassData: ?*u8,
};
pub const DHCP_CLASS_INFO_ARRAY_V6 = extern struct {
NumElements: u32,
Classes: ?*DHCP_CLASS_INFO_V6,
};
pub const DHCP_SERVER_SPECIFIC_STRINGS = extern struct {
DefaultVendorClassName: ?PWSTR,
DefaultUserClassName: ?PWSTR,
};
pub const DHCP_IP_RESERVATION_V4 = extern struct {
ReservedIpAddress: u32,
ReservedForClient: ?*DHCP_BINARY_DATA,
bAllowedClientTypes: u8,
};
pub const DHCP_IP_RESERVATION_INFO = extern struct {
ReservedIpAddress: u32,
ReservedForClient: DHCP_BINARY_DATA,
ReservedClientName: ?PWSTR,
ReservedClientDesc: ?PWSTR,
bAllowedClientTypes: u8,
fOptionsPresent: u8,
};
pub const DHCP_RESERVATION_INFO_ARRAY = extern struct {
NumElements: u32,
Elements: ?*?*DHCP_IP_RESERVATION_INFO,
};
pub const DHCP_SUBNET_ELEMENT_DATA_V4 = extern struct {
pub const DHCP_SUBNET_ELEMENT_UNION_V4 = extern union {
IpRange: ?*DHCP_IP_RANGE,
SecondaryHost: ?*DHCP_HOST_INFO,
ReservedIp: ?*DHCP_IP_RESERVATION_V4,
ExcludeIpRange: ?*DHCP_IP_RANGE,
IpUsedCluster: ?*DHCP_IP_CLUSTER,
};
ElementType: DHCP_SUBNET_ELEMENT_TYPE,
Element: DHCP_SUBNET_ELEMENT_UNION_V4,
};
// WARNING: this type symbol conflicts with something!
pub const DHCP_SUBNET_ELEMENT_UNION_V4_CONFLICT_ = usize;
pub const DHCP_SUBNET_ELEMENT_INFO_ARRAY_V4 = extern struct {
NumElements: u32,
Elements: ?*DHCP_SUBNET_ELEMENT_DATA_V4,
};
pub const DHCP_CLIENT_INFO_V4 = extern struct {
ClientIpAddress: u32,
SubnetMask: u32,
ClientHardwareAddress: DHCP_BINARY_DATA,
ClientName: ?PWSTR,
ClientComment: ?PWSTR,
ClientLeaseExpires: DATE_TIME,
OwnerHost: DHCP_HOST_INFO,
bClientType: u8,
};
pub const DHCP_CLIENT_INFO_ARRAY_V4 = extern struct {
NumElements: u32,
Clients: ?*?*DHCP_CLIENT_INFO_V4,
};
pub const DHCP_SERVER_CONFIG_INFO_V4 = extern struct {
APIProtocolSupport: u32,
DatabaseName: ?PWSTR,
DatabasePath: ?PWSTR,
BackupPath: ?PWSTR,
BackupInterval: u32,
DatabaseLoggingFlag: u32,
RestoreFlag: u32,
DatabaseCleanupInterval: u32,
DebugFlag: u32,
dwPingRetries: u32,
cbBootTableString: u32,
wszBootTableString: ?PWSTR,
fAuditLog: BOOL,
};
pub const DHCP_SERVER_CONFIG_INFO_VQ = extern struct {
APIProtocolSupport: u32,
DatabaseName: ?PWSTR,
DatabasePath: ?PWSTR,
BackupPath: ?PWSTR,
BackupInterval: u32,
DatabaseLoggingFlag: u32,
RestoreFlag: u32,
DatabaseCleanupInterval: u32,
DebugFlag: u32,
dwPingRetries: u32,
cbBootTableString: u32,
wszBootTableString: ?PWSTR,
fAuditLog: BOOL,
QuarantineOn: BOOL,
QuarDefFail: u32,
QuarRuntimeStatus: BOOL,
};
pub const DHCP_SERVER_CONFIG_INFO_V6 = extern struct {
UnicastFlag: BOOL,
RapidCommitFlag: BOOL,
PreferredLifetime: u32,
ValidLifetime: u32,
T1: u32,
T2: u32,
PreferredLifetimeIATA: u32,
ValidLifetimeIATA: u32,
fAuditLog: BOOL,
};
pub const DHCP_SUPER_SCOPE_TABLE_ENTRY = extern struct {
SubnetAddress: u32,
SuperScopeNumber: u32,
NextInSuperScope: u32,
SuperScopeName: ?PWSTR,
};
pub const DHCP_SUPER_SCOPE_TABLE = extern struct {
cEntries: u32,
pEntries: ?*DHCP_SUPER_SCOPE_TABLE_ENTRY,
};
pub const DHCP_CLIENT_INFO_V5 = extern struct {
ClientIpAddress: u32,
SubnetMask: u32,
ClientHardwareAddress: DHCP_BINARY_DATA,
ClientName: ?PWSTR,
ClientComment: ?PWSTR,
ClientLeaseExpires: DATE_TIME,
OwnerHost: DHCP_HOST_INFO,
bClientType: u8,
AddressState: u8,
};
pub const DHCP_CLIENT_INFO_ARRAY_V5 = extern struct {
NumElements: u32,
Clients: ?*?*DHCP_CLIENT_INFO_V5,
};
pub const DHCP_ALL_OPTIONS = extern struct {
Flags: u32,
NonVendorOptions: ?*DHCP_OPTION_ARRAY,
NumVendorOptions: u32,
VendorOptions: ?*extern struct {
Option: DHCP_OPTION,
VendorName: ?PWSTR,
ClassName: ?PWSTR,
},
};
pub const DHCP_ALL_OPTION_VALUES = extern struct {
Flags: u32,
NumElements: u32,
Options: ?*extern struct {
ClassName: ?PWSTR,
VendorName: ?PWSTR,
IsVendor: BOOL,
OptionsArray: ?*DHCP_OPTION_VALUE_ARRAY,
},
};
pub const DHCP_ALL_OPTION_VALUES_PB = extern struct {
Flags: u32,
NumElements: u32,
Options: ?*extern struct {
PolicyName: ?PWSTR,
VendorName: ?PWSTR,
IsVendor: BOOL,
OptionsArray: ?*DHCP_OPTION_VALUE_ARRAY,
},
};
pub const DHCPDS_SERVER = extern struct {
Version: u32,
ServerName: ?PWSTR,
ServerAddress: u32,
Flags: u32,
State: u32,
DsLocation: ?PWSTR,
DsLocType: u32,
};
pub const DHCPDS_SERVERS = extern struct {
Flags: u32,
NumElements: u32,
Servers: ?*DHCPDS_SERVER,
};
pub const DHCP_ATTRIB = extern struct {
DhcpAttribId: u32,
DhcpAttribType: u32,
Anonymous: extern union {
DhcpAttribBool: BOOL,
DhcpAttribUlong: u32,
},
};
pub const DHCP_ATTRIB_ARRAY = extern struct {
NumElements: u32,
DhcpAttribs: ?*DHCP_ATTRIB,
};
pub const DHCP_BOOTP_IP_RANGE = extern struct {
StartAddress: u32,
EndAddress: u32,
BootpAllocated: u32,
MaxBootpAllowed: u32,
};
pub const DHCP_SUBNET_ELEMENT_DATA_V5 = extern struct {
pub const _DHCP_SUBNET_ELEMENT_UNION_V5 = extern union {
IpRange: ?*DHCP_BOOTP_IP_RANGE,
SecondaryHost: ?*DHCP_HOST_INFO,
ReservedIp: ?*DHCP_IP_RESERVATION_V4,
ExcludeIpRange: ?*DHCP_IP_RANGE,
IpUsedCluster: ?*DHCP_IP_CLUSTER,
};
ElementType: DHCP_SUBNET_ELEMENT_TYPE,
Element: _DHCP_SUBNET_ELEMENT_UNION_V5,
};
pub const DHCP_SUBNET_ELEMENT_INFO_ARRAY_V5 = extern struct {
NumElements: u32,
Elements: ?*DHCP_SUBNET_ELEMENT_DATA_V5,
};
pub const DHCP_PERF_STATS = extern struct {
dwNumPacketsReceived: u32,
dwNumPacketsDuplicate: u32,
dwNumPacketsExpired: u32,
dwNumMilliSecondsProcessed: u32,
dwNumPacketsInActiveQueue: u32,
dwNumPacketsInPingQueue: u32,
dwNumDiscoversReceived: u32,
dwNumOffersSent: u32,
dwNumRequestsReceived: u32,
dwNumInformsReceived: u32,
dwNumAcksSent: u32,
dwNumNacksSent: u32,
dwNumDeclinesReceived: u32,
dwNumReleasesReceived: u32,
dwNumDelayedOfferInQueue: u32,
dwNumPacketsProcessed: u32,
dwNumPacketsInQuarWaitingQueue: u32,
dwNumPacketsInQuarReadyQueue: u32,
dwNumPacketsInQuarDecisionQueue: u32,
};
pub const DHCP_BIND_ELEMENT = extern struct {
Flags: u32,
fBoundToDHCPServer: BOOL,
AdapterPrimaryAddress: u32,
AdapterSubnetAddress: u32,
IfDescription: ?PWSTR,
IfIdSize: u32,
IfId: ?*u8,
};
pub const DHCP_BIND_ELEMENT_ARRAY = extern struct {
NumElements: u32,
Elements: ?*DHCP_BIND_ELEMENT,
};
pub const DHCPV6_BIND_ELEMENT = extern struct {
Flags: u32,
fBoundToDHCPServer: BOOL,
AdapterPrimaryAddress: DHCP_IPV6_ADDRESS,
AdapterSubnetAddress: DHCP_IPV6_ADDRESS,
IfDescription: ?PWSTR,
IpV6IfIndex: u32,
IfIdSize: u32,
IfId: ?*u8,
};
pub const DHCPV6_BIND_ELEMENT_ARRAY = extern struct {
NumElements: u32,
Elements: ?*DHCPV6_BIND_ELEMENT,
};
pub const DHCP_IP_RANGE_V6 = extern struct {
StartAddress: DHCP_IPV6_ADDRESS,
EndAddress: DHCP_IPV6_ADDRESS,
};
pub const DHCP_HOST_INFO_V6 = extern struct {
IpAddress: DHCP_IPV6_ADDRESS,
NetBiosName: ?PWSTR,
HostName: ?PWSTR,
};
pub const DHCP_SUBNET_INFO_V6 = extern struct {
SubnetAddress: DHCP_IPV6_ADDRESS,
Prefix: u32,
Preference: u16,
SubnetName: ?PWSTR,
SubnetComment: ?PWSTR,
State: u32,
ScopeId: u32,
};
pub const SCOPE_MIB_INFO_V6 = extern struct {
Subnet: DHCP_IPV6_ADDRESS,
NumAddressesInuse: u64,
NumAddressesFree: u64,
NumPendingAdvertises: u64,
};
pub const DHCP_MIB_INFO_V6 = extern struct {
Solicits: u32,
Advertises: u32,
Requests: u32,
Renews: u32,
Rebinds: u32,
Replies: u32,
Confirms: u32,
Declines: u32,
Releases: u32,
Informs: u32,
ServerStartTime: DATE_TIME,
Scopes: u32,
ScopeInfo: ?*SCOPE_MIB_INFO_V6,
};
pub const DHCP_IP_RESERVATION_V6 = extern struct {
ReservedIpAddress: DHCP_IPV6_ADDRESS,
ReservedForClient: ?*DHCP_BINARY_DATA,
InterfaceId: u32,
};
pub const DHCP_SUBNET_ELEMENT_TYPE_V6 = enum(i32) {
IpRanges = 0,
ReservedIps = 1,
ExcludedIpRanges = 2,
};
pub const Dhcpv6IpRanges = DHCP_SUBNET_ELEMENT_TYPE_V6.IpRanges;
pub const Dhcpv6ReservedIps = DHCP_SUBNET_ELEMENT_TYPE_V6.ReservedIps;
pub const Dhcpv6ExcludedIpRanges = DHCP_SUBNET_ELEMENT_TYPE_V6.ExcludedIpRanges;
pub const DHCP_SUBNET_ELEMENT_DATA_V6 = extern struct {
pub const DHCP_SUBNET_ELEMENT_UNION_V6 = extern union {
IpRange: ?*DHCP_IP_RANGE_V6,
ReservedIp: ?*DHCP_IP_RESERVATION_V6,
ExcludeIpRange: ?*DHCP_IP_RANGE_V6,
};
ElementType: DHCP_SUBNET_ELEMENT_TYPE_V6,
Element: DHCP_SUBNET_ELEMENT_UNION_V6,
};
// WARNING: this type symbol conflicts with something!
pub const DHCP_SUBNET_ELEMENT_UNION_V6_CONFLICT_ = usize;
pub const DHCP_SUBNET_ELEMENT_INFO_ARRAY_V6 = extern struct {
NumElements: u32,
Elements: ?*DHCP_SUBNET_ELEMENT_DATA_V6,
};
pub const DHCP_CLIENT_INFO_V6 = extern struct {
ClientIpAddress: DHCP_IPV6_ADDRESS,
ClientDUID: DHCP_BINARY_DATA,
AddressType: u32,
IAID: u32,
ClientName: ?PWSTR,
ClientComment: ?PWSTR,
ClientValidLeaseExpires: DATE_TIME,
ClientPrefLeaseExpires: DATE_TIME,
OwnerHost: DHCP_HOST_INFO_V6,
};
pub const DHCPV6_IP_ARRAY = extern struct {
NumElements: u32,
Elements: ?*DHCP_IPV6_ADDRESS,
};
pub const DHCP_CLIENT_INFO_ARRAY_V6 = extern struct {
NumElements: u32,
Clients: ?*?*DHCP_CLIENT_INFO_V6,
};
pub const DHCP_SEARCH_INFO_TYPE_V6 = enum(i32) {
IpAddress = 0,
DUID = 1,
Name = 2,
};
pub const Dhcpv6ClientIpAddress = DHCP_SEARCH_INFO_TYPE_V6.IpAddress;
pub const Dhcpv6ClientDUID = DHCP_SEARCH_INFO_TYPE_V6.DUID;
pub const Dhcpv6ClientName = DHCP_SEARCH_INFO_TYPE_V6.Name;
pub const DHCP_SEARCH_INFO_V6 = extern struct {
pub const _DHCP_CLIENT_SEARCH_UNION_V6 = extern union {
ClientIpAddress: DHCP_IPV6_ADDRESS,
ClientDUID: DHCP_BINARY_DATA,
ClientName: ?PWSTR,
};
SearchType: DHCP_SEARCH_INFO_TYPE_V6,
SearchInfo: _DHCP_CLIENT_SEARCH_UNION_V6,
};
pub const DHCP_POL_ATTR_TYPE = enum(i32) {
HWAddr = 0,
Option = 1,
SubOption = 2,
Fqdn = 3,
FqdnSingleLabel = 4,
};
pub const DhcpAttrHWAddr = DHCP_POL_ATTR_TYPE.HWAddr;
pub const DhcpAttrOption = DHCP_POL_ATTR_TYPE.Option;
pub const DhcpAttrSubOption = DHCP_POL_ATTR_TYPE.SubOption;
pub const DhcpAttrFqdn = DHCP_POL_ATTR_TYPE.Fqdn;
pub const DhcpAttrFqdnSingleLabel = DHCP_POL_ATTR_TYPE.FqdnSingleLabel;
pub const DHCP_POL_COMPARATOR = enum(i32) {
Equal = 0,
NotEqual = 1,
BeginsWith = 2,
NotBeginWith = 3,
EndsWith = 4,
NotEndWith = 5,
};
pub const DhcpCompEqual = DHCP_POL_COMPARATOR.Equal;
pub const DhcpCompNotEqual = DHCP_POL_COMPARATOR.NotEqual;
pub const DhcpCompBeginsWith = DHCP_POL_COMPARATOR.BeginsWith;
pub const DhcpCompNotBeginWith = DHCP_POL_COMPARATOR.NotBeginWith;
pub const DhcpCompEndsWith = DHCP_POL_COMPARATOR.EndsWith;
pub const DhcpCompNotEndWith = DHCP_POL_COMPARATOR.NotEndWith;
pub const DHCP_POL_LOGIC_OPER = enum(i32) {
Or = 0,
And = 1,
};
pub const DhcpLogicalOr = DHCP_POL_LOGIC_OPER.Or;
pub const DhcpLogicalAnd = DHCP_POL_LOGIC_OPER.And;
pub const DHCP_POLICY_FIELDS_TO_UPDATE = enum(i32) {
Name = 1,
Order = 2,
Expr = 4,
Ranges = 8,
Descr = 16,
Status = 32,
DnsSuffix = 64,
};
pub const DhcpUpdatePolicyName = DHCP_POLICY_FIELDS_TO_UPDATE.Name;
pub const DhcpUpdatePolicyOrder = DHCP_POLICY_FIELDS_TO_UPDATE.Order;
pub const DhcpUpdatePolicyExpr = DHCP_POLICY_FIELDS_TO_UPDATE.Expr;
pub const DhcpUpdatePolicyRanges = DHCP_POLICY_FIELDS_TO_UPDATE.Ranges;
pub const DhcpUpdatePolicyDescr = DHCP_POLICY_FIELDS_TO_UPDATE.Descr;
pub const DhcpUpdatePolicyStatus = DHCP_POLICY_FIELDS_TO_UPDATE.Status;
pub const DhcpUpdatePolicyDnsSuffix = DHCP_POLICY_FIELDS_TO_UPDATE.DnsSuffix;
pub const DHCP_POL_COND = extern struct {
ParentExpr: u32,
Type: DHCP_POL_ATTR_TYPE,
OptionID: u32,
SubOptionID: u32,
VendorName: ?PWSTR,
Operator: DHCP_POL_COMPARATOR,
Value: ?*u8,
ValueLength: u32,
};
pub const DHCP_POL_COND_ARRAY = extern struct {
NumElements: u32,
Elements: ?*DHCP_POL_COND,
};
pub const DHCP_POL_EXPR = extern struct {
ParentExpr: u32,
Operator: DHCP_POL_LOGIC_OPER,
};
pub const DHCP_POL_EXPR_ARRAY = extern struct {
NumElements: u32,
Elements: ?*DHCP_POL_EXPR,
};
pub const DHCP_IP_RANGE_ARRAY = extern struct {
NumElements: u32,
Elements: ?*DHCP_IP_RANGE,
};
pub const DHCP_POLICY = extern struct {
PolicyName: ?PWSTR,
IsGlobalPolicy: BOOL,
Subnet: u32,
ProcessingOrder: u32,
Conditions: ?*DHCP_POL_COND_ARRAY,
Expressions: ?*DHCP_POL_EXPR_ARRAY,
Ranges: ?*DHCP_IP_RANGE_ARRAY,
Description: ?PWSTR,
Enabled: BOOL,
};
pub const DHCP_POLICY_ARRAY = extern struct {
NumElements: u32,
Elements: ?*DHCP_POLICY,
};
pub const DHCP_POLICY_EX = extern struct {
PolicyName: ?PWSTR,
IsGlobalPolicy: BOOL,
Subnet: u32,
ProcessingOrder: u32,
Conditions: ?*DHCP_POL_COND_ARRAY,
Expressions: ?*DHCP_POL_EXPR_ARRAY,
Ranges: ?*DHCP_IP_RANGE_ARRAY,
Description: ?PWSTR,
Enabled: BOOL,
Properties: ?*DHCP_PROPERTY_ARRAY,
};
pub const DHCP_POLICY_EX_ARRAY = extern struct {
NumElements: u32,
Elements: ?*DHCP_POLICY_EX,
};
pub const DHCPV6_STATELESS_PARAM_TYPE = enum(i32) {
PurgeInterval = 1,
Status = 2,
};
pub const DhcpStatelessPurgeInterval = DHCPV6_STATELESS_PARAM_TYPE.PurgeInterval;
pub const DhcpStatelessStatus = DHCPV6_STATELESS_PARAM_TYPE.Status;
pub const DHCPV6_STATELESS_PARAMS = extern struct {
Status: BOOL,
PurgeInterval: u32,
};
pub const DHCPV6_STATELESS_SCOPE_STATS = extern struct {
SubnetAddress: DHCP_IPV6_ADDRESS,
NumStatelessClientsAdded: u64,
NumStatelessClientsRemoved: u64,
};
pub const DHCPV6_STATELESS_STATS = extern struct {
NumScopes: u32,
ScopeStats: ?*DHCPV6_STATELESS_SCOPE_STATS,
};
pub const DHCP_FAILOVER_MODE = enum(i32) {
LoadBalance = 0,
HotStandby = 1,
};
pub const LoadBalance = DHCP_FAILOVER_MODE.LoadBalance;
pub const HotStandby = DHCP_FAILOVER_MODE.HotStandby;
pub const DHCP_FAILOVER_SERVER = enum(i32) {
PrimaryServer = 0,
SecondaryServer = 1,
};
pub const PrimaryServer = DHCP_FAILOVER_SERVER.PrimaryServer;
pub const SecondaryServer = DHCP_FAILOVER_SERVER.SecondaryServer;
pub const FSM_STATE = enum(i32) {
NO_STATE = 0,
INIT = 1,
STARTUP = 2,
NORMAL = 3,
COMMUNICATION_INT = 4,
PARTNER_DOWN = 5,
POTENTIAL_CONFLICT = 6,
CONFLICT_DONE = 7,
RESOLUTION_INT = 8,
RECOVER = 9,
RECOVER_WAIT = 10,
RECOVER_DONE = 11,
PAUSED = 12,
SHUTDOWN = 13,
};
pub const NO_STATE = FSM_STATE.NO_STATE;
pub const INIT = FSM_STATE.INIT;
pub const STARTUP = FSM_STATE.STARTUP;
pub const NORMAL = FSM_STATE.NORMAL;
pub const COMMUNICATION_INT = FSM_STATE.COMMUNICATION_INT;
pub const PARTNER_DOWN = FSM_STATE.PARTNER_DOWN;
pub const POTENTIAL_CONFLICT = FSM_STATE.POTENTIAL_CONFLICT;
pub const CONFLICT_DONE = FSM_STATE.CONFLICT_DONE;
pub const RESOLUTION_INT = FSM_STATE.RESOLUTION_INT;
pub const RECOVER = FSM_STATE.RECOVER;
pub const RECOVER_WAIT = FSM_STATE.RECOVER_WAIT;
pub const RECOVER_DONE = FSM_STATE.RECOVER_DONE;
pub const PAUSED = FSM_STATE.PAUSED;
pub const SHUTDOWN = FSM_STATE.SHUTDOWN;
pub const DHCP_FAILOVER_RELATIONSHIP = extern struct {
PrimaryServer: u32,
SecondaryServer: u32,
Mode: DHCP_FAILOVER_MODE,
ServerType: DHCP_FAILOVER_SERVER,
State: FSM_STATE,
PrevState: FSM_STATE,
Mclt: u32,
SafePeriod: u32,
RelationshipName: ?PWSTR,
PrimaryServerName: ?PWSTR,
SecondaryServerName: ?PWSTR,
pScopes: ?*DHCP_IP_ARRAY,
Percentage: u8,
SharedSecret: ?PWSTR,
};
pub const DHCP_FAILOVER_RELATIONSHIP_ARRAY = extern struct {
NumElements: u32,
pRelationships: ?*DHCP_FAILOVER_RELATIONSHIP,
};
pub const DHCPV4_FAILOVER_CLIENT_INFO = extern struct {
ClientIpAddress: u32,
SubnetMask: u32,
ClientHardwareAddress: DHCP_BINARY_DATA,
ClientName: ?PWSTR,
ClientComment: ?PWSTR,
ClientLeaseExpires: DATE_TIME,
OwnerHost: DHCP_HOST_INFO,
bClientType: u8,
AddressState: u8,
Status: QuarantineStatus,
ProbationEnds: DATE_TIME,
QuarantineCapable: BOOL,
SentPotExpTime: u32,
AckPotExpTime: u32,
RecvPotExpTime: u32,
StartTime: u32,
CltLastTransTime: u32,
LastBndUpdTime: u32,
BndMsgStatus: u32,
PolicyName: ?PWSTR,
Flags: u8,
};
pub const DHCPV4_FAILOVER_CLIENT_INFO_ARRAY = extern struct {
NumElements: u32,
Clients: ?*?*DHCPV4_FAILOVER_CLIENT_INFO,
};
pub const DHCPV4_FAILOVER_CLIENT_INFO_EX = extern struct {
ClientIpAddress: u32,
SubnetMask: u32,
ClientHardwareAddress: DHCP_BINARY_DATA,
ClientName: ?PWSTR,
ClientComment: ?PWSTR,
ClientLeaseExpires: DATE_TIME,
OwnerHost: DHCP_HOST_INFO,
bClientType: u8,
AddressState: u8,
Status: QuarantineStatus,
ProbationEnds: DATE_TIME,
QuarantineCapable: BOOL,
SentPotExpTime: u32,
AckPotExpTime: u32,
RecvPotExpTime: u32,
StartTime: u32,
CltLastTransTime: u32,
LastBndUpdTime: u32,
BndMsgStatus: u32,
PolicyName: ?PWSTR,
Flags: u8,
AddressStateEx: u32,
};
pub const DHCP_FAILOVER_STATISTICS = extern struct {
NumAddr: u32,
AddrFree: u32,
AddrInUse: u32,
PartnerAddrFree: u32,
ThisAddrFree: u32,
PartnerAddrInUse: u32,
ThisAddrInUse: u32,
};
pub const DHCP_SERVER_OPTIONS = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
MessageType: ?*u8,
SubnetMask: ?*u32,
RequestedAddress: ?*u32,
RequestLeaseTime: ?*u32,
OverlayFields: ?*u8,
RouterAddress: ?*u32,
Server: ?*u32,
ParameterRequestList: ?*u8,
ParameterRequestListLength: u32,
MachineName: ?PSTR,
MachineNameLength: u32,
ClientHardwareAddressType: u8,
ClientHardwareAddressLength: u8,
ClientHardwareAddress: ?*u8,
ClassIdentifier: ?PSTR,
ClassIdentifierLength: u32,
VendorClass: ?*u8,
VendorClassLength: u32,
DNSFlags: u32,
DNSNameLength: u32,
DNSName: ?*u8,
DSDomainNameRequested: BOOLEAN,
DSDomainName: ?PSTR,
DSDomainNameLen: u32,
ScopeId: ?*u32,
},
.X86 => extern struct {
MessageType: ?*u8,
SubnetMask: ?*u32,
RequestedAddress: ?*u32,
RequestLeaseTime: ?*u32,
OverlayFields: ?*u8,
RouterAddress: ?*u32,
Server: ?*u32,
ParameterRequestList: ?*u8,
ParameterRequestListLength: u32,
MachineName: ?PSTR,
MachineNameLength: u32,
ClientHardwareAddressType: u8,
ClientHardwareAddressLength: u8,
ClientHardwareAddress: ?*u8,
ClassIdentifier: ?PSTR,
ClassIdentifierLength: u32,
VendorClass: ?*u8,
VendorClassLength: u32,
DNSFlags: u32,
DNSNameLength: u32,
DNSName: ?*u8,
DSDomainNameRequested: BOOLEAN,
DSDomainName: ?PSTR,
DSDomainNameLen: u32,
ScopeId: ?*u32,
},
};
//--------------------------------------------------------------------------------
// Section: Functions (210)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dhcpcsvc6" fn Dhcpv6CApiInitialize(
Version: ?*u32,
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dhcpcsvc6" fn Dhcpv6CApiCleanup(
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dhcpcsvc6" fn Dhcpv6RequestParams(
forceNewInform: BOOL,
reserved: ?*anyopaque,
adapterName: ?PWSTR,
classId: ?*DHCPV6CAPI_CLASSID,
recdParams: DHCPV6CAPI_PARAMS_ARRAY,
buffer: ?*u8,
pSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dhcpcsvc6" fn Dhcpv6RequestPrefix(
adapterName: ?PWSTR,
pclassId: ?*DHCPV6CAPI_CLASSID,
prefixleaseInfo: ?*DHCPV6PrefixLeaseInformation,
pdwTimeToWait: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dhcpcsvc6" fn Dhcpv6RenewPrefix(
adapterName: ?PWSTR,
pclassId: ?*DHCPV6CAPI_CLASSID,
prefixleaseInfo: ?*DHCPV6PrefixLeaseInformation,
pdwTimeToWait: ?*u32,
bValidatePrefix: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dhcpcsvc6" fn Dhcpv6ReleasePrefix(
adapterName: ?PWSTR,
classId: ?*DHCPV6CAPI_CLASSID,
leaseInfo: ?*DHCPV6PrefixLeaseInformation,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "dhcpcsvc" fn DhcpCApiInitialize(
Version: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "dhcpcsvc" fn DhcpCApiCleanup(
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windows5.0'
pub extern "dhcpcsvc" fn DhcpRequestParams(
Flags: u32,
Reserved: ?*anyopaque,
AdapterName: ?PWSTR,
ClassId: ?*DHCPCAPI_CLASSID,
SendParams: DHCPCAPI_PARAMS_ARRAY,
RecdParams: DHCPCAPI_PARAMS_ARRAY,
// TODO: what to do with BytesParamIndex 7?
Buffer: ?*u8,
pSize: ?*u32,
RequestIdStr: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "dhcpcsvc" fn DhcpUndoRequestParams(
Flags: u32,
Reserved: ?*anyopaque,
AdapterName: ?PWSTR,
RequestIdStr: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "dhcpcsvc" fn DhcpRegisterParamChange(
Flags: u32,
Reserved: ?*anyopaque,
AdapterName: ?PWSTR,
ClassId: ?*DHCPCAPI_CLASSID,
Params: DHCPCAPI_PARAMS_ARRAY,
Handle: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "dhcpcsvc" fn DhcpDeRegisterParamChange(
Flags: u32,
Reserved: ?*anyopaque,
Event: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "dhcpcsvc" fn DhcpRemoveDNSRegistrations(
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "dhcpcsvc" fn DhcpGetOriginalSubnetMask(
sAdapterName: ?[*:0]const u16,
dwSubnetMask: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpAddFilterV4(
ServerIpAddress: ?[*:0]const u16,
AddFilterInfo: ?*DHCP_FILTER_ADD_INFO,
ForceFlag: BOOL,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpDeleteFilterV4(
ServerIpAddress: ?[*:0]const u16,
DeleteFilterInfo: ?*DHCP_ADDR_PATTERN,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpSetFilterV4(
ServerIpAddress: ?[*:0]const u16,
GlobalFilterInfo: ?*DHCP_FILTER_GLOBAL_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetFilterV4(
ServerIpAddress: ?[*:0]const u16,
GlobalFilterInfo: ?*DHCP_FILTER_GLOBAL_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpEnumFilterV4(
ServerIpAddress: ?[*:0]const u16,
ResumeHandle: ?*DHCP_ADDR_PATTERN,
PreferredMaximum: u32,
ListType: DHCP_FILTER_LIST_TYPE,
EnumFilterInfo: ?*?*DHCP_FILTER_ENUM_INFO,
ElementsRead: ?*u32,
ElementsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpCreateSubnet(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
SubnetInfo: ?*const DHCP_SUBNET_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpSetSubnetInfo(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
SubnetInfo: ?*const DHCP_SUBNET_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpGetSubnetInfo(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
SubnetInfo: ?*?*DHCP_SUBNET_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpEnumSubnets(
ServerIpAddress: ?[*:0]const u16,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
EnumInfo: ?*?*DHCP_IP_ARRAY,
ElementsRead: ?*u32,
ElementsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpAddSubnetElement(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
AddElementInfo: ?*const DHCP_SUBNET_ELEMENT_DATA,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpEnumSubnetElements(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
EnumElementType: DHCP_SUBNET_ELEMENT_TYPE,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
EnumElementInfo: ?*?*DHCP_SUBNET_ELEMENT_INFO_ARRAY,
ElementsRead: ?*u32,
ElementsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpRemoveSubnetElement(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
RemoveElementInfo: ?*const DHCP_SUBNET_ELEMENT_DATA,
ForceFlag: DHCP_FORCE_FLAG,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpDeleteSubnet(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
ForceFlag: DHCP_FORCE_FLAG,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpCreateOption(
ServerIpAddress: ?[*:0]const u16,
OptionID: u32,
OptionInfo: ?*const DHCP_OPTION,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpSetOptionInfo(
ServerIpAddress: ?[*:0]const u16,
OptionID: u32,
OptionInfo: ?*const DHCP_OPTION,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetOptionInfo(
ServerIpAddress: ?[*:0]const u16,
OptionID: u32,
OptionInfo: ?*?*DHCP_OPTION,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpEnumOptions(
ServerIpAddress: ?[*:0]const u16,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
Options: ?*?*DHCP_OPTION_ARRAY,
OptionsRead: ?*u32,
OptionsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpRemoveOption(
ServerIpAddress: ?[*:0]const u16,
OptionID: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpSetOptionValue(
ServerIpAddress: ?[*:0]const u16,
OptionID: u32,
ScopeInfo: ?*const DHCP_OPTION_SCOPE_INFO,
OptionValue: ?*const DHCP_OPTION_DATA,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpSetOptionValues(
ServerIpAddress: ?[*:0]const u16,
ScopeInfo: ?*const DHCP_OPTION_SCOPE_INFO,
OptionValues: ?*const DHCP_OPTION_VALUE_ARRAY,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpGetOptionValue(
ServerIpAddress: ?[*:0]const u16,
OptionID: u32,
ScopeInfo: ?*const DHCP_OPTION_SCOPE_INFO,
OptionValue: ?*?*DHCP_OPTION_VALUE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpEnumOptionValues(
ServerIpAddress: ?[*:0]const u16,
ScopeInfo: ?*const DHCP_OPTION_SCOPE_INFO,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
OptionValues: ?*?*DHCP_OPTION_VALUE_ARRAY,
OptionsRead: ?*u32,
OptionsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpRemoveOptionValue(
ServerIpAddress: ?[*:0]const u16,
OptionID: u32,
ScopeInfo: ?*const DHCP_OPTION_SCOPE_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpCreateClientInfoVQ(
ServerIpAddress: ?[*:0]const u16,
ClientInfo: ?*const DHCP_CLIENT_INFO_VQ,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpSetClientInfoVQ(
ServerIpAddress: ?[*:0]const u16,
ClientInfo: ?*const DHCP_CLIENT_INFO_VQ,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetClientInfoVQ(
ServerIpAddress: ?[*:0]const u16,
SearchInfo: ?*const DHCP_SEARCH_INFO,
ClientInfo: ?*?*DHCP_CLIENT_INFO_VQ,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpEnumSubnetClientsVQ(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
ClientInfo: ?*?*DHCP_CLIENT_INFO_ARRAY_VQ,
ClientsRead: ?*u32,
ClientsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpEnumSubnetClientsFilterStatusInfo(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
ClientInfo: ?*?*DHCP_CLIENT_FILTER_STATUS_INFO_ARRAY,
ClientsRead: ?*u32,
ClientsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpCreateClientInfo(
ServerIpAddress: ?[*:0]const u16,
ClientInfo: ?*const DHCP_CLIENT_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpSetClientInfo(
ServerIpAddress: ?[*:0]const u16,
ClientInfo: ?*const DHCP_CLIENT_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpGetClientInfo(
ServerIpAddress: ?[*:0]const u16,
SearchInfo: ?*const DHCP_SEARCH_INFO,
ClientInfo: ?*?*DHCP_CLIENT_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpDeleteClientInfo(
ServerIpAddress: ?[*:0]const u16,
ClientInfo: ?*const DHCP_SEARCH_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpEnumSubnetClients(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
ClientInfo: ?*?*DHCP_CLIENT_INFO_ARRAY,
ClientsRead: ?*u32,
ClientsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetClientOptions(
ServerIpAddress: ?[*:0]const u16,
ClientIpAddress: u32,
ClientSubnetMask: u32,
ClientOptions: ?*?*DHCP_OPTION_LIST,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "dhcpsapi" fn DhcpGetMibInfo(
ServerIpAddress: ?[*:0]const u16,
MibInfo: ?*?*DHCP_MIB_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpServerSetConfig(
ServerIpAddress: ?[*:0]const u16,
FieldsToSet: u32,
ConfigInfo: ?*DHCP_SERVER_CONFIG_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpServerGetConfig(
ServerIpAddress: ?[*:0]const u16,
ConfigInfo: ?*?*DHCP_SERVER_CONFIG_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpScanDatabase(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
FixFlag: u32,
ScanList: ?*?*DHCP_SCAN_LIST,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpRpcFreeMemory(
BufferPointer: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpGetVersion(
ServerIpAddress: ?PWSTR,
MajorVersion: ?*u32,
MinorVersion: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpAddSubnetElementV4(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
AddElementInfo: ?*const DHCP_SUBNET_ELEMENT_DATA_V4,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpEnumSubnetElementsV4(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
EnumElementType: DHCP_SUBNET_ELEMENT_TYPE,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
EnumElementInfo: ?*?*DHCP_SUBNET_ELEMENT_INFO_ARRAY_V4,
ElementsRead: ?*u32,
ElementsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpRemoveSubnetElementV4(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
RemoveElementInfo: ?*const DHCP_SUBNET_ELEMENT_DATA_V4,
ForceFlag: DHCP_FORCE_FLAG,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpCreateClientInfoV4(
ServerIpAddress: ?[*:0]const u16,
ClientInfo: ?*const DHCP_CLIENT_INFO_V4,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpSetClientInfoV4(
ServerIpAddress: ?[*:0]const u16,
ClientInfo: ?*const DHCP_CLIENT_INFO_V4,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetClientInfoV4(
ServerIpAddress: ?[*:0]const u16,
SearchInfo: ?*const DHCP_SEARCH_INFO,
ClientInfo: ?*?*DHCP_CLIENT_INFO_V4,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpEnumSubnetClientsV4(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
ClientInfo: ?*?*DHCP_CLIENT_INFO_ARRAY_V4,
ClientsRead: ?*u32,
ClientsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpServerSetConfigV4(
ServerIpAddress: ?[*:0]const u16,
FieldsToSet: u32,
ConfigInfo: ?*DHCP_SERVER_CONFIG_INFO_V4,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpServerGetConfigV4(
ServerIpAddress: ?[*:0]const u16,
ConfigInfo: ?*?*DHCP_SERVER_CONFIG_INFO_V4,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpSetSuperScopeV4(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
SuperScopeName: ?[*:0]const u16,
ChangeExisting: BOOL,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpDeleteSuperScopeV4(
ServerIpAddress: ?[*:0]const u16,
SuperScopeName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetSuperScopeInfoV4(
ServerIpAddress: ?[*:0]const u16,
SuperScopeTable: ?*?*DHCP_SUPER_SCOPE_TABLE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpEnumSubnetClientsV5(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
ClientInfo: ?*?*DHCP_CLIENT_INFO_ARRAY_V5,
ClientsRead: ?*u32,
ClientsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpCreateOptionV5(
ServerIpAddress: ?PWSTR,
Flags: u32,
OptionId: u32,
ClassName: ?PWSTR,
VendorName: ?PWSTR,
OptionInfo: ?*DHCP_OPTION,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpSetOptionInfoV5(
ServerIpAddress: ?PWSTR,
Flags: u32,
OptionID: u32,
ClassName: ?PWSTR,
VendorName: ?PWSTR,
OptionInfo: ?*DHCP_OPTION,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetOptionInfoV5(
ServerIpAddress: ?PWSTR,
Flags: u32,
OptionID: u32,
ClassName: ?PWSTR,
VendorName: ?PWSTR,
OptionInfo: ?*?*DHCP_OPTION,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpEnumOptionsV5(
ServerIpAddress: ?PWSTR,
Flags: u32,
ClassName: ?PWSTR,
VendorName: ?PWSTR,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
Options: ?*?*DHCP_OPTION_ARRAY,
OptionsRead: ?*u32,
OptionsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpRemoveOptionV5(
ServerIpAddress: ?PWSTR,
Flags: u32,
OptionID: u32,
ClassName: ?PWSTR,
VendorName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpSetOptionValueV5(
ServerIpAddress: ?PWSTR,
Flags: u32,
OptionId: u32,
ClassName: ?PWSTR,
VendorName: ?PWSTR,
ScopeInfo: ?*DHCP_OPTION_SCOPE_INFO,
OptionValue: ?*DHCP_OPTION_DATA,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpSetOptionValuesV5(
ServerIpAddress: ?PWSTR,
Flags: u32,
ClassName: ?PWSTR,
VendorName: ?PWSTR,
ScopeInfo: ?*DHCP_OPTION_SCOPE_INFO,
OptionValues: ?*DHCP_OPTION_VALUE_ARRAY,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetOptionValueV5(
ServerIpAddress: ?PWSTR,
Flags: u32,
OptionID: u32,
ClassName: ?PWSTR,
VendorName: ?PWSTR,
ScopeInfo: ?*DHCP_OPTION_SCOPE_INFO,
OptionValue: ?*?*DHCP_OPTION_VALUE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetOptionValueV6(
ServerIpAddress: ?PWSTR,
Flags: u32,
OptionID: u32,
ClassName: ?PWSTR,
VendorName: ?PWSTR,
ScopeInfo: ?*DHCP_OPTION_SCOPE_INFO6,
OptionValue: ?*?*DHCP_OPTION_VALUE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpEnumOptionValuesV5(
ServerIpAddress: ?PWSTR,
Flags: u32,
ClassName: ?PWSTR,
VendorName: ?PWSTR,
ScopeInfo: ?*DHCP_OPTION_SCOPE_INFO,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
OptionValues: ?*?*DHCP_OPTION_VALUE_ARRAY,
OptionsRead: ?*u32,
OptionsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpRemoveOptionValueV5(
ServerIpAddress: ?PWSTR,
Flags: u32,
OptionID: u32,
ClassName: ?PWSTR,
VendorName: ?PWSTR,
ScopeInfo: ?*DHCP_OPTION_SCOPE_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpCreateClass(
ServerIpAddress: ?PWSTR,
ReservedMustBeZero: u32,
ClassInfo: ?*DHCP_CLASS_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpModifyClass(
ServerIpAddress: ?PWSTR,
ReservedMustBeZero: u32,
ClassInfo: ?*DHCP_CLASS_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpDeleteClass(
ServerIpAddress: ?PWSTR,
ReservedMustBeZero: u32,
ClassName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetClassInfo(
ServerIpAddress: ?PWSTR,
ReservedMustBeZero: u32,
PartialClassInfo: ?*DHCP_CLASS_INFO,
FilledClassInfo: ?*?*DHCP_CLASS_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpEnumClasses(
ServerIpAddress: ?PWSTR,
ReservedMustBeZero: u32,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
ClassInfoArray: ?*?*DHCP_CLASS_INFO_ARRAY,
nRead: ?*u32,
nTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetAllOptions(
ServerIpAddress: ?PWSTR,
Flags: u32,
OptionStruct: ?*?*DHCP_ALL_OPTIONS,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetAllOptionsV6(
ServerIpAddress: ?PWSTR,
Flags: u32,
OptionStruct: ?*?*DHCP_ALL_OPTIONS,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetAllOptionValues(
ServerIpAddress: ?PWSTR,
Flags: u32,
ScopeInfo: ?*DHCP_OPTION_SCOPE_INFO,
Values: ?*?*DHCP_ALL_OPTION_VALUES,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetAllOptionValuesV6(
ServerIpAddress: ?PWSTR,
Flags: u32,
ScopeInfo: ?*DHCP_OPTION_SCOPE_INFO6,
Values: ?*?*DHCP_ALL_OPTION_VALUES,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpEnumServers(
Flags: u32,
IdInfo: ?*anyopaque,
Servers: ?*?*DHCPDS_SERVERS,
CallbackFn: ?*anyopaque,
CallbackData: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpAddServer(
Flags: u32,
IdInfo: ?*anyopaque,
NewServer: ?*DHCPDS_SERVER,
CallbackFn: ?*anyopaque,
CallbackData: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpDeleteServer(
Flags: u32,
IdInfo: ?*anyopaque,
NewServer: ?*DHCPDS_SERVER,
CallbackFn: ?*anyopaque,
CallbackData: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpGetServerBindingInfo(
ServerIpAddress: ?[*:0]const u16,
Flags: u32,
BindElementsInfo: ?*?*DHCP_BIND_ELEMENT_ARRAY,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpSetServerBindingInfo(
ServerIpAddress: ?[*:0]const u16,
Flags: u32,
BindElementInfo: ?*DHCP_BIND_ELEMENT_ARRAY,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpAddSubnetElementV5(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
AddElementInfo: ?*const DHCP_SUBNET_ELEMENT_DATA_V5,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpEnumSubnetElementsV5(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
EnumElementType: DHCP_SUBNET_ELEMENT_TYPE,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
EnumElementInfo: ?*?*DHCP_SUBNET_ELEMENT_INFO_ARRAY_V5,
ElementsRead: ?*u32,
ElementsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpRemoveSubnetElementV5(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
RemoveElementInfo: ?*const DHCP_SUBNET_ELEMENT_DATA_V5,
ForceFlag: DHCP_FORCE_FLAG,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4EnumSubnetReservations(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
EnumElementInfo: ?*?*DHCP_RESERVATION_INFO_ARRAY,
ElementsRead: ?*u32,
ElementsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpCreateOptionV6(
ServerIpAddress: ?PWSTR,
Flags: u32,
OptionId: u32,
ClassName: ?PWSTR,
VendorName: ?PWSTR,
OptionInfo: ?*DHCP_OPTION,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpRemoveOptionV6(
ServerIpAddress: ?PWSTR,
Flags: u32,
OptionID: u32,
ClassName: ?PWSTR,
VendorName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpEnumOptionsV6(
ServerIpAddress: ?PWSTR,
Flags: u32,
ClassName: ?PWSTR,
VendorName: ?PWSTR,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
Options: ?*?*DHCP_OPTION_ARRAY,
OptionsRead: ?*u32,
OptionsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpRemoveOptionValueV6(
ServerIpAddress: ?PWSTR,
Flags: u32,
OptionID: u32,
ClassName: ?PWSTR,
VendorName: ?PWSTR,
ScopeInfo: ?*DHCP_OPTION_SCOPE_INFO6,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetOptionInfoV6(
ServerIpAddress: ?PWSTR,
Flags: u32,
OptionID: u32,
ClassName: ?PWSTR,
VendorName: ?PWSTR,
OptionInfo: ?*?*DHCP_OPTION,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpSetOptionInfoV6(
ServerIpAddress: ?PWSTR,
Flags: u32,
OptionID: u32,
ClassName: ?PWSTR,
VendorName: ?PWSTR,
OptionInfo: ?*DHCP_OPTION,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpSetOptionValueV6(
ServerIpAddress: ?PWSTR,
Flags: u32,
OptionId: u32,
ClassName: ?PWSTR,
VendorName: ?PWSTR,
ScopeInfo: ?*DHCP_OPTION_SCOPE_INFO6,
OptionValue: ?*DHCP_OPTION_DATA,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetSubnetInfoVQ(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
SubnetInfo: ?*?*DHCP_SUBNET_INFO_VQ,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpCreateSubnetVQ(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
SubnetInfo: ?*const DHCP_SUBNET_INFO_VQ,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpSetSubnetInfoVQ(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
SubnetInfo: ?*const DHCP_SUBNET_INFO_VQ,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpEnumOptionValuesV6(
ServerIpAddress: ?[*:0]const u16,
Flags: u32,
ClassName: ?PWSTR,
VendorName: ?PWSTR,
ScopeInfo: ?*DHCP_OPTION_SCOPE_INFO6,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
OptionValues: ?*?*DHCP_OPTION_VALUE_ARRAY,
OptionsRead: ?*u32,
OptionsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpDsInit(
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpDsCleanup(
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpSetThreadOptions(
Flags: u32,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetThreadOptions(
pFlags: ?*u32,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpServerQueryAttribute(
ServerIpAddr: ?PWSTR,
dwReserved: u32,
DhcpAttribId: u32,
pDhcpAttrib: ?*?*DHCP_ATTRIB,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpServerQueryAttributes(
ServerIpAddr: ?PWSTR,
dwReserved: u32,
dwAttribCount: u32,
pDhcpAttribs: ?*u32,
pDhcpAttribArr: ?*?*DHCP_ATTRIB_ARRAY,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2000'
pub extern "dhcpsapi" fn DhcpServerRedoAuthorization(
ServerIpAddr: ?PWSTR,
dwReserved: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpAuditLogSetParams(
ServerIpAddress: ?PWSTR,
Flags: u32,
AuditLogDir: ?PWSTR,
DiskCheckInterval: u32,
MaxLogFilesSize: u32,
MinSpaceOnDisk: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpAuditLogGetParams(
ServerIpAddress: ?PWSTR,
Flags: u32,
AuditLogDir: ?*?PWSTR,
DiskCheckInterval: ?*u32,
MaxLogFilesSize: ?*u32,
MinSpaceOnDisk: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpServerQueryDnsRegCredentials(
ServerIpAddress: ?PWSTR,
UnameSize: u32,
Uname: [*:0]u16,
DomainSize: u32,
Domain: [*:0]u16,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "dhcpsapi" fn DhcpServerSetDnsRegCredentials(
ServerIpAddress: ?PWSTR,
Uname: ?PWSTR,
Domain: ?PWSTR,
Passwd: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpServerSetDnsRegCredentialsV5(
ServerIpAddress: ?PWSTR,
Uname: ?PWSTR,
Domain: ?PWSTR,
Passwd: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpServerBackupDatabase(
ServerIpAddress: ?PWSTR,
Path: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpServerRestoreDatabase(
ServerIpAddress: ?PWSTR,
Path: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpServerSetConfigVQ(
ServerIpAddress: ?[*:0]const u16,
FieldsToSet: u32,
ConfigInfo: ?*DHCP_SERVER_CONFIG_INFO_VQ,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpServerGetConfigVQ(
ServerIpAddress: ?[*:0]const u16,
ConfigInfo: ?*?*DHCP_SERVER_CONFIG_INFO_VQ,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetServerSpecificStrings(
ServerIpAddress: ?[*:0]const u16,
ServerSpecificStrings: ?*?*DHCP_SERVER_SPECIFIC_STRINGS,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "dhcpsapi" fn DhcpServerAuditlogParamsFree(
ConfigInfo: ?*DHCP_SERVER_CONFIG_INFO_VQ,
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpCreateSubnetV6(
ServerIpAddress: ?PWSTR,
SubnetAddress: DHCP_IPV6_ADDRESS,
SubnetInfo: ?*DHCP_SUBNET_INFO_V6,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpDeleteSubnetV6(
ServerIpAddress: ?PWSTR,
SubnetAddress: DHCP_IPV6_ADDRESS,
ForceFlag: DHCP_FORCE_FLAG,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpEnumSubnetsV6(
ServerIpAddress: ?[*:0]const u16,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
EnumInfo: ?*?*DHCPV6_IP_ARRAY,
ElementsRead: ?*u32,
ElementsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpAddSubnetElementV6(
ServerIpAddress: ?PWSTR,
SubnetAddress: DHCP_IPV6_ADDRESS,
AddElementInfo: ?*DHCP_SUBNET_ELEMENT_DATA_V6,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpRemoveSubnetElementV6(
ServerIpAddress: ?PWSTR,
SubnetAddress: DHCP_IPV6_ADDRESS,
RemoveElementInfo: ?*DHCP_SUBNET_ELEMENT_DATA_V6,
ForceFlag: DHCP_FORCE_FLAG,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpEnumSubnetElementsV6(
ServerIpAddress: ?PWSTR,
SubnetAddress: DHCP_IPV6_ADDRESS,
EnumElementType: DHCP_SUBNET_ELEMENT_TYPE_V6,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
EnumElementInfo: ?*?*DHCP_SUBNET_ELEMENT_INFO_ARRAY_V6,
ElementsRead: ?*u32,
ElementsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetSubnetInfoV6(
ServerIpAddress: ?PWSTR,
SubnetAddress: DHCP_IPV6_ADDRESS,
SubnetInfo: ?*?*DHCP_SUBNET_INFO_V6,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpEnumSubnetClientsV6(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: DHCP_IPV6_ADDRESS,
ResumeHandle: ?*DHCP_IPV6_ADDRESS,
PreferredMaximum: u32,
ClientInfo: ?*?*DHCP_CLIENT_INFO_ARRAY_V6,
ClientsRead: ?*u32,
ClientsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpServerGetConfigV6(
ServerIpAddress: ?[*:0]const u16,
ScopeInfo: ?*DHCP_OPTION_SCOPE_INFO6,
ConfigInfo: ?*?*DHCP_SERVER_CONFIG_INFO_V6,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpServerSetConfigV6(
ServerIpAddress: ?[*:0]const u16,
ScopeInfo: ?*DHCP_OPTION_SCOPE_INFO6,
FieldsToSet: u32,
ConfigInfo: ?*DHCP_SERVER_CONFIG_INFO_V6,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpSetSubnetInfoV6(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: DHCP_IPV6_ADDRESS,
SubnetInfo: ?*DHCP_SUBNET_INFO_V6,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetMibInfoV6(
ServerIpAddress: ?[*:0]const u16,
MibInfo: ?*?*DHCP_MIB_INFO_V6,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetServerBindingInfoV6(
ServerIpAddress: ?[*:0]const u16,
Flags: u32,
BindElementsInfo: ?*?*DHCPV6_BIND_ELEMENT_ARRAY,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpSetServerBindingInfoV6(
ServerIpAddress: ?[*:0]const u16,
Flags: u32,
BindElementInfo: ?*DHCPV6_BIND_ELEMENT_ARRAY,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpSetClientInfoV6(
ServerIpAddress: ?[*:0]const u16,
ClientInfo: ?*const DHCP_CLIENT_INFO_V6,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetClientInfoV6(
ServerIpAddress: ?[*:0]const u16,
SearchInfo: ?*const DHCP_SEARCH_INFO_V6,
ClientInfo: ?*?*DHCP_CLIENT_INFO_V6,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpDeleteClientInfoV6(
ServerIpAddress: ?[*:0]const u16,
ClientInfo: ?*const DHCP_SEARCH_INFO_V6,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpCreateClassV6(
ServerIpAddress: ?PWSTR,
ReservedMustBeZero: u32,
ClassInfo: ?*DHCP_CLASS_INFO_V6,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpModifyClassV6(
ServerIpAddress: ?PWSTR,
ReservedMustBeZero: u32,
ClassInfo: ?*DHCP_CLASS_INFO_V6,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpDeleteClassV6(
ServerIpAddress: ?PWSTR,
ReservedMustBeZero: u32,
ClassName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpEnumClassesV6(
ServerIpAddress: ?PWSTR,
ReservedMustBeZero: u32,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
ClassInfoArray: ?*?*DHCP_CLASS_INFO_ARRAY_V6,
nRead: ?*u32,
nTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpSetSubnetDelayOffer(
ServerIpAddress: ?PWSTR,
SubnetAddress: u32,
TimeDelayInMilliseconds: u16,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetSubnetDelayOffer(
ServerIpAddress: ?PWSTR,
SubnetAddress: u32,
TimeDelayInMilliseconds: ?*u16,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2008'
pub extern "dhcpsapi" fn DhcpGetMibInfoV5(
ServerIpAddress: ?[*:0]const u16,
MibInfo: ?*?*DHCP_MIB_INFO_V5,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "dhcpsapi" fn DhcpAddSecurityGroup(
pServer: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4GetOptionValue(
ServerIpAddress: ?PWSTR,
Flags: u32,
OptionID: u32,
PolicyName: ?PWSTR,
VendorName: ?PWSTR,
ScopeInfo: ?*DHCP_OPTION_SCOPE_INFO,
OptionValue: ?*?*DHCP_OPTION_VALUE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4SetOptionValue(
ServerIpAddress: ?PWSTR,
Flags: u32,
OptionId: u32,
PolicyName: ?PWSTR,
VendorName: ?PWSTR,
ScopeInfo: ?*DHCP_OPTION_SCOPE_INFO,
OptionValue: ?*DHCP_OPTION_DATA,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4SetOptionValues(
ServerIpAddress: ?PWSTR,
Flags: u32,
PolicyName: ?PWSTR,
VendorName: ?PWSTR,
ScopeInfo: ?*DHCP_OPTION_SCOPE_INFO,
OptionValues: ?*DHCP_OPTION_VALUE_ARRAY,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4RemoveOptionValue(
ServerIpAddress: ?PWSTR,
Flags: u32,
OptionID: u32,
PolicyName: ?PWSTR,
VendorName: ?PWSTR,
ScopeInfo: ?*DHCP_OPTION_SCOPE_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4GetAllOptionValues(
ServerIpAddress: ?PWSTR,
Flags: u32,
ScopeInfo: ?*DHCP_OPTION_SCOPE_INFO,
Values: ?*?*DHCP_ALL_OPTION_VALUES_PB,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4FailoverCreateRelationship(
ServerIpAddress: ?PWSTR,
pRelationship: ?*DHCP_FAILOVER_RELATIONSHIP,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4FailoverSetRelationship(
ServerIpAddress: ?PWSTR,
Flags: u32,
pRelationship: ?*DHCP_FAILOVER_RELATIONSHIP,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4FailoverDeleteRelationship(
ServerIpAddress: ?PWSTR,
pRelationshipName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4FailoverGetRelationship(
ServerIpAddress: ?PWSTR,
pRelationshipName: ?PWSTR,
pRelationship: ?*?*DHCP_FAILOVER_RELATIONSHIP,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4FailoverEnumRelationship(
ServerIpAddress: ?PWSTR,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
pRelationship: ?*?*DHCP_FAILOVER_RELATIONSHIP_ARRAY,
RelationshipRead: ?*u32,
RelationshipTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4FailoverAddScopeToRelationship(
ServerIpAddress: ?PWSTR,
pRelationship: ?*DHCP_FAILOVER_RELATIONSHIP,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4FailoverDeleteScopeFromRelationship(
ServerIpAddress: ?PWSTR,
pRelationship: ?*DHCP_FAILOVER_RELATIONSHIP,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4FailoverGetScopeRelationship(
ServerIpAddress: ?PWSTR,
ScopeId: u32,
pRelationship: ?*?*DHCP_FAILOVER_RELATIONSHIP,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4FailoverGetScopeStatistics(
ServerIpAddress: ?PWSTR,
ScopeId: u32,
pStats: ?*?*DHCP_FAILOVER_STATISTICS,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4FailoverGetClientInfo(
ServerIpAddress: ?PWSTR,
SearchInfo: ?*const DHCP_SEARCH_INFO,
ClientInfo: ?*?*DHCPV4_FAILOVER_CLIENT_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4FailoverGetSystemTime(
ServerIpAddress: ?PWSTR,
pTime: ?*u32,
pMaxAllowedDeltaTime: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4FailoverGetAddressStatus(
ServerIpAddress: ?PWSTR,
SubnetAddress: u32,
pStatus: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4FailoverTriggerAddrAllocation(
ServerIpAddress: ?PWSTR,
pFailRelName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpHlprCreateV4Policy(
PolicyName: ?PWSTR,
fGlobalPolicy: BOOL,
Subnet: u32,
ProcessingOrder: u32,
RootOperator: DHCP_POL_LOGIC_OPER,
Description: ?PWSTR,
Enabled: BOOL,
Policy: ?*?*DHCP_POLICY,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "dhcpsapi" fn DhcpHlprCreateV4PolicyEx(
PolicyName: ?PWSTR,
fGlobalPolicy: BOOL,
Subnet: u32,
ProcessingOrder: u32,
RootOperator: DHCP_POL_LOGIC_OPER,
Description: ?PWSTR,
Enabled: BOOL,
Policy: ?*?*DHCP_POLICY_EX,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpHlprAddV4PolicyExpr(
Policy: ?*DHCP_POLICY,
ParentExpr: u32,
Operator: DHCP_POL_LOGIC_OPER,
ExprIndex: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpHlprAddV4PolicyCondition(
Policy: ?*DHCP_POLICY,
ParentExpr: u32,
Type: DHCP_POL_ATTR_TYPE,
OptionID: u32,
SubOptionID: u32,
VendorName: ?PWSTR,
Operator: DHCP_POL_COMPARATOR,
// TODO: what to do with BytesParamIndex 8?
Value: ?*u8,
ValueLength: u32,
ConditionIndex: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpHlprAddV4PolicyRange(
Policy: ?*DHCP_POLICY,
Range: ?*DHCP_IP_RANGE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpHlprResetV4PolicyExpr(
Policy: ?*DHCP_POLICY,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpHlprModifyV4PolicyExpr(
Policy: ?*DHCP_POLICY,
Operator: DHCP_POL_LOGIC_OPER,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpHlprFreeV4Policy(
Policy: ?*DHCP_POLICY,
) callconv(@import("std").os.windows.WINAPI) void;
pub extern "dhcpsapi" fn DhcpHlprFreeV4PolicyArray(
PolicyArray: ?*DHCP_POLICY_ARRAY,
) callconv(@import("std").os.windows.WINAPI) void;
pub extern "dhcpsapi" fn DhcpHlprFreeV4PolicyEx(
PolicyEx: ?*DHCP_POLICY_EX,
) callconv(@import("std").os.windows.WINAPI) void;
pub extern "dhcpsapi" fn DhcpHlprFreeV4PolicyExArray(
PolicyExArray: ?*DHCP_POLICY_EX_ARRAY,
) callconv(@import("std").os.windows.WINAPI) void;
pub extern "dhcpsapi" fn DhcpHlprFreeV4DhcpProperty(
Property: ?*DHCP_PROPERTY,
) callconv(@import("std").os.windows.WINAPI) void;
pub extern "dhcpsapi" fn DhcpHlprFreeV4DhcpPropertyArray(
PropertyArray: ?*DHCP_PROPERTY_ARRAY,
) callconv(@import("std").os.windows.WINAPI) void;
pub extern "dhcpsapi" fn DhcpHlprFindV4DhcpProperty(
PropertyArray: ?*DHCP_PROPERTY_ARRAY,
ID: DHCP_PROPERTY_ID,
Type: DHCP_PROPERTY_TYPE,
) callconv(@import("std").os.windows.WINAPI) ?*DHCP_PROPERTY;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpHlprIsV4PolicySingleUC(
Policy: ?*DHCP_POLICY,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4QueryPolicyEnforcement(
ServerIpAddress: ?PWSTR,
fGlobalPolicy: BOOL,
SubnetAddress: u32,
Enabled: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4SetPolicyEnforcement(
ServerIpAddress: ?PWSTR,
fGlobalPolicy: BOOL,
SubnetAddress: u32,
Enable: BOOL,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpHlprIsV4PolicyWellFormed(
pPolicy: ?*DHCP_POLICY,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpHlprIsV4PolicyValid(
pPolicy: ?*DHCP_POLICY,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4CreatePolicy(
ServerIpAddress: ?PWSTR,
pPolicy: ?*DHCP_POLICY,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4GetPolicy(
ServerIpAddress: ?PWSTR,
fGlobalPolicy: BOOL,
SubnetAddress: u32,
PolicyName: ?PWSTR,
Policy: ?*?*DHCP_POLICY,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4SetPolicy(
ServerIpAddress: ?PWSTR,
FieldsModified: u32,
fGlobalPolicy: BOOL,
SubnetAddress: u32,
PolicyName: ?PWSTR,
Policy: ?*DHCP_POLICY,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4DeletePolicy(
ServerIpAddress: ?PWSTR,
fGlobalPolicy: BOOL,
SubnetAddress: u32,
PolicyName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4EnumPolicies(
ServerIpAddress: ?PWSTR,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
fGlobalPolicy: BOOL,
SubnetAddress: u32,
EnumInfo: ?*?*DHCP_POLICY_ARRAY,
ElementsRead: ?*u32,
ElementsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4AddPolicyRange(
ServerIpAddress: ?PWSTR,
SubnetAddress: u32,
PolicyName: ?PWSTR,
Range: ?*DHCP_IP_RANGE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4RemovePolicyRange(
ServerIpAddress: ?PWSTR,
SubnetAddress: u32,
PolicyName: ?PWSTR,
Range: ?*DHCP_IP_RANGE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV6SetStatelessStoreParams(
ServerIpAddress: ?PWSTR,
fServerLevel: BOOL,
SubnetAddress: DHCP_IPV6_ADDRESS,
FieldModified: u32,
Params: ?*DHCPV6_STATELESS_PARAMS,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV6GetStatelessStoreParams(
ServerIpAddress: ?PWSTR,
fServerLevel: BOOL,
SubnetAddress: DHCP_IPV6_ADDRESS,
Params: ?*?*DHCPV6_STATELESS_PARAMS,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV6GetStatelessStatistics(
ServerIpAddress: ?PWSTR,
StatelessStats: ?*?*DHCPV6_STATELESS_STATS,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4CreateClientInfo(
ServerIpAddress: ?[*:0]const u16,
ClientInfo: ?*const DHCP_CLIENT_INFO_PB,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4EnumSubnetClients(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
ClientInfo: ?*?*DHCP_CLIENT_INFO_PB_ARRAY,
ClientsRead: ?*u32,
ClientsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4GetClientInfo(
ServerIpAddress: ?[*:0]const u16,
SearchInfo: ?*const DHCP_SEARCH_INFO,
ClientInfo: ?*?*DHCP_CLIENT_INFO_PB,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV6CreateClientInfo(
ServerIpAddress: ?[*:0]const u16,
ClientInfo: ?*const DHCP_CLIENT_INFO_V6,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV4GetFreeIPAddress(
ServerIpAddress: ?PWSTR,
ScopeId: u32,
StartIP: u32,
EndIP: u32,
NumFreeAddrReq: u32,
IPAddrList: ?*?*DHCP_IP_ARRAY,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windowsServer2012'
pub extern "dhcpsapi" fn DhcpV6GetFreeIPAddress(
ServerIpAddress: ?PWSTR,
ScopeId: DHCP_IPV6_ADDRESS,
StartIP: DHCP_IPV6_ADDRESS,
EndIP: DHCP_IPV6_ADDRESS,
NumFreeAddrReq: u32,
IPAddrList: ?*?*DHCPV6_IP_ARRAY,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "dhcpsapi" fn DhcpV4CreateClientInfoEx(
ServerIpAddress: ?[*:0]const u16,
ClientInfo: ?*const DHCP_CLIENT_INFO_EX,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "dhcpsapi" fn DhcpV4EnumSubnetClientsEx(
ServerIpAddress: ?[*:0]const u16,
SubnetAddress: u32,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
ClientInfo: ?*?*DHCP_CLIENT_INFO_EX_ARRAY,
ClientsRead: ?*u32,
ClientsTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "dhcpsapi" fn DhcpV4GetClientInfoEx(
ServerIpAddress: ?[*:0]const u16,
SearchInfo: ?*const DHCP_SEARCH_INFO,
ClientInfo: ?*?*DHCP_CLIENT_INFO_EX,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "dhcpsapi" fn DhcpV4CreatePolicyEx(
ServerIpAddress: ?PWSTR,
PolicyEx: ?*DHCP_POLICY_EX,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "dhcpsapi" fn DhcpV4GetPolicyEx(
ServerIpAddress: ?PWSTR,
GlobalPolicy: BOOL,
SubnetAddress: u32,
PolicyName: ?PWSTR,
Policy: ?*?*DHCP_POLICY_EX,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "dhcpsapi" fn DhcpV4SetPolicyEx(
ServerIpAddress: ?PWSTR,
FieldsModified: u32,
GlobalPolicy: BOOL,
SubnetAddress: u32,
PolicyName: ?PWSTR,
Policy: ?*DHCP_POLICY_EX,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "dhcpsapi" fn DhcpV4EnumPoliciesEx(
ServerIpAddress: ?PWSTR,
ResumeHandle: ?*u32,
PreferredMaximum: u32,
GlobalPolicy: BOOL,
SubnetAddress: u32,
EnumInfo: ?*?*DHCP_POLICY_EX_ARRAY,
ElementsRead: ?*u32,
ElementsTotal: ?*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 (4)
//--------------------------------------------------------------------------------
const BOOL = @import("../foundation.zig").BOOL;
const BOOLEAN = @import("../foundation.zig").BOOLEAN;
const PSTR = @import("../foundation.zig").PSTR;
const PWSTR = @import("../foundation.zig").PWSTR;
test {
// The following '_ = <FuncPtrType>' lines are a workaround for https://github.com/ziglang/zig/issues/4476
if (@hasDecl(@This(), "LPDHCP_CONTROL")) { _ = LPDHCP_CONTROL; }
if (@hasDecl(@This(), "LPDHCP_NEWPKT")) { _ = LPDHCP_NEWPKT; }
if (@hasDecl(@This(), "LPDHCP_DROP_SEND")) { _ = LPDHCP_DROP_SEND; }
if (@hasDecl(@This(), "LPDHCP_PROB")) { _ = LPDHCP_PROB; }
if (@hasDecl(@This(), "LPDHCP_GIVE_ADDRESS")) { _ = LPDHCP_GIVE_ADDRESS; }
if (@hasDecl(@This(), "LPDHCP_HANDLE_OPTIONS")) { _ = LPDHCP_HANDLE_OPTIONS; }
if (@hasDecl(@This(), "LPDHCP_DELETE_CLIENT")) { _ = LPDHCP_DELETE_CLIENT; }
if (@hasDecl(@This(), "LPDHCP_ENTRY_POINT_FUNC")) { _ = LPDHCP_ENTRY_POINT_FUNC; }
@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);
}
}