[NTOS:INBV] Implement rotation bar for boot screen
[reactos.git] / ntoskrnl / include / internal / inbv.h
1 #pragma once
2
3 typedef struct _InbvProgressState
4 {
5 ULONG Floor;
6 ULONG Ceiling;
7 ULONG Bias;
8 } INBV_PROGRESS_STATE;
9
10 typedef struct _BT_PROGRESS_INDICATOR
11 {
12 ULONG Count;
13 ULONG Expected;
14 ULONG Percentage;
15 } BT_PROGRESS_INDICATOR, *PBT_PROGRESS_INDICATOR;
16
17 typedef enum _ROT_BAR_TYPE
18 {
19 RB_UNSPECIFIED,
20 RB_SQUARE_CELLS,
21 RB_PROGRESS_BAR
22 } ROT_BAR_TYPE;
23
24 VOID
25 NTAPI
26 InbvUpdateProgressBar(
27 IN ULONG Progress
28 );
29
30 VOID
31 NTAPI
32 InbvRotBarInit(
33 VOID
34 );
35
36 VOID
37 NTAPI
38 InbvRotBarStop(
39 VOID
40 );
41
42 BOOLEAN
43 NTAPI
44 InbvDriverInitialize(
45 IN PLOADER_PARAMETER_BLOCK LoaderBlock,
46 IN ULONG Count
47 );
48
49 VOID
50 NTAPI
51 InbvEnableBootDriver(
52 IN BOOLEAN Enable
53 );
54
55 VOID
56 NTAPI
57 DisplayBootBitmap(
58 IN BOOLEAN TextMode
59 );
60
61 VOID
62 NTAPI
63 DisplayFilter(
64 IN PCHAR *String
65 );
66
67 VOID
68 NTAPI
69 FinalizeBootLogo(
70 VOID
71 );
72
73 PUCHAR
74 NTAPI
75 InbvGetResourceAddress(
76 IN ULONG ResourceNumber
77 );
78
79 VOID
80 NTAPI
81 InbvBitBlt(
82 IN PUCHAR Buffer,
83 IN ULONG X,
84 IN ULONG Y
85 );
86
87 VOID
88 NTAPI
89 InbvIndicateProgress(
90 VOID
91 );
92
93 VOID
94 NTAPI
95 InbvPortEnableFifo(
96 IN ULONG PortId,
97 IN BOOLEAN Enable
98 );
99
100 BOOLEAN
101 NTAPI
102 InbvPortGetByte(
103 IN ULONG PortId,
104 OUT PUCHAR Byte
105 );
106
107 VOID
108 NTAPI
109 InbvPortPutByte(
110 IN ULONG PortId,
111 IN UCHAR Byte
112 );
113
114 VOID
115 NTAPI
116 InbvPortTerminate(
117 IN ULONG PortId
118 );
119
120 BOOLEAN
121 NTAPI
122 InbvPortInitialize(
123 IN ULONG BaudRate,
124 IN ULONG PortNumber,
125 IN PUCHAR PortAddress,
126 OUT PULONG PortId,
127 IN BOOLEAN IsMMIODevice
128 );
129
130 BOOLEAN
131 NTAPI
132 InbvPortPollOnly(
133 IN ULONG PortId
134 );
135
136 extern BOOLEAN InbvBootDriverInstalled;