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.

87 lines
2.0 KiB

  1. /*++ BUILD Version: 0001 // Increment this if a change has global effects
  2. Copyright (c) 1991 Microsoft Corporation
  3. Module Name:
  4. biosp.h
  5. Abstract:
  6. PnP BIOS/ISA sepc related definitions
  7. Author:
  8. Shie-Lin Tzong (shielint) April 12, 1995
  9. Revision History:
  10. --*/
  11. //
  12. // Pnp BIOS device node structure
  13. //
  14. typedef struct _PNP_BIOS_DEVICE_NODE {
  15. USHORT Size;
  16. UCHAR Node;
  17. ULONG ProductId;
  18. UCHAR DeviceType[3];
  19. USHORT DeviceAttributes;
  20. // followed by AllocatedResourceBlock, PossibleResourceBlock
  21. // and CompatibleDeviceId
  22. } PNP_BIOS_DEVICE_NODE, far *FPPNP_BIOS_DEVICE_NODE;
  23. //
  24. // Pnp BIOS Installation check
  25. //
  26. typedef struct _PNP_BIOS_INSTALLATION_CHECK {
  27. UCHAR Signature[4]; // $PnP (ascii)
  28. UCHAR Revision;
  29. UCHAR Length;
  30. USHORT ControlField;
  31. UCHAR Checksum;
  32. ULONG EventFlagAddress; // Physical address
  33. USHORT RealModeEntryOffset;
  34. USHORT RealModeEntrySegment;
  35. USHORT ProtectedModeEntryOffset;
  36. ULONG ProtectedModeCodeBaseAddress;
  37. ULONG OemDeviceId;
  38. USHORT RealModeDataBaseAddress;
  39. ULONG ProtectedModeDataBaseAddress;
  40. } PNP_BIOS_INSTALLATION_CHECK, far *FPPNP_BIOS_INSTALLATION_CHECK;
  41. //
  42. // PnP BIOS ROM definitions
  43. //
  44. #define PNP_BIOS_START 0xF0000
  45. #define PNP_BIOS_END 0xFFFFF
  46. #define PNP_BIOS_HEADER_INCREMENT 16
  47. //
  48. // PnP BIOS API function codes
  49. //
  50. #define PNP_BIOS_GET_NUMBER_DEVICE_NODES 0
  51. #define PNP_BIOS_GET_DEVICE_NODE 1
  52. #define PNP_BIOS_SET_DEVICE_NODE 2
  53. #define PNP_BIOS_GET_EVENT 3
  54. #define PNP_BIOS_SEND_MESSAGE 4
  55. #define PNP_BIOS_GET_DOCK_INFORMATION 5
  56. // Function 6 is reserved.
  57. #define PNP_BIOS_SELECT_BOOT_DEVICE 7
  58. #define PNP_BIOS_GET_BOOT_DEVICE 8
  59. #define PNP_BIOS_SET_OLD_ISA_RESOURCES 9
  60. #define PNP_BIOS_GET_OLD_ISA_RESOURCES 0xA
  61. #define PNP_BIOS_GET_ISA_CONFIGURATION 0x40
  62. typedef USHORT ( far * ENTRY_POINT) (int Function, ...);
  63. //
  64. // Control Flags for Get_Device_Node
  65. //
  66. #define GET_CURRENT_CONFIGURATION 1
  67. #define GET_NEXT_BOOT_CONFIGURATION 2