wine-wine/include/dbt.h

156 lines
4.7 KiB
C

/*
* Copyright (C) 2004 Ulrich Czekalla
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __WINE_DBT_H
#define __WINE_DBT_H
#ifndef GUID_DEFINED
# include <guiddef.h>
#endif
/* dbt.h doesn't use the normal convention, it adds an underscore before A/W */
#ifdef WINE_NO_UNICODE_MACROS
# define DECL_WINELIB_DBT_TYPE_AW(type) /* nothing */
#else
# define DECL_WINELIB_DBT_TYPE_AW(type) typedef WINELIB_NAME_AW(type##_) type;
#endif
#define DBT_DEVNODES_CHANGED 0x0007
#define DBT_QUERYCHANGECONFIG 0x0017
#define DBT_CONFIGCHANGED 0x0018
#define DBT_CONFIGCHANGECANCELED 0x0019
#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
typedef struct _DEV_BROADCAST_HDR
{
DWORD dbch_size;
DWORD dbch_devicetype;
DWORD dbch_reserved;
} DEV_BROADCAST_HDR, *PDEV_BROADCAST_HDR;
#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
typedef struct _DEV_BROADCAST_OEM
{
DWORD dbco_size;
DWORD dbco_devicetype;
DWORD dbco_reserved;
DWORD dbco_identifier;
DWORD dbco_suppfunc;
} DEV_BROADCAST_OEM, *PDEV_BROADCAST_OEM;
typedef struct _DEV_BROADCAST_DEVNODE
{
DWORD dbcd_size;
DWORD dbcd_devicetype;
DWORD dbcd_reserved;
DWORD dbcd_devnode;
} DEV_BROADCAST_DEVNODE, *PDEV_BROADCAST_DEVNODE;
typedef struct _DEV_BROADCAST_VOLUME
{
DWORD dbcv_size;
DWORD dbcv_devicetype;
DWORD dbcv_reserved;
DWORD dbcv_unitmask;
WORD dbcv_flags;
} DEV_BROADCAST_VOLUME, *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 dbcp_name[1];
} DEV_BROADCAST_PORT_W, *PDEV_BROADCAST_PORT_W;
DECL_WINELIB_DBT_TYPE_AW(DEV_BROADCAST_PORT)
DECL_WINELIB_DBT_TYPE_AW(PDEV_BROADCAST_PORT)
typedef struct _DEV_BROADCAST_NET
{
DWORD dbcn_size;
DWORD dbcn_devicetype;
DWORD dbcn_reserved;
DWORD dbcn_resource;
DWORD dbcn_flags;
} DEV_BROADCAST_NET, *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 dbcc_name[1];
} DEV_BROADCAST_DEVICEINTERFACE_W, *PDEV_BROADCAST_DEVICEINTERFACE_W;
DECL_WINELIB_DBT_TYPE_AW(DEV_BROADCAST_DEVICEINTERFACE)
DECL_WINELIB_DBT_TYPE_AW(PDEV_BROADCAST_DEVICEINTERFACE)
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;
#undef DECL_WINELIB_DBT_TYPE_AW
#endif /* __WINE_DBT_H */