mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
f7e8214b55
- inbv.c now only contains the Inbv-specific API and nothing else. - It will make easier for people to write their own boot themes & animations, by just copying/adapting the bootanim.c file (and the resources). - Add SAL annotations. - All INBV progress bar functions (except for InbvIndicateProgress()) should not be INIT-only functions, since they can be (not yet in ROS) used at later times -- namely, for feedback during hibernation.
150 lines
2 KiB
C
150 lines
2 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_ PUCHAR Buffer,
|
|
_In_ ULONG X,
|
|
_In_ ULONG Y,
|
|
_In_ ULONG Width,
|
|
_In_ ULONG Height,
|
|
_In_ ULONG Delta
|
|
);
|
|
|
|
VOID
|
|
NTAPI
|
|
InbvScreenToBufferBlt(
|
|
_Out_ 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
|
|
);
|
|
|
|
VOID
|
|
NTAPI
|
|
InbvPortTerminate(
|
|
IN ULONG PortId
|
|
);
|
|
|
|
BOOLEAN
|
|
NTAPI
|
|
InbvPortInitialize(
|
|
IN ULONG BaudRate,
|
|
IN ULONG PortNumber,
|
|
IN PUCHAR PortAddress,
|
|
OUT PULONG PortId,
|
|
IN BOOLEAN IsMMIODevice
|
|
);
|