update for HEAD-2003091401
[reactos.git] / include / ddk / ntddblue.h
1 #ifndef _NTDDBLUE_H_INCLUDED_
2 #define _NTDDBLUE_H_INCLUDED_
3
4 #include <ntos/console.h>
5
6 #define IOCTL_CONSOLE_GET_SCREEN_BUFFER_INFO    CTL_CODE(FILE_DEVICE_SCREEN, 0x801, METHOD_BUFFERED, FILE_READ_ACCESS)
7 #define IOCTL_CONSOLE_SET_SCREEN_BUFFER_INFO    CTL_CODE(FILE_DEVICE_SCREEN, 0x802, METHOD_BUFFERED, FILE_WRITE_ACCESS)
8 #define IOCTL_CONSOLE_GET_CURSOR_INFO           CTL_CODE(FILE_DEVICE_SCREEN, 0x803, METHOD_BUFFERED, FILE_READ_ACCESS)
9 #define IOCTL_CONSOLE_SET_CURSOR_INFO           CTL_CODE(FILE_DEVICE_SCREEN, 0x804, METHOD_BUFFERED, FILE_WRITE_ACCESS)
10 #define IOCTL_CONSOLE_GET_MODE                  CTL_CODE(FILE_DEVICE_SCREEN, 0x805, METHOD_BUFFERED, FILE_READ_ACCESS)
11 #define IOCTL_CONSOLE_SET_MODE                  CTL_CODE(FILE_DEVICE_SCREEN, 0x806, METHOD_BUFFERED, FILE_WRITE_ACCESS)
12
13
14 #define IOCTL_CONSOLE_FILL_OUTPUT_ATTRIBUTE     CTL_CODE(FILE_DEVICE_SCREEN, 0x810, METHOD_BUFFERED, FILE_WRITE_ACCESS)
15 #define IOCTL_CONSOLE_READ_OUTPUT_ATTRIBUTE     CTL_CODE(FILE_DEVICE_SCREEN, 0x811, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
16 #define IOCTL_CONSOLE_WRITE_OUTPUT_ATTRIBUTE    CTL_CODE(FILE_DEVICE_SCREEN, 0x812, METHOD_IN_DIRECT, FILE_ANY_ACCESS)
17 #define IOCTL_CONSOLE_SET_TEXT_ATTRIBUTE        CTL_CODE(FILE_DEVICE_SCREEN, 0x813, METHOD_BUFFERED, FILE_WRITE_ACCESS)
18
19
20 #define IOCTL_CONSOLE_FILL_OUTPUT_CHARACTER     CTL_CODE(FILE_DEVICE_SCREEN, 0x820, METHOD_BUFFERED, FILE_WRITE_ACCESS)
21 #define IOCTL_CONSOLE_READ_OUTPUT_CHARACTER     CTL_CODE(FILE_DEVICE_SCREEN, 0x821, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
22 #define IOCTL_CONSOLE_WRITE_OUTPUT_CHARACTER    CTL_CODE(FILE_DEVICE_SCREEN, 0x822, METHOD_IN_DIRECT, FILE_ANY_ACCESS)
23
24
25 #define IOCTL_CONSOLE_DRAW                      CTL_CODE(FILE_DEVICE_SCREEN, 0x830, METHOD_IN_DIRECT, FILE_ANY_ACCESS)
26
27
28 /* TYPEDEFS **************************************************************/
29
30
31 typedef struct _CONSOLE_MODE
32 {
33     DWORD dwMode;
34 } CONSOLE_MODE, *PCONSOLE_MODE;
35
36
37 typedef struct _OUTPUT_ATTRIBUTE
38 {
39     WORD  wAttribute;
40     DWORD nLength;
41     COORD dwCoord;
42     DWORD dwTransfered;
43 } OUTPUT_ATTRIBUTE, *POUTPUT_ATTRIBUTE;
44
45
46 typedef struct _OUTPUT_CHARACTER
47 {
48     CHAR  cCharacter;
49     DWORD nLength;
50     COORD dwCoord;
51     DWORD dwTransfered;
52 } OUTPUT_CHARACTER, *POUTPUT_CHARACTER;
53
54
55 typedef struct _CONSOLE_DRAW
56 {
57         SHORT   X;              /* Origin */
58         SHORT   Y;
59         SHORT   SizeX;          /* Size of the screen buffer */
60         SHORT   SizeY;
61 } CONSOLE_DRAW, *PCONSOLE_DRAW;
62
63
64 #endif /* _NTDDBLUE_H_INCLUDED_ */