ifndef _CONFIGMG_H
_CONFIGMG_H	EQU	1
ifdef	WIN40COMPAT
CONFIGMG_VERSION	EQU	0400H
PNPDRVS_Major_Ver	EQU	0004H
PNPDRVS_Minor_Ver	EQU	0000H
ASD_SUPPORT	EQU	1
ASSERT_STRING_SUPPORT	EQU	1
else
CONFIGMG_VERSION	EQU	040AH
PNPDRVS_Major_Ver	EQU	0004H
PNPDRVS_Minor_Ver	EQU	000AH
ASD_SUPPORT	EQU	0
ASSERT_STRING_SUPPORT	EQU	0
endif
CONFIGMG_W32IOCTL_RANGE	EQU	80000000H
ifdef	MAXDEBUG
CM_PERFORMANCE_INFO	EQU	1
endif
ifdef	GOLDEN
ifndef	DEBUG
CM_GOLDEN_RETAIL	EQU	1
endif
endif
ifndef	NORESDES
ResType_All	EQU	00000000H
ResType_None	EQU	00000000H
ResType_Mem	EQU	00000001H
ResType_IO	EQU	00000002H
ResType_DMA	EQU	00000003H
ResType_IRQ	EQU	00000004H
ResType_Max	EQU	00000004H
ResType_Ignored_Bit	EQU	00008000H
DEBUG_RESTYPE_NAMES	EQU	<charCMFAR*lpszResourceName[ResType_Max+1]{"None","Mem","IO","DMA","IRQ",}>
MType_Range	EQU	SIZE Mem_Range_s
fMD_MemoryType	EQU	1
fMD_ROM	EQU	0
fMD_RAM	EQU	1
fMD_32_24	EQU	2
fMD_24	EQU	0
fMD_32	EQU	2
fMD_Pref	EQU	4
fMD_CombinedWrite	EQU	8
fMD_Cacheable	EQU	10H

Mem_Range_s	STRUC
MR_Align	DD	?
MR_nBytes	DD	?
MR_Min	DD	?
MR_Max	DD	?
MR_Flags	DW	?
MR_Reserved	DW	?
Mem_Range_s	ENDS

Mem_Des_s	STRUC
MD_Count	DW	?
MD_Type	DW	?
MD_Alloc_Base	DD	?
MD_Alloc_End	DD	?
MD_Flags	DW	?
MD_Reserved	DW	?
Mem_Des_s	ENDS
IOType_Range	EQU	SIZE IO_Range_s

IO_Range_s	STRUC
IOR_Align	DW	?
IOR_nPorts	DW	?
IOR_Min	DW	?
IOR_Max	DW	?
IOR_RangeFlags	DW	?
IOR_Alias	DB	?
IOR_Decode	DB	?
IO_Range_s	ENDS

IO_Des_s	STRUC
IOD_Count	DW	?
IOD_Type	DW	?
IOD_Alloc_Base	DW	?
IOD_Alloc_End	DW	?
IOD_DesFlags	DW	?
IOD_Alloc_Alias	DB	?
IOD_Alloc_Decode	DB	?
IO_Des_s	ENDS
IOA_Local	EQU	0ffH
mDD_Width	EQU	0003H
fDD_BYTE	EQU	0
fDD_WORD	EQU	1
fDD_DWORD	EQU	2
szDMA_Des_Flags	EQU	<"WD">

DMA_Des_s	STRUC
DD_Flags	DB	?
DD_Alloc_Chan	DB	?
DD_Req_Mask	DB	?
DD_Reserved	DB	?
DMA_Des_s	ENDS
fIRQD_Share_Bit	EQU	0
fIRQD_Share	EQU	1
fIRQD_Level_Bit	EQU	1
fIRQD_Level	EQU	2
cIRQ_Des_Flags	EQU	<'S'>

IRQ_Des_s	STRUC
IRQD_Flags	DW	?
IRQD_Alloc_Num	DW	?
IRQD_Req_Mask	DW	?
IRQD_Reserved	DW	?
IRQ_Des_s	ENDS
endif
LCPRI_FORCECONFIG	EQU	00000000H
LCPRI_BOOTCONFIG	EQU	00000001H
LCPRI_DESIRED	EQU	00002000H
LCPRI_NORMAL	EQU	00003000H
LCPRI_LASTBESTCONFIG	EQU	00003FFFH
LCPRI_SUBOPTIMAL	EQU	00005000H
LCPRI_LASTSOFTCONFIG	EQU	00007FFFH
LCPRI_RESTART	EQU	00008000H
LCPRI_REBOOT	EQU	00009000H
LCPRI_POWEROFF	EQU	0000A000H
LCPRI_HARDRECONFIG	EQU	0000C000H
LCPRI_HARDWIRED	EQU	0000E000H
LCPRI_IMPOSSIBLE	EQU	0000F000H
LCPRI_DISABLED	EQU	0000FFFFH
MAX_LCPRI	EQU	0000FFFFH
MAX_MEM_REGISTERS	EQU	9
MAX_IO_PORTS	EQU	20
MAX_IRQS	EQU	7
MAX_DMA_CHANNELS	EQU	7

Config_Buff_s	STRUC
wNumMemWindows	DW	?
dMemBase	DD	MAX_MEM_REGISTERS DUP (?)
dMemLength	DD	MAX_MEM_REGISTERS DUP (?)
wMemAttrib	DW	MAX_MEM_REGISTERS DUP (?)
wNumIOPorts	DW	?
wIOPortBase	DW	MAX_IO_PORTS DUP (?)
wIOPortLength	DW	MAX_IO_PORTS DUP (?)
wNumIRQs	DW	?
bIRQRegisters	DB	MAX_IRQS DUP (?)
bIRQAttrib	DB	MAX_IRQS DUP (?)
wNumDMAs	DW	?
bDMALst	DB	MAX_DMA_CHANNELS DUP (?)
wDMAAttrib	DW	MAX_DMA_CHANNELS DUP (?)
bReserved1	DB	3 DUP (?)
Config_Buff_s	ENDS
ifndef	CMJUSTRESDES
MAX_DEVICE_ID_LEN	EQU	200
CM_FIRST_BOOT_START	EQU	00000001H
CM_FIRST_BOOT	EQU	00000002H
CM_FIRST_BOOT_FINISH	EQU	00000004H
CM_QUEUE_REBOOT_START	EQU	00000008H
CM_QUEUE_REBOOT_FINISH	EQU	00000010H
CM_INSTALL_MEDIA_READY	EQU	00000020H
INCLUDE vmmreg.INC
Begin_Service_Table CONFIGMG, VxD
CONFIGMG_Service	 _CONFIGMG_Get_Version, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Initialize, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Locate_DevNode, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Parent, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Child, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Sibling, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Device_ID_Size, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Device_ID, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Depth, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Private_DWord, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Set_Private_DWord, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Create_DevNode, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Query_Remove_SubTree, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Remove_SubTree, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Register_Device_Driver, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Register_Enumerator, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Register_Arbitrator, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Deregister_Arbitrator, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Query_Arbitrator_Free_Size, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Query_Arbitrator_Free_Data, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Sort_NodeList, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Yield, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Lock, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Unlock, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Add_Empty_Log_Conf, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Free_Log_Conf, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_First_Log_Conf, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Next_Log_Conf, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Add_Res_Des, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Modify_Res_Des, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Free_Res_Des, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Next_Res_Des, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Performance_Info, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Res_Des_Data_Size, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Res_Des_Data, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Process_Events_Now, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Create_Range_List, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Add_Range, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Delete_Range, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Test_Range_Available, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Dup_Range_List, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Free_Range_List, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Invert_Range_List, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Intersect_Range_List, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_First_Range, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Next_Range, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Dump_Range_List, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Load_DLVxDs, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_DDBs, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_CRC_CheckSum, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Register_DevLoader, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Reenumerate_DevNode, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Setup_DevNode, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Reset_Children_Marks, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_DevNode_Status, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Remove_Unmarked_Children, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_ISAPNP_To_CM, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_CallBack_Device_Driver, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_CallBack_Enumerator, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Alloc_Log_Conf, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_DevNode_Key_Size, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_DevNode_Key, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Read_Registry_Value, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Write_Registry_Value, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Disable_DevNode, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Enable_DevNode, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Move_DevNode, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Set_Bus_Info, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Bus_Info, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Set_HW_Prof, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Recompute_HW_Prof, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Query_Change_HW_Prof, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Device_Driver_Private_DWord, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Set_Device_Driver_Private_DWord, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_HW_Prof_Flags, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Set_HW_Prof_Flags, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Read_Registry_Log_Confs, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Run_Detection, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Call_At_Appy_Time, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Fail_Change_HW_Prof, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Set_Private_Problem, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Debug_DevNode, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Hardware_Profile_Info, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Register_Enumerator_Function, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Call_Enumerator_Function, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Add_ID, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Find_Range, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Global_State, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Broadcast_Device_Change_Message, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Call_DevNode_Handler, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Remove_Reinsert_All, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Change_DevNode_Status, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Reprocess_DevNode, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Assert_Structure, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Discard_Boot_Log_Conf, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Set_Dependent_DevNode, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Dependent_DevNode, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Refilter_DevNode, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Merge_Range_List, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Substract_Range_List, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Set_DevNode_PowerState, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_DevNode_PowerState, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Set_DevNode_PowerCapabilities, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_DevNode_PowerCapabilities, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Read_Range_List, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Write_Range_List, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Set_Log_Conf_Priority, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Support_Share_Irq, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Parent_Structure, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Register_DevNode_For_Idle_Detection, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_CM_To_ISAPNP, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_DevNode_Handler, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Detect_Resource_Conflict, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Device_Interface_List, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Device_Interface_List_Size, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Conflict_Info, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Add_Remove_DevNode_Property, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_CallBack_At_Appy_Time, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Register_Device_Interface, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_System_Device_Power_State_Mapping, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Arbitrator_Info, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Waking_Up_From_DevNode, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Set_DevNode_Problem, VxD_CODE
CONFIGMG_Service	 _CONFIGMG_Get_Device_Interface_Alias, VxD_CODE
End_Service_Table CONFIGMG, VxD
ifdef	_NTDDK_
else
endif

nodelist_s	STRUC
nl_Next	DD	?
nl_Previous	DD	?
nl_ItsDevNode	DD	?
nl_Test_Req	DD	?
nl_ulSortDWord	DD	?
nodelist_s	ENDS

nodelistheader_s	STRUC
nlh_Head	DD	?
nlh_Tail	DD	?
nodelistheader_s	ENDS
arbitfree_s 	STRUC
	af_PointerToInfo	dd	?
	af_SizeOfInfo		dd	?
arbitfree_s 	ENDS

BusType_None	EQU	00000000H
BusType_ISA	EQU	00000001H
BusType_EISA	EQU	00000002H
BusType_PCI	EQU	00000004H
BusType_PCMCIA	EQU	00000008H
BusType_ISAPNP	EQU	00000010H
BusType_MCA	EQU	00000020H
BusType_BIOS	EQU	00000040H
BusType_ACPI	EQU	00000080H
BusType_IDE	EQU	00000100H
BusType_MF	EQU	00000200H
CMAS_UNKNOWN	EQU	00000000H
CMAS_DEVNODE	EQU	00000001H
CMAS_LOG_CONF	EQU	00000002H
CMAS_RES_DES	EQU	00000003H
CMAS_RANGELIST_HEADER	EQU	00000004H
CMAS_RANGELIST	EQU	00000005H
CMAS_NODELIST_HEADER	EQU	00000006H
CMAS_NODELIST	EQU	00000007H
CMAS_INTERNAL_RES_DES	EQU	00000008H
CMAS_ARBITRATOR	EQU	00000009H
CR_SUCCESS	EQU	00000000H
CR_DEFAULT	EQU	00000001H
CR_OUT_OF_MEMORY	EQU	00000002H
CR_INVALID_POINTER	EQU	00000003H
CR_INVALID_FLAG	EQU	00000004H
CR_INVALID_DEVNODE	EQU	00000005H
CR_INVALID_RES_DES	EQU	00000006H
CR_INVALID_LOG_CONF	EQU	00000007H
CR_INVALID_ARBITRATOR	EQU	00000008H
CR_INVALID_NODELIST	EQU	00000009H
CR_DEVNODE_HAS_REQS	EQU	0000000AH
CR_INVALID_RESOURCEID	EQU	0000000BH
CR_DLVXD_NOT_FOUND	EQU	0000000CH
CR_NO_SUCH_DEVNODE	EQU	0000000DH
CR_NO_MORE_LOG_CONF	EQU	0000000EH
CR_NO_MORE_RES_DES	EQU	0000000FH
CR_ALREADY_SUCH_DEVNODE	EQU	00000010H
CR_INVALID_RANGE_LIST	EQU	00000011H
CR_INVALID_RANGE	EQU	00000012H
CR_FAILURE	EQU	00000013H
CR_NO_SUCH_LOGICAL_DEV	EQU	00000014H
CR_CREATE_BLOCKED	EQU	00000015H
CR_NOT_A_GOOD_TIME	EQU	00000016H
CR_REMOVE_VETOED	EQU	00000017H
CR_APM_VETOED	EQU	00000018H
CR_INVALID_LOAD_TYPE	EQU	00000019H
CR_BUFFER_SMALL	EQU	0000001AH
CR_NO_ARBITRATOR	EQU	0000001BH
CR_NO_REGISTRY_HANDLE	EQU	0000001CH
CR_REGISTRY_ERROR	EQU	0000001DH
CR_INVALID_DEVICE_ID	EQU	0000001EH
CR_INVALID_DATA	EQU	0000001FH
CR_INVALID_API	EQU	00000020H
CR_DEVLOADER_NOT_READY	EQU	00000021H
CR_NEED_RESTART	EQU	00000022H
CR_NO_MORE_HW_PROFILES	EQU	00000023H
CR_DEVICE_NOT_THERE	EQU	00000024H
CR_NO_SUCH_VALUE	EQU	00000025H
CR_WRONG_TYPE	EQU	00000026H
CR_INVALID_PRIORITY	EQU	00000027H
CR_NOT_DISABLEABLE	EQU	00000028H
CR_FREE_RESOURCES	EQU	00000029H
CR_QUERY_VETOED	EQU	0000002AH
CR_CANT_SHARE_IRQ	EQU	0000002BH
CR_NO_DEPENDENT	EQU	0000002CH
CR_SAME_RESOURCES	EQU	0000002DH
CR_ALREADY_SUCH_DEPENDENT	EQU	0000002EH
NUM_CR_RESULTS	EQU	0000002FH
CM_PROB_NOT_CONFIGURED	EQU	00000001H
CM_PROB_DEVLOADER_FAILED	EQU	00000002H
CM_PROB_OUT_OF_MEMORY	EQU	00000003H
CM_PROB_ENTRY_IS_WRONG_TYPE	EQU	00000004H
CM_PROB_LACKED_ARBITRATOR	EQU	00000005H
CM_PROB_BOOT_CONFIG_CONFLICT	EQU	00000006H
CM_PROB_FAILED_FILTER	EQU	00000007H
CM_PROB_DEVLOADER_NOT_FOUND	EQU	00000008H
CM_PROB_INVALID_DATA	EQU	00000009H
CM_PROB_FAILED_START	EQU	0000000AH
CM_PROB_ASD_FAILED	EQU	0000000BH
CM_PROB_NORMAL_CONFLICT	EQU	0000000CH
CM_PROB_NOT_VERIFIED	EQU	0000000DH
CM_PROB_NEED_RESTART	EQU	0000000EH
CM_PROB_REENUMERATION	EQU	0000000FH
CM_PROB_PARTIAL_LOG_CONF	EQU	00000010H
CM_PROB_UNKNOWN_RESOURCE	EQU	00000011H
CM_PROB_REINSTALL	EQU	00000012H
CM_PROB_REGISTRY	EQU	00000013H
CM_PROB_VXDLDR	EQU	00000014H
CM_PROB_WILL_BE_REMOVED	EQU	00000015H
CM_PROB_DISABLED	EQU	00000016H
CM_PROB_DEVLOADER_NOT_READY	EQU	00000017H
CM_PROB_DEVICE_NOT_THERE	EQU	00000018H
CM_PROB_MOVED	EQU	00000019H
CM_PROB_TOO_EARLY	EQU	0000001AH
CM_PROB_NO_VALID_LOG_CONF	EQU	0000001BH
CM_PROB_FAILED_INSTALL	EQU	0000001CH
CM_PROB_HARDWARE_DISABLED	EQU	0000001DH
CM_PROB_CANT_SHARE_IRQ	EQU	0000001EH
CM_PROB_DEPENDENT_PROBLEM	EQU	0000001FH
CM_PROB_INSTALL_MEDIA_NOT_READY	EQU	00000020H
CM_PROB_HARDWARE_MALFUNCTION	EQU	00000021H
NUM_CM_PROB	EQU	00000022H
CM_INITIALIZE_VMM	EQU	00000000H
CM_INITIALIZE_BITS	EQU	00000000H
CM_YIELD_NO_RESUME_EXEC	EQU	00000000H
CM_YIELD_RESUME_EXEC	EQU	00000001H
CM_YIELD_BITS	EQU	00000001H
CM_LOCK_UNLOCK_NORMAL	EQU	00000000H
CM_LOCK_UNLOCK_JUST_DEVNODES_CHANGED	EQU	00000001H
CM_LOCK_UNLOCK_BITS	EQU	00000001H
CM_CREATE_DEVNODE_NORMAL	EQU	00000000H
CM_CREATE_DEVNODE_NO_WAIT_INSTALL	EQU	00000001H
CM_CREATE_DEVNODE_ADD_PARENT_INSTANCE	EQU	00000002H
CM_CREATE_DEVNODE_BITS	EQU	00000003H
CM_REGISTER_DEVICE_DRIVER_STATIC	EQU	00000000H
CM_REGISTER_DEVICE_DRIVER_DISABLEABLE	EQU	00000001H
CM_REGISTER_DEVICE_DRIVER_REMOVABLE	EQU	00000002H
CM_REGISTER_DEVICE_DRIVER_SYNCHRONOUS	EQU	00000000H
CM_REGISTER_DEVICE_DRIVER_ASYNCHRONOUS	EQU	00000004H
CM_REGISTER_DEVICE_DRIVER_ACPI_APM	EQU	00000008H
CM_REGISTER_DEVICE_DRIVER_LOAD_DRIVER	EQU	00000010H
CM_REGISTER_DEVICE_DRIVER_BITS	EQU	0000001FH
CM_REGISTER_ENUMERATOR_SOFTWARE	EQU	00000000H
CM_REGISTER_ENUMERATOR_HARDWARE	EQU	00000001H
CM_REGISTER_ENUMERATOR_ACPI_APM	EQU	00000002H
CM_REGISTER_ENUMERATOR_BITS	EQU	00000003H
CM_REGISTER_ARBITRATOR_GLOBAL	EQU	00000001H
CM_REGISTER_ARBITRATOR_LOCAL	EQU	00000000H
CM_REGISTER_ARBITRATOR_MYSELF	EQU	00000002H
CM_REGISTER_ARBITRATOR_NOT_MYSELF	EQU	00000000H
CM_REGISTER_ARBITRATOR_CONFLICT_FREE	EQU	00000004H
CM_REGISTER_ARBITRATOR_CAN_CONFLICT	EQU	00000000H
CM_REGISTER_ARBITRATOR_PARTIAL	EQU	00000008H
CM_REGISTER_ARBITRATOR_COMPLETE	EQU	00000000H
CM_REGISTER_ARBITRATOR_PARTIAL_RES_DES	EQU	00000010H
CM_REGISTER_ARBITRATOR_PARTIAL_DEVNODE	EQU	00000000H
CM_REGISTER_ARBITRATOR_BITS	EQU	0000001FH
CM_QUERY_REMOVE_UI_OK	EQU	00000000H
CM_QUERY_REMOVE_UI_NOT_OK	EQU	00000001H
CM_QUERY_REMOVE_BITS	EQU	00000001H
CM_REMOVE_UI_OK	EQU	00000000H
CM_REMOVE_UI_NOT_OK	EQU	00000001H
CM_REMOVE_BITS	EQU	00000001H
CM_SETUP_DEVNODE_READY	EQU	00000000H
CM_SETUP_DOWNLOAD	EQU	00000001H
CM_SETUP_WRITE_LOG_CONFS	EQU	00000002H
CM_SETUP_PROP_CHANGE	EQU	00000003H
CM_SETUP_BITS	EQU	00000003H
CM_ADD_RANGE_ADDIFCONFLICT	EQU	00000000H
CM_ADD_RANGE_DONOTADDIFCONFLICT	EQU	00000001H
CM_ADD_RANGE_BITS	EQU	00000001H
CM_ISAPNP_ADD_RES_DES	EQU	00000000H
CM_ISAPNP_SETUP	EQU	00000001H
CM_ISAPNP_ADD_BOOT_RES_DES	EQU	00000002H
CM_ISAPNP_ADD_RES_DES_UNCONFIGURABLE	EQU	00000003H
CM_ISAPNP_BITS	EQU	00000003H
CM_GET_BUS_INFO_DONT_RETURN_MF_INFO	EQU	00000000H
CM_GET_BUS_INFO_RETURN_MF_INFO	EQU	00000001H
CM_GET_BUS_INFO_FLAGS	EQU	00000001H
CM_GET_PERFORMANCE_INFO_DATA	EQU	00000000H
CM_GET_PERFORMANCE_INFO_RESET	EQU	00000001H
CM_GET_PERFORMANCE_INFO_START	EQU	00000002H
CM_GET_PERFORMANCE_INFO_STOP	EQU	00000003H
CM_RESET_HIT_DATA	EQU	00000004H
CM_GET_HIT_DATA	EQU	00000005H
CM_GET_PERFORMANCE_INFO_BITS	EQU	0000000FH
CM_HIT_DATA_FILES	EQU	0FFFF0000H
CM_HIT_DATA_SIZE	EQU	((256*8)+8)
CM_GET_ALLOC_LOG_CONF_ALLOC	EQU	00000000H
CM_GET_ALLOC_LOG_CONF_BOOT_ALLOC	EQU	00000001H
CM_GET_ALLOC_LOG_CONF_BITS	EQU	00000001H
CM_DUMP_RANGE_NORMAL	EQU	00000000H
CM_DUMP_RANGE_JUST_LIST	EQU	00000001H
CM_DUMP_RANGE_BITS	EQU	00000001H
CM_REGISTRY_HARDWARE	EQU	00000000H
CM_REGISTRY_SOFTWARE	EQU	00000001H
CM_REGISTRY_USER	EQU	00000100H
CM_REGISTRY_CONFIG	EQU	00000200H
CM_REGISTRY_BITS	EQU	00000301H
CM_DISABLE_POLITE	EQU	00000000H
CM_DISABLE_ABSOLUTE	EQU	00000001H
CM_DISABLE_HARDWARE	EQU	00000002H
CM_DISABLE_BITS	EQU	00000003H
CM_HW_PROF_UNDOCK	EQU	00000000H
CM_HW_PROF_DOCK	EQU	00000001H
CM_HW_PROF_RECOMPUTE_BITS	EQU	00000001H
CM_HW_PROF_DOCK_KNOWN	EQU	00000002H
CM_HW_PROF_QUERY_CHANGE_BITS	EQU	00000003H
CM_DETECT_NEW_PROFILE	EQU	00000001H
CM_DETECT_CRASHED	EQU	00000002H
CM_DETECT_HWPROF_FIRST_BOOT	EQU	00000004H
CM_DETECT_TOPBUSONLY	EQU	00000008H
CM_DETECT_VERIFYONLY	EQU	00000010H
CM_DETECT_EXCLENUMDEVS	EQU	00000020H
CM_DETECT_DOUI	EQU	00000040H
CM_DETECT_RUN	EQU	80000000H
CM_ADD_ID_HARDWARE	EQU	00000000H
CM_ADD_ID_COMPATIBLE	EQU	00000001H
CM_ADD_ID_BITS	EQU	00000001H
CM_REENUMERATE_NORMAL	EQU	00000000H
CM_REENUMERATE_SYNCHRONOUS	EQU	00000001H
CM_REENUMERATE_BITS	EQU	00000001H
CM_BROADCAST_SEND	EQU	00000000H
CM_BROADCAST_QUERY	EQU	00000001H
CM_BROADCAST_BITS	EQU	00000001H
CM_CALL_HANDLER_ENUMERATOR	EQU	00000000H
CM_CALL_HANDLER_DEVICE_DRIVER	EQU	00000001H
CM_CALL_HANDLER_BITS	EQU	00000001H
CM_GLOBAL_STATE_CAN_DO_UI	EQU	00000001H
CM_GLOBAL_STATE_ON_BIG_STACK	EQU	00000002H
CM_GLOBAL_STATE_SERVICES_AVAILABLE	EQU	00000004H
CM_GLOBAL_STATE_SHUTING_DOWN	EQU	00000008H
CM_GLOBAL_STATE_DETECTION_PENDING	EQU	00000010H
CM_GLOBAL_STATE_ON_BATTERY	EQU	00000020H
CM_GLOBAL_STATE_SUSPEND_PHASE	EQU	00000040H
CM_GLOBAL_STATE_SUSPEND_LOCKED_PHASE	EQU	00000080H
CM_GLOBAL_STATE_REBALANCE	EQU	00000100H
CM_GLOBAL_STATE_LOGGING_ON	EQU	00000200H
CM_REMOVE_REINSERT_ALL_REMOVE	EQU	00000000H
CM_REMOVE_REINSERT_ALL_REINSERT	EQU	00000001H
CM_REMOVE_REINSERT_ALL_BITS	EQU	00000001H
CM_CHANGE_DEVNODE_STATUS_REMOVE_FLAGS	EQU	00000000H
CM_CHANGE_DEVNODE_STATUS_ADD_FLAGS	EQU	00000001H
CM_CHANGE_DEVNODE_STATUS_BITS	EQU	00000001H
CM_REPROCESS_DEVNODE_ASYNCHRONOUS	EQU	00000000H
CM_REPROCESS_DEVNODE_SYNCHRONOUS	EQU	00000001H
CM_REPROCESS_DEVNODE_BITS	EQU	00000001H
CM_SET_DEVNODE_POWERSTATE_BITS	EQU	00000001H
CM_POWERSTATE_D0	EQU	00000001H
CM_POWERSTATE_D1	EQU	00000002H
CM_POWERSTATE_D2	EQU	00000004H
CM_POWERSTATE_D3	EQU	00000008H
CM_POWERSTATE_BITS	EQU	0000000fH
CM_CAPABILITIES_NORMAL	EQU	00000000H
CM_CAPABILITIES_FOR_WAKEUP	EQU	00000001H
CM_CAPABILITIES_OVERRIDE	EQU	00000002H
CM_CAPABILITIES_MERGE	EQU	00000000H
CM_GET_CAPABILITIES_BITS	EQU	00000001H
CM_SET_CAPABILITIES_BITS	EQU	00000003H
CM_CM_TO_ISAPNP_NORMAL	EQU	00000000H
CM_CM_TO_ISAPNP_FAIL_NUL_TAGS	EQU	00000001H
CM_CM_TO_ISAPNP_BITS	EQU	00000001H
CM_SET_DEPENDENT_DEVNODE_ADD	EQU	00000000H
CM_SET_DEPENDENT_DEVNODE_REMOVE	EQU	00000001H
CM_SET_DEPENDENT_DEVNODE_BITS	EQU	00000001H
CM_GET_DEVNODE_HANDLER_CONFIG	EQU	00000000H
CM_GET_DEVNODE_HANDLER_ENUM	EQU	00000001H
CM_GET_DEVNODE_HANDLER_BITS	EQU	00000001H
CM_GET_DEVICE_INTERFACE_LIST_PRESENT	EQU	00000000H
CM_GET_DEVICE_INTERFACE_LIST_ALL_DEVICES	EQU	00000001H
CM_GET_DEVICE_INTERFACE_LIST_BITS	EQU	00000001H
CM_ADD_REMOVE_DEVNODE_PROPERTY_ADD	EQU	00000000H
CM_ADD_REMOVE_DEVNODE_PROPERTY_REMOVE	EQU	00000001H
CM_ADD_REMOVE_DEVNODE_PROPERTY_NEEDS_LOCKING	EQU	00000002H
CM_ADD_REMOVE_DEVNODE_PROPERTY_ARM_WAKEUP	EQU	00000004H
CM_ADD_REMOVE_DEVNODE_PROPERTY_LIGHT_SLEEP	EQU	00000008H
CM_ADD_REMOVE_DEVNODE_PROPERTY_BITS	EQU	0000000FH
CM_SYSTEM_DEVICE_POWER_STATE_MAPPING_GET	EQU	00000000H
CM_SYSTEM_DEVICE_POWER_STATE_MAPPING_SET	EQU	00000001H
CM_SYSTEM_DEVICE_POWER_STATE_MAPPING_BITS	EQU	00000001H
CM_WAKING_UP_FROM_DEVNODE_ASYNCHRONOUS	EQU	00000000H
CM_WAKING_UP_FROM_DEVNODE_SYNCHRONOUS	EQU	00000001H
CM_WAKING_UP_FROM_DEVNODE_BITS	EQU	00000001H
CM_GET_LOG_CONF_PRIORITY	EQU	00000000H
CM_SET_LOG_CONF_PRIORITY	EQU	00000001H
CM_GET_SET_LOG_CONF_PRIORITY_BITS	EQU	00000001H
CONFIG_FILTER	EQU	00000000H
CONFIG_START	EQU	00000001H
CONFIG_STOP	EQU	00000002H
CONFIG_TEST	EQU	00000003H
CONFIG_REMOVE	EQU	00000004H
CONFIG_ENUMERATE	EQU	00000005H
CONFIG_SETUP	EQU	00000006H
CONFIG_CALLBACK	EQU	00000007H
CONFIG_APM	EQU	00000008H
CONFIG_TEST_FAILED	EQU	00000009H
CONFIG_TEST_SUCCEEDED	EQU	0000000AH
CONFIG_VERIFY_DEVICE	EQU	0000000BH
CONFIG_PREREMOVE	EQU	0000000CH
CONFIG_SHUTDOWN	EQU	0000000DH
CONFIG_PREREMOVE2	EQU	0000000EH
CONFIG_READY	EQU	0000000FH
CONFIG_PROP_CHANGE	EQU	00000010H
CONFIG_PRIVATE	EQU	00000011H
CONFIG_PRESHUTDOWN	EQU	00000012H
CONFIG_BEGIN_PNP_MODE	EQU	00000013H
CONFIG_LOCK	EQU	00000014H
CONFIG_UNLOCK	EQU	00000015H
CONFIG_IRP	EQU	00000016H
CONFIG_WAKEUP	EQU	00000017H
CONFIG_WAKEUP_CALLBACK	EQU	00000018H
NUM_CONFIG_COMMANDS	EQU	00000019H
CONFIG_START_DYNAMIC_START	EQU	00000000H
CONFIG_START_FIRST_START	EQU	00000001H
CONFIG_START_SHUTDOWN_START	EQU	00000002H
NUM_START_COMMANDS	EQU	00000003H
CONFIG_STOP_DYNAMIC_STOP	EQU	00000000H
CONFIG_STOP_HAS_PROBLEM	EQU	00000001H
NUM_STOP_COMMANDS	EQU	00000002H
CONFIG_REMOVE_DYNAMIC	EQU	00000000H
CONFIG_REMOVE_SHUTDOWN	EQU	00000001H
CONFIG_REMOVE_REBOOT	EQU	00000002H
CONFIG_SHUTDOWN_OFF	EQU	00000000H
CONFIG_SHUTDOWN_REBOOT	EQU	00000001H
NUM_REMOVE_COMMANDS	EQU	00000003H
CONFIG_ENUMERATE_DYNAMIC	EQU	00000000H
CONFIG_ENUMERATE_FIRST_TIME	EQU	00000001H
NUM_ENUMERATE_COMMANDS	EQU	00000002H
CONFIG_TEST_CAN_STOP	EQU	00000000H
CONFIG_TEST_CAN_REMOVE	EQU	00000001H
NUM_TEST_COMMANDS	EQU	00000002H
CONFIG_APM_FLAGS_MASK	EQU	0FFFFF000H
CONFIG_APM_UI_IS_ALLOWED	EQU	80000000H
CONFIG_APM_SUSPEND_PHASE	EQU	40000000H
CONFIG_APM_SUSPEND_LOCKED_PHASE	EQU	20000000H
CONFIG_APM_ARM_WAKEUP	EQU	10000000H
CONFIG_APM_RESUME_CRITICAL	EQU	08000000H
CONFIG_APM_QUERY_D1	EQU	00000000H
CONFIG_APM_QUERY_D2	EQU	00000001H
CONFIG_APM_QUERY_D3	EQU	00000002H
CONFIG_APM_FAILED_D1	EQU	00000003H
CONFIG_APM_FAILED_D2	EQU	00000004H
CONFIG_APM_FAILED_D3	EQU	00000005H
CONFIG_APM_SET_D0	EQU	00000006H
CONFIG_APM_SET_D1	EQU	00000007H
CONFIG_APM_SET_D2	EQU	00000008H
CONFIG_APM_SET_D3	EQU	00000009H
CONFIG_APM_RESUME_D0	EQU	0000000AH
CONFIG_APM_RESUME_D1	EQU	0000000BH
CONFIG_APM_RESUME_D2	EQU	0000000CH
CONFIG_APM_RESUME_D3	EQU	0000000DH
CONFIG_APM_QUERY_S1	EQU	0000000EH
CONFIG_APM_QUERY_S2	EQU	0000000FH
CONFIG_APM_QUERY_S3	EQU	00000010H
CONFIG_APM_QUERY_S4	EQU	00000011H
CONFIG_APM_QUERY_S5	EQU	00000012H
CONFIG_APM_SET_S0	EQU	00000013H
CONFIG_APM_SET_S1	EQU	00000014H
CONFIG_APM_SET_S2	EQU	00000015H
CONFIG_APM_SET_S3	EQU	00000016H
CONFIG_APM_SET_S4	EQU	00000017H
CONFIG_APM_SET_S5	EQU	00000018H
NUM_APM_COMMANDS	EQU	00000019H
CONFIG_WAKEUP_ARM	EQU	00000000H
CONFIG_WAKEUP_DISABLE	EQU	00000001H
NUM_WAKEUP_COMMANDS	EQU	00000002H
ARB_TEST_ALLOC	EQU	00000000H
ARB_RETEST_ALLOC	EQU	00000001H
ARB_SET_ALLOC	EQU	00000002H
ARB_RELEASE_ALLOC	EQU	00000003H
ARB_QUERY_FREE	EQU	00000004H
ARB_REMOVE	EQU	00000005H
ARB_FORCE_ALLOC	EQU	00000006H
ARB_QUERY_ARBITRATE	EQU	00000007H
ARB_ADD_RESERVE	EQU	00000008H
ARB_WRITE_RESERVE	EQU	00000009H
ARB_BEGIN_PNP_MODE	EQU	0000000AH
ARB_APPLY_ALLOC	EQU	0000000BH
NUM_ARB_COMMANDS	EQU	0000000CH
DN_ROOT_ENUMERATED	EQU	00000001H
DN_DRIVER_LOADED	EQU	00000002H
DN_ENUM_LOADED	EQU	00000004H
DN_STARTED	EQU	00000008H
DN_MANUAL	EQU	00000010H
DN_NEED_TO_ENUM	EQU	00000020H
DN_NOT_FIRST_TIME	EQU	00000040H
DN_HARDWARE_ENUM	EQU	00000080H
DN_LIAR	EQU	00000100H
DN_HAS_MARK	EQU	00000200H
DN_HAS_PROBLEM	EQU	00000400H
DN_FILTERED	EQU	00000800H
DN_MOVED	EQU	00001000H
DN_DISABLEABLE	EQU	00002000H
DN_REMOVABLE	EQU	00004000H
DN_PRIVATE_PROBLEM	EQU	00008000H
DN_MF_PARENT	EQU	00010000H
DN_MF_CHILD	EQU	00020000H
DN_WILL_BE_REMOVED	EQU	00040000H
DN_NOT_FIRST_TIMEE	EQU	00080000H
DN_STOP_FREE_RES	EQU	00100000H
DN_REBAL_CANDIDATE	EQU	00200000H
DN_BAD_PARTIAL	EQU	00400000H
DN_NT_ENUMERATOR	EQU	00800000H
DN_NT_DRIVER	EQU	01000000H
DN_NEEDS_LOCKING	EQU	02000000H
DN_ARM_WAKEUP	EQU	04000000H
DN_APM_ENUMERATOR	EQU	08000000H
DN_APM_DRIVER	EQU	10000000H
DN_SILENT_INSTALL	EQU	20000000H
DN_NO_SHOW_IN_DM	EQU	40000000H
DN_BOOT_LOG_PROB	EQU	80000000H
DN_CHANGEABLE_FLAGS	EQU	79BB62E0H
DLVXD_LOAD_ENUMERATOR	EQU	00000000H
DLVXD_LOAD_DEVLOADER	EQU	00000001H
DLVXD_LOAD_DRIVER	EQU	00000002H
NUM_DLVXD_LOAD_TYPE	EQU	00000003H
BASIC_LOG_CONF	EQU	00000000H
FILTERED_LOG_CONF	EQU	00000001H
ALLOC_LOG_CONF	EQU	00000002H
BOOT_LOG_CONF	EQU	00000003H
FORCED_LOG_CONF	EQU	00000004H
REALMODE_LOG_CONF	EQU	00000005H
NEW_ALLOC_LOG_CONF	EQU	00000006H
NUM_LOG_CONF	EQU	00000007H
LOG_CONF_BITS	EQU	00000007H
DEBUG_LOG_CONF_NAMES	EQU	<charCMFAR*lpszLogConfName[NUM_LOG_CONF]{"BASIC_LOG_CONF","FILTERED_LOG_CONF","ALLOC_LOG_CONF","BOOT_LOG_CONF","FORCED_LOG_CONF","REALMODE_LOG_CONF","NEW_ALLOC_LOG_CONF",}>
PRIORITY_EQUAL_FIRST	EQU	00000008H
PRIORITY_EQUAL_LAST	EQU	00000000H
PRIORITY_BIT	EQU	00000008H

MEM_Arb_s	STRUC
MEMA_Alloc	DD	?
MEM_Arb_s	ENDS

IO_Arb_s	STRUC
IOA_Alloc	DD	?
IO_Arb_s	ENDS

DMA_Arb_s	STRUC
DMAA_Alloc	DW	?
DMA_Arb_s	ENDS

IRQ_Arb_s	STRUC
IRQA_Alloc	DW	?
IRQA_Share	DW	?
IRQA_Share_Count	DB	16 DUP (?)
IRQA_Level	DW	?
IRQA_Unused	DW	?
IRQ_Arb_s	ENDS
DebugCommand	Macro	FuncName
		local	DC_01
ifndef	CM_GOLDEN_RETAIL
ifndef	debug
 	IsDebugOnlyLoaded	DC_01
endif
	Control_Dispatch	DEBUG_QUERY, FuncName, sCall
endif
DC_01:
endm
IFDEF CM_PERFORMANCE_INFO
CM_PAGEABLE_CODE_SEG	TEXTEQU	<VxD_LOCKED_CODE_SEG>
CM_PAGEABLE_CODE_ENDS	TEXTEQU	<VxD_LOCKED_CODE_ENDS>
CM_PAGEABLE_DATA_SEG	TEXTEQU	<VxD_LOCKED_DATA_SEG>
CM_PAGEABLE_DATA_ENDS	TEXTEQU	<VxD_LOCKED_DATA_ENDS>
CM_LOCKABLE_CODE_SEG	TEXTEQU	<VxD_LOCKED_CODE_SEG>
CM_LOCKABLE_CODE_ENDS	TEXTEQU	<VxD_LOCKED_CODE_ENDS>
CM_LOCKABLE_DATA_SEG	TEXTEQU	<VxD_LOCKED_CODE_SEG>
CM_LOCKABLE_DATA_ENDS	TEXTEQU	<VxD_LOCKED_CODE_ENDS>
ELSE
CM_PAGEABLE_CODE_SEG	TEXTEQU <VxD_PNP_CODE_SEG>
CM_PAGEABLE_CODE_ENDS	TEXTEQU <VxD_PNP_CODE_ENDS>
CM_PAGEABLE_DATA_SEG	TEXTEQU	<VxD_PAGEABLE_DATA_SEG>
CM_PAGEABLE_DATA_ENDS	TEXTEQU	<VxD_PAGEABLE_DATA_ENDS>
CM_LOCKABLE_CODE_SEG	TEXTEQU	<VxD_LOCKABLE_CODE_SEG>
CM_LOCKABLE_CODE_ENDS	TEXTEQU	<VxD_LOCKABLE_CODE_ENDS>
CM_LOCKABLE_DATA_SEG	TEXTEQU	<VxD_LOCKABLE_CODE_SEG>
CM_LOCKABLE_DATA_ENDS	TEXTEQU	<VxD_LOCKABLE_CODE_ENDS>
ENDIF

IFDEF CM_GOLDEN_RETAIL
CM_DEBUG_CODE_SEG	TEXTEQU	<.err>
CM_DEBUG_CODE_ENDS	TEXTEQU	<.err>
ELSE
IFDEF DEBUG
CM_DEBUG_CODE_SEG	TEXTEQU	<VxD_LOCKED_CODE_SEG>
CM_DEBUG_CODE_ENDS	TEXTEQU	<VxD_LOCKED_CODE_ENDS>
ELSE
CM_DEBUG_CODE_SEG	TEXTEQU	<VxD_DEBUG_ONLY_CODE_SEG>
CM_DEBUG_CODE_ENDS	TEXTEQU	<VxD_DEBUG_ONLY_CODE_ENDS>
ENDIF
ENDIF


CM_API_s	STRUC
pCMAPIStack	DD	?
dwCMAPIService	DD	?
dwCMAPIRet	DD	?
CM_API_s	ENDS
ifndef	MAX_PROFILE_LEN
MAX_PROFILE_LEN	EQU	80
endif

HWProfileInfo_s	STRUC
HWPI_ulHWProfile	DD	?
HWPI_szFriendlyName	DB	MAX_PROFILE_LEN DUP (?)
HWPI_dwFlags	DD	?
HWProfileInfo_s	ENDS
CM_HWPI_NOT_DOCKABLE	EQU	00000000H
CM_HWPI_UNDOCKED	EQU	00000001H
CM_HWPI_DOCKED	EQU	00000002H
endif
endif
