/* * vt102.h: * * Copyright (c) 2008 James McKenzie , * All rights reserved. * */ /* * $Id$ */ /* * $Log$ * Revision 1.5 2008/02/06 15:53:22 james * *** empty log message *** * * Revision 1.4 2008/02/06 11:30:37 james * *** empty log message *** * * Revision 1.3 2008/02/04 20:23:55 james * *** empty log message *** * * Revision 1.2 2008/02/04 02:05:06 james * *** empty log message *** * * Revision 1.1 2008/02/03 23:36:41 james * *** empty log message *** * */ #ifndef __VT102_H__ #define __VT102_H__ #define VT102_CSI_LEN 128 #define VT102_ROWS 24 #define VT102_COLS 80 #define VT102_STATUS_ROW 24 #define VT102_NMODES 32 typedef struct { int in_escape; int in_csi; int csi_ptr; char csi_buf[VT102_CSI_LEN]; } VT102_parser; typedef struct { CRT_Pos top_margin, bottom_margin; CRT_Pos screen_start, screen_end; VT102_parser parser; int attr; CRT crt; int pending_wrap; CRT_Pos pos,current_line; uint8_t modes[VT102_NMODES]; uint8_t private_modes[VT102_NMODES]; uint8_t tabs[VT102_COLS]; } VT102; #define VT102_PRIVATE_MODE_CURSOR_MODE 1 #define VT102_PRIVATE_MODE_VT52 2 #define VT102_PRIVATE_MODE_132COLS 3 #define VT102_PRIVATE_MODE_SMOOTH_SCROLL 4 #define VT102_PRIVATE_MODE_REVERSE_SCREEN 5 #define VT102_PRIVATE_MODE_ORIGIN_MODE 6 #define VT102_PRIVATE_MODE_AUTO_WRAP 7 #define VT102_PRIVATE_MODE_AUTO_REPEAT 8 #define VT102_MODE_KEYBOARD_DISABLE 2 #define VT102_MODE_INSERT 4 #define VT102_PRIVATE_MODE_LOCAL_ECHO_OFF 12 #define VT102_MODE_NEWLINE_MODE 20 #endif /* __VT102_H__ */