ReactOS 0.4.16-dev-334-g4d9f67c
blue.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Console Text-Mode Device Driver
3 * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4 * PURPOSE: Main Header File.
5 * COPYRIGHT: Copyright 1999 Boudewijn Dekker
6 * Copyright 1999-2019 Eric Kohl
7 */
8
9#ifndef _BLUE_PCH_
10#define _BLUE_PCH_
11
12#include <ntifs.h>
13
14#define TAG_BLUE 'EULB'
15
16#define TAB_WIDTH 8
17#define MAX_PATH 260
18
20
21// Define material that normally comes from PSDK
22// This is mandatory to prevent any inclusion of
23// user-mode stuff.
24typedef struct tagCOORD
25{
29
30typedef struct tagSMALL_RECT
31{
37
39{
46
48{
50 INT bVisible; // BOOL
52
53#define ENABLE_PROCESSED_OUTPUT 0x0001
54#define ENABLE_WRAP_AT_EOL_OUTPUT 0x0002
55
56#include <blue/ntddblue.h>
57
58/*
59 * Color attributes for text and screen background
60 */
61#define FOREGROUND_BLUE 0x0001
62#define FOREGROUND_GREEN 0x0002
63#define FOREGROUND_RED 0x0004
64#define FOREGROUND_INTENSITY 0x0008
65#define BACKGROUND_BLUE 0x0010
66#define BACKGROUND_GREEN 0x0020
67#define BACKGROUND_RED 0x0040
68#define BACKGROUND_INTENSITY 0x0080
69
70/*
71 * VGA registers
72 */
73#define VIDMEM_BASE 0xb8000
74#define BITPLANE_BASE 0xa0000
75
76#define CRTC_COMMAND ((PUCHAR)0x3d4)
77#define CRTC_DATA ((PUCHAR)0x3d5)
78
79#define CRTC_COLUMNS 0x01
80#define CRTC_OVERFLOW 0x07
81#define CRTC_ROWS 0x12
82#define CRTC_SCANLINES 0x09
83#define CRTC_CURSORSTART 0x0a
84#define CRTC_CURSOREND 0x0b
85#define CRTC_CURSORPOSHI 0x0e
86#define CRTC_CURSORPOSLO 0x0f
87
88#define SEQ_COMMAND ((PUCHAR)0x3c4)
89#define SEQ_DATA ((PUCHAR)0x3c5)
90
91#define GCT_COMMAND ((PUCHAR)0x3ce)
92#define GCT_DATA ((PUCHAR)0x3cf)
93
94/* SEQ regs numbers*/
95#define SEQ_RESET 0x00
96#define SEQ_ENABLE_WRT_PLANE 0x02
97#define SEQ_MEM_MODE 0x04
98
99/* GCT regs numbers */
100#define GCT_READ_PLANE 0x04
101#define GCT_RW_MODES 0x05
102#define GCT_GRAPH_MODE 0x06
103
104#define ATTRC_WRITEREG ((PUCHAR)0x3c0)
105#define ATTRC_READREG ((PUCHAR)0x3c1)
106#define ATTRC_INPST1 ((PUCHAR)0x3da)
107
108#define MISC (PUCHAR)0x3c2
109#define SEQ (PUCHAR)0x3c4
110#define SEQDATA (PUCHAR)0x3c5
111#define CRTC (PUCHAR)0x3d4
112#define CRTCDATA (PUCHAR)0x3d5
113#define GRAPHICS (PUCHAR)0x3ce
114#define GRAPHICSDATA (PUCHAR)0x3cf
115#define ATTRIB (PUCHAR)0x3c0
116#define STATUS (PUCHAR)0x3da
117#define PELMASK (PUCHAR)0x3c6
118#define PELINDEX (PUCHAR)0x3c8
119#define PELDATA (PUCHAR)0x3c9
120
121VOID ScrSetFont(_In_ PUCHAR FontBitfield);
122
123#endif /* _BLUE_PCH_ */
VOID ScrSetFont(_In_ PUCHAR FontBitfield)
Definition: font.c:25
struct _SECURITY_ATTRIBUTES * PSECURITY_ATTRIBUTES
Definition: blue.h:19
struct tagCONSOLE_SCREEN_BUFFER_INFO CONSOLE_SCREEN_BUFFER_INFO
struct tagSMALL_RECT SMALL_RECT
struct tagCOORD COORD
struct tagCONSOLE_CURSOR_INFO CONSOLE_CURSOR_INFO
struct tagCOORD * PCOORD
struct tagCONSOLE_CURSOR_INFO * PCONSOLE_CURSOR_INFO
struct tagCONSOLE_SCREEN_BUFFER_INFO * PCONSOLE_SCREEN_BUFFER_INFO
#define _In_
Definition: no_sal2.h:158
short SHORT
Definition: pedump.c:59
unsigned short USHORT
Definition: pedump.c:61
Definition: blue.h:25
SHORT Y
Definition: blue.h:27
SHORT X
Definition: blue.h:26
SHORT Right
Definition: blue.h:34
SHORT Left
Definition: blue.h:32
SHORT Top
Definition: blue.h:33
SHORT Bottom
Definition: blue.h:35
int32_t INT
Definition: typedefs.h:58
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59