8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / lib / libcurses / screen / maketerm.ed
blob4ab79b825d4261f9c32956f3bd6e3cb871ea2423
2 !rm -f bool num str boolnames numnames strnames boolvals numvals strvals tnames.c tinames.c tifnames.c term.h ./tmp/term.h.new ./tmp/tmp.awk ./tmp/term.h
3 e caps
4 g/^#/d
5 /--- begin bool/+1,/--- end bool/-1 w bool
6 /--- begin num/+1,/--- end num/-1 w num
7 /--- begin str/+1,/--- end str/-1 w str
8 E bool
9 1,$s/"  .*/", /
10 1,$s/.* "/"/
11 1,$-10g/^/.,+9j
12 +,$j
14 char    *boolnames[] =
15         {
19         };
22 w tinames.c
23 e bool
24 1,$s/^[^"]*"[^"]*".//
25 1,$s/"  .*/", /
26 1,$-10g/^/.,+9j
27 +,$j
29 char    *boolcodes[] =
30         {
34         };
37 w tnames.c
38 e bool
39 1,$s/^\([a-z][0-9a-z_]*\),.*/"\1", /
40 1,$-4g/^/.,+3j
41 +,$j
43 char    *boolfnames[] =
44         {
48         };
51 w tifnames.c
52 e bool
53 1,$s;"[^"]*"[   ]*".."  ;/* ;
54 1,$s;$; */;
55 1,$s;^; ;
57     char
60         Sentinel;               /* End of bools. DO NOT MOVE! */
62 w boolvals
63 e num
64 1,$s/"  .*/", /
65 1,$s/.* "/"/
66 1,$-10g/^/.,+9j
67 +,$j
69 char    *numnames[] =
70         {
74         };
77 0r tinames.c
78 w tinames.c
79 e num
80 1,$s/^[^"]*"[^"]*".//
81 1,$s/"  .*/", /
82 1,$-10g/^/.,+9j
83 +,$j
85 char    *numcodes[] =
86         {
90         };
93 0r tnames.c
94 w tnames.c
95 e num
96 1,$s/^\([a-z][0-9a-z_]*\),.*/"\1", /
97 1,$-4g/^/.,+3j
98 +,$j
100 char    *numfnames[] =
101         {
105         };
108 0r tifnames.c
109 w tifnames.c
110 e num
111 1,$s;"[^"]*"[   ]*".."  ;/* ;
112 1,$s;$; */;
113 1,$s;^; ;
115     short
118         Sentinel;               /* End of nums. DO NOT MOVE! */
120 w numvals
121 e str
122 1,$s/"  .*/", /
123 1,$s/.* "/"/
124 1,$-10g/^/.,+9j
125 +,$j
127 char    *strnames[] =
128         {
132         };
135 0r tinames.c
136 w tinames.c
137 e str
138 1,$s/^[^"]*"[^"]*".//
139 1,$s/"  .*/", /
140 1,$-10g/^/.,+9j
141 +,$j
143 char    *strcodes[] =
144         {
148         };
151 0r tnames.c
152 w tnames.c
153 e str
154 1,$s/^\([a-z][0-9a-z_]*\),.*/"\1", /
155 1,$-4g/^/.,+3j
156 +,$j
158 char    *strfnames[] =
159         {
163         };
166 0r tifnames.c
167 w tifnames.c
168 e str
169 1,$s;"[^"]*"[   ]*".."  ;/* ;
170 1,$s;$; */;
171 1,$s;^; strs.;
173         Sentinel;               /* End of strings. DO NOT MOVE! */
175 w strvals
176 1,$d
177 r tnames.c
179 /* tnames.c: Made automatically from caps and maketerm.ed - don't edit me! */
181 1,$s/ $//
182 0r copyright.h
183 1,.g/#pragma ident/d
184 w tnames.c
185 1,$d
186 r tinames.c
188 /* tinames.c: Made automatically from caps and maketerm.ed - don't edit me! */
190 1,$s/ $//
191 0r copyright.h
192 1,.g/#pragma ident/d
193 w tinames.c
194 1,$d
195 r tifnames.c
197 /* tifnames.c: Made automatically from caps and maketerm.ed - don't edit me! */
199 1,$s/ $//
200 0r copyright.h
201 1,.g/#pragma ident/d
202 w tifnames.c
203 e bool
204 1,$d
207 typedef char *charptr;
208 struct strs {
209     charptr
211 r strvals
212 1,.s/strs\.//
216 struct _bool_struct {
218 r boolvals
222 struct _num_struct {
224 r numvals
228 w ./tmp/term.h.new
229 e ./tmp/term.h.new
230 g/^     ./s/^   /       _/
231 w ./tmp/term.h.new
232 e boolvals
234 .r numvals
236 1,$v/^  /d
237 1,$s/^  //
238 1,$s/   [^      ].*/    /
239 1,$s/,/ /
240 1,'bs/.*/#define        &       CURB _&/
241 'b+1,'ns/.*/#define     &       CURN _&/
242 1,$g/;/d
243 w ./tmp/term.h.new2
244 e strvals
245 1,$v/^  /d
246 1,$s/^  //
247 1,$s/   [^      ].*/    /
248 1,$s/,/ /
249 1,$s/.*/#define &       CURS _&/
250 1,$s/strs\.//
251 1,$s/strs.\(.\)/strs._\1/
252 1,$g/;/d
254 e ./tmp/term.h.new2
255 $r strvals
256 w ./tmp/term.h.new1
257 e ./tmp/term.h.new1
258 $r ./tmp/term.h.new
259 w ./tmp/term.h.new
260 e ./tmp/term.h.new
261 1,$s/[  ]*$//
262 1,$s/CURS _strs/CURS strs/
263 w ./tmp/term.h.new
264 e ./tmp/term.h.new
265 1;/CURS strs/+100;.,+99s/CURS strs/CURS strs2/
266 .+1,+100s/CURS strs/CURS strs3/
267 .+1,$s/CURS strs/CURS strs4/
268 /^struct strs/+101s/,/;/
272 struct strs2 {
273     charptr
275 +100s/,/;/
279 struct strs3 {
280     charptr
282 +100s/,/;/
286 struct strs4 {
287     charptr
289 1,$s/_Sentinel/Sentinel/
290 w ./tmp/term.h.new
291 e ./tmp/term.h.new
292 g/[     .]_cursor_/s/_cursor_/_crsr_/
293 g/[     .]_delete_/s/_delete_/_dlt_/
294 g/[     .]_enter_/s/_enter_/_entr_/
295 g/[     .]_insert_/s/_insert_/_ins_/
296 g/[     .]_key_/s/_key_/_ky_/
297 g/[     .]_keypad_/s/_keypad_/_kpad_/
298 g/[     .]_label_/s/_label_/_labl_/
299 g/[     .]_memory_/s/_memory_/_mem_/
300 g/[     .]_parm_/s/_parm_/_prm_/
301 g/[     .]_scroll_/s/_scroll_/_scrll_/
302 g/^     _......[,;]                     \//s/,  /,/
303 g/^     _..............[,;]             \//s/,  /,/
304 g/^     _......................[,;]     \//s/,  /,/
305 w ./tmp/term.h.new
306 e ./tmp/term.h.new
307 !# the following lines GO away when Vr2 compat code goes away
308 1;/^#define     auto_left_margin/,/^#define     xon_xoff/s/CURB.*/CUR _b/
309 1;/^#define     auto_left_margin/,/^#define     xon_xoff/w ./tmp/tmp.term.h
310 1;/^#define     auto_left_margin/,/^#define     xon_xoff/d
311 !/usr/bin/print '{printf "\%s\%d\\n", $0,++i}' > ./tmp/tmp.awk
312 .-1r !awk -f ./tmp/tmp.awk < ./tmp/tmp.term.h
313 1;/^#define     columns/,/^#define      width_status_line/s/CURN.*/CUR _c/
314 1;/^#define     columns/,/^#define      width_status_line/w ./tmp/tmp.term.h
315 1;/^#define     columns/,/^#define      width_status_line/d
316 !/usr/bin/print '{printf "\%s\%d\\n", $0,++i}' > ./tmp/tmp.awk
317 .-1r !awk -f ./tmp/tmp.awk < ./tmp/tmp.term.h
318 1;/^#define     back_tab/,/^#define     lab_f8/s/CURS.*/CUR _Vr2_Astrs._s/
319 1;/^#define     back_tab/,/^#define     lab_f8/w ./tmp/tmp.term.h
320 1;/^#define     back_tab/,/^#define     lab_f8/d
321 !/usr/bin/print '{printf "\%s\%d\\n", $0,++i}' > ./tmp/tmp.awk
322 .-1r !awk -f ./tmp/tmp.awk < ./tmp/tmp.term.h
323 1;/^#define     lab_f9/,/^#define       prtr_non/s/CURS.*/CUR _Vr2_Bstrs._s/
324 1;/^#define     lab_f9/,/^#define       prtr_non/w ./tmp/tmp.term.h
325 1;/^#define     lab_f9/,/^#define       prtr_non/d
326 !/usr/bin/print 'BEGIN{i=100}\n{printf "\%s\%d\\n", $0,++i}' > ./tmp/tmp.awk
327 .-1r !awk -f ./tmp/tmp.awk < ./tmp/tmp.term.h
328 !rm -f ./tmp/tmp.term.h ./tmp/tmp.awk
329 w ./tmp/term.h.new
330 e ./tmp/term.h.new
331 !# Vr2 compat code ends here
333 #ifndef _TERM_H
334 #define _TERM_H
337  * term.h - this file is automatically made from caps and maketerm.ed.
338  * Don't make changes directly to term.h.
339  */
341 #ifdef  __cplusplus
342 extern "C" {
343 #endif
348 struct _str_struct {
349         struct strs strs;
350         struct strs2 strs2;
351         struct strs3 strs3;
352         struct strs4 strs4;
355 #define NUM_ATTRIBUTES  9
356 #define UNACCESSIBLE            1
357 #define NO_TERMINAL             2
358 #define CORRUPTED               3
359 #define ENTRY_TOO_LONG          4
360 #define TERMINFO_TOO_LONG       5
361 #define TERM_BAD_MALLOC         6
362 #define NOT_READABLE            7
363 #define _VR2_COMPAT_CODE
364 #ifdef _VR2_COMPAT_CODE
365 struct _Vr2_Astrs {
366     charptr
367         _s1,  _s2,  _s3,  _s4,  _s5,  _s6,  _s7,  _s8,  _s9,  _s10,
368         _s11, _s12, _s13, _s14, _s15, _s16, _s17, _s18, _s19, _s20,
369         _s21, _s22, _s23, _s24, _s25, _s26, _s27, _s28, _s29, _s30,
370         _s31, _s32, _s33, _s34, _s35, _s36, _s37, _s38, _s39, _s40,
371         _s41, _s42, _s43, _s44, _s45, _s46, _s47, _s48, _s49, _s50,
372         _s51, _s52, _s53, _s54, _s55, _s56, _s57, _s58, _s59, _s60,
373         _s61, _s62, _s63, _s64, _s65, _s66, _s67, _s68, _s69, _s70,
374         _s71, _s72, _s73, _s74, _s75, _s76, _s77, _s78, _s79, _s80,
375         _s81, _s82, _s83, _s84, _s85, _s86, _s87, _s88, _s89, _s90,
376         _s91, _s92, _s93, _s94, _s95, _s96, _s97, _s98, _s99, _s100;
379 struct _Vr2_Bstrs {
380     charptr
381         _s101, _s102, _s103, _s104, _s105, _s106, _s107, _s108, _s109, _s110,
382         _s111, _s112, _s113, _s114, _s115, _s116, _s117, _s118, _s119, _s120,
383         _s121, _s122, _s123, _s124, _s125, _s126, _s127, _s128, _s129, _s130,
384         _s131, _s132, _s133, _s134, _s135, _s136, _s137, _s138, _s139, _s140,
385         _s141, _s142, _s143, _s144, _s145;
387 #endif /* _VR2_COMPAT_CODE */
389 typedef struct {
390         char    *_sends;        /* Characters sent when key is pressed */
391         short   _keyval;        /* "char" we pass back to program */
392 } _KEY_MAP;
394 typedef struct {
395         short   foreground;     /* foreground color */
396         short   background;     /* background color */
397         bool    init;           /* TRUE if pair was initialized */
398 } _Color_pair;
401 typedef struct {
402         short   r, g, b;
403 } _Color;
407  * This definition for the term struct allows the boolean, number
408  * and string information to grow in the future and still allow .o
409  * compatibility.
410  */
412 struct term {
413 #ifdef _VR2_COMPAT_CODE
414     char
415         _b1,  _b2,  _b3,  _b4,  _b5,  _b6,  _b7,  _b8,  _b9,  _b10,
416         _b11, _b12, _b13, _b14, _b15, _b16, _b17, _b18, _b19, _b20, _b21;
417     short
418         _c1, _c2, _c3, _c4, _c5, _c6, _c7, _c8;
419         struct _Vr2_Astrs _Vr2_Astrs;
420         struct _Vr2_Bstrs _Vr2_Bstrs;
421 #endif /* _VR2_COMPAT_CODE */
422         short   Filedes;        /* file descriptor being written to */
423         SGTTY   Ottyb,          /* original state of the terminal */
424                 Nttyb;          /* current state of the terminal */
425 #ifdef SYSV
426         SGTTYS  Ottybs,         /* original state of the terminal */
427                 Nttybs;         /* current state of the terminal */
428 #endif
429 #ifdef DIOCSETT
430         struct termcb new, old; /* CB/UNIX virtual terminals */
431 #endif
432 #ifdef LTILDE
433         int newlmode, oldlmode; /* BSD tty driver */
434 #endif
435         /* end of Vr2 structure */
436         struct _bool_struct *_bools;
437         struct _num_struct *_nums;
438         struct _str_struct *_strs;
439         char    *_strtab;
440 #ifdef FIONREAD
441         long    timeout;                /* for BSD halfdelay mode */
442 #endif
443         /* end of Vr3 structure */
444         chtype  sgr_mode;               /* current phys. graphic rendition */
445         chtype  sgr_faked;              /* attributes faked by vidputs */
446         int     _delay;                 /* timeout for inputs */
447         int     _inputfd;               /* input file descriptor */
448         int     _check_fd;              /* typeahead file descriptor */
449         _KEY_MAP        **_keys,        /* key map */
450                         *internal_keys; /* pointer to free key structures */
451         short           _ksz,           /* size of keymap */
452                         _lastkey_ordered, /* where the last ordered key is */
453                         _lastmacro_ordered, /* where last ordered macro is */
454                         _first_macro;
455         bool            funckeystarter[0400];
456                                         /* map of which chars start fn keys */
457         bool            _fl_rawmode,    /* in cbreak(=1) or raw(=2) mode */
458                         fl_typeahdok,   /* ok to use typeahead */
459                         _cursorstate,   /* cursor: 0=invis, 1=norm, 2=vvis */
460                         _iwait;         /* true if input-pending */
461         short           _regs[26];      /* tparm static registers */
462 #define INP_QSIZE       32
463         chtype                          /* a place to put stuff ungetch'ed */
464                         _input_queue[INP_QSIZE];
465         short   _ungotten;      /* # chars ungotten by ungetch() */
466         char            _chars_on_queue; /* # chars on queue */
467 #ifdef _VR3_COMPAT_CODE
468         _ochtype        *_acsmap;
469         chtype          *_acs32map;     /* map of alternate char set chars */
470 #else /* _VR3_COMPAT_CODE */
471         chtype          *_acsmap;       /* map of alternate char set chars */
472 #endif /* _VR3_COMPAT_CODE */
473         char            *turn_on_seq[NUM_ATTRIBUTES];
474         chtype          bit_vector;
475         char            *cursor_seq[3];
476         char            _termname[15];
477         char            *turn_off_seq[3];
478         chtype          check_turn_off;
479         chtype          non_faked_mode;
480         _Color_pair     _cur_pair;
481         _Color_pair     *_pairs_tbl;
482         _Color          *_color_tbl;
485 typedef struct term TERMINAL;
487 /* allow old names for these capabilities */
488 #define beehive_glitch  no_esc_ctlc
489 #define teleray_glitch  dest_tabs_magic_smso
491 extern TERMINAL                 *cur_term;
492 extern struct _bool_struct      *cur_bools;
493 extern struct _num_struct       *cur_nums;
494 extern struct _str_struct       *cur_strs;
496 #ifdef  SINGLE
497 extern TERMINAL                 _first_term;
498 extern struct _bool_struct      _frst_bools;
499 extern struct _num_struct       _frst_nums;
500 extern struct _str_struct       _frst_strs;
502 #define CUR                     _first_term.
503 #define CURB                    _frst_bools.
504 #define CURN                    _frst_nums.
505 #define CURS                    _frst_strs.
506 #define PROGTTY                 _first_term.Nttyb
507 #define SHELLTTY                _first_term.Ottyb
508 #ifdef SYSV
509 #define PROGTTYS                _first_term.Nttybs
510 #define SHELLTTYS               _first_term.Ottybs
511 #endif
512 #else
513 #define CUR                     cur_term->
514 #define CURB                    cur_bools->
515 #define CURN                    cur_nums->
516 #define CURS                    cur_strs->
517 #define PROGTTY                 (cur_term->Nttyb)
518 #define SHELLTTY                (cur_term->Ottyb)
519 #ifdef SYSV
520 #define PROGTTYS                (cur_term->Nttybs)
521 #define SHELLTTYS               (cur_term->Ottybs)
522 #endif
523 #endif
525 #ifndef NOMACROS
526 #define set_curterm     setcurterm
527 #define del_curterm     delterm
528 #else   /* NOMACROS */
530 #ifdef  __STDC__
531 extern  TERMINAL        *set_curterm(TERMINAL *);
532 extern  int             del_curterm(TERMINAL *);
533 #else   /* __STDC__ */
534 extern  TERMINAL        *set_curterm();
535 extern  int             del_curterm();
536 #endif  /* __STDC__ */
538 #endif  /* NOMACROS */
540 extern  short   term_errno;
542 #ifdef SYSV
543 extern  int     prog_istermios;
544 extern  int     shell_istermios;
545 #endif
547 extern  char    term_parm_err[], *term_err_strings[], *Def_term,
548                 *boolnames[], *boolcodes[], *boolfnames[],
549                 *numnames[], *numcodes[], *numfnames[],
550                 *strnames[], *strcodes[], *strfnames[];
552 #ifdef __STDC__
553 extern  TERMINAL        *setcurterm(TERMINAL *);
555 #if defined(_XPG4_2) || defined(_LP64) || defined(__cplusplus)
556 extern  char
557         *tparm(char *, long, long, long, long, long, long, long, long, long);
558 #else
559 /* this is wrong, but is needed for historical reasons */
560 extern  char    *tparm();
561 #endif
563 extern char     *tgoto(char *, int, int),
564                 *tgetstr(char *, char **),
565                 *tigetstr(char *),
566                 *termname(void);
568 extern  int     tgetent(char *, char *), tgetflag(char *), tgetnum(char *),
569                 tputs(char *, int, int (*)(char)), putp(char *),
570                 tigetint(char *), tigetflag(char *), tigetnum(char *),
571                 vidputs(chtype, int (*)(char)), vidattr(chtype);
573 extern  int     resetterm(void), fixterm(void), saveterm(void),
574                 restartterm(char *, int, int *), delterm(TERMINAL *);
576 extern  void    termerr(void), tinputfd(int);
577 #else  /* __STDC__ */
578 extern  TERMINAL        *setcurterm();
579 extern  char    *tparm(), *tgoto(), *tgetstr(), *tigetstr(),
580                 *termname();
582 extern  int     tgetent(), tgetflag(), tgetnum(),
583                 tigetint(), tigetflag(), tigetnum(),
584                 tputs(), putp(), vidputs(), vidattr();
586 extern  int     resetterm(), fixterm(), saveterm(),
587                 restartterm(), delterm();
589 extern  void    termerr(), tinputfd();
590 #endif /* __STDC__ */
592 #ifdef  __cplusplus
594 #endif
596 #endif  /* _TERM_H */
598 0r copyright.h
599 1,.g/#pragma ident/d
600 g/\@(\#)maketerm.ed/s//\@(\#)term.h/
601 1,$s/,\/\*/, \/\*/
602 w term.h
603 !rm -f boolnames boolvals bool numnames numvals num strnames strvals str ./tmp/term.h.new ./tmp/tmp.awk ./tmp/tmp.term.h