Leaked source code of windows server 2003
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.

76 lines
1.3 KiB

  1. /*++
  2. Copyright (c) 1989 Microsoft Corporation
  3. Module Name:
  4. xip.h
  5. Abstract:
  6. Definitions shared between the kernel and XIP driver.
  7. The XIP driver gets parameters through an exported function
  8. rather than sharing data.
  9. Author:
  10. DavePr 2000/10/10
  11. Revision History:
  12. --*/
  13. #ifndef _XIP_
  14. #define _XIP_
  15. #define XIP_POOLTAG ' PIX'
  16. typedef struct _XIP_BOOT_PARAMETERS {
  17. BOOLEAN SystemDrive;
  18. BOOLEAN ReadOnly;
  19. PFN_NUMBER BasePage;
  20. PFN_NUMBER PageCount;
  21. } XIP_BOOT_PARAMETERS, *PXIP_BOOT_PARAMETERS;
  22. typedef enum {
  23. XIPCMD_NOOP,
  24. XIPCMD_GETBOOTPARAMETERS,
  25. XIPCMD_GETBIOSPARAMETERS
  26. } XIPCMD;
  27. #if defined(_AMD64_) || defined(_X86_)
  28. #if !defined(DRIVER)
  29. extern BOOLEAN XIPConfigured;
  30. NTSTATUS
  31. XIPLocatePages(
  32. IN PFILE_OBJECT FileObject,
  33. OUT PPHYSICAL_ADDRESS PhysicalAddress
  34. );
  35. VOID XIPInit(PLOADER_PARAMETER_BLOCK);
  36. #endif //!DRIVER
  37. NTSTATUS
  38. XIPDispatch(
  39. IN XIPCMD Command,
  40. IN OUT PVOID ParameterBuffer OPTIONAL,
  41. IN ULONG BufferSize
  42. );
  43. #else
  44. #if !defined(DRIVER)
  45. #define XIPConfigured FALSE
  46. #define XIPLocatePages(fo, ppa) STATUS_NOT_IMPLEMENTED
  47. #define XIPInit(plpb)
  48. #endif
  49. #endif
  50. #endif // _XIP_