OSDN Git Service

Merge Cygwin CVS updates to legacy branch.
[mingw/mingw-org-wsl.git] / w32api / include / dbt.h
1 #ifndef _DBT_H
2 #define _DBT_H
3 #if __GNUC__ >=3
4 #pragma GCC system_header
5 #endif
6
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 #define DBT_NO_DISK_SPACE       0x47
11 #define DBT_CONFIGMGPRIVATE     0x7FFF
12 #define DBT_DEVICEARRIVAL       0x8000
13 #define DBT_DEVICEQUERYREMOVE   0x8001
14 #define DBT_DEVICEQUERYREMOVEFAILED     0x8002
15 #define DBT_DEVICEREMOVEPENDING 0x8003
16 #define DBT_DEVICEREMOVECOMPLETE        0x8004
17 #define DBT_DEVICETYPESPECIFIC  0x8005
18 #define DBT_DEVTYP_OEM  0
19 #define DBT_DEVTYP_DEVNODE      1
20 #define DBT_DEVTYP_VOLUME       2
21 #define DBT_DEVTYP_PORT 3
22 #define DBT_DEVTYP_NET  4
23 #if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
24 #define DBT_DEVTYP_DEVICEINTERFACE 5
25 #define DBT_DEVTYP_HANDLE 6
26 #endif /* (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500) */
27 #define DBT_APPYBEGIN 0
28 #define DBT_APPYEND 1
29 #define DBT_DEVNODES_CHANGED 7
30 #define DBT_QUERYCHANGECONFIG 0x17
31 #define DBT_CONFIGCHANGED 0x18
32 #define DBT_CONFIGCHANGECANCELED 0x19
33 #define DBT_MONITORCHANGE 0x1B
34 #define DBT_SHELLLOGGEDON 32
35 #define DBT_CONFIGMGAPI32 34
36 #define DBT_VXDINITCOMPLETE 35
37 #define DBT_VOLLOCKQUERYLOCK 0x8041
38 #define DBT_VOLLOCKLOCKTAKEN 0x8042
39 #define DBT_VOLLOCKLOCKFAILED 0x8043
40 #define DBT_VOLLOCKQUERYUNLOCK 0x8044
41 #define DBT_VOLLOCKLOCKRELEASED 0x8045
42 #define DBT_VOLLOCKUNLOCKFAILED 0x8046
43 #define DBT_USERDEFINED 0xFFFF
44 #define DBTF_MEDIA      1
45 #define DBTF_NET        2
46
47 /* Also defined in winuser.h */
48 #define BSM_ALLCOMPONENTS       0
49 #define BSM_APPLICATIONS        8
50 #define BSM_ALLDESKTOPS         16
51 #define BSM_INSTALLABLEDRIVERS  4
52 #define BSM_NETDRIVER   2
53 #define BSM_VXDS        1
54 #define BSF_FLUSHDISK 0x00000004
55 #define BSF_FORCEIFHUNG 0x00000020
56 #define BSF_IGNORECURRENTTASK 0x00000002
57 #define BSF_NOHANG 0x00000008
58 #define BSF_NOTIMEOUTIFNOTHUNG 0x00000040
59 #define BSF_POSTMESSAGE 0x00000010
60 #define BSF_QUERY 0x00000001
61 #if (_WIN32_WINNT >= 0x0500)
62 #define BSF_ALLOWSFW 0x00000080
63 #define BSF_SENDNOTIFYMESSAGE 0x00000100
64 #endif /* (_WIN32_WINNT >= 0x0500) */
65 #if (_WIN32_WINNT >= 0x0501)
66 #define BSF_LUID 0x00000400
67 #define BSF_RETURNHDESK 0x00000200
68 #endif /* (_WIN32_WINNT >= 0x0501) */
69
70 #define BSF_MSGSRV32ISOK_BIT 31
71 #define BSF_MSGSRV32ISOK 0x80000000
72
73 typedef struct _DEV_BROADCAST_HDR {
74         DWORD dbch_size;
75         DWORD dbch_devicetype;
76         DWORD dbch_reserved;
77 } DEV_BROADCAST_HDR,*PDEV_BROADCAST_HDR;
78 typedef struct _DEV_BROADCAST_OEM {
79         DWORD dbco_size;
80         DWORD dbco_devicetype;
81         DWORD dbco_reserved;
82         DWORD dbco_identifier;
83         DWORD dbco_suppfunc;
84 } DEV_BROADCAST_OEM,*PDEV_BROADCAST_OEM;
85 typedef struct _DEV_BROADCAST_PORT_A {
86         DWORD dbcp_size;
87         DWORD dbcp_devicetype;
88         DWORD dbcp_reserved;
89         char dbcp_name[1];
90 } DEV_BROADCAST_PORT_A, *PDEV_BROADCAST_PORT_A;
91 typedef struct _DEV_BROADCAST_PORT_W {
92         DWORD dbcp_size;
93         DWORD dbcp_devicetype;
94         DWORD dbcp_reserved;
95         wchar_t dbcp_name[1];
96 } DEV_BROADCAST_PORT_W, *PDEV_BROADCAST_PORT_W;
97 typedef struct _DEV_BROADCAST_USERDEFINED {
98         struct _DEV_BROADCAST_HDR dbud_dbh;
99         char dbud_szName[1];
100 } DEV_BROADCAST_USERDEFINED;
101 typedef struct _DEV_BROADCAST_VOLUME {
102         DWORD dbcv_size;
103         DWORD dbcv_devicetype;
104         DWORD dbcv_reserved;
105         DWORD dbcv_unitmask;
106         WORD dbcv_flags;
107 } DEV_BROADCAST_VOLUME,*PDEV_BROADCAST_VOLUME;
108
109 #ifdef UNICODE
110 typedef DEV_BROADCAST_PORT_W DEV_BROADCAST_PORT, *PDEV_BROADCAST_PORT;
111 #else
112 typedef DEV_BROADCAST_PORT_A DEV_BROADCAST_PORT, *PDEV_BROADCAST_PORT;
113 #endif
114
115 #if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
116 typedef struct _DEV_BROADCAST_DEVICEINTERFACE_A {
117  DWORD dbcc_size;
118  DWORD dbcc_devicetype;
119  DWORD dbcc_reserved;
120  GUID dbcc_classguid;
121  char dbcc_name[1];
122 } DEV_BROADCAST_DEVICEINTERFACE_A, *PDEV_BROADCAST_DEVICEINTERFACE_A;
123 typedef struct _DEV_BROADCAST_DEVICEINTERFACE_W {
124  DWORD dbcc_size;
125  DWORD dbcc_devicetype;
126  DWORD dbcc_reserved;
127  GUID dbcc_classguid;
128  wchar_t dbcc_name[1];
129 } DEV_BROADCAST_DEVICEINTERFACE_W, *PDEV_BROADCAST_DEVICEINTERFACE_W;
130
131 #ifdef UNICODE
132 typedef DEV_BROADCAST_DEVICEINTERFACE_W DEV_BROADCAST_DEVICEINTERFACE;
133 typedef PDEV_BROADCAST_DEVICEINTERFACE_W PDEV_BROADCAST_DEVICEINTERFACE;
134 #else
135 typedef DEV_BROADCAST_DEVICEINTERFACE_A DEV_BROADCAST_DEVICEINTERFACE;
136 typedef PDEV_BROADCAST_DEVICEINTERFACE_A PDEV_BROADCAST_DEVICEINTERFACE;
137 #endif
138
139 typedef struct _DEV_BROADCAST_HANDLE {
140  DWORD dbch_size;
141  DWORD dbch_devicetype;
142  DWORD dbch_reserved;
143  HANDLE dbch_handle;
144  DWORD dbch_hdevnotify;
145  GUID dbch_eventguid;
146  LONG dbch_nameoffset;
147  BYTE dbch_data[1];
148 } DEV_BROADCAST_HANDLE, *PDEV_BROADCAST_HANDLE;
149 #endif /* (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500) */
150
151 #ifdef __cplusplus
152 }
153 #endif
154 #endif