Mercurial > games > semicongine
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
