72 lines
1.7 KiB
C
72 lines
1.7 KiB
C
#ifndef VTACTIONSTATES_DOT_H
|
|
#define VTACTIONSTATES_DOT_H
|
|
|
|
#ifdef TERMINAL_MODES
|
|
// Terminal modes
|
|
#define LNM (1 << 0) // !LNM -- Line Feed/New Line Mode
|
|
#define DECCKM (1 << 1) // Cursor Keys Mode
|
|
#define DECANM (1 << 2) // ANSI/VT52 Mode
|
|
#define DECCOLM (1 << 3) // Column Mode
|
|
#define DECSCLM (1 << 4) // Scrolling Mode
|
|
#define DECSCNM (1 << 5) // Screen Mode
|
|
#define DECOM (1 << 6) // Origin Mode
|
|
#define DECAWM (1 << 7) // Autowrap Mode
|
|
#define DECARM (1 << 8) // Auto Repeat Mode
|
|
#define DECINLM (1 << 9) // Interlace Mode
|
|
#define DECKPAM (1 << 10) // Keypad Application Mode
|
|
#endif
|
|
|
|
// Control characters
|
|
#define NUL 0x00
|
|
#define SOH 0x01
|
|
#define STX 0x02
|
|
#define ETX 0x03
|
|
#define EOT 0x04
|
|
#define ENQ 0x05
|
|
#define ACK 0x06
|
|
#define BEL 0x07
|
|
#define BS 0x08
|
|
#define HT 0x09
|
|
#define LF 0x0A
|
|
#define VT 0x0B
|
|
#define FF 0x0C
|
|
#define CR 0x0D
|
|
#define SO 0x0E
|
|
#define SI 0x0F
|
|
#define DLE 0x10
|
|
#define DC1 0x11
|
|
#define XON 0x11
|
|
#define DC2 0x12
|
|
#define DC3 0x13
|
|
#define XOFF 0x13
|
|
#define DC4 0x14
|
|
#define NAK 0x15
|
|
#define SYN 0x16
|
|
#define ETB 0x17
|
|
#define CAN 0x18
|
|
#define EM 0x19
|
|
#define SUB 0x1A
|
|
#define ESC 0x1B
|
|
#define FS 0x1C
|
|
#define GS 0x1D
|
|
#define RS 0x1E
|
|
#define US 0x1F
|
|
#define SP 0x20
|
|
#define DEL 0x7F
|
|
|
|
typedef enum {
|
|
VTPARSE_MODE_REGULAR = 0, // (control+printable characters)
|
|
VTPARSE_MODE_ESCAPE_INTERMEDIATE = 1, //
|
|
VTPARSE_MODE_CONTROL_SEQUENCE = 2, //
|
|
VTPARSE_MODE_ESCAPE_CURSOR_LINE = 3, // waiting for line value
|
|
VTPARSE_MODE_ESCAPE_CURSOR_COLUMN = 4, // waiting for column value
|
|
|
|
} vtparse_mode_t;
|
|
|
|
vtparse_mode_t mode = VTPARSE_MODE_REGULAR;
|
|
#ifdef TERMINAL_MODES
|
|
int terminalModes = LNM | DECCKM | DECANM | DECAWM | DECARM;
|
|
#endif
|
|
#endif // VTACTIONSTATES_DOT_H
|
|
|