diff fuhtark_test/include/winapi/dhcpsapi.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fuhtark_test/include/winapi/dhcpsapi.h	Wed Nov 26 21:36:48 2025 +0700
@@ -0,0 +1,178 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER within this package.
+ */
+#ifndef _DHCPSAPI_
+#define _DHCPSAPI_
+
+#ifndef WINAPI
+#define WINAPI __stdcall
+#endif
+
+#define DHCP_API_FUNCTION WINAPI
+
+#ifdef __cplusplus
+#define DHCP_CONST const
+extern "C" {
+#else
+#define DHCP_CONST
+#endif
+
+typedef DWORD DHCP_IP_ADDRESS,*PDHCP_IP_ADDRESS,*LPDHCP_IP_ADDRESS;
+typedef DWORD DHCP_IP_MASK;
+typedef DWORD DHCP_RESUME_HANDLE;
+typedef DWORD DHCP_OPTION_ID;
+
+typedef struct _DATE_TIME {
+  DWORD dwLowDateTime;
+  DWORD dwHighDateTime;
+} DATE_TIME,*LPDATE_TIME;
+
+typedef struct _DWORD_DWORD {
+  DWORD DWord1;
+  DWORD DWord2;
+} DWORD_DWORD,*LPDWORD_DWORD;
+
+typedef struct _DHCP_BINARY_DATA {
+  DWORD DataLength;
+  BYTE *Data;
+} DHCP_BINARY_DATA,*LPDHCP_BINARY_DATA;
+
+typedef DHCP_BINARY_DATA DHCP_CLIENT_UID;
+
+#define DHCP_ENDPOINT_FLAG_CANT_MODIFY 0x01
+
+typedef struct _DHCP_BIND_ELEMENT {
+  ULONG Flags;
+  WINBOOL fBoundToDHCPServer;
+  DHCP_IP_ADDRESS AdapterPrimaryAddress;
+  DHCP_IP_ADDRESS AdapterSubnetAddress;
+  LPWSTR IfDescription;
+  ULONG IfIdSize;
+  LPBYTE IfId;
+} DHCP_BIND_ELEMENT,*LPDHCP_BIND_ELEMENT;
+
+typedef struct _DHCP_BIND_ELEMENT_ARRAY {
+  DWORD NumElements;
+  LPDHCP_BIND_ELEMENT Elements;
+} DHCP_BIND_ELEMENT_ARRAY,*LPDHCP_BIND_ELEMENT_ARRAY;
+
+typedef enum _DHCP_CLIENT_SEARCH_TYPE {
+  DhcpClientIpAddress,DhcpClientHardwareAddress,DhcpClientName
+} DHCP_SEARCH_INFO_TYPE,*LPDHCP_SEARCH_INFO_TYPE;
+
+typedef struct _DHCP_CLIENT_SEARCH_INFO {
+  DHCP_SEARCH_INFO_TYPE SearchType;
+  union _DHCP_CLIENT_SEARCH_UNION {
+    DHCP_IP_ADDRESS ClientIpAddress;
+    DHCP_CLIENT_UID ClientHardwareAddress;
+    LPWSTR ClientName;
+  } SearchInfo;
+} DHCP_SEARCH_INFO,*LPDHCP_SEARCH_INFO;
+
+typedef enum _DHCP_OPTION_SCOPE_TYPE {
+  DhcpDefaultOptions,DhcpGlobalOptions,DhcpSubnetOptions,DhcpReservedOptions,DhcpMScopeOptions
+} DHCP_OPTION_SCOPE_TYPE,*LPDHCP_OPTION_SCOPE_TYPE;
+
+typedef struct _DHCP_RESERVED_SCOPE {
+  DHCP_IP_ADDRESS ReservedIpAddress;
+  DHCP_IP_ADDRESS ReservedIpSubnetAddress;
+} DHCP_RESERVED_SCOPE,*LPDHCP_RESERVED_SCOPE;
+
+typedef struct _DHCP_OPTION_SCOPE_INFO {
+  DHCP_OPTION_SCOPE_TYPE ScopeType;
+  union _DHCP_OPTION_SCOPE_UNION {
+    PVOID DefaultScopeInfo;
+    PVOID GlobalScopeInfo;
+    DHCP_IP_ADDRESS SubnetScopeInfo;
+    DHCP_RESERVED_SCOPE ReservedScopeInfo;
+    LPWSTR MScopeInfo;
+  } ScopeInfo;
+} DHCP_OPTION_SCOPE_INFO,*LPDHCP_OPTION_SCOPE_INFO;
+
+typedef struct _DHCP_HOST_INFO {
+  DHCP_IP_ADDRESS IpAddress;
+  LPWSTR NetBiosName;
+  LPWSTR HostName;
+} DHCP_HOST_INFO,*LPDHCP_HOST_INFO;
+
+typedef struct _DHCP_CLIENT_INFO {
+  DHCP_IP_ADDRESS ClientIpAddress;
+  DHCP_IP_MASK SubnetMask;
+  DHCP_CLIENT_UID ClientHardwareAddress;
+  LPWSTR ClientName;
+  LPWSTR ClientComment;
+  DATE_TIME ClientLeaseExpires;
+  DHCP_HOST_INFO OwnerHost;
+} DHCP_CLIENT_INFO,*LPDHCP_CLIENT_INFO;
+
+typedef struct _DHCP_CLIENT_INFO_ARRAY {
+  DWORD NumElements;
+  LPDHCP_CLIENT_INFO *Clients;
+} DHCP_CLIENT_INFO_ARRAY,*LPDHCP_CLIENT_INFO_ARRAY;
+
+typedef struct _DHCP_IP_ARRAY {
+  DWORD NumElements;
+  LPDHCP_IP_ADDRESS Elements;
+} DHCP_IP_ARRAY,*LPDHCP_IP_ARRAY;
+
+typedef enum _DHCP_SUBNET_STATE {
+  DhcpSubnetEnabled = 0,DhcpSubnetDisabled,DhcpSubnetEnabledSwitched,DhcpSubnetDisabledSwitched,DhcpSubnetInvalidState
+} DHCP_SUBNET_STATE,*LPDHCP_SUBNET_STATE;
+
+typedef struct _DHCP_SUBNET_INFO {
+  DHCP_IP_ADDRESS SubnetAddress;
+  DHCP_IP_MASK SubnetMask;
+  LPWSTR SubnetName;
+  LPWSTR SubnetComment;
+  DHCP_HOST_INFO PrimaryHost;
+  DHCP_SUBNET_STATE SubnetState;
+} DHCP_SUBNET_INFO,*LPDHCP_SUBNET_INFO;
+
+typedef enum _DHCP_OPTION_DATA_TYPE {
+  DhcpByteOption,DhcpWordOption,DhcpDWordOption,DhcpDWordDWordOption,DhcpIpAddressOption,DhcpStringDataOption,DhcpBinaryDataOption,DhcpEncapsulatedDataOption
+} DHCP_OPTION_DATA_TYPE,*LPDHCP_OPTION_DATA_TYPE;
+
+typedef struct _DHCP_OPTION_DATA_ELEMENT {
+  DHCP_OPTION_DATA_TYPE OptionType;
+  union _DHCP_OPTION_ELEMENT_UNION {
+    BYTE ByteOption;
+    WORD WordOption;
+    DWORD DWordOption;
+    DWORD_DWORD DWordDWordOption;
+    DHCP_IP_ADDRESS IpAddressOption;
+    LPWSTR StringDataOption;
+    DHCP_BINARY_DATA BinaryDataOption;
+    DHCP_BINARY_DATA EncapsulatedDataOption;
+
+  } Element;
+} DHCP_OPTION_DATA_ELEMENT,*LPDHCP_OPTION_DATA_ELEMENT;
+
+typedef struct _DHCP_OPTION_DATA {
+  DWORD NumElements;
+  LPDHCP_OPTION_DATA_ELEMENT Elements;
+} DHCP_OPTION_DATA,*LPDHCP_OPTION_DATA;
+
+typedef struct _DHCP_OPTION_VALUE {
+  DHCP_OPTION_ID OptionID;
+  DHCP_OPTION_DATA Value;
+} DHCP_OPTION_VALUE,*LPDHCP_OPTION_VALUE;
+
+DWORD WINAPI DhcpGetVersion(LPWSTR ServerIpAddress,LPDWORD MajorVersion,LPDWORD MinorVersion);
+DWORD WINAPI DhcpSetServerBindingInfo(DHCP_CONST WCHAR *ServerIpAddress,ULONG Flags,LPDHCP_BIND_ELEMENT_ARRAY BindElementInfo);
+DWORD WINAPI DhcpGetServerBindingInfo(DHCP_CONST WCHAR *ServerIpAddress,ULONG Flags,LPDHCP_BIND_ELEMENT_ARRAY *BindElementsInfo);
+DWORD WINAPI DhcpCreateClientInfo(DHCP_CONST WCHAR *ServerIpAddress,DHCP_CONST DHCP_CLIENT_INFO *ClientInfo);
+DWORD WINAPI DhcpSetClientInfo(DHCP_CONST WCHAR *ServerIpAddress,DHCP_CONST DHCP_CLIENT_INFO *ClientInfo);
+DWORD WINAPI DhcpGetClientInfo(DHCP_CONST WCHAR *ServerIpAddress,DHCP_CONST DHCP_SEARCH_INFO *SearchInfo,LPDHCP_CLIENT_INFO *ClientInfo);
+DWORD WINAPI DhcpDeleteClientInfo(DHCP_CONST WCHAR *ServerIpAddress,DHCP_CONST DHCP_SEARCH_INFO *ClientInfo);
+DWORD WINAPI DhcpEnumSubnetClients(DHCP_CONST WCHAR *ServerIpAddress,DHCP_IP_ADDRESS SubnetAddress,DHCP_RESUME_HANDLE *ResumeHandle,DWORD PreferredMaximum,LPDHCP_CLIENT_INFO_ARRAY *ClientInfo,DWORD *ClientsRead,DWORD *ClientsTotal);
+DWORD WINAPI DhcpEnumSubnets(DHCP_CONST WCHAR *ServerIpAddress,DHCP_RESUME_HANDLE *ResumeHandle,DWORD PreferredMaximum,LPDHCP_IP_ARRAY *EnumInfo,DWORD *ElementsRead,DWORD *ElementsTotal);
+DWORD WINAPI DhcpGetSubnetInfo(DHCP_CONST WCHAR *ServerIpAddress,DHCP_IP_ADDRESS SubnetAddress,LPDHCP_SUBNET_INFO *SubnetInfo);
+DWORD WINAPI DhcpGetOptionValue(DHCP_CONST WCHAR *ServerIpAddress,DHCP_OPTION_ID OptionID,DHCP_CONST DHCP_OPTION_SCOPE_INFO *ScopeInfo,LPDHCP_OPTION_VALUE *OptionValue);
+VOID WINAPI DhcpRpcFreeMemory(PVOID BufferPointer);
+
+#ifdef __cplusplus
+}
+#endif
+#endif