windows-nt/Source/XPSP1/NT/public/internal/base/inc/profiles.h
2020-09-26 16:20:57 +08:00

93 lines
2.4 KiB
C

/*++ BUILD Version: 0001 // Increment this if a change has global effects
Copyright (c) Microsoft Corporation. All rights reserved.
Module Name:
profiles.h
Abstract:
This header file defines the Global definitions and interfaces for
communicating the profile information between the loader, ntdetect and
the kernel.
Author:
Kenneth D. Ray (kenray) Dec 1997
Revision History:
--*/
#ifndef _PROFILES_H_
#define _PROFILES_H_
//
// Profile information stored in the registry, read from cmboot, and presented
// to the loader.
//
#define HW_PROFILE_STATUS_SUCCESS 0x0000
#define HW_PROFILE_STATUS_ALIAS_MATCH 0x0001
#define HW_PROFILE_STATUS_TRUE_MATCH 0x0002
#define HW_PROFILE_STATUS_PRISTINE_MATCH 0x0003
#define HW_PROFILE_STATUS_FAILURE 0xC001
//
// Docking States for the given profile
//
#define HW_PROFILE_DOCKSTATE_UNSUPPORTED (0x0)
#define HW_PROFILE_DOCKSTATE_UNDOCKED (0x1)
#define HW_PROFILE_DOCKSTATE_DOCKED (0x2)
#define HW_PROFILE_DOCKSTATE_UNKNOWN (0x3)
#define HW_PROFILE_DOCKSTATE_USER_SUPPLIED (0x4)
#define HW_PROFILE_DOCKSTATE_USER_UNDOCKED \
(HW_PROFILE_DOCKSTATE_USER_SUPPLIED | HW_PROFILE_DOCKSTATE_UNDOCKED)
#define HW_PROFILE_DOCKSTATE_USER_DOCKED \
(HW_PROFILE_DOCKSTATE_USER_SUPPLIED | HW_PROFILE_DOCKSTATE_DOCKED)
//
// Capabilites of the given profile
//
#define HW_PROFILE_CAPS_VCR 0x0001 // As apposed to Surprize
#define HW_PROFILE_CAPS_DOCKING_WARM 0x0002
#define HW_PROFILE_CAPS_DOCKING_HOT 0x0004
#define HW_PROFILE_CAPS_RESERVED 0xFFF8
//
// Extension structure to the LOADER_PARAMETER_BLOCK in arc.h
//
typedef struct _PROFILE_PARAMETER_BLOCK {
USHORT Status;
USHORT Reserved;
USHORT DockingState;
USHORT Capabilities;
ULONG DockID;
ULONG SerialNumber;
} PROFILE_PARAMETER_BLOCK;
//
// Block to communcation the current ACPI docking state
//
typedef struct _PROFILE_ACPI_DOCKING_STATE {
USHORT DockingState;
USHORT SerialLength;
WCHAR SerialNumber[1];
} PROFILE_ACPI_DOCKING_STATE, *PPROFILE_ACPI_DOCKING_STATE;
//
// Desire verbose reporting/tracing of docking station related processing of
// hardware profiles in loader? This must be set to FALSE when compiling kernel
// to eliminate "unresolved external" errors from linker
//
// #define DOCKINFO_VERBOSE TRUE
#endif