Ulrich Czekalla | e24d3fe | 2004-01-09 00:57:08 +0000 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (C) 2004 Ulrich Czekalla |
| 3 | * |
| 4 | * This library is free software; you can redistribute it and/or |
| 5 | * modify it under the terms of the GNU Lesser General Public |
| 6 | * License as published by the Free Software Foundation; either |
| 7 | * version 2.1 of the License, or (at your option) any later version. |
| 8 | * |
| 9 | * This library is distributed in the hope that it will be useful, |
| 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 12 | * Lesser General Public License for more details. |
| 13 | * |
| 14 | * You should have received a copy of the GNU Lesser General Public |
| 15 | * License along with this library; if not, write to the Free Software |
Jonathan Ernst | 360a3f9 | 2006-05-18 14:49:52 +0200 | [diff] [blame] | 16 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
Ulrich Czekalla | e24d3fe | 2004-01-09 00:57:08 +0000 | [diff] [blame] | 17 | */ |
| 18 | |
| 19 | #ifndef __WINE_DBT_H |
| 20 | #define __WINE_DBT_H |
| 21 | |
| 22 | /* dbt.h doesn't use the normal convention, it adds an underscore before A/W */ |
Alexandre Julliard | a2ba7dc | 2008-05-30 10:02:42 +0200 | [diff] [blame] | 23 | #ifdef WINE_NO_UNICODE_MACROS |
Ulrich Czekalla | e24d3fe | 2004-01-09 00:57:08 +0000 | [diff] [blame] | 24 | # define DECL_WINELIB_DBT_TYPE_AW(type) /* nothing */ |
Alexandre Julliard | a2ba7dc | 2008-05-30 10:02:42 +0200 | [diff] [blame] | 25 | #else |
Ulrich Czekalla | e24d3fe | 2004-01-09 00:57:08 +0000 | [diff] [blame] | 26 | # define DECL_WINELIB_DBT_TYPE_AW(type) typedef WINELIB_NAME_AW(type##_) type; |
Alexandre Julliard | a2ba7dc | 2008-05-30 10:02:42 +0200 | [diff] [blame] | 27 | #endif |
Ulrich Czekalla | e24d3fe | 2004-01-09 00:57:08 +0000 | [diff] [blame] | 28 | |
| 29 | #define DBT_NO_DISK_SPACE 0x0047 |
| 30 | #define DBT_LOW_DISK_SPACE 0x0048 |
| 31 | #define DBT_CONFIGMGPRIVATE 0x7FFF |
| 32 | #define DBT_DEVICEARRIVAL 0x8000 |
| 33 | #define DBT_DEVICEQUERYREMOVE 0x8001 |
| 34 | #define DBT_DEVICEQUERYREMOVEFAILED 0x8002 |
| 35 | #define DBT_DEVICEREMOVEPENDING 0x8003 |
| 36 | #define DBT_DEVICEREMOVECOMPLETE 0x8004 |
| 37 | #define DBT_DEVICETYPESPECIFIC 0x8005 |
| 38 | #define DBT_CUSTOMEVENT 0x8006 |
| 39 | |
| 40 | typedef struct _DEV_BROADCAST_HDR |
| 41 | { |
| 42 | DWORD dbch_size; |
| 43 | DWORD dbch_devicetype; |
| 44 | DWORD dbch_reserved; |
| 45 | } DEV_BROADCAST_HDR, *PDEV_BROADCAST_HDR; |
| 46 | |
| 47 | #define DBT_DEVTYP_OEM 0x00000000 |
| 48 | #define DBT_DEVTYP_DEVNODE 0x00000001 |
| 49 | #define DBT_DEVTYP_VOLUME 0x00000002 |
| 50 | #define DBT_DEVTYP_PORT 0x00000003 |
| 51 | #define DBT_DEVTYP_NET 0x00000004 |
| 52 | #define DBT_DEVTYP_DEVICEINTERFACE 0x00000005 |
| 53 | #define DBT_DEVTYP_HANDLE 0x00000006 |
| 54 | |
| 55 | typedef struct _DEV_BROADCAST_OEM |
| 56 | { |
| 57 | DWORD dbco_size; |
| 58 | DWORD dbco_devicetype; |
| 59 | DWORD dbco_reserved; |
| 60 | DWORD dbco_identifier; |
| 61 | DWORD dbco_suppfunc; |
| 62 | } DEV_BROADCAST_OEM, *PDEV_BROADCAST_OEM; |
| 63 | |
| 64 | typedef struct _DEV_BROADCAST_DEVNODE |
| 65 | { |
| 66 | DWORD dbcd_size; |
| 67 | DWORD dbcd_devicetype; |
| 68 | DWORD dbcd_reserved; |
| 69 | DWORD dbcd_devnode; |
| 70 | } DEV_BROADCAST_DEVNODE, *PDEV_BROADCAST_DEVNODE; |
| 71 | |
| 72 | typedef struct _DEV_BROADCAST_VOLUME |
| 73 | { |
| 74 | DWORD dbcv_size; |
| 75 | DWORD dbcv_devicetype; |
| 76 | DWORD dbcv_reserved; |
| 77 | DWORD dbcv_unitmask; |
| 78 | WORD dbcv_flags; |
| 79 | } DEV_BROADCAST_VOLUME, *PDEV_BROADCAST_VOLUME; |
| 80 | |
Alexandre Julliard | 1834517 | 2006-03-09 22:48:49 +0100 | [diff] [blame] | 81 | #define DBTF_MEDIA 0x0001 |
| 82 | #define DBTF_NET 0x0002 |
| 83 | |
Ulrich Czekalla | e24d3fe | 2004-01-09 00:57:08 +0000 | [diff] [blame] | 84 | typedef struct _DEV_BROADCAST_PORT_A |
| 85 | { |
| 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 | |
| 92 | typedef struct _DEV_BROADCAST_PORT_W |
| 93 | { |
| 94 | DWORD dbcp_size; |
| 95 | DWORD dbcp_devicetype; |
| 96 | DWORD dbcp_reserved; |
| 97 | WCHAR dbcp_name[1]; |
| 98 | } DEV_BROADCAST_PORT_W, *PDEV_BROADCAST_PORT_W; |
| 99 | |
| 100 | DECL_WINELIB_DBT_TYPE_AW(DEV_BROADCAST_PORT) |
| 101 | DECL_WINELIB_DBT_TYPE_AW(PDEV_BROADCAST_PORT) |
| 102 | |
| 103 | typedef struct _DEV_BROADCAST_NET |
| 104 | { |
| 105 | DWORD dbcn_size; |
| 106 | DWORD dbcn_devicetype; |
| 107 | DWORD dbcn_reserved; |
| 108 | DWORD dbcn_resource; |
| 109 | DWORD dbcn_flags; |
| 110 | } DEV_BROADCAST_NET, *PDEV_BROADCAST_NET; |
| 111 | |
| 112 | typedef struct _DEV_BROADCAST_DEVICEINTERFACE_A |
| 113 | { |
| 114 | DWORD dbcc_size; |
| 115 | DWORD dbcc_devicetype; |
| 116 | DWORD dbcc_reserved; |
| 117 | GUID dbcc_classguid; |
| 118 | CHAR dbcc_name[1]; |
| 119 | } DEV_BROADCAST_DEVICEINTERFACE_A, *PDEV_BROADCAST_DEVICEINTERFACE_A; |
| 120 | |
| 121 | typedef struct _DEV_BROADCAST_DEVICEINTERFACE_W |
| 122 | { |
| 123 | DWORD dbcc_size; |
| 124 | DWORD dbcc_devicetype; |
| 125 | DWORD dbcc_reserved; |
| 126 | GUID dbcc_classguid; |
| 127 | WCHAR dbcc_name[1]; |
| 128 | } DEV_BROADCAST_DEVICEINTERFACE_W, *PDEV_BROADCAST_DEVICEINTERFACE_W; |
| 129 | |
| 130 | DECL_WINELIB_DBT_TYPE_AW(DEV_BROADCAST_DEVICEINTERFACE) |
| 131 | DECL_WINELIB_DBT_TYPE_AW(PDEV_BROADCAST_DEVICEINTERFACE) |
| 132 | |
| 133 | typedef struct _DEV_BROADCAST_HANDLE |
| 134 | { |
| 135 | DWORD dbch_size; |
| 136 | DWORD dbch_devicetype; |
| 137 | DWORD dbch_reserved; |
| 138 | HANDLE dbch_handle; |
| 139 | HDEVNOTIFY dbch_hdevnotify; |
| 140 | GUID dbch_eventguid; |
| 141 | LONG dbch_nameoffset; |
| 142 | BYTE dbch_data[1]; |
| 143 | } DEV_BROADCAST_HANDLE, *PDEV_BROADCAST_HANDLE; |
| 144 | |
| 145 | #endif /* __WINE_DBT_H */ |