00001 /*++ BUILD Version: 0001 // Increment this if a change has global effects 00002 00003 00004 Copyright (c) 1991 Microsoft Corporation 00005 00006 Module Name: 00007 00008 profiles.h 00009 00010 Abstract: 00011 00012 This header file defines the Global definitions and interfaces for 00013 communicating the profile information between the loader, ntdetect and 00014 the kernel. 00015 00016 Author: 00017 00018 Kenneth D. Ray (kenray) Dec 1997 00019 00020 00021 Revision History: 00022 00023 --*/ 00024 00025 #ifndef _PROFILES_H_ 00026 #define _PROFILES_H_ 00027 00028 // 00029 // Profile information stored in the registry, read from cmboot, and presented 00030 // to the loader. 00031 // 00032 00033 00034 #define HW_PROFILE_STATUS_SUCCESS 0x0000 00035 #define HW_PROFILE_STATUS_ALIAS_MATCH 0x0001 00036 #define HW_PROFILE_STATUS_TRUE_MATCH 0x0002 00037 #define HW_PROFILE_STATUS_PRISTINE_MATCH 0x0003 00038 #define HW_PROFILE_STATUS_FAILURE 0xC001 00039 00040 // 00041 // Docking States for the given profile 00042 // 00043 #define HW_PROFILE_DOCKSTATE_UNSUPPORTED (0x0) 00044 #define HW_PROFILE_DOCKSTATE_UNDOCKED (0x1) 00045 #define HW_PROFILE_DOCKSTATE_DOCKED (0x2) 00046 #define HW_PROFILE_DOCKSTATE_UNKNOWN (0x3) 00047 #define HW_PROFILE_DOCKSTATE_USER_SUPPLIED (0x4) 00048 #define HW_PROFILE_DOCKSTATE_USER_UNDOCKED \ 00049 (HW_PROFILE_DOCKSTATE_USER_SUPPLIED | HW_PROFILE_DOCKSTATE_UNDOCKED) 00050 #define HW_PROFILE_DOCKSTATE_USER_DOCKED \ 00051 (HW_PROFILE_DOCKSTATE_USER_SUPPLIED | HW_PROFILE_DOCKSTATE_DOCKED) 00052 00053 // 00054 // Capabilites of the given profile 00055 // 00056 #define HW_PROFILE_CAPS_VCR 0x0001 // As apposed to Surprize 00057 #define HW_PROFILE_CAPS_DOCKING_WARM 0x0002 00058 #define HW_PROFILE_CAPS_DOCKING_HOT 0x0004 00059 #define HW_PROFILE_CAPS_RESERVED 0xFFF8 00060 00061 // 00062 // Extension structure to the LOADER_PARAMETER_BLOCK in arc.h 00063 // 00064 typedef struct _PROFILE_PARAMETER_BLOCK { 00065 00066 USHORT Status; 00067 USHORT Reserved; 00068 USHORT DockingState; 00069 USHORT Capabilities; 00070 ULONG DockID; 00071 ULONG SerialNumber; 00072 00073 } PROFILE_PARAMETER_BLOCK; 00074 00075 // 00076 // Block to communcation the current ACPI docking state 00077 // 00078 typedef struct _PROFILE_ACPI_DOCKING_STATE { 00079 USHORT DockingState; 00080 USHORT SerialLength; 00081 WCHAR SerialNumber[1]; 00082 } PROFILE_ACPI_DOCKING_STATE, *PPROFILE_ACPI_DOCKING_STATE; 00083 00084 // 00085 // Desire verbose reporting/tracing of docking station related processing of 00086 // hardware profiles in loader? This must be set to FALSE when compiling kernel 00087 // to eliminate "unresolved external" errors from linker 00088 // 00089 // #define DOCKINFO_VERBOSE TRUE 00090 00091 #endif 00092