/*++ 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