comparison 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
comparison
equal deleted inserted replaced
1499:1f58458b7ef7 1500:91c8c3b7cbf0
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
5 */
6 #ifndef _DBT_H
7 #define _DBT_H
8
9 #define WM_DEVICECHANGE 0x0219
10
11 #ifdef IS_32
12 #define DBTFAR
13 #else
14 #define DBTFAR far
15 #endif
16
17 #ifndef _WCHAR_T_DEFINED
18 #define _WCHAR_T_DEFINED
19 typedef unsigned short wchar_t;
20 #endif
21
22 #include <guiddef.h>
23
24 #define BSF_QUERY 0x00000001
25 #define BSF_IGNORECURRENTTASK 0x00000002
26 #define BSF_FLUSHDISK 0x00000004
27 #define BSF_NOHANG 0x00000008
28 #define BSF_POSTMESSAGE 0x00000010
29 #define BSF_FORCEIFHUNG 0x00000020
30 #define BSF_NOTIMEOUTIFNOTHUNG 0x00000040
31 #define BSF_MSGSRV32ISOK 0x80000000
32 #define BSF_MSGSRV32ISOK_BIT 31
33
34 #define BSM_ALLCOMPONENTS 0x00000000
35 #define BSM_VXDS 0x00000001
36 #define BSM_NETDRIVER 0x00000002
37 #define BSM_INSTALLABLEDRIVERS 0x00000004
38 #define BSM_APPLICATIONS 0x00000008
39
40 #define DBT_APPYBEGIN 0x0000
41 #define DBT_APPYEND 0x0001
42 #define DBT_DEVNODES_CHANGED 0x0007
43 #define DBT_QUERYCHANGECONFIG 0x0017
44 #define DBT_CONFIGCHANGED 0x0018
45 #define DBT_CONFIGCHANGECANCELED 0x0019
46 #define DBT_MONITORCHANGE 0x001B
47 #define DBT_SHELLLOGGEDON 0x0020
48 #define DBT_CONFIGMGAPI32 0x0022
49 #define DBT_VXDINITCOMPLETE 0x0023
50 #define DBT_VOLLOCKQUERYLOCK 0x8041
51 #define DBT_VOLLOCKLOCKTAKEN 0x8042
52 #define DBT_VOLLOCKLOCKFAILED 0x8043
53 #define DBT_VOLLOCKQUERYUNLOCK 0x8044
54 #define DBT_VOLLOCKLOCKRELEASED 0x8045
55 #define DBT_VOLLOCKUNLOCKFAILED 0x8046
56
57 struct _DEV_BROADCAST_HDR {
58 DWORD dbch_size;
59 DWORD dbch_devicetype;
60 DWORD dbch_reserved;
61 };
62
63 typedef struct _DEV_BROADCAST_HDR DEV_BROADCAST_HDR;
64 typedef DEV_BROADCAST_HDR DBTFAR *PDEV_BROADCAST_HDR;
65 typedef struct VolLockBroadcast VolLockBroadcast;
66 typedef VolLockBroadcast *pVolLockBroadcast;
67
68 struct VolLockBroadcast {
69 struct _DEV_BROADCAST_HDR vlb_dbh;
70 DWORD vlb_owner;
71 BYTE vlb_perms;
72 BYTE vlb_lockType;
73 BYTE vlb_drive;
74 BYTE vlb_flags;
75 };
76
77 #define LOCKP_ALLOW_WRITES 0x01
78 #define LOCKP_FAIL_WRITES 0x00
79 #define LOCKP_FAIL_MEM_MAPPING 0x02
80 #define LOCKP_ALLOW_MEM_MAPPING 0x00
81 #define LOCKP_USER_MASK 0x03
82 #define LOCKP_LOCK_FOR_FORMAT 0x04
83
84 #define LOCKF_LOGICAL_LOCK 0x00
85 #define LOCKF_PHYSICAL_LOCK 0x01
86
87 #define DBT_NO_DISK_SPACE 0x0047
88 #define DBT_LOW_DISK_SPACE 0x0048
89 #define DBT_CONFIGMGPRIVATE 0x7FFF
90 #define DBT_DEVICEARRIVAL 0x8000
91 #define DBT_DEVICEQUERYREMOVE 0x8001
92 #define DBT_DEVICEQUERYREMOVEFAILED 0x8002
93 #define DBT_DEVICEREMOVEPENDING 0x8003
94 #define DBT_DEVICEREMOVECOMPLETE 0x8004
95 #define DBT_DEVICETYPESPECIFIC 0x8005
96 #define DBT_CUSTOMEVENT 0x8006
97 #define DBT_DEVTYP_OEM 0x00000000
98 #define DBT_DEVTYP_DEVNODE 0x00000001
99 #define DBT_DEVTYP_VOLUME 0x00000002
100 #define DBT_DEVTYP_PORT 0x00000003
101 #define DBT_DEVTYP_NET 0x00000004
102 #define DBT_DEVTYP_DEVICEINTERFACE 0x00000005
103 #define DBT_DEVTYP_HANDLE 0x00000006
104
105 struct _DEV_BROADCAST_HEADER {
106 DWORD dbcd_size;
107 DWORD dbcd_devicetype;
108 DWORD dbcd_reserved;
109 };
110
111 struct _DEV_BROADCAST_OEM {
112 DWORD dbco_size;
113 DWORD dbco_devicetype;
114 DWORD dbco_reserved;
115 DWORD dbco_identifier;
116 DWORD dbco_suppfunc;
117 };
118
119 typedef struct _DEV_BROADCAST_OEM DEV_BROADCAST_OEM;
120 typedef DEV_BROADCAST_OEM DBTFAR *PDEV_BROADCAST_OEM;
121
122 struct _DEV_BROADCAST_DEVNODE {
123 DWORD dbcd_size;
124 DWORD dbcd_devicetype;
125 DWORD dbcd_reserved;
126 DWORD dbcd_devnode;
127 };
128
129 typedef struct _DEV_BROADCAST_DEVNODE DEV_BROADCAST_DEVNODE;
130 typedef DEV_BROADCAST_DEVNODE DBTFAR *PDEV_BROADCAST_DEVNODE;
131
132 struct _DEV_BROADCAST_VOLUME {
133 DWORD dbcv_size;
134 DWORD dbcv_devicetype;
135 DWORD dbcv_reserved;
136 DWORD dbcv_unitmask;
137 WORD dbcv_flags;
138 };
139
140 typedef struct _DEV_BROADCAST_VOLUME DEV_BROADCAST_VOLUME;
141 typedef DEV_BROADCAST_VOLUME DBTFAR *PDEV_BROADCAST_VOLUME;
142
143 #define DBTF_MEDIA 0x0001
144 #define DBTF_NET 0x0002
145
146 typedef struct _DEV_BROADCAST_PORT_A {
147 DWORD dbcp_size;
148 DWORD dbcp_devicetype;
149 DWORD dbcp_reserved;
150 char dbcp_name[1];
151 } DEV_BROADCAST_PORT_A,*PDEV_BROADCAST_PORT_A;
152
153 typedef struct _DEV_BROADCAST_PORT_W {
154 DWORD dbcp_size;
155 DWORD dbcp_devicetype;
156 DWORD dbcp_reserved;
157 wchar_t dbcp_name[1];
158 } DEV_BROADCAST_PORT_W,DBTFAR *PDEV_BROADCAST_PORT_W;
159
160 #ifdef UNICODE
161 typedef DEV_BROADCAST_PORT_W DEV_BROADCAST_PORT;
162 typedef PDEV_BROADCAST_PORT_W PDEV_BROADCAST_PORT;
163 #else
164 typedef DEV_BROADCAST_PORT_A DEV_BROADCAST_PORT;
165 typedef PDEV_BROADCAST_PORT_A PDEV_BROADCAST_PORT;
166 #endif
167
168 struct _DEV_BROADCAST_NET {
169 DWORD dbcn_size;
170 DWORD dbcn_devicetype;
171 DWORD dbcn_reserved;
172 DWORD dbcn_resource;
173 DWORD dbcn_flags;
174 };
175
176 typedef struct _DEV_BROADCAST_NET DEV_BROADCAST_NET;
177 typedef DEV_BROADCAST_NET DBTFAR *PDEV_BROADCAST_NET;
178
179 typedef struct _DEV_BROADCAST_DEVICEINTERFACE_A {
180 DWORD dbcc_size;
181 DWORD dbcc_devicetype;
182 DWORD dbcc_reserved;
183 GUID dbcc_classguid;
184 char dbcc_name[1];
185 } DEV_BROADCAST_DEVICEINTERFACE_A,*PDEV_BROADCAST_DEVICEINTERFACE_A;
186
187 typedef struct _DEV_BROADCAST_DEVICEINTERFACE_W {
188 DWORD dbcc_size;
189 DWORD dbcc_devicetype;
190 DWORD dbcc_reserved;
191 GUID dbcc_classguid;
192 wchar_t dbcc_name[1];
193 } DEV_BROADCAST_DEVICEINTERFACE_W,*PDEV_BROADCAST_DEVICEINTERFACE_W;
194
195 #ifdef UNICODE
196 typedef DEV_BROADCAST_DEVICEINTERFACE_W DEV_BROADCAST_DEVICEINTERFACE;
197 typedef PDEV_BROADCAST_DEVICEINTERFACE_W PDEV_BROADCAST_DEVICEINTERFACE;
198 #else
199 typedef DEV_BROADCAST_DEVICEINTERFACE_A DEV_BROADCAST_DEVICEINTERFACE;
200 typedef PDEV_BROADCAST_DEVICEINTERFACE_A PDEV_BROADCAST_DEVICEINTERFACE;
201 #endif
202
203 typedef struct _DEV_BROADCAST_HANDLE {
204 DWORD dbch_size;
205 DWORD dbch_devicetype;
206 DWORD dbch_reserved;
207 HANDLE dbch_handle;
208 HDEVNOTIFY dbch_hdevnotify;
209
210 GUID dbch_eventguid;
211 LONG dbch_nameoffset;
212 BYTE dbch_data[1];
213 } DEV_BROADCAST_HANDLE,*PDEV_BROADCAST_HANDLE;
214
215 typedef struct _DEV_BROADCAST_HANDLE32 {
216 DWORD dbch_size;
217 DWORD dbch_devicetype;
218 DWORD dbch_reserved;
219 ULONG32 dbch_handle;
220 ULONG32 dbch_hdevnotify;
221 GUID dbch_eventguid;
222 LONG dbch_nameoffset;
223 BYTE dbch_data[1];
224 } DEV_BROADCAST_HANDLE32,*PDEV_BROADCAST_HANDLE32;
225
226 typedef struct _DEV_BROADCAST_HANDLE64 {
227 DWORD dbch_size;
228 DWORD dbch_devicetype;
229 DWORD dbch_reserved;
230 ULONG64 dbch_handle;
231 ULONG64 dbch_hdevnotify;
232 GUID dbch_eventguid;
233 LONG dbch_nameoffset;
234 BYTE dbch_data[1];
235 } DEV_BROADCAST_HANDLE64,*PDEV_BROADCAST_HANDLE64;
236
237 #define DBTF_RESOURCE 0x00000001
238 #define DBTF_XPORT 0x00000002
239 #define DBTF_SLOWNET 0x00000004
240
241 #define DBT_VPOWERDAPI 0x8100
242
243 #define DBT_USERDEFINED 0xFFFF
244
245 struct _DEV_BROADCAST_USERDEFINED {
246 struct _DEV_BROADCAST_HDR dbud_dbh;
247 char dbud_szName[1];
248 };
249
250 #endif