af062818b47340eef15700d2f0211576ba3506eevboxsync/*
af062818b47340eef15700d2f0211576ba3506eevboxsync * Copyright (C) 2005 Mike McCormack
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is free software; you can redistribute it and/or
af062818b47340eef15700d2f0211576ba3506eevboxsync * modify it under the terms of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License as published by the Free Software Foundation; either
af062818b47340eef15700d2f0211576ba3506eevboxsync * version 2.1 of the License, or (at your option) any later version.
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is distributed in the hope that it will be useful,
af062818b47340eef15700d2f0211576ba3506eevboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
af062818b47340eef15700d2f0211576ba3506eevboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
af062818b47340eef15700d2f0211576ba3506eevboxsync * Lesser General Public License for more details.
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * You should have received a copy of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License along with this library; if not, write to the Free Software
af062818b47340eef15700d2f0211576ba3506eevboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync/*
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * a choice of LGPL license versions is made available with the language indicating
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * of the LGPL is applied is otherwise unspecified.
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync */
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifndef _CFGMGR32_H_
af062818b47340eef15700d2f0211576ba3506eevboxsync#define _CFGMGR32_H_
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/* FIXME: #include <cfg.h> */
af062818b47340eef15700d2f0211576ba3506eevboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync/* cfgmgr32 doesn't use the normal convention, it adds an underscore before A/W */
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#ifdef WINE_NO_UNICODE_MACROS
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync# define DECL_WINELIB_CFGMGR32_TYPE_AW(type) /* nothing */
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#else
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync# define DECL_WINELIB_CFGMGR32_TYPE_AW(type) typedef WINELIB_NAME_AW(type##_) type;
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#endif
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CMAPI
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef DWORD CONFIGRET;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_SUCCESS 0x00
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_DEFAULT 0x01
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_OUT_OF_MEMORY 0x02
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_INVALID_POINTER 0x03
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_INVALID_FLAG 0x04
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_INVALID_DEVNODE 0x05
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_INVALID_DEVINST CR_INVALID_DEVNODE
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_INVALID_RES_DES 0x06
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_INVALID_LOG_CONF 0x07
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_INVALID_ARBITRATOR 0x08
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_INVALID_NODELIST 0x09
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_DEVNODE_HAS_REQS 0x0a
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_DEVINST_HAS_REQS CR_DEVNODE_HAS_REQS
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_INVALID_RESOURCEID 0x0b
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_DLVXD_NOT_FOUND 0x0c
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_NO_SUCH_DEVNODE 0x0d
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_NO_SUCH_DEVINST CR_NO_SUCH_DEVNODE
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_NO_MORE_LOG_CONF 0x0e
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_NO_MORE_RES_DES 0x0f
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_ALREADY_SUCH_DEVNODE 0x10
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_ALREADY_SUCH_DEVINST CR_ALREADY_SUCH_DEVNODE
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_INVALID_RANGE_LIST 0x11
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_INVALID_RANGE 0x12
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_FAILURE 0x13
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_NO_SUCH_LOGICAL_DEV 0x14
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_CREATE_BLOCKED 0x15
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_NOT_SYSTEM_VM 0x16
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_REMOVE_VETOED 0x17
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_APM_VETOED 0x18
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_INVALID_LOAD_TYPE 0x19
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_BUFFER_SMALL 0x1a
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_NO_ARBITRATOR 0x1b
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_NO_REGISTRY_HANDLE 0x1c
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_REGISTRY_ERROR 0x1d
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_INVALID_DEVICE_ID 0x1e
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_INVALID_DATA 0x1f
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_INVALID_API 0x20
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_DEVLOADER_NOT_READY 0x21
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_NEED_RESTART 0x22
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_NO_MORE_HW_PROFILES 0x23
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_DEVICE_NOT_THERE 0x24
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_NO_SUCH_VALUE 0x25
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_WRONG_TYPE 0x26
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_INVALID_PRIORITY 0x27
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_NOT_DISABLEABLE 0x28
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_FREE_RESOURCES 0x29
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_QUERY_VETOED 0x2a
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_CANT_SHARE_IRQ 0x2b
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_NO_DEPENDENT 0x2c
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_SAME_RESOURCES 0x2d
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_NO_SUCH_REGISTRY_KEY 0x2e
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_INVALID_MACHINENAME 0x2f
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_REMOTE_COMM_FAILURE 0x30
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_MACHINE_UNAVAILABLE 0x31
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_NO_CM_SERVICES 0x32
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_ACCESS_DENIED 0x33
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_CALL_NOT_IMPLEMENTED 0x34
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_INVALID_PROPERTY 0x35
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_DEVICE_INTERFACE_ACTIVE 0x36
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_NO_SUCH_DEVICE_INTERFACE 0x37
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_INVALID_REFERENCE_STRING 0x38
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_INVALID_CONFLICT_LIST 0x39
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_INVALID_INDEX 0x3a
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CR_INVALID_STRUCTURE_SIZE 0x3b
af062818b47340eef15700d2f0211576ba3506eevboxsync#define NUM_CR_RESULTS 0x3c
af062818b47340eef15700d2f0211576ba3506eevboxsync
5112e32d7072e280613921c982a6672f2c859cf3vboxsync#define MAX_DEVICE_ID_LEN 200
5112e32d7072e280613921c982a6672f2c859cf3vboxsync#define MAX_DEVNODE_ID_LEN MAX_DEVICE_ID_LEN
5112e32d7072e280613921c982a6672f2c859cf3vboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#define MAX_CLASS_NAME_LEN 32
af062818b47340eef15700d2f0211576ba3506eevboxsync#define MAX_GUID_STRING_LEN 39
af062818b47340eef15700d2f0211576ba3506eevboxsync#define MAX_PROFILE_LEN 80
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef DWORD DEVINST, *PDEVINST;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef DWORD DEVNODE, *PDEVNODE;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef HANDLE HMACHINE, *PHMACHINE;
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsynctypedef CHAR *DEVNODEID_A, *DEVINSTID_A;
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsynctypedef WCHAR *DEVNODEID_W, *DEVINSTID_W;
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsyncDECL_WINELIB_CFGMGR32_TYPE_AW(DEVNODEID)
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsyncDECL_WINELIB_CFGMGR32_TYPE_AW(DEVINSTID)
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifdef __cplusplus
af062818b47340eef15700d2f0211576ba3506eevboxsyncextern "C" {
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncCMAPI CONFIGRET WINAPI CM_Connect_MachineA(PCSTR,PHMACHINE);
af062818b47340eef15700d2f0211576ba3506eevboxsyncCMAPI CONFIGRET WINAPI CM_Connect_MachineW(PCWSTR,PHMACHINE);
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CM_Connect_Machine WINELIB_NAME_AW(CM_Connect_Machine)
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsyncCMAPI CONFIGRET WINAPI CM_Create_DevNodeA(PDEVINST,DEVINSTID_A,DEVINST,ULONG);
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsyncCMAPI CONFIGRET WINAPI CM_Create_DevNodeW(PDEVINST,DEVINSTID_W,DEVINST,ULONG);
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#define CM_Create_DevNode WINELIB_NAME_AW(CM_Create_DevNode)
af062818b47340eef15700d2f0211576ba3506eevboxsyncCMAPI CONFIGRET WINAPI CM_Disconnect_Machine(HMACHINE);
af062818b47340eef15700d2f0211576ba3506eevboxsyncCMAPI CONFIGRET WINAPI CM_Get_Device_IDA(DEVINST,PSTR,ULONG,ULONG);
af062818b47340eef15700d2f0211576ba3506eevboxsyncCMAPI CONFIGRET WINAPI CM_Get_Device_IDW(DEVINST,PWSTR,ULONG,ULONG);
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CM_Get_Device_ID WINELIB_NAME_AW(CM_Get_Device_ID)
5112e32d7072e280613921c982a6672f2c859cf3vboxsyncCMAPI CONFIGRET WINAPI CM_Get_Device_ID_ExA(DEVINST,PSTR,ULONG,ULONG,HMACHINE);
5112e32d7072e280613921c982a6672f2c859cf3vboxsyncCMAPI CONFIGRET WINAPI CM_Get_Device_ID_ExW(DEVINST,PWSTR,ULONG,ULONG,HMACHINE);
5112e32d7072e280613921c982a6672f2c859cf3vboxsync#define CM_Get_Device_ID_Ex WINELIB_NAME_AW(CM_Get_Device_ID_Ex)
af062818b47340eef15700d2f0211576ba3506eevboxsyncCMAPI CONFIGRET WINAPI CM_Get_Device_ID_ListA(PCSTR,PCHAR,ULONG,ULONG);
af062818b47340eef15700d2f0211576ba3506eevboxsyncCMAPI CONFIGRET WINAPI CM_Get_Device_ID_ListW(PCWSTR,PWCHAR,ULONG,ULONG);
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CM_Get_Device_ID_List WINELIB_NAME_AW(CM_Get_Device_ID_List)
af062818b47340eef15700d2f0211576ba3506eevboxsyncCMAPI CONFIGRET WINAPI CM_Get_Device_ID_List_ExA(PCSTR,PCHAR,ULONG,ULONG,HMACHINE);
af062818b47340eef15700d2f0211576ba3506eevboxsyncCMAPI CONFIGRET WINAPI CM_Get_Device_ID_List_ExW(PCWSTR,PWCHAR,ULONG,ULONG,HMACHINE);
af062818b47340eef15700d2f0211576ba3506eevboxsync#define CM_Get_Device_ID_List_Ex WINELIB_NAME_AW(CM_Get_Device_ID_List_Ex)
af062818b47340eef15700d2f0211576ba3506eevboxsyncCMAPI CONFIGRET WINAPI CM_Get_Device_ID_Size(PULONG,DEVINST,ULONG);
af062818b47340eef15700d2f0211576ba3506eevboxsyncCMAPI CONFIGRET WINAPI CM_Get_Device_ID_Size_Ex(PULONG,DEVINST,ULONG,HMACHINE);
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsyncCMAPI CONFIGRET WINAPI CM_Locate_DevNodeA(PDEVINST,DEVINSTID_A,ULONG);
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsyncCMAPI CONFIGRET WINAPI CM_Locate_DevNodeW(PDEVINST,DEVINSTID_W,ULONG);
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#define CM_Locate_DevNode WINELIB_NAME_AW(CM_Locate_DevNode)
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifdef __cplusplus
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync#undef DECL_WINELIB_CFGMGR32_TYPE_AW
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif /* _CFGMGR32_H_ */