#ifndef __CSMVIDEO_H__ #define __CSMVIDEO_H__ #include "../uefi_headers/Uefi.h" EFI_STATUS EFIAPI _ModuleEntryPoint(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable); EFI_STATUS EFIAPI CsmVideoDriverEntry(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable); EFI_STATUS EFIAPI CsmVideoChildInit(CSM_VIDEO_INSTANCE *Instance, EFI_HANDLE ChildHandle, VOID *Context); EFI_STATUS EFIAPI CsmVideoModeSet(CSM_VIDEO_INSTANCE *Instance, EFI_HANDLE ChildHandle, UINTN ModeCount, UINTN *ModeArray); EFI_STATUS EFIAPI CsmVideoInstanceCreate(CSM_VIDEO_INSTANCE *Instance, EFI_HANDLE ChildHandle, EFI_PCI_IO_PROTOCOL *PciIo, EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *RootBridgeIo, EFI_LEGACY_BIOS_PLATFORM_PROTOCOL *LegacyBiosPlatform, EFI_HANDLE LegacyBiosHandle, UINT64 SavedPciAttributes); EFI_STATUS EFIAPI CsmVideoDetectDevice(CSM_VIDEO_INSTANCE *Instance, EFI_HANDLE ChildHandle, CSM_VIDEO_INSTANCE **CsmVideo); EFI_STATUS EFIAPI CsmVideoChildAddProtocol(CSM_VIDEO_INSTANCE *Instance, EFI_HANDLE ChildHandle, EFI_HANDLE ParentHandle); VOID EFIAPI CsmVideoFreeBuffers(CSM_VIDEO_INSTANCE *CsmVideo); VOID EFIAPI EdidParseAndMerge(EDID_BLOCK *Edid); EFI_STATUS EFIAPI VesaGetControllerCapabilities(CSM_VIDEO_INSTANCE *CsmVideo); EFI_STATUS EFIAPI VesaEnumerateModes(CSM_VIDEO_INSTANCE *CsmVideo); EFI_STATUS EFIAPI GraphicsOutputQueryMode(EFI_GRAPHICS_OUTPUT_PROTOCOL *This, UINT32 ModeNumber, UINTN *SizeOfInfo, EFI_GRAPHICS_OUTPUT_MODE_INFORMATION **Info); EFI_STATUS EFIAPI AllocateVideoBuffers(CSM_VIDEO_INSTANCE *CsmVideo); EFI_STATUS EFIAPI GraphicsOutputSetMode(EFI_GRAPHICS_OUTPUT_PROTOCOL *This, UINT32 ModeNumber); EFI_STATUS EFIAPI GraphicsOutputSetModeWrapper(CSM_VIDEO_INSTANCE *CsmVideo, UINT8 *ModeData, UINT32 ModeNumber, UINT64 Param4, UINT64 HorizontalRes, UINT64 VerticalRes, UINT64 Param7, UINT64 Param8, UINT64 BytesPerScanLine, UINT64 Param10); EFI_STATUS EFIAPI VgaTextSetCursorPositionInt10(VOID *This, UINTN CursorMode); EFI_STATUS EFIAPI EdidOverrideUninstall(CSM_VIDEO_INSTANCE *Instance, EFI_HANDLE ChildHandle); EFI_STATUS EFIAPI VgaClassConstructor(CSM_VIDEO_INSTANCE *Instance, EFI_HANDLE ChildHandle); EFI_STATUS EFIAPI VgaClassDestructor(CSM_VIDEO_INSTANCE *Instance, EFI_HANDLE ChildHandle); EFI_STATUS EFIAPI VgaTextInit(VGA_CLASS_INSTANCE *This, UINTN Mode); EFI_STATUS EFIAPI VgaTextStringOutput(VGA_CLASS_INSTANCE *This, CHAR16 *String); EFI_STATUS EFIAPI VgaTextTestStringValid(VGA_CLASS_INSTANCE *This, CHAR16 *String); EFI_STATUS EFIAPI VgaTextClearScreen(VGA_CLASS_INSTANCE *This); EFI_STATUS EFIAPI VgaTextSetCursorPosition(VGA_CLASS_INSTANCE *This, UINTN Column, UINTN Row); EFI_STATUS EFIAPI VgaTextEnableCursor(VGA_CLASS_INSTANCE *This, BOOLEAN Enable); EFI_STATUS EFIAPI VgaTextQueryModeInfo(VGA_CLASS_INSTANCE *This, UINTN ModeIndex, UINTN *Columns, UINTN *Rows); EFI_STATUS EFIAPI VgaTextSetMode(VGA_CLASS_INSTANCE *This, UINTN ModeIndex); EFI_STATUS EFIAPI VgaCursorSetPosition(VGA_CLASS_INSTANCE *This, UINTN X, UINTN Y, UINTN ScreenWidth); EFI_STATUS EFIAPI VgaWriteCrtRegister(VGA_CLASS_INSTANCE *This, UINT8 RegisterIndex, UINT8 Value); BOOLEAN EFIAPI VgaOemCharTranslate(CHAR16 UnicodeChar, CHAR8 *Glyph); BOOLEAN EFIAPI IsVgaEnableCheck(EFI_HANDLE ChildHandle); EFI_STATUS EFIAPI LegacyBiosPlatformSetVideoController(CSM_VIDEO_INSTANCE *Instance, BOOLEAN SetAsActive, BOOLEAN Force); EFI_STATUS EFIAPI IsPciRootBridgeVgaCompatible(CSM_VIDEO_INSTANCE *Instance, EFI_HANDLE ChildHandle); VOID *EFIAPI CopyMemInternal(VOID *Destination, CONST VOID *Source, UINTN Length); UINTN EFIAPI CmosReadVideoType(VOID); VOID *EFIAPI SetMem(VOID *Buffer, UINTN Length, UINT8 Value); VOID *EFIAPI CopyMemOverlapped(VOID *Destination, CONST VOID *Source, UINTN Length); #endif /* __CSMVIDEO_H__ */