1 #pragma once 2 3 // Native definitions from BOOTVID (Boot Video Driver). 4 #include "bootvid/bootvid.h" 5 6 // 7 // Driver Initialization 8 // 9 CODE_SEG("INIT") 10 BOOLEAN 11 NTAPI 12 InbvDriverInitialize( 13 IN PLOADER_PARAMETER_BLOCK LoaderBlock, 14 IN ULONG Count 15 ); 16 17 extern BOOLEAN InbvBootDriverInstalled; 18 19 PUCHAR 20 NTAPI 21 InbvGetResourceAddress( 22 IN ULONG ResourceNumber 23 ); 24 25 VOID 26 NTAPI 27 InbvBitBlt( 28 IN PUCHAR Buffer, 29 IN ULONG X, 30 IN ULONG Y 31 ); 32 33 // 34 // Progress-Bar Functions 35 // 36 CODE_SEG("INIT") 37 VOID 38 NTAPI 39 InbvIndicateProgress( 40 VOID 41 ); 42 43 CODE_SEG("INIT") 44 VOID 45 NTAPI 46 InbvSetProgressBarSubset( 47 _In_ ULONG Floor, 48 _In_ ULONG Ceiling 49 ); 50 51 CODE_SEG("INIT") 52 VOID 53 NTAPI 54 InbvUpdateProgressBar( 55 IN ULONG Progress 56 ); 57 58 // 59 // Boot Splash-Screen Functions 60 // 61 CODE_SEG("INIT") 62 VOID 63 NTAPI 64 InbvRotBarInit( 65 VOID 66 ); 67 68 CODE_SEG("INIT") 69 VOID 70 NTAPI 71 DisplayBootBitmap( 72 IN BOOLEAN TextMode 73 ); 74 75 CODE_SEG("INIT") 76 VOID 77 NTAPI 78 DisplayFilter( 79 IN PCHAR *String 80 ); 81 82 CODE_SEG("INIT") 83 VOID 84 NTAPI 85 FinalizeBootLogo( 86 VOID 87 ); 88 89 // 90 // Headless Terminal Support Functions 91 // 92 VOID 93 NTAPI 94 InbvPortEnableFifo( 95 IN ULONG PortId, 96 IN BOOLEAN Enable 97 ); 98 99 BOOLEAN 100 NTAPI 101 InbvPortPollOnly( 102 IN ULONG PortId 103 ); 104 105 BOOLEAN 106 NTAPI 107 InbvPortGetByte( 108 IN ULONG PortId, 109 OUT PUCHAR Byte 110 ); 111 112 VOID 113 NTAPI 114 InbvPortPutByte( 115 IN ULONG PortId, 116 IN UCHAR Byte 117 ); 118 119 VOID 120 NTAPI 121 InbvPortTerminate( 122 IN ULONG PortId 123 ); 124 125 BOOLEAN 126 NTAPI 127 InbvPortInitialize( 128 IN ULONG BaudRate, 129 IN ULONG PortNumber, 130 IN PUCHAR PortAddress, 131 OUT PULONG PortId, 132 IN BOOLEAN IsMMIODevice 133 ); 134