1 /* Begin include file term.h */
  2 
  3 /*
  4  * term.h - this file is automatically made from caps and maketerm.ex.
  5  *
  6  * Guard against multiple includes.
  7  */
  8 
  9 #ifndef auto_left_margin
 10 
 11 #define auto_left_margin                CUR Auto_left_margin
 12 #define auto_right_margin               CUR Auto_right_margin
 13 #define beehive_glitch                            CUR Beehive_glitch
 14 #define ceol_standout_glitch            CUR Ceol_standout_glitch
 15 #define eat_newline_glitch              CUR Eat_newline_glitch
 16 #define erase_overstrike                CUR Erase_overstrike
 17 #define generic_type                              CUR Generic_type
 18 #define hard_copy                       CUR Hard_copy
 19 #define has_meta_key                              CUR Has_meta_key
 20 #define has_status_line                 CUR Has_status_line
 21 #define insert_null_glitch              CUR Insert_null_glitch
 22 #define memory_above                              CUR Memory_above
 23 #define memory_below                              CUR Memory_below
 24 #define move_insert_mode                CUR Move_insert_mode
 25 #define move_standout_mode              CUR Move_standout_mode
 26 #define over_strike                               CUR Over_strike
 27 #define status_line_esc_ok              CUR Status_line_esc_ok
 28 #define teleray_glitch                            CUR Teleray_glitch
 29 #define tilde_glitch                              CUR Tilde_glitch
 30 #define transparent_underline                     CUR Transparent_underline
 31 #define xon_xoff                        CUR Xon_xoff
 32 #define columns                         CUR Columns
 33 #define init_tabs                       CUR Init_tabs
 34 #define lines                                     CUR Lines
 35 #define lines_of_memory                 CUR Lines_of_memory
 36 #define magic_cookie_glitch             CUR Magic_cookie_glitch
 37 #define padding_baud_rate               CUR Padding_baud_rate
 38 #define virtual_terminal                CUR Virtual_terminal
 39 #define width_status_line               CUR Width_status_line
 40 #define back_tab                        CUR strs.Back_tab
 41 #define bell                                      CUR strs.Bell
 42 #define carriage_return                 CUR strs.Carriage_return
 43 #define change_scroll_region            CUR strs.Change_scroll_region
 44 #define clear_all_tabs                            CUR strs.Clear_all_tabs
 45 #define clear_screen                              CUR strs.Clear_screen
 46 #define clr_eol                         CUR strs.Clr_eol
 47 #define clr_eos                         CUR strs.Clr_eos
 48 #define column_address                            CUR strs.Column_address
 49 #define command_character               CUR strs.Command_character
 50 #define cursor_address                            CUR strs.Cursor_address
 51 #define cursor_down                               CUR strs.Cursor_down
 52 #define cursor_home                               CUR strs.Cursor_home
 53 #define cursor_invisible                CUR strs.Cursor_invisible
 54 #define cursor_left                               CUR strs.Cursor_left
 55 #define cursor_mem_address              CUR strs.Cursor_mem_address
 56 #define cursor_normal                             CUR strs.Cursor_normal
 57 #define cursor_right                              CUR strs.Cursor_right
 58 #define cursor_to_ll                              CUR strs.Cursor_to_ll
 59 #define cursor_up                       CUR strs.Cursor_up
 60 #define cursor_visible                            CUR strs.Cursor_visible
 61 #define delete_character                CUR strs.Delete_character
 62 #define delete_line                               CUR strs.Delete_line
 63 #define dis_status_line                 CUR strs.Dis_status_line
 64 #define down_half_line                            CUR strs.Down_half_line
 65 #define enter_alt_charset_mode                    CUR strs.Enter_alt_charset_mode
 66 #define enter_blink_mode                CUR strs.Enter_blink_mode
 67 #define enter_bold_mode                 CUR strs.Enter_bold_mode
 68 #define enter_ca_mode                             CUR strs.Enter_ca_mode
 69 #define enter_delete_mode               CUR strs.Enter_delete_mode
 70 #define enter_dim_mode                            CUR strs.Enter_dim_mode
 71 #define enter_insert_mode               CUR strs.Enter_insert_mode
 72 #define enter_secure_mode               CUR strs.Enter_secure_mode
 73 #define enter_protected_mode            CUR strs.Enter_protected_mode
 74 #define enter_reverse_mode              CUR strs.Enter_reverse_mode
 75 #define enter_standout_mode             CUR strs.Enter_standout_mode
 76 #define enter_underline_mode            CUR strs.Enter_underline_mode
 77 #define erase_chars                               CUR strs.Erase_chars
 78 #define exit_alt_charset_mode                     CUR strs.Exit_alt_charset_mode
 79 #define exit_attribute_mode             CUR strs.Exit_attribute_mode
 80 #define exit_ca_mode                              CUR strs.Exit_ca_mode
 81 #define exit_delete_mode                CUR strs.Exit_delete_mode
 82 #define exit_insert_mode                CUR strs.Exit_insert_mode
 83 #define exit_standout_mode              CUR strs.Exit_standout_mode
 84 #define exit_underline_mode             CUR strs.Exit_underline_mode
 85 #define flash_screen                              CUR strs.Flash_screen
 86 #define form_feed                       CUR strs.Form_feed
 87 #define from_status_line                CUR strs.From_status_line
 88 #define init_1string                              CUR strs.Init_1string
 89 #define init_2string                              CUR strs.Init_2string
 90 #define init_3string                              CUR strs.Init_3string
 91 #define init_file                       CUR strs.Init_file
 92 #define insert_character                CUR strs.Insert_character
 93 #define insert_line                               CUR strs.Insert_line
 94 #define insert_padding                            CUR strs.Insert_padding
 95 #define key_backspace                             CUR strs.Key_backspace
 96 #define key_catab                       CUR strs.Key_catab
 97 #define key_clear                       CUR strs.Key_clear
 98 #define key_ctab                        CUR strs.Key_ctab
 99 #define key_dc                                    CUR strs.Key_dc
100 #define key_dl                                    CUR strs.Key_dl
101 #define key_down                        CUR strs.Key_down
102 #define key_eic                         CUR strs.Key_eic
103 #define key_eol                         CUR strs.Key_eol
104 #define key_eos                         CUR strs.Key_eos
105 #define key_f0                                    CUR strs.Key_f0
106 #define key_f1                                    CUR strs.Key_f1
107 #define key_f10                         CUR strs.Key_f10
108 #define key_f2                                    CUR strs.Key_f2
109 #define key_f3                                    CUR strs.Key_f3
110 #define key_f4                                    CUR strs.Key_f4
111 #define key_f5                                    CUR strs.Key_f5
112 #define key_f6                                    CUR strs.Key_f6
113 #define key_f7                                    CUR strs.Key_f7
114 #define key_f8                                    CUR strs.Key_f8
115 #define key_f9                                    CUR strs.Key_f9
116 #define key_home                        CUR strs.Key_home
117 #define key_ic                                    CUR strs.Key_ic
118 #define key_il                                    CUR strs.Key_il
119 #define key_left                        CUR strs.Key_left
120 #define key_ll                                    CUR strs.Key_ll
121 #define key_npage                       CUR strs.Key_npage
122 #define key_ppage                       CUR strs.Key_ppage
123 #define key_right                       CUR strs.Key_right
124 #define key_sf                                    CUR strs.Key_sf
125 #define key_sr                                    CUR strs.Key_sr
126 #define key_stab                        CUR strs.Key_stab
127 #define key_up                                    CUR strs.Key_up
128 #define keypad_local                              CUR strs.Keypad_local
129 #define keypad_xmit                               CUR strs.Keypad_xmit
130 #define lab_f0                                    CUR strs.Lab_f0
131 #define lab_f1                                    CUR strs.Lab_f1
132 #define lab_f10                         CUR strs.Lab_f10
133 #define lab_f2                                    CUR strs.Lab_f2
134 #define lab_f3                                    CUR strs.Lab_f3
135 #define lab_f4                                    CUR strs.Lab_f4
136 #define lab_f5                                    CUR strs.Lab_f5
137 #define lab_f6                                    CUR strs.Lab_f6
138 #define lab_f7                                    CUR strs.Lab_f7
139 #define lab_f8                                    CUR strs.Lab_f8
140 #define lab_f9                                    CUR strs2.Lab_f9
141 #define meta_off                        CUR strs2.Meta_off
142 #define meta_on                         CUR strs2.Meta_on
143 #define newline                         CUR strs2.Newline
144 #define pad_char                        CUR strs2.Pad_char
145 #define parm_dch                        CUR strs2.Parm_dch
146 #define parm_delete_line                CUR strs2.Parm_delete_line
147 #define parm_down_cursor                CUR strs2.Parm_down_cursor
148 #define parm_ich                        CUR strs2.Parm_ich
149 #define parm_index                      CUR strs2.Parm_index
150 #define parm_insert_line                CUR strs2.Parm_insert_line
151 #define parm_left_cursor                CUR strs2.Parm_left_cursor
152 #define parm_right_cursor               CUR strs2.Parm_right_cursor
153 #define parm_rindex                               CUR strs2.Parm_rindex
154 #define parm_up_cursor                            CUR strs2.Parm_up_cursor
155 #define pkey_key                        CUR strs2.Pkey_key
156 #define pkey_local                      CUR strs2.Pkey_local
157 #define pkey_xmit                       CUR strs2.Pkey_xmit
158 #define print_screen                              CUR strs2.Print_screen
159 #define prtr_off                        CUR strs2.Prtr_off
160 #define prtr_on                         CUR strs2.Prtr_on
161 #define repeat_char                               CUR strs2.Repeat_char
162 #define reset_1string                             CUR strs2.Reset_1string
163 #define reset_2string                             CUR strs2.Reset_2string
164 #define reset_3string                             CUR strs2.Reset_3string
165 #define reset_file                      CUR strs2.Reset_file
166 #define restore_cursor                            CUR strs2.Restore_cursor
167 #define row_address                               CUR strs2.Row_address
168 #define save_cursor                               CUR strs2.Save_cursor
169 #define scroll_forward                            CUR strs2.Scroll_forward
170 #define scroll_reverse                            CUR strs2.Scroll_reverse
171 #define set_attributes                            CUR strs2.Set_attributes
172 #define set_tab                         CUR strs2.Set_tab
173 #define set_window                      CUR strs2.Set_window
174 #define tab                                       CUR strs2.Tab
175 #define to_status_line                            CUR strs2.To_status_line
176 #define underline_char                            CUR strs2.Underline_char
177 #define up_half_line                              CUR strs2.Up_half_line
178 #define init_prog                       CUR strs2.Init_prog
179 #define key_a1                                    CUR strs2.Key_a1
180 #define key_a3                                    CUR strs2.Key_a3
181 #define key_b2                                    CUR strs2.Key_b2
182 #define key_c1                                    CUR strs2.Key_c1
183 #define key_c3                                    CUR strs2.Key_c3
184 #define prtr_non                        CUR strs2.Prtr_non
185 typedef char *charptr;
186 
187 struct strs {
188     charptr
189           Back_tab,           /* Back tab (P) */
190           Bell,                         /* Audible signal (bell) (P) */
191           Carriage_return,    /* Carriage return (P*) */
192           Change_scroll_region,         /* change to lines #1 thru #2 (vt100) (PG) */
193           Clear_all_tabs,               /* Clear all tab stops. (P) */
194           Clear_screen,                 /* Clear screen (P*) */
195           Clr_eol,            /* Clear to end of line (P) */
196           Clr_eos,            /* Clear to end of display (P*) */
197           Column_address,               /* Set cursor column (PG) */
198           Command_character,  /* Term. settable cmd char in prototype */
199           Cursor_address,               /* Cursor motion to row #1 col #2 (PG) */
200           Cursor_down,                  /* Down one line */
201           Cursor_home,                  /* Home cursor (if no cup) */
202           Cursor_invisible,   /* Make cursor invisible */
203           Cursor_left,                  /* Move cursor left one space. */
204           Cursor_mem_address, /* Memory relative cursor addressing. */
205           Cursor_normal,                /* Make cursor appear normal (undo vs/vi) */
206           Cursor_right,                 /* Non-destructive space (cursor right) */
207           Cursor_to_ll,                 /* Last line, first column (if no cup) */
208           Cursor_up,                    /* Upline (cursor up) */
209           Cursor_visible,               /* Make cursor very visible */
210           Delete_character,   /* Delete character (P*) */
211           Delete_line,                  /* Delete line (P*) */
212           Dis_status_line,    /* Disable status line */
213           Down_half_line,               /* Half-line down (forward 1/2 linefeed) */
214           Enter_alt_charset_mode,       /* Start alternate character set (P) */
215           Enter_blink_mode,   /* Turn on blinking */
216           Enter_bold_mode,    /* Turn on bold (extra bright) mode */
217           Enter_ca_mode,                /* String to begin programs that use cup */
218           Enter_delete_mode,  /* Delete mode (enter) */
219           Enter_dim_mode,               /* Turn on half-bright mode */
220           Enter_insert_mode,  /* Insert mode (enter); */
221           Enter_secure_mode,  /* Turn on blank mode (chars invisible) */
222           Enter_protected_mode,         /* Turn on protected mode */
223           Enter_reverse_mode, /* Turn on reverse video mode */
224           Enter_standout_mode,          /* Begin stand out mode */
225           Enter_underline_mode,         /* Start underscore mode */
226           Erase_chars,                  /* Erase #1 characters (PG) */
227           Exit_alt_charset_mode,        /* End alternate character set (P) */
228           Exit_attribute_mode,          /* Turn off all attributes */
229           Exit_ca_mode,                 /* String to end programs that use cup */
230           Exit_delete_mode,   /* End delete mode */
231           Exit_insert_mode,   /* End insert mode; */
232           Exit_standout_mode, /* End stand out mode */
233           Exit_underline_mode,          /* End underscore mode */
234           Flash_screen,                 /* Visible bell (may not move cursor) */
235           Form_feed,                    /* Hardcopy terminal page eject (P*) */
236           From_status_line,   /* Return from status line */
237           Init_1string,                 /* Terminal initialization string */
238           Init_2string,                 /* Terminal initialization string */
239           Init_3string,                 /* Terminal initialization string */
240           Init_file,                    /* Name of file containing is */
241           Insert_character,   /* Insert character (P) */
242           Insert_line,                  /* Add new blank line (P*) */
243           Insert_padding,               /* Insert pad after character inserted (P*) */
244           Key_backspace,                /* Sent by backspace key */
245           Key_catab,                    /* Sent by clear-all-tabs key. */
246           Key_clear,                    /* Sent by clear screen or erase key. */
247           Key_ctab,           /* Sent by clear-tab key */
248           Key_dc,                       /* Sent by delete character key. */
249           Key_dl,                       /* Sent by delete line key. */
250           Key_down,           /* Sent by terminal down arrow key */
251           Key_eic,            /* Sent by rmir or smir in insert mode. */
252           Key_eol,            /* Sent by clear-to-end-of-line key. */
253           Key_eos,            /* Sent by clear-to-end-of-screen key. */
254           Key_f0,                       /* Sent by function key f0. */
255           Key_f1,                       /* Sent by function key f1. */
256           Key_f10,            /* Sent by function key f10. */
257           Key_f2,                       /* Sent by function key f2. */
258           Key_f3,                       /* Sent by function key f3. */
259           Key_f4,                       /* Sent by function key f4. */
260           Key_f5,                       /* Sent by function key f5. */
261           Key_f6,                       /* Sent by function key f6. */
262           Key_f7,                       /* Sent by function key f7. */
263           Key_f8,                       /* Sent by function key f8. */
264           Key_f9,                       /* Sent by function key f9. */
265           Key_home,           /* Sent by home key. */
266           Key_ic,                       /* Sent by ins char/enter ins mode key. */
267           Key_il,                       /* Sent by insert line. */
268           Key_left,           /* Sent by terminal left arrow key */
269           Key_ll,                       /* Sent by home-down key */
270           Key_npage,                    /* Sent by next-page key */
271           Key_ppage,                    /* Sent by previous-page key */
272           Key_right,                    /* Sent by terminal right arrow key */
273           Key_sf,                       /* Sent by scroll-forward/down key */
274           Key_sr,                       /* Sent by scroll-backward/up key */
275           Key_stab,           /* Sent by set-tab key */
276           Key_up,                       /* Sent by terminal up arrow key */
277           Keypad_local,                 /* Out of "keypad transmit" mode */
278           Keypad_xmit,                  /* Put terminal in "keypad transmit" mode */
279           Lab_f0,                       /* Labels on function key f0 if not f0 */
280           Lab_f1,                       /* Labels on function key f1 if not f1 */
281           Lab_f10,            /* Labels on function key f10 if not f10 */
282           Lab_f2,                       /* Labels on function key f2 if not f2 */
283           Lab_f3,                       /* Labels on function key f3 if not f3 */
284           Lab_f4,                       /* Labels on function key f4 if not f4 */
285           Lab_f5,                       /* Labels on function key f5 if not f5 */
286           Lab_f6,                       /* Labels on function key f6 if not f6 */
287           Lab_f7,                       /* Labels on function key f7 if not f7 */
288           Lab_f8;                       /* Labels on function key f8 if not f8 */
289 };
290 struct strs2 {
291     charptr
292           Lab_f9,                       /* Labels on function key f9 if not f9 */
293           Meta_off,           /* Turn off "meta mode" */
294           Meta_on,            /* Turn on "meta mode" (8th bit) */
295           Newline,            /* Newline (behaves like cr followed by lf) */
296           Pad_char,           /* Pad character (rather than null) */
297           Parm_dch,           /* Delete #1 chars (PG*) */
298           Parm_delete_line,   /* Delete #1 lines (PG*) */
299           Parm_down_cursor,   /* Move cursor down #1 lines. (PG*) */
300           Parm_ich,           /* Insert #1 blank chars (PG*) */
301           Parm_index,                   /* Scroll forward #1 lines. (PG) */
302           Parm_insert_line,   /* Add #1 new blank lines (PG*) */
303           Parm_left_cursor,   /* Move cursor left #1 spaces (PG) */
304           Parm_right_cursor,  /* Move cursor right #1 spaces. (PG*) */
305           Parm_rindex,                  /* Scroll backward #1 lines. (PG) */
306           Parm_up_cursor,               /* Move cursor up #1 lines. (PG*) */
307           Pkey_key,           /* Prog funct key #1 to type string #2 */
308           Pkey_local,                   /* Prog funct key #1 to execute string #2 */
309           Pkey_xmit,                    /* Prog funct key #1 to xmit string #2 */
310           Print_screen,                 /* Print contents of the screen */
311           Prtr_off,           /* Turn off the printer */
312           Prtr_on,            /* Turn on the printer */
313           Repeat_char,                  /* Repeat char #1 #2 times.  (PG*) */
314           Reset_1string,                /* Reset terminal completely to sane modes. */
315           Reset_2string,                /* Reset terminal completely to sane modes. */
316           Reset_3string,                /* Reset terminal completely to sane modes. */
317           Reset_file,                   /* Name of file containing reset string. */
318           Restore_cursor,               /* Restore cursor to position of last sc. */
319           Row_address,                  /* Like hpa but sets row. (PG) */
320           Save_cursor,                  /* Save cursor position. (P) */
321           Scroll_forward,               /* Scroll text up (P) */
322           Scroll_reverse,               /* Scroll text down (P) */
323           Set_attributes,               /* Define the video attributes (PG9) */
324           Set_tab,            /* Set a tab in all rows, current column. */
325           Set_window,                   /* Current window is lines #1-#2 cols #3-#4 */
326           Tab,                          /* Tab to next 8 space hardware tab stop. */
327           To_status_line,               /* Go to status line */
328           Underline_char,               /* Underscore one char and move past it */
329           Up_half_line,                 /* Half-line up (reverse 1/2 linefeed) */
330           Init_prog,                    /* Path name of program for init. */
331           Key_a1,                       /* Upper left of keypad */
332           Key_a3,                       /* Upper right of keypad */
333           Key_b2,                       /* Center of keypad */
334           Key_c1,                       /* Lower left of keypad */
335           Key_c3,                       /* Lower right of keypad */
336           Prtr_non;           /* Turn on the printer for #1 bytes. */
337 };
338 
339 struct term {
340     char
341           Auto_left_margin,   /* cub1 wraps from column 0 to last column */
342           Auto_right_margin,  /* Terminal has automatic margins */
343           Beehive_glitch,               /* Beehive (f1=escape, f2=ctrl C) */
344           Ceol_standout_glitch,         /* Standout not erased by overwriting (hp) */
345           Eat_newline_glitch, /* newline ignored after 80 cols (Concept) */
346           Erase_overstrike,   /* Can erase overstrikes with a blank */
347           Generic_type,                 /* Generic line type (e.g. dialup, switch). */
348           Hard_copy,                    /* Hardcopy terminal */
349           Has_meta_key,                 /* Has a meta key (shift, sets parity bit) */
350           Has_status_line,    /* Has extra "status line" */
351           Insert_null_glitch, /* Insert mode distinguishes nulls */
352           Memory_above,                 /* Display may be retained above the screen */
353           Memory_below,                 /* Display may be retained below the screen */
354           Move_insert_mode,   /* Safe to move while in insert mode */
355           Move_standout_mode, /* Safe to move in standout modes */
356           Over_strike,                  /* Terminal overstrikes */
357           Status_line_esc_ok, /* Escape can be used on the status line */
358           Teleray_glitch,               /* Tabs destructive, magic so char (t1061) */
359           Tilde_glitch,                 /* Hazeltine; can't print ~'s */
360           Transparent_underline,        /* underline character overstrikes */
361           Xon_xoff;           /* Terminal uses xon/xoff handshaking */
362     short
363           Columns,            /* Number of columns in a line */
364           Init_tabs,                    /* Tabs initially every # spaces. */
365           Lines,                        /* Number of lines on screen or page */
366           Lines_of_memory,    /* Lines of memory if > lines.  0 => varies */
367           Magic_cookie_glitch,          /* Number blank chars left by smso or rmso */
368           Padding_baud_rate,  /* Lowest baud rate where padding needed */
369           Virtual_terminal,   /* Virtual terminal number (CB/Unix) */
370           Width_status_line;  /* # columns in status line */
371           struct strs strs;
372           struct strs2 strs2;
373           short Filedes;                /* file descriptor being written to */
374 #ifndef NONSTANDARD
375           SGTTY Ottyb,                  /* original state of the terminal */
376                 Nttyb;                  /* current state of the terminal */
377 #endif
378 };
379 #ifndef NONSTANDARD
380 extern struct term *cur_term;
381 #endif
382 
383 #endif auto_left_margin
384 
385 #ifdef SINGLE
386 extern struct term _first_term;
387 # define CUR        _first_term.
388 #else
389 # define CUR        cur_term->
390 #endif
391 
392 /* End include file term.h */