aboutsummaryrefslogtreecommitdiffstats
path: root/util/alevt/vt.h
diff options
context:
space:
mode:
Diffstat (limited to 'util/alevt/vt.h')
-rw-r--r--util/alevt/vt.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/util/alevt/vt.h b/util/alevt/vt.h
new file mode 100644
index 0000000..75986e8
--- /dev/null
+++ b/util/alevt/vt.h
@@ -0,0 +1,62 @@
+#ifndef VT_H
+#define VT_H
+
+#include "misc.h"
+
+#define W 40
+#define H 25
+#define BAD_CHAR 0xb8 // substitute for chars with bad parity
+
+struct vt_event
+{
+ int type;
+ void *resource; /* struct xio_win *, struct vbi *, ... */
+ int i1, i2, i3, i4;
+ void *p1;
+};
+
+#define EV_CLOSE 1
+#define EV_KEY 2 // i1:KEY_xxx i2:shift-flag
+#define EV_MOUSE 3 // i1:button i2:shift-flag i3:x i4:y
+#define EV_SELECTION 4 // i1:len p1:data
+#define EV_PAGE 5 // p1:vt_page i1:query-flag
+#define EV_HEADER 6 // i1:pgno i2:subno i3:flags p1:data
+#define EV_XPACKET 7 // i1:mag i2:pkt i3:errors p1:data
+#define EV_RESET 8 // ./.
+#define EV_TIMER 9 // ./.
+#define EV_ERR 10 // p1: errmsg
+#define KEY_F(i) (1000+i)
+#define KEY_LEFT 2001
+#define KEY_RIGHT 2002
+#define KEY_UP 2003
+#define KEY_DOWN 2004
+#define KEY_PUP 2005
+#define KEY_PDOWN 2006
+#define KEY_DEL 2007
+#define KEY_INS 2008
+
+struct vt_page
+{
+ int pgno, subno; // the wanted page number
+ int lang; // language code
+ int flags; // misc flags (see PG_xxx below)
+ int errors; // number of single bit errors in page
+ u32 lines; // 1 bit for each line received
+ u8 data[25][40]; // page contents
+ int flof; // page has FastText links
+ struct {
+ int pgno;
+ int subno;
+ } link[6]; // FastText links (FLOF)
+};
+
+#define PG_SUPPHEADER 0x01 // C7 row 0 is not to be displayed
+#define PG_OUTOFSEQ 0x04 // C9 page out of numerical order
+#define PG_NODISPLAY 0x08 // C10 rows 1-24 is not to be displayed
+#define PG_MAGSERIAL 0x10 // C11 serial trans. (any pkt0 terminates page)
+#define PG_ERASE 0x20 // C4 clear previously stored lines
+#define PG_NEWSFLASH 0x40 // C5 box it and insert into normal video pict.
+#define PG_SUBTITLE 0x80 // C6 box it and insert into normal video pict.
+#define PG_ACTIVE 0x100 // currently fetching this page
+#define ANY_SUB 0x3f7f // universal subpage number
+#endif