chiark / gitweb /
*** empty log message ***
[sympathy.git] / src / vt102.h
index 2fa56e603afda8f17c608d2ed729585cfb6cb874..02fdf990718abd080b5d831a4dcbf568da5fb994 100644 (file)
 
 /*
  * $Log$
+ * Revision 1.21  2008/02/28 16:57:52  james
+ * *** empty log message ***
+ *
+ * Revision 1.20  2008/02/27 09:42:22  james
+ * *** empty log message ***
+ *
+ * Revision 1.19  2008/02/26 23:23:17  james
+ * *** empty log message ***
+ *
+ * Revision 1.18  2008/02/26 19:08:27  james
+ * *** empty log message ***
+ *
+ * Revision 1.17  2008/02/26 16:53:24  james
+ * *** empty log message ***
+ *
+ * Revision 1.16  2008/02/24 12:22:42  james
+ * *** empty log message ***
+ *
+ * Revision 1.15  2008/02/24 00:42:53  james
+ * *** empty log message ***
+ *
+ * Revision 1.14  2008/02/23 11:48:37  james
+ * *** empty log message ***
+ *
+ * Revision 1.13  2008/02/22 17:07:00  james
+ * *** empty log message ***
+ *
+ * Revision 1.12  2008/02/22 14:51:54  james
+ * *** empty log message ***
+ *
+ * Revision 1.11  2008/02/08 15:06:42  james
+ * *** empty log message ***
+ *
+ * Revision 1.10  2008/02/07 12:16:04  james
+ * *** empty log message ***
+ *
+ * Revision 1.9  2008/02/07 01:57:46  james
+ * *** empty log message ***
+ *
+ * Revision 1.8  2008/02/07 00:39:13  james
+ * *** empty log message ***
+ *
  * Revision 1.7  2008/02/06 20:26:58  james
  * *** empty log message ***
  *
 #ifndef __VT102_H__
 #define __VT102_H__
 
-#define VT102_CSI_LEN 128
+#define VT102_CMD_LEN 128
 
-#define VT102_ROWS             24
-#define VT102_COLS             80
+#define VT102_MAX_ROWS         ((CRT_ROWS) - 1)
+#define VT102_ROWS_24          24
+#define VT102_COLS_132         132
+#define VT102_COLS_80          80
+#define VT102_MAX_COLS         VT102_COLS_132
 #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];
+  int in_cmd;
+
+  int cmd_ptr;
+  int cmd_more_bytes;
+  int cmd_termination;
+  char cmd_buf[VT102_CMD_LEN];
 } VT102_parser;
 
 typedef struct
 {
   CRT_Pos pos;
   int attr;
+  int color;
   int origin_mode;
 } VT102_State;
 
@@ -68,6 +118,7 @@ typedef struct
   CRT_Pos screen_start, screen_end;
   VT102_parser parser;
   int attr;
+  int color;
   CRT crt;
 
   int pending_wrap;
@@ -78,11 +129,18 @@ typedef struct
   uint8_t modes[VT102_NMODES];
   uint8_t private_modes[VT102_NMODES];
 
-  uint8_t tabs[VT102_COLS];
+  uint8_t tabs[VT102_COLS_132];
 
   int application_keypad_mode;
 
-  TTY *t;
+  int last_reg_char;
+  int xn_glitch;
+
+  CRT_Pos current_size;
+  CRT_Pos original_size;
+
+  int g[2];
+  int cs;
 
 } VT102;