Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

92 lines
2.4 KiB

  1. /*++ BUILD Version: 0001 // Increment this if a change has global effects
  2. Copyright (c) Microsoft Corporation. All rights reserved.
  3. Module Name:
  4. profiles.h
  5. Abstract:
  6. This header file defines the Global definitions and interfaces for
  7. communicating the profile information between the loader, ntdetect and
  8. the kernel.
  9. Author:
  10. Kenneth D. Ray (kenray) Dec 1997
  11. Revision History:
  12. --*/
  13. #ifndef _PROFILES_H_
  14. #define _PROFILES_H_
  15. //
  16. // Profile information stored in the registry, read from cmboot, and presented
  17. // to the loader.
  18. //
  19. #define HW_PROFILE_STATUS_SUCCESS 0x0000
  20. #define HW_PROFILE_STATUS_ALIAS_MATCH 0x0001
  21. #define HW_PROFILE_STATUS_TRUE_MATCH 0x0002
  22. #define HW_PROFILE_STATUS_PRISTINE_MATCH 0x0003
  23. #define HW_PROFILE_STATUS_FAILURE 0xC001
  24. //
  25. // Docking States for the given profile
  26. //
  27. #define HW_PROFILE_DOCKSTATE_UNSUPPORTED (0x0)
  28. #define HW_PROFILE_DOCKSTATE_UNDOCKED (0x1)
  29. #define HW_PROFILE_DOCKSTATE_DOCKED (0x2)
  30. #define HW_PROFILE_DOCKSTATE_UNKNOWN (0x3)
  31. #define HW_PROFILE_DOCKSTATE_USER_SUPPLIED (0x4)
  32. #define HW_PROFILE_DOCKSTATE_USER_UNDOCKED \
  33. (HW_PROFILE_DOCKSTATE_USER_SUPPLIED | HW_PROFILE_DOCKSTATE_UNDOCKED)
  34. #define HW_PROFILE_DOCKSTATE_USER_DOCKED \
  35. (HW_PROFILE_DOCKSTATE_USER_SUPPLIED | HW_PROFILE_DOCKSTATE_DOCKED)
  36. //
  37. // Capabilites of the given profile
  38. //
  39. #define HW_PROFILE_CAPS_VCR 0x0001 // As apposed to Surprize
  40. #define HW_PROFILE_CAPS_DOCKING_WARM 0x0002
  41. #define HW_PROFILE_CAPS_DOCKING_HOT 0x0004
  42. #define HW_PROFILE_CAPS_RESERVED 0xFFF8
  43. //
  44. // Extension structure to the LOADER_PARAMETER_BLOCK in arc.h
  45. //
  46. typedef struct _PROFILE_PARAMETER_BLOCK {
  47. USHORT Status;
  48. USHORT Reserved;
  49. USHORT DockingState;
  50. USHORT Capabilities;
  51. ULONG DockID;
  52. ULONG SerialNumber;
  53. } PROFILE_PARAMETER_BLOCK;
  54. //
  55. // Block to communcation the current ACPI docking state
  56. //
  57. typedef struct _PROFILE_ACPI_DOCKING_STATE {
  58. USHORT DockingState;
  59. USHORT SerialLength;
  60. WCHAR SerialNumber[1];
  61. } PROFILE_ACPI_DOCKING_STATE, *PPROFILE_ACPI_DOCKING_STATE;
  62. //
  63. // Desire verbose reporting/tracing of docking station related processing of
  64. // hardware profiles in loader? This must be set to FALSE when compiling kernel
  65. // to eliminate "unresolved external" errors from linker
  66. //
  67. // #define DOCKINFO_VERBOSE TRUE
  68. #endif