gigatron/rom/Contrib/xopr/NetTerm/vtactionstates.h
2025-01-28 19:17:01 +03:00

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