vt100
["Tiny Readline Library"]

A simple class for controlling and interacting with a VT100 compatible terminal. More...

Defines

#define KEY_NUL   0
#define KEY_SOH   1
#define KEY_STX   2
#define KEY_ETX   3
#define KEY_EOT   4
#define KEY_ENQ   5
#define KEY_ACK   6
#define KEY_BEL   7
#define KEY_BS   8
#define KEY_HT   9
#define KEY_LF   10
#define KEY_VT   11
#define KEY_FF   12
#define KEY_CR   13
#define KEY_SO   14
#define KEY_SI   15
#define KEY_DLE   16
#define KEY_DC1   17
#define KEY_DC2   18
#define KEY_DC3   19
#define KEY_DC4   20
#define KEY_NAK   21
#define KEY_SYN   22
#define KEY_ETB   23
#define KEY_CAN   24
#define KEY_EM   25
#define KEY_SUB   26
#define KEY_ESC   27
#define KEY_FS   28
#define KEY_GS   29
#define KEY_RS   30
#define KEY_US   31
#define KEY_DEL   127

Typedefs

typedef _tinyrl_vt100 tinyrl_vt100_t

Enumerations

enum  tinyrl_vt100_escape_t {
  tinyrl_vt100_UNKNOWN, tinyrl_vt100_CURSOR_UP, tinyrl_vt100_CURSOR_DOWN, tinyrl_vt100_CURSOR_LEFT,
  tinyrl_vt100_CURSOR_RIGHT
}

Functions

tinyrl_vt100_t * tinyrl_vt100_new (FILE *instream, FILE *outstream)
void tinyrl_vt100_delete (tinyrl_vt100_t *instance)
int tinyrl_vt100_printf (const tinyrl_vt100_t *instance, const char *fmt,...)
int tinyrl_vt100_vprintf (const tinyrl_vt100_t *instance, const char *fmt, va_list args)
int tinyrl_vt100_oflush (const tinyrl_vt100_t *instance)
int tinyrl_vt100_ierror (const tinyrl_vt100_t *instance)
int tinyrl_vt100_oerror (const tinyrl_vt100_t *instance)
int tinyrl_vt100_ieof (const tinyrl_vt100_t *instance)
int tinyrl_vt100_getchar (const tinyrl_vt100_t *instance)
unsigned tinyrl_vt100__get_width (const tinyrl_vt100_t *instance)
unsigned tinyrl_vt100__get_height (const tinyrl_vt100_t *instance)
void tinyrl_vt100__set_istream (tinyrl_vt100_t *instance, FILE *istream)
FILE * tinyrl_vt100__get_istream (const tinyrl_vt100_t *instance)
FILE * tinyrl_vt100__get_ostream (const tinyrl_vt100_t *instance)
tinyrl_vt100_escape_t tinyrl_vt100_escape_decode (const tinyrl_vt100_t *instance)
void tinyrl_vt100_ding (const tinyrl_vt100_t *instance)
void tinyrl_vt100_attribute_reset (const tinyrl_vt100_t *instance)
void tinyrl_vt100_attribute_bright (const tinyrl_vt100_t *instance)
void tinyrl_vt100_attribute_dim (const tinyrl_vt100_t *instance)
void tinyrl_vt100_attribute_underscore (const tinyrl_vt100_t *instance)
void tinyrl_vt100_attribute_blink (const tinyrl_vt100_t *instance)
void tinyrl_vt100_attribute_reverse (const tinyrl_vt100_t *instance)
void tinyrl_vt100_attribute_hidden (const tinyrl_vt100_t *instance)
void tinyrl_vt100_erase_line (const tinyrl_vt100_t *instance)
void tinyrl_vt100_clear_screen (const tinyrl_vt100_t *instance)
void tinyrl_vt100_cursor_back (const tinyrl_vt100_t *instance, unsigned count)
void tinyrl_vt100_cursor_forward (const tinyrl_vt100_t *instance, unsigned count)
void tinyrl_vt100_cursor_up (const tinyrl_vt100_t *instance, unsigned count)
void tinyrl_vt100_cursor_down (const tinyrl_vt100_t *instance, unsigned count)
void tinyrl_vt100_cursor_home (const tinyrl_vt100_t *instance)
void tinyrl_vt100_cursor_save (const tinyrl_vt100_t *instance)
void tinyrl_vt100_cursor_restore (const tinyrl_vt100_t *instance)
void tinyrl_vt100_erase (const tinyrl_vt100_t *instance, unsigned count)

Detailed Description

A simple class for controlling and interacting with a VT100 compatible terminal.

This class has been implemented pragmatically in an as needed fashion, so doesn't support all the features of a VT100 terminal.


Define Documentation

#define KEY_ACK   6

^F Acknowledge, clears ENQ logon hand

#define KEY_BEL   7

^G Bell, rings the bell...

#define KEY_BS   8

^H Backspace, works on HP terminals/computers

#define KEY_CAN   24

^X Cancel line, MPE echoes !!!

#define KEY_CR   13

^M Carriage Return

#define KEY_DC1   17

^Q XON, with XOFF to pause listings; "okay to send".

#define KEY_DC2   18

^R Device control 2, block-mode flow control

#define KEY_DC3   19

^S XOFF, with XON is TERM=18 flow control

#define KEY_DC4   20

^T Device control 4

#define KEY_DEL   127

Delete (not a real control character...)

#define KEY_DLE   16

^P Data link escape

#define KEY_EM   25

^Y End of medium, Control-Y interrupt

#define KEY_ENQ   5

^E Enquiry, goes with ACK; old HP flow control

#define KEY_EOT   4

^D End of transmission, not the same as ETB

#define KEY_ESC   27

^[ Escape, next character is not echoed

#define KEY_ETB   23

^W End transmission block, not the same as EOT

#define KEY_ETX   3

^C End of text

#define KEY_FF   12

^L Form Feed, page eject

#define KEY_FS   28

^\ File separator

#define KEY_GS   29

^] Group separator

#define KEY_HT   9

^I Horizontal tab, move to next tab stop

#define KEY_LF   10

^J Line Feed

#define KEY_NAK   21

^U Negative acknowledge

#define KEY_NUL   0

^@ Null character

#define KEY_RS   30

^^ Record separator, block-mode terminator

#define KEY_SI   15

^O Shift In, resume defaultn character set

#define KEY_SO   14

^N Shift Out, alternate character set

#define KEY_SOH   1

^A Start of heading, = console interrupt

#define KEY_STX   2

^B Start of text, maintenance mode on HP console

#define KEY_SUB   26

^Z Substitute

#define KEY_SYN   22

^V Synchronous idle

#define KEY_US   31

^_ Unit separator

#define KEY_VT   11

^K Vertical tab


Enumeration Type Documentation

enum tinyrl_vt100_escape_t

This enumeration is used to identify the types of escape code

Enumerator:
tinyrl_vt100_UNKNOWN  Undefined escape sequence
tinyrl_vt100_CURSOR_UP  Move the cursor up
tinyrl_vt100_CURSOR_DOWN  Move the cursor down
tinyrl_vt100_CURSOR_LEFT  Move the cursor left
tinyrl_vt100_CURSOR_RIGHT  Move the cursor right


Generated on Tue Apr 29 13:41:09 2008 for CLISH by  doxygen 1.5.1