EFIGraphicsOutput.Mod 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. MODULE EFIGraphicsOutput; (** AUTHOR "Matthias Frei"; PURPOSE "EFI Graphics Output Protocol"; *)
  2. IMPORT
  3. EFI, SYSTEM;
  4. CONST
  5. (* PixelFormat enum *)
  6. PFRGBX8Bit*= 0; (* a pixel is 32 bit. Each color is 8bit and they are ordered Red,Green,Blue,Reserved *)
  7. PFBGRX8Bit*= 1; (* a pixel is 32 bit. Each color is 8bit and they are ordered Blue,Green,Red,Reserved *)
  8. PFBitMask*= 2; (* format is defined by PixelBitmask *)
  9. PFBltOnly*= 3; (* this mode does not support a physical frame buffer *)
  10. PFMax*= 4;
  11. VAR
  12. GUID-: EFI.GUID;
  13. TYPE GraphicsMode* = POINTER TO GraphicsModeDescription;
  14. TYPE GraphicsModeDescription* = RECORD
  15. MaxMode-: EFI.Int32;
  16. Mode-: EFI.Int32; (*current mode. Valid mode numbers are 0 to MaxMode-1 *)
  17. Info-{UNTRACED}: GraphicsModeInfo;
  18. SizeOfInfo-: EFI.Int;
  19. FrameBufferBase-: EFI.PhysicalAddress;
  20. FrameBufferSize-: EFI.Int;
  21. END;
  22. TYPE GraphicsModeInfo* = POINTER TO GraphicsModeInfoDescription;
  23. TYPE GraphicsModeInfoDescription* = RECORD
  24. Version-: EFI.Int32; (* = 0 for the structure specified here. If > 0, structure extended backwards compatibly *)
  25. HorizontalResolution-: EFI.Int32;
  26. VerticalResolution-: EFI.Int32;
  27. PixelFormat-: EFI.Int32; (* enum *)
  28. PixelBitmask-: RECORD RedMask-,GreenMask-,BlueMask-,ReservedMask-:EFI.Int32; END;
  29. PixelsPerScanline-: EFI.Int32;
  30. END;
  31. TYPE Protocol* = POINTER TO ProtocolDescription;
  32. TYPE GOQueryMode* = PROCEDURE{WINAPI}(This : Protocol; ModeNumber : EFI.Int32; VAR SizeOfInfo : EFI.Int; VAR Info : GraphicsModeInfo) : EFI.Status;
  33. TYPE GOSetMode* = PROCEDURE{WINAPI}(This : Protocol; ModeNumber : EFI.Int32) : EFI.Status;
  34. TYPE GODummyType* = PROCEDURE{WINAPI}():EFI.Status;
  35. TYPE ProtocolDescription* = RECORD(EFI.ProtocolDescription)
  36. QueryMode-: GOQueryMode;
  37. SetMode-: GOSetMode;
  38. Blt-: GODummyType; (* not implemented *)
  39. Mode-{UNTRACED}: GraphicsMode;
  40. END;
  41. BEGIN
  42. GUID.Data1 := LONGINT(9042A9DEH);
  43. GUID.Data2 := 23DCH;
  44. GUID.Data3 := 4A38H;
  45. GUID.Data4[0] := SHORTINT(96H);
  46. GUID.Data4[1] := SHORTINT(0FBH);
  47. GUID.Data4[2] := 7AH;
  48. GUID.Data4[3] := SHORTINT(0DEH);
  49. GUID.Data4[4] := SHORTINT(0D0H);
  50. GUID.Data4[5] := SHORTINT(80H);
  51. GUID.Data4[6] := 51H;
  52. GUID.Data4[7] := 6AH;
  53. END EFIGraphicsOutput.