Install sccs headers and copyright notices.
[unix-history] / usr / src / usr.bin / tn3270 / ctlr / function.h
CommitLineData
44d721ab
GM
1/*
2 * The following are the various functions which the keyboard can ask
3 * the controller to perform.
4 *
5 * Note that this file (the following entries) are scanned by mkhit.c,
6 * and that the format must remain more-or-less consistent
7 * [ \t]*TOKEN
992de934
GM
8 *
9 * @(#)function.h 1.5 (Berkeley) %G%
44d721ab
GM
10 */
11
12enum ctlrfcn {
13
14 undefined = 0, /* Not yet touched */
15
16 FCN_NULL, /* Illegal sequence */
17
18 FCN_RESET, /* unlock keyboard */
b6dea594
GM
19 FCN_MAKE_SHIFT_LOCK,
20 FCN_BREAK_SHIFT_LOCK,
44d721ab
GM
21
22 FCN_MAKE_SHIFT, /* shift key pressed DOWN */
23 FCN_BREAK_SHIFT, /* shift key released */
24
25 FCN_MAKE_ALT, /* alt key pressed DOWN */
26 FCN_BREAK_ALT, /* alt key released */
27
28 FCN_MAKE_CTRL,
29
1ae3d61d
GM
30 FCN_CAPS_LOCK,
31
44d721ab
GM
32 FCN_MONOCASE, /* DISPLAY in upper case */
33 FCN_DVCNL,
34
35 FCN_CHARACTER, /* Not one of the following, but ... */
36 FCN_VERTICAL_BAR, /* EBCDIC solid vertical bar */
37 FCN_CENTSIGN, /* EBCDIC cent sign */
38 FCN_SPACE, /* EBCDIC space */
39 FCN_DP, /* EBCDIC dup character */
40 FCN_FM, /* EBCDIC field mark */
41
42 FCN_AID, /* Some AID key */
43 FCN_ATTN,
44 FCN_CURSEL, /* Cursor select function (and aid) */
45 FCN_TEST, /* Test function */
46
47 FCN_EINP, /* erase input (dangerous) */
48 FCN_EEOF,
49 FCN_DELETE,
50 FCN_INSRT,
51 FCN_TAB,
52 FCN_BTAB,
53 FCN_NL,
54 FCN_HOME,
55 FCN_UP,
56 FCN_DOWN,
57 FCN_RIGHT,
58 FCN_LEFT,
59 FCN_LEFT2,
60 FCN_RIGHT2,
61
62#if !defined(PURE3274)
63 /*
64 * Local editing functions
65 */
66 FCN_SETTAB, /* set a column tab */
67 FCN_DELTAB,
68 FCN_COLTAB,
69 FCN_COLBAK,
70 FCN_INDENT, /* more margin over one col tab */
71 FCN_UNDENT,
72 FCN_SETMRG,
73 FCN_SETHOM,
74 FCN_CLRTAB,
75 FCN_ERASE, /* erase last character */
76 FCN_WERASE,
77 FCN_FERASE,
78 FCN_WORDTAB, /* tab to start of next word */
79 FCN_WORDBACKTAB,
80 FCN_WORDEND, /* find next end of word */
81 FCN_FIELDEND, /* find next end of field */
82
83 /*
84 * APL functions
85 */
86 FCN_APLON, /* start using apl character set */
87 FCN_APLOFF,
88 FCN_APLEND,
89
90 FCN_PCON,
91 FCN_PCOFF,
92 FCN_INIT, /* re-init screen */
93 FCN_SYNCH, /* synch up after line/control error */
94 FCN_FLINP, /* flush input buffer */
95 FCN_RESHOW, /* redraw screen */
96 FCN_MASTER_RESET, /* FLINP, RESET, RESHOW, + more */
97
98 FCN_DISC, /* suspend application */
99 FCN_ESCAPE, /* enter command mode */
100
101 FCN_ALTK, /* Dvorak keyboard */
102
103 FCN_XOFF, /* suspend output to screen */
104 FCN_XON, /* resume output to screen */
105
106 FCN_LPRT /* print screen on printer */
107#endif /* !defined(PURE3274) */
108};
261af60d
GM
109/*
110 * The following is the structure which defines what a 3270 keystroke
111 * can do.
112 */
113
114struct hits {
115 unsigned char keynumber;
116 struct hit {
44d721ab
GM
117 enum ctlrfcn ctlrfcn;
118 unsigned char code; /* AID value or 3270 display code */
261af60d
GM
119 } hit[4]; /* plain, shifted, alted, shiftalted */
120};
121
122extern struct hits hits[];
1ae3d61d
GM
123
124/*
125 * Definitions of the shift state (and the left/right shift key position).
126 */
127
128#define SHIFT_RIGHT 0x20 /* Right shift key is down */
129#define SHIFT_LEFT 0x10 /* Left shift key is down */
130#define SHIFT_CONTROL 0x08 /* Control shift state (unused) */
131#define SHIFT_ALT 0x04 /* ALT shift state */
132#define SHIFT_CAPS 0x02 /* Caps lock state */
133#define SHIFT_UPSHIFT 0x01 /* Upshift state */