Mercurial > games > semicongine
diff fuhtark_test/include/winapi/dbt.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/dbt.h Wed Nov 26 21:36:48 2025 +0700 @@ -0,0 +1,250 @@ +/** + * 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 _DBT_H +#define _DBT_H + +#define WM_DEVICECHANGE 0x0219 + +#ifdef IS_32 +#define DBTFAR +#else +#define DBTFAR far +#endif + +#ifndef _WCHAR_T_DEFINED +#define _WCHAR_T_DEFINED +typedef unsigned short wchar_t; +#endif + +#include <guiddef.h> + +#define BSF_QUERY 0x00000001 +#define BSF_IGNORECURRENTTASK 0x00000002 +#define BSF_FLUSHDISK 0x00000004 +#define BSF_NOHANG 0x00000008 +#define BSF_POSTMESSAGE 0x00000010 +#define BSF_FORCEIFHUNG 0x00000020 +#define BSF_NOTIMEOUTIFNOTHUNG 0x00000040 +#define BSF_MSGSRV32ISOK 0x80000000 +#define BSF_MSGSRV32ISOK_BIT 31 + +#define BSM_ALLCOMPONENTS 0x00000000 +#define BSM_VXDS 0x00000001 +#define BSM_NETDRIVER 0x00000002 +#define BSM_INSTALLABLEDRIVERS 0x00000004 +#define BSM_APPLICATIONS 0x00000008 + +#define DBT_APPYBEGIN 0x0000 +#define DBT_APPYEND 0x0001 +#define DBT_DEVNODES_CHANGED 0x0007 +#define DBT_QUERYCHANGECONFIG 0x0017 +#define DBT_CONFIGCHANGED 0x0018 +#define DBT_CONFIGCHANGECANCELED 0x0019 +#define DBT_MONITORCHANGE 0x001B +#define DBT_SHELLLOGGEDON 0x0020 +#define DBT_CONFIGMGAPI32 0x0022 +#define DBT_VXDINITCOMPLETE 0x0023 +#define DBT_VOLLOCKQUERYLOCK 0x8041 +#define DBT_VOLLOCKLOCKTAKEN 0x8042 +#define DBT_VOLLOCKLOCKFAILED 0x8043 +#define DBT_VOLLOCKQUERYUNLOCK 0x8044 +#define DBT_VOLLOCKLOCKRELEASED 0x8045 +#define DBT_VOLLOCKUNLOCKFAILED 0x8046 + +struct _DEV_BROADCAST_HDR { + DWORD dbch_size; + DWORD dbch_devicetype; + DWORD dbch_reserved; +}; + +typedef struct _DEV_BROADCAST_HDR DEV_BROADCAST_HDR; +typedef DEV_BROADCAST_HDR DBTFAR *PDEV_BROADCAST_HDR; +typedef struct VolLockBroadcast VolLockBroadcast; +typedef VolLockBroadcast *pVolLockBroadcast; + +struct VolLockBroadcast { + struct _DEV_BROADCAST_HDR vlb_dbh; + DWORD vlb_owner; + BYTE vlb_perms; + BYTE vlb_lockType; + BYTE vlb_drive; + BYTE vlb_flags; +}; + +#define LOCKP_ALLOW_WRITES 0x01 +#define LOCKP_FAIL_WRITES 0x00 +#define LOCKP_FAIL_MEM_MAPPING 0x02 +#define LOCKP_ALLOW_MEM_MAPPING 0x00 +#define LOCKP_USER_MASK 0x03 +#define LOCKP_LOCK_FOR_FORMAT 0x04 + +#define LOCKF_LOGICAL_LOCK 0x00 +#define LOCKF_PHYSICAL_LOCK 0x01 + +#define DBT_NO_DISK_SPACE 0x0047 +#define DBT_LOW_DISK_SPACE 0x0048 +#define DBT_CONFIGMGPRIVATE 0x7FFF +#define DBT_DEVICEARRIVAL 0x8000 +#define DBT_DEVICEQUERYREMOVE 0x8001 +#define DBT_DEVICEQUERYREMOVEFAILED 0x8002 +#define DBT_DEVICEREMOVEPENDING 0x8003 +#define DBT_DEVICEREMOVECOMPLETE 0x8004 +#define DBT_DEVICETYPESPECIFIC 0x8005 +#define DBT_CUSTOMEVENT 0x8006 +#define DBT_DEVTYP_OEM 0x00000000 +#define DBT_DEVTYP_DEVNODE 0x00000001 +#define DBT_DEVTYP_VOLUME 0x00000002 +#define DBT_DEVTYP_PORT 0x00000003 +#define DBT_DEVTYP_NET 0x00000004 +#define DBT_DEVTYP_DEVICEINTERFACE 0x00000005 +#define DBT_DEVTYP_HANDLE 0x00000006 + +struct _DEV_BROADCAST_HEADER { + DWORD dbcd_size; + DWORD dbcd_devicetype; + DWORD dbcd_reserved; +}; + +struct _DEV_BROADCAST_OEM { + DWORD dbco_size; + DWORD dbco_devicetype; + DWORD dbco_reserved; + DWORD dbco_identifier; + DWORD dbco_suppfunc; +}; + +typedef struct _DEV_BROADCAST_OEM DEV_BROADCAST_OEM; +typedef DEV_BROADCAST_OEM DBTFAR *PDEV_BROADCAST_OEM; + +struct _DEV_BROADCAST_DEVNODE { + DWORD dbcd_size; + DWORD dbcd_devicetype; + DWORD dbcd_reserved; + DWORD dbcd_devnode; +}; + +typedef struct _DEV_BROADCAST_DEVNODE DEV_BROADCAST_DEVNODE; +typedef DEV_BROADCAST_DEVNODE DBTFAR *PDEV_BROADCAST_DEVNODE; + +struct _DEV_BROADCAST_VOLUME { + DWORD dbcv_size; + DWORD dbcv_devicetype; + DWORD dbcv_reserved; + DWORD dbcv_unitmask; + WORD dbcv_flags; +}; + +typedef struct _DEV_BROADCAST_VOLUME DEV_BROADCAST_VOLUME; +typedef DEV_BROADCAST_VOLUME DBTFAR *PDEV_BROADCAST_VOLUME; + +#define DBTF_MEDIA 0x0001 +#define DBTF_NET 0x0002 + +typedef struct _DEV_BROADCAST_PORT_A { + DWORD dbcp_size; + DWORD dbcp_devicetype; + DWORD dbcp_reserved; + char dbcp_name[1]; +} DEV_BROADCAST_PORT_A,*PDEV_BROADCAST_PORT_A; + +typedef struct _DEV_BROADCAST_PORT_W { + DWORD dbcp_size; + DWORD dbcp_devicetype; + DWORD dbcp_reserved; + wchar_t dbcp_name[1]; +} DEV_BROADCAST_PORT_W,DBTFAR *PDEV_BROADCAST_PORT_W; + +#ifdef UNICODE +typedef DEV_BROADCAST_PORT_W DEV_BROADCAST_PORT; +typedef PDEV_BROADCAST_PORT_W PDEV_BROADCAST_PORT; +#else +typedef DEV_BROADCAST_PORT_A DEV_BROADCAST_PORT; +typedef PDEV_BROADCAST_PORT_A PDEV_BROADCAST_PORT; +#endif + +struct _DEV_BROADCAST_NET { + DWORD dbcn_size; + DWORD dbcn_devicetype; + DWORD dbcn_reserved; + DWORD dbcn_resource; + DWORD dbcn_flags; +}; + +typedef struct _DEV_BROADCAST_NET DEV_BROADCAST_NET; +typedef DEV_BROADCAST_NET DBTFAR *PDEV_BROADCAST_NET; + +typedef struct _DEV_BROADCAST_DEVICEINTERFACE_A { + DWORD dbcc_size; + DWORD dbcc_devicetype; + DWORD dbcc_reserved; + GUID dbcc_classguid; + char dbcc_name[1]; +} DEV_BROADCAST_DEVICEINTERFACE_A,*PDEV_BROADCAST_DEVICEINTERFACE_A; + +typedef struct _DEV_BROADCAST_DEVICEINTERFACE_W { + DWORD dbcc_size; + DWORD dbcc_devicetype; + DWORD dbcc_reserved; + GUID dbcc_classguid; + wchar_t dbcc_name[1]; +} DEV_BROADCAST_DEVICEINTERFACE_W,*PDEV_BROADCAST_DEVICEINTERFACE_W; + +#ifdef UNICODE +typedef DEV_BROADCAST_DEVICEINTERFACE_W DEV_BROADCAST_DEVICEINTERFACE; +typedef PDEV_BROADCAST_DEVICEINTERFACE_W PDEV_BROADCAST_DEVICEINTERFACE; +#else +typedef DEV_BROADCAST_DEVICEINTERFACE_A DEV_BROADCAST_DEVICEINTERFACE; +typedef PDEV_BROADCAST_DEVICEINTERFACE_A PDEV_BROADCAST_DEVICEINTERFACE; +#endif + +typedef struct _DEV_BROADCAST_HANDLE { + DWORD dbch_size; + DWORD dbch_devicetype; + DWORD dbch_reserved; + HANDLE dbch_handle; + HDEVNOTIFY dbch_hdevnotify; + + GUID dbch_eventguid; + LONG dbch_nameoffset; + BYTE dbch_data[1]; +} DEV_BROADCAST_HANDLE,*PDEV_BROADCAST_HANDLE; + +typedef struct _DEV_BROADCAST_HANDLE32 { + DWORD dbch_size; + DWORD dbch_devicetype; + DWORD dbch_reserved; + ULONG32 dbch_handle; + ULONG32 dbch_hdevnotify; + GUID dbch_eventguid; + LONG dbch_nameoffset; + BYTE dbch_data[1]; +} DEV_BROADCAST_HANDLE32,*PDEV_BROADCAST_HANDLE32; + +typedef struct _DEV_BROADCAST_HANDLE64 { + DWORD dbch_size; + DWORD dbch_devicetype; + DWORD dbch_reserved; + ULONG64 dbch_handle; + ULONG64 dbch_hdevnotify; + GUID dbch_eventguid; + LONG dbch_nameoffset; + BYTE dbch_data[1]; +} DEV_BROADCAST_HANDLE64,*PDEV_BROADCAST_HANDLE64; + +#define DBTF_RESOURCE 0x00000001 +#define DBTF_XPORT 0x00000002 +#define DBTF_SLOWNET 0x00000004 + +#define DBT_VPOWERDAPI 0x8100 + +#define DBT_USERDEFINED 0xFFFF + +struct _DEV_BROADCAST_USERDEFINED { + struct _DEV_BROADCAST_HDR dbud_dbh; + char dbud_szName[1]; +}; + +#endif
