Mercurial > games > semicongine
diff fuhtark_test/include/winapi/nspapi.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/nspapi.h Wed Nov 26 21:36:48 2025 +0700 @@ -0,0 +1,413 @@ +/** + * 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 _NSPAPI_INCLUDED +#define _NSPAPI_INCLUDED + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _tagBLOB_DEFINED +#define _tagBLOB_DEFINED +#define _BLOB_DEFINED +#define _LPBLOB_DEFINED + typedef struct _BLOB { + ULONG cbSize; + BYTE *pBlobData; + } BLOB,*LPBLOB; +#endif + +#ifndef GUID_DEFINED +#define GUID_DEFINED + typedef struct _GUID { + unsigned long Data1; + unsigned short Data2; + unsigned short Data3; + unsigned char Data4[8]; + } GUID; +#endif + +#ifndef __LPGUID_DEFINED__ +#define __LPGUID_DEFINED__ + typedef GUID *LPGUID; +#endif + +#define SERVICE_RESOURCE (0x00000001) +#define SERVICE_SERVICE (0x00000002) +#define SERVICE_LOCAL (0x00000004) + +#define SERVICE_REGISTER (0x00000001) +#define SERVICE_DEREGISTER (0x00000002) +#define SERVICE_FLUSH (0x00000003) +#define SERVICE_ADD_TYPE (0x00000004) +#define SERVICE_DELETE_TYPE (0x00000005) + +#define SERVICE_FLAG_DEFER (0x00000001) +#define SERVICE_FLAG_HARD (0x00000002) + +#define PROP_COMMENT (0x00000001) +#define PROP_LOCALE (0x00000002) +#define PROP_DISPLAY_HINT (0x00000004) +#define PROP_VERSION (0x00000008) +#define PROP_START_TIME (0x00000010) +#define PROP_MACHINE (0x00000020) +#define PROP_ADDRESSES (0x00000100) +#define PROP_SD (0x00000200) +#define PROP_ALL (0x80000000) + +#define SERVICE_ADDRESS_FLAG_RPC_CN (0x00000001) +#define SERVICE_ADDRESS_FLAG_RPC_DG (0x00000002) +#define SERVICE_ADDRESS_FLAG_RPC_NB (0x00000004) + +#define NS_DEFAULT (0) + +#define NS_SAP (1) +#define NS_NDS (2) +#define NS_PEER_BROWSE (3) + +#define NS_TCPIP_LOCAL (10) +#define NS_TCPIP_HOSTS (11) +#define NS_DNS (12) +#define NS_NETBT (13) +#define NS_WINS (14) + +#define NS_NBP (20) + +#define NS_MS (30) +#define NS_STDA (31) +#define NS_NTDS (32) + +#define NS_X500 (40) +#define NS_NIS (41) + +#define NS_VNS (50) + +#define NSTYPE_HIERARCHICAL (0x00000001) +#define NSTYPE_DYNAMIC (0x00000002) +#define NSTYPE_ENUMERABLE (0x00000004) +#define NSTYPE_WORKGROUP (0x00000008) + +#define XP_CONNECTIONLESS (0x00000001) +#define XP_GUARANTEED_DELIVERY (0x00000002) +#define XP_GUARANTEED_ORDER (0x00000004) +#define XP_MESSAGE_ORIENTED (0x00000008) +#define XP_PSEUDO_STREAM (0x00000010) +#define XP_GRACEFUL_CLOSE (0x00000020) +#define XP_EXPEDITED_DATA (0x00000040) +#define XP_CONNECT_DATA (0x00000080) +#define XP_DISCONNECT_DATA (0x00000100) +#define XP_SUPPORTS_BROADCAST (0x00000200) +#define XP_SUPPORTS_MULTICAST (0x00000400) +#define XP_BANDWIDTH_ALLOCATION (0x00000800) +#define XP_FRAGMENTATION (0x00001000) +#define XP_ENCRYPTS (0x00002000) + +#define RES_SOFT_SEARCH (0x00000001) +#define RES_FIND_MULTIPLE (0x00000002) +#define RES_SERVICE (0x00000004) + +#define SERVICE_TYPE_VALUE_SAPIDA "SapId" +#define SERVICE_TYPE_VALUE_SAPIDW L"SapId" + +#define SERVICE_TYPE_VALUE_CONNA "ConnectionOriented" +#define SERVICE_TYPE_VALUE_CONNW L"ConnectionOriented" + +#define SERVICE_TYPE_VALUE_TCPPORTA "TcpPort" +#define SERVICE_TYPE_VALUE_TCPPORTW L"TcpPort" + +#define SERVICE_TYPE_VALUE_UDPPORTA "UdpPort" +#define SERVICE_TYPE_VALUE_UDPPORTW L"UdpPort" + +#ifdef UNICODE + +#define SERVICE_TYPE_VALUE_SAPID SERVICE_TYPE_VALUE_SAPIDW +#define SERVICE_TYPE_VALUE_CONN SERVICE_TYPE_VALUE_CONNW +#define SERVICE_TYPE_VALUE_TCPPORT SERVICE_TYPE_VALUE_TCPPORTW +#define SERVICE_TYPE_VALUE_UDPPORT SERVICE_TYPE_VALUE_UDPPORTW +#else + +#define SERVICE_TYPE_VALUE_SAPID SERVICE_TYPE_VALUE_SAPIDA +#define SERVICE_TYPE_VALUE_CONN SERVICE_TYPE_VALUE_CONNA +#define SERVICE_TYPE_VALUE_TCPPORT SERVICE_TYPE_VALUE_TCPPORTA +#define SERVICE_TYPE_VALUE_UDPPORT SERVICE_TYPE_VALUE_UDPPORTA +#endif + +#define SET_SERVICE_PARTIAL_SUCCESS (0x00000001) + + typedef struct _NS_INFOA { + DWORD dwNameSpace; + DWORD dwNameSpaceFlags; + LPSTR lpNameSpace; + } NS_INFOA,*PNS_INFOA,*LPNS_INFOA; + + typedef struct _NS_INFOW { + DWORD dwNameSpace; + DWORD dwNameSpaceFlags; + LPWSTR lpNameSpace; + } NS_INFOW,*PNS_INFOW,*LPNS_INFOW; +#ifdef UNICODE + typedef NS_INFOW NS_INFO; + typedef PNS_INFOW PNS_INFO; + typedef LPNS_INFOW LPNS_INFO; +#else + typedef NS_INFOA NS_INFO; + typedef PNS_INFOA PNS_INFO; + typedef LPNS_INFOA LPNS_INFO; +#endif + + typedef struct _SERVICE_TYPE_VALUE { + DWORD dwNameSpace; + DWORD dwValueType; + DWORD dwValueSize; + DWORD dwValueNameOffset; + DWORD dwValueOffset; + } SERVICE_TYPE_VALUE,*PSERVICE_TYPE_VALUE,*LPSERVICE_TYPE_VALUE; + + typedef struct _SERVICE_TYPE_VALUE_ABSA { + DWORD dwNameSpace; + DWORD dwValueType; + DWORD dwValueSize; + LPSTR lpValueName; + PVOID lpValue; + } SERVICE_TYPE_VALUE_ABSA,*PSERVICE_TYPE_VALUE_ABSA,*LPSERVICE_TYPE_VALUE_ABSA; + + typedef struct _SERVICE_TYPE_VALUE_ABSW { + DWORD dwNameSpace; + DWORD dwValueType; + DWORD dwValueSize; + LPWSTR lpValueName; + PVOID lpValue; + } SERVICE_TYPE_VALUE_ABSW,*PSERVICE_TYPE_VALUE_ABSW,*LPSERVICE_TYPE_VALUE_ABSW; +#ifdef UNICODE + typedef SERVICE_TYPE_VALUE_ABSW SERVICE_TYPE_VALUE_ABS; + typedef PSERVICE_TYPE_VALUE_ABSW PSERVICE_TYPE_VALUE_ABS; + typedef LPSERVICE_TYPE_VALUE_ABSW LPSERVICE_TYPE_VALUE_ABS; +#else + typedef SERVICE_TYPE_VALUE_ABSA SERVICE_TYPE_VALUE_ABS; + typedef PSERVICE_TYPE_VALUE_ABSA PSERVICE_TYPE_VALUE_ABS; + typedef LPSERVICE_TYPE_VALUE_ABSA LPSERVICE_TYPE_VALUE_ABS; +#endif + + typedef struct _SERVICE_TYPE_INFO { + DWORD dwTypeNameOffset; + DWORD dwValueCount; + SERVICE_TYPE_VALUE Values[1]; + } SERVICE_TYPE_INFO,*PSERVICE_TYPE_INFO,*LPSERVICE_TYPE_INFO; + + typedef struct _SERVICE_TYPE_INFO_ABSA { + LPSTR lpTypeName; + DWORD dwValueCount; + SERVICE_TYPE_VALUE_ABSA Values[1]; + } SERVICE_TYPE_INFO_ABSA,*PSERVICE_TYPE_INFO_ABSA,*LPSERVICE_TYPE_INFO_ABSA; + typedef struct _SERVICE_TYPE_INFO_ABSW { + LPWSTR lpTypeName; + DWORD dwValueCount; + SERVICE_TYPE_VALUE_ABSW Values[1]; + } SERVICE_TYPE_INFO_ABSW,*PSERVICE_TYPE_INFO_ABSW,*LPSERVICE_TYPE_INFO_ABSW; +#ifdef UNICODE + typedef SERVICE_TYPE_INFO_ABSW SERVICE_TYPE_INFO_ABS; + typedef PSERVICE_TYPE_INFO_ABSW PSERVICE_TYPE_INFO_ABS; + typedef LPSERVICE_TYPE_INFO_ABSW LPSERVICE_TYPE_INFO_ABS; +#else + typedef SERVICE_TYPE_INFO_ABSA SERVICE_TYPE_INFO_ABS; + typedef PSERVICE_TYPE_INFO_ABSA PSERVICE_TYPE_INFO_ABS; + typedef LPSERVICE_TYPE_INFO_ABSA LPSERVICE_TYPE_INFO_ABS; +#endif + + typedef struct _SERVICE_ADDRESS { + DWORD dwAddressType; + DWORD dwAddressFlags; + DWORD dwAddressLength; + DWORD dwPrincipalLength; + BYTE *lpAddress; + BYTE *lpPrincipal; + } SERVICE_ADDRESS,*PSERVICE_ADDRESS,*LPSERVICE_ADDRESS; + + typedef struct _SERVICE_ADDRESSES { + DWORD dwAddressCount; + SERVICE_ADDRESS Addresses[1]; + } SERVICE_ADDRESSES,*PSERVICE_ADDRESSES,*LPSERVICE_ADDRESSES; + + typedef struct _SERVICE_INFOA { + LPGUID lpServiceType; + LPSTR lpServiceName; + LPSTR lpComment; + LPSTR lpLocale; + DWORD dwDisplayHint; + DWORD dwVersion; + DWORD dwTime; + LPSTR lpMachineName; + LPSERVICE_ADDRESSES lpServiceAddress; + BLOB ServiceSpecificInfo; + } SERVICE_INFOA,*PSERVICE_INFOA,*LPSERVICE_INFOA; + + typedef struct _SERVICE_INFOW { + LPGUID lpServiceType; + LPWSTR lpServiceName; + LPWSTR lpComment; + LPWSTR lpLocale; + DWORD dwDisplayHint; + DWORD dwVersion; + DWORD dwTime; + LPWSTR lpMachineName; + LPSERVICE_ADDRESSES lpServiceAddress; + BLOB ServiceSpecificInfo; + } SERVICE_INFOW,*PSERVICE_INFOW,*LPSERVICE_INFOW; +#ifdef UNICODE + typedef SERVICE_INFOW SERVICE_INFO; + typedef PSERVICE_INFOW PSERVICE_INFO; + typedef LPSERVICE_INFOW LPSERVICE_INFO; +#else + typedef SERVICE_INFOA SERVICE_INFO; + typedef PSERVICE_INFOA PSERVICE_INFO; + typedef LPSERVICE_INFOA LPSERVICE_INFO; +#endif + + typedef struct _NS_SERVICE_INFOA { + DWORD dwNameSpace; + SERVICE_INFOA ServiceInfo; + } NS_SERVICE_INFOA,*PNS_SERVICE_INFOA,*LPNS_SERVICE_INFOA; + + typedef struct _NS_SERVICE_INFOW { + DWORD dwNameSpace; + SERVICE_INFOW ServiceInfo; + } NS_SERVICE_INFOW,*PNS_SERVICE_INFOW,*LPNS_SERVICE_INFOW; +#ifdef UNICODE + typedef NS_SERVICE_INFOW NS_SERVICE_INFO; + typedef PNS_SERVICE_INFOW PNS_SERVICE_INFO; + typedef LPNS_SERVICE_INFOW LPNS_SERVICE_INFO; +#else + typedef NS_SERVICE_INFOA NS_SERVICE_INFO; + typedef PNS_SERVICE_INFOA PNS_SERVICE_INFO; + typedef LPNS_SERVICE_INFOA LPNS_SERVICE_INFO; +#endif + +#ifndef __CSADDR_DEFINED__ +#define __CSADDR_DEFINED__ + + typedef struct _SOCKET_ADDRESS { + LPSOCKADDR lpSockaddr; + INT iSockaddrLength; + } SOCKET_ADDRESS,*PSOCKET_ADDRESS,*LPSOCKET_ADDRESS; + + typedef struct _CSADDR_INFO { + SOCKET_ADDRESS LocalAddr; + SOCKET_ADDRESS RemoteAddr; + INT iSocketType; + INT iProtocol; + } CSADDR_INFO,*PCSADDR_INFO,*LPCSADDR_INFO; +#endif + + typedef struct _PROTOCOL_INFOA { + DWORD dwServiceFlags; + INT iAddressFamily; + INT iMaxSockAddr; + INT iMinSockAddr; + INT iSocketType; + INT iProtocol; + DWORD dwMessageSize; + LPSTR lpProtocol; + } PROTOCOL_INFOA,*PPROTOCOL_INFOA,*LPPROTOCOL_INFOA; + + typedef struct _PROTOCOL_INFOW { + DWORD dwServiceFlags; + INT iAddressFamily; + INT iMaxSockAddr; + INT iMinSockAddr; + INT iSocketType; + INT iProtocol; + DWORD dwMessageSize; + LPWSTR lpProtocol; + } PROTOCOL_INFOW,*PPROTOCOL_INFOW,*LPPROTOCOL_INFOW; +#ifdef UNICODE + typedef PROTOCOL_INFOW PROTOCOL_INFO; + typedef PPROTOCOL_INFOW PPROTOCOL_INFO; + typedef LPPROTOCOL_INFOW LPPROTOCOL_INFO; +#else + typedef PROTOCOL_INFOA PROTOCOL_INFO; + typedef PPROTOCOL_INFOA PPROTOCOL_INFO; + typedef LPPROTOCOL_INFOA LPPROTOCOL_INFO; +#endif + + typedef struct _NETRESOURCE2A { + DWORD dwScope; + DWORD dwType; + DWORD dwUsage; + DWORD dwDisplayType; + LPSTR lpLocalName; + LPSTR lpRemoteName; + LPSTR lpComment; + NS_INFO ns_info; + GUID ServiceType; + DWORD dwProtocols; + LPINT lpiProtocols; + } NETRESOURCE2A,*PNETRESOURCE2A,*LPNETRESOURCE2A; + + typedef struct _NETRESOURCE2W { + DWORD dwScope; + DWORD dwType; + DWORD dwUsage; + DWORD dwDisplayType; + LPWSTR lpLocalName; + LPWSTR lpRemoteName; + LPWSTR lpComment; + NS_INFO ns_info; + GUID ServiceType; + DWORD dwProtocols; + LPINT lpiProtocols; + } NETRESOURCE2W,*PNETRESOURCE2W,*LPNETRESOURCE2W; +#ifdef UNICODE + typedef NETRESOURCE2W NETRESOURCE2; + typedef PNETRESOURCE2W PNETRESOURCE2; + typedef LPNETRESOURCE2W LPNETRESOURCE2; +#else + typedef NETRESOURCE2A NETRESOURCE2; + typedef PNETRESOURCE2A PNETRESOURCE2; + typedef LPNETRESOURCE2A LPNETRESOURCE2; +#endif + + typedef DWORD (*LPFN_NSPAPI)(VOID); + + typedef VOID (*LPSERVICE_CALLBACK_PROC)(LPARAM lParam,HANDLE hAsyncTaskHandle); + typedef struct _SERVICE_ASYNC_INFO { + LPSERVICE_CALLBACK_PROC lpServiceCallbackProc; + LPARAM lParam; + HANDLE hAsyncTaskHandle; + } SERVICE_ASYNC_INFO,*PSERVICE_ASYNC_INFO,*LPSERVICE_ASYNC_INFO; + +#ifdef UNICODE +#define EnumProtocols EnumProtocolsW +#define GetAddressByName GetAddressByNameW +#define GetTypeByName GetTypeByNameW +#define GetNameByType GetNameByTypeW +#define SetService SetServiceW +#define GetService GetServiceW +#else +#define EnumProtocols EnumProtocolsA +#define GetAddressByName GetAddressByNameA +#define GetTypeByName GetTypeByNameA +#define GetNameByType GetNameByTypeA +#define SetService SetServiceA +#define GetService GetServiceA +#endif + + INT WINAPI EnumProtocolsA(LPINT lpiProtocols,LPVOID lpProtocolBuffer,LPDWORD lpdwBufferLength); + INT WINAPI EnumProtocolsW(LPINT lpiProtocols,LPVOID lpProtocolBuffer,LPDWORD lpdwBufferLength); + INT WINAPI GetAddressByNameA(DWORD dwNameSpace,LPGUID lpServiceType,LPSTR lpServiceName,LPINT lpiProtocols,DWORD dwResolution,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,LPVOID lpCsaddrBuffer,LPDWORD lpdwBufferLength,LPSTR lpAliasBuffer,LPDWORD lpdwAliasBufferLength); + INT WINAPI GetAddressByNameW(DWORD dwNameSpace,LPGUID lpServiceType,LPWSTR lpServiceName,LPINT lpiProtocols,DWORD dwResolution,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,LPVOID lpCsaddrBuffer,LPDWORD lpdwBufferLength,LPWSTR lpAliasBuffer,LPDWORD lpdwAliasBufferLength); + INT WINAPI GetTypeByNameA(LPSTR lpServiceName,LPGUID lpServiceType); + INT WINAPI GetTypeByNameW(LPWSTR lpServiceName,LPGUID lpServiceType); + INT WINAPI GetNameByTypeA(LPGUID lpServiceType,LPSTR lpServiceName,DWORD dwNameLength); + INT WINAPI GetNameByTypeW(LPGUID lpServiceType,LPWSTR lpServiceName,DWORD dwNameLength); + INT WINAPI SetServiceA(DWORD dwNameSpace,DWORD dwOperation,DWORD dwFlags,LPSERVICE_INFOA lpServiceInfo,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,LPDWORD lpdwStatusFlags); + INT WINAPI SetServiceW(DWORD dwNameSpace,DWORD dwOperation,DWORD dwFlags,LPSERVICE_INFOW lpServiceInfo,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,LPDWORD lpdwStatusFlags); + INT WINAPI GetServiceA(DWORD dwNameSpace,LPGUID lpGuid,LPSTR lpServiceName,DWORD dwProperties,LPVOID lpBuffer,LPDWORD lpdwBufferSize,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo); + INT WINAPI GetServiceW(DWORD dwNameSpace,LPGUID lpGuid,LPWSTR lpServiceName,DWORD dwProperties,LPVOID lpBuffer,LPDWORD lpdwBufferSize,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo); + +#ifdef __cplusplus +} +#endif +#endif
