Reorganised the modules directory, started serious work on GUI support
[tpg/acess2.git] / Usermode / include / acess / devices / terminal.h
1 /**
2  * \file devices/terminal.h
3  */
4 #ifndef _SYS_DEVICES_TERMINAL_H
5 #define _SYS_DEVICES_TERMINAL_H
6
7 #include <stdint.h>
8
9 enum eDrv_Terminal {
10         TERM_IOCTL_MODETYPE = 4,
11         TERM_IOCTL_WIDTH,
12         TERM_IOCTL_HEIGHT,
13         TERM_IOCTL_QUERYMODE,
14         TERM_IOCTL_FORCESHOW
15 };
16
17
18 struct sTerm_IOCtl_Mode
19 {
20         int16_t ID;             //!< Zero Based index of mode
21         int16_t DriverID;       //!< Driver's ID number (from ::tVideo_IOCtl_Mode)
22         uint16_t        Height; //!< Height
23         uint16_t        Width;  //!< Width
24         uint8_t Depth;  //!< Bits per cell
25         uint8_t Flags;  //!< Flags (1: Text Mode)
26 };
27
28 /**
29  * \brief Terminal Modes
30  */
31 enum eTplTerminal_Modes {
32         /**
33          * \brief UTF-8 Text Mode
34          * Any writes to the terminal file are treated as UTF-8 encoded
35          * strings and reads will also return UTF-8 strings.
36          */
37         TERM_MODE_TEXT,
38         
39         /**
40          * \brief 32bpp Framebuffer
41          * Writes to the terminal file will write to the framebuffer.
42          * Reads will return UTF-32 characters
43          */
44         TERM_MODE_FB,
45         
46         /**
47          * \brief OpenGL 2D/3D
48          * Writes to the terminal file will send 3D commands
49          * Reads will return UTF-32 characters
50          * \note May or may not stay in the spec
51          */
52         TERM_MODE_OPENGL,
53         
54         NUM_TERM_MODES
55 };
56
57 #endif

UCC git Repository :: git.ucc.asn.au