windows-nt/Source/XPSP1/NT/public/halkit/inc/inbv.h
2020-09-26 16:20:57 +08:00

248 lines
3.2 KiB
C

/*++
Copyright (c) Microsoft Corporation. All rights reserved.
Module Name:
inbv.h
Abstract:
This module contains the public header information (function prototypes,
data and type declarations) for the Initialization Boot Video component.
Author:
Erick Smith (ericks) 23-Mar-1998
Revision History:
--*/
#ifndef _INBV_
#define _INBV_
typedef enum _INBV_DISPLAY_STATE
{
INBV_DISPLAY_STATE_OWNED, // we own the display
INBV_DISPLAY_STATE_DISABLED, // we own but should not use
INBV_DISPLAY_STATE_LOST // we lost ownership
} INBV_DISPLAY_STATE;
typedef
BOOLEAN
(*INBV_RESET_DISPLAY_PARAMETERS)(
ULONG Cols,
ULONG Rows
);
typedef
VOID
(*INBV_DISPLAY_STRING_FILTER)(
PUCHAR *Str
);
VOID
InbvNotifyDisplayOwnershipLost(
INBV_RESET_DISPLAY_PARAMETERS ResetDisplayParameters
);
VOID
InbvInstallDisplayStringFilter(
INBV_DISPLAY_STRING_FILTER DisplayStringFilter
);
VOID
InbvAcquireDisplayOwnership(
VOID
);
BOOLEAN
InbvDriverInitialize(
IN PLOADER_PARAMETER_BLOCK LoaderBlock,
IN ULONG Count
);
BOOLEAN
InbvResetDisplay(
);
VOID
InbvBitBlt(
PUCHAR Buffer,
ULONG x,
ULONG y
);
VOID
InbvSolidColorFill(
ULONG x1,
ULONG y1,
ULONG x2,
ULONG y2,
ULONG color
);
BOOLEAN
InbvDisplayString(
PUCHAR Str
);
VOID
InbvUpdateProgressBar(
ULONG Percentage
);
VOID
InbvSetProgressBarSubset(
ULONG Floor,
ULONG Ceiling
);
VOID
InbvSetBootDriverBehavior(
PLOADER_PARAMETER_BLOCK LoaderBlock
);
VOID
InbvIndicateProgress(
VOID
);
VOID
InbvSetProgressBarCoordinates(
ULONG x,
ULONG y
);
VOID
InbvEnableBootDriver(
BOOLEAN bEnable
);
BOOLEAN
InbvEnableDisplayString(
BOOLEAN bEnable
);
BOOLEAN
InbvIsBootDriverInstalled(
VOID
);
PUCHAR
InbvGetResourceAddress(
IN ULONG ResourceNumber
);
VOID
InbvBufferToScreenBlt(
PUCHAR Buffer,
ULONG x,
ULONG y,
ULONG width,
ULONG height,
ULONG lDelta
);
VOID
InbvScreenToBufferBlt(
PUCHAR Buffer,
ULONG x,
ULONG y,
ULONG width,
ULONG height,
ULONG lDelta
);
BOOLEAN
InbvTestLock(
VOID
);
VOID
InbvAcquireLock(
VOID
);
VOID
InbvReleaseLock(
VOID
);
BOOLEAN
InbvCheckDisplayOwnership(
VOID
);
VOID
InbvSetScrollRegion(
ULONG x1,
ULONG y1,
ULONG x2,
ULONG y2
);
ULONG
InbvSetTextColor(
ULONG Color
);
VOID
InbvSetDisplayOwnership(
BOOLEAN DisplayOwned
);
INBV_DISPLAY_STATE
InbvGetDisplayState(
VOID
);
//
// Functions defined in port.c
//
BOOLEAN
InbvPortInitialize(
IN ULONG BaudRate,
IN ULONG PortNumber,
IN PUCHAR PortAddress,
OUT PULONG BlFileId,
IN BOOLEAN IsMMIOAddress
);
BOOLEAN
InbvPortTerminate(
IN ULONG BlFileId
);
VOID
InbvPortPutString (
IN ULONG BlFileId,
IN PUCHAR Output
);
VOID
InbvPortPutByte (
IN ULONG BlFileId,
IN UCHAR Output
);
BOOLEAN
InbvPortPollOnly (
IN ULONG BlFileId
);
BOOLEAN
InbvPortGetByte (
IN ULONG BlFileId,
OUT PUCHAR Input
);
VOID
InbvPortEnableFifo(
IN ULONG DeviceId,
IN BOOLEAN bEnable
);
#endif