mirror of
https://github.com/reactos/reactos.git
synced 2026-06-02 01:11:03 +08:00
145 lines
2.1 KiB
C
145 lines
2.1 KiB
C
/*
|
|
* PROJECT: ReactOS Kernel
|
|
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
|
* PURPOSE: Boot Video Driver support header
|
|
* COPYRIGHT: Copyright 2007 Alex Ionescu (alex.ionescu@reactos.org)
|
|
* Copyright 2019-2022 Hermès Bélusca-Maïto
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
/* Native definitions from BOOTVID (Boot Video Driver) */
|
|
#include "bootvid/bootvid.h"
|
|
|
|
//
|
|
// Driver Initialization
|
|
//
|
|
CODE_SEG("INIT")
|
|
BOOLEAN
|
|
NTAPI
|
|
InbvDriverInitialize(
|
|
_In_ PLOADER_PARAMETER_BLOCK LoaderBlock,
|
|
_In_ ULONG Count
|
|
);
|
|
|
|
extern BOOLEAN InbvBootDriverInstalled;
|
|
|
|
INBV_DISPLAY_STATE
|
|
NTAPI
|
|
InbvGetDisplayState(VOID);
|
|
|
|
VOID
|
|
NTAPI
|
|
InbvAcquireLock(VOID);
|
|
|
|
VOID
|
|
NTAPI
|
|
InbvReleaseLock(VOID);
|
|
|
|
PUCHAR
|
|
NTAPI
|
|
InbvGetResourceAddress(
|
|
_In_ ULONG ResourceNumber
|
|
);
|
|
|
|
//
|
|
// Display Functions
|
|
//
|
|
VOID
|
|
NTAPI
|
|
InbvBitBlt(
|
|
_In_ PUCHAR Buffer,
|
|
_In_ ULONG X,
|
|
_In_ ULONG Y
|
|
);
|
|
|
|
VOID
|
|
NTAPI
|
|
InbvBufferToScreenBlt(
|
|
_In_reads_bytes_(Delta * Height) PUCHAR Buffer,
|
|
_In_ ULONG X,
|
|
_In_ ULONG Y,
|
|
_In_ ULONG Width,
|
|
_In_ ULONG Height,
|
|
_In_ ULONG Delta
|
|
);
|
|
|
|
VOID
|
|
NTAPI
|
|
InbvScreenToBufferBlt(
|
|
_Out_writes_bytes_all_(Delta * Height) PUCHAR Buffer,
|
|
_In_ ULONG X,
|
|
_In_ ULONG Y,
|
|
_In_ ULONG Width,
|
|
_In_ ULONG Height,
|
|
_In_ ULONG Delta
|
|
);
|
|
|
|
//
|
|
// Progress-Bar Functions
|
|
//
|
|
VOID
|
|
NTAPI
|
|
InbvSetProgressBarCoordinates(
|
|
_In_ ULONG Left,
|
|
_In_ ULONG Top
|
|
);
|
|
|
|
CODE_SEG("INIT")
|
|
VOID
|
|
NTAPI
|
|
InbvIndicateProgress(VOID);
|
|
|
|
VOID
|
|
NTAPI
|
|
InbvSetProgressBarSubset(
|
|
_In_ ULONG Floor,
|
|
_In_ ULONG Ceiling
|
|
);
|
|
|
|
VOID
|
|
NTAPI
|
|
InbvUpdateProgressBar(
|
|
_In_ ULONG Percentage
|
|
);
|
|
|
|
//
|
|
// Headless Terminal Support Functions
|
|
//
|
|
VOID
|
|
NTAPI
|
|
InbvPortEnableFifo(
|
|
_In_ ULONG PortId,
|
|
_In_ BOOLEAN Enable);
|
|
|
|
BOOLEAN
|
|
NTAPI
|
|
InbvPortPollOnly(
|
|
_In_ ULONG PortId);
|
|
|
|
BOOLEAN
|
|
NTAPI
|
|
InbvPortGetByte(
|
|
_In_ ULONG PortId,
|
|
_Out_ PUCHAR Byte);
|
|
|
|
VOID
|
|
NTAPI
|
|
InbvPortPutByte(
|
|
_In_ ULONG PortId,
|
|
_In_ UCHAR Byte);
|
|
|
|
BOOLEAN
|
|
NTAPI
|
|
InbvPortInitialize(
|
|
_In_ ULONG BaudRate,
|
|
_In_ ULONG PortNumber,
|
|
_In_ PUCHAR PortAddress,
|
|
_Out_ PULONG PortId,
|
|
_In_ BOOLEAN IsMMIODevice);
|
|
|
|
VOID
|
|
NTAPI
|
|
InbvPortTerminate(
|
|
_In_ ULONG PortId);
|