xref: /reactos/drivers/base/bootvid/precomp.h (revision 58588b76)
1 #ifndef _BOOTVID_PCH_
2 #define _BOOTVID_PCH_
3 
4 #include <ntifs.h>
5 #include <ndk/halfuncs.h>
6 #include <drivers/bootvid/bootvid.h>
7 
8 /* Define if FontData has upside down characters */
9 #undef CHAR_GEN_UPSIDE_DOWN
10 
11 #define BOOTCHAR_HEIGHT     13
12 
13 #ifndef _M_ARM
14 #include "vga.h"
15 #endif /* _M_ARM */
16 
17 /* Bitmap Header */
18 typedef struct tagBITMAPINFOHEADER
19 {
20     ULONG biSize;
21     LONG biWidth;
22     LONG biHeight;
23     USHORT biPlanes;
24     USHORT biBitCount;
25     ULONG biCompression;
26     ULONG biSizeImage;
27     LONG biXPelsPerMeter;
28     LONG biYPelsPerMeter;
29     ULONG biClrUsed;
30     ULONG biClrImportant;
31 } BITMAPINFOHEADER, *PBITMAPINFOHEADER;
32 
33 /* Supported bitmap compression formats */
34 #define BI_RGB  0
35 #define BI_RLE4 2
36 
37 VOID
38 NTAPI
39 InitializePalette(VOID);
40 
41 /* Globals */
42 #ifndef _M_ARM
43 extern ULONG curr_x;
44 extern ULONG curr_y;
45 extern ULONG_PTR VgaRegisterBase;
46 extern ULONG_PTR VgaBase;
47 extern USHORT AT_Initialization[];
48 extern USHORT VGA_640x480[];
49 #endif /* _M_ARM */
50 extern UCHAR FontData[256 * BOOTCHAR_HEIGHT];
51 
52 #define __inpb(Port) \
53     READ_PORT_UCHAR((PUCHAR)(VgaRegisterBase + (Port)))
54 
55 #define __inpw(Port) \
56     READ_PORT_USHORT((PUSHORT)(VgaRegisterBase + (Port)))
57 
58 #define __outpb(Port, Value) \
59     WRITE_PORT_UCHAR((PUCHAR)(VgaRegisterBase + (Port)), (UCHAR)(Value))
60 
61 #define __outpw(Port, Value) \
62     WRITE_PORT_USHORT((PUSHORT)(VgaRegisterBase + (Port)), (USHORT)(Value))
63 
64 #endif /* _BOOTVID_PCH_ */
65