home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume26 / mytinfo / part01 / term.tail < prev    next >
Text File  |  1992-12-26  |  2KB  |  116 lines

  1. /* 
  2.  * 92/02/01 07:30:28
  3.  * @(#) mytinfo term.tail 3.2 92/02/01 public domain, By Ross Ridge
  4.  *
  5.  */
  6.  
  7. #ifdef _USE_TERMIO
  8. #ifndef ICANON
  9. #include <termio.h>
  10. #endif
  11. #if defined(_USE_WINSZ) && defined(xenix)
  12. #include <sys/stream.h>
  13. #include <sys/ptem.h>
  14. #endif
  15. #endif
  16.  
  17. #ifdef _USE_SGTTY
  18. #ifndef CBREAK
  19. #include <sgtty.h>
  20. #endif
  21. #endif
  22.  
  23. typedef struct _terminal {
  24.     int fd;
  25. #ifdef _USE_SMALLMEM
  26.     unsigned short baudrate;
  27.     unsigned pad:1, xon:1, termcap:1;
  28. #else
  29.     int pad;
  30.     int xon;
  31.     int termcap;
  32.     long baudrate;
  33. #endif
  34.     char padch;
  35.     short true_lines, true_columns;
  36.     struct strbuf {
  37.         struct strbuf *next;
  38. #ifdef _USE_SMALLMEM
  39.         short len;
  40. #else
  41.         int len;
  42. #endif
  43.         char buf[_MAX_CHUNK];
  44.     } *strbuf;
  45.     char *name, *name_long, *name_all;
  46. #ifdef _USE_SGTTY
  47.     struct sgtty_str {
  48.         struct sgttyb v6;
  49. #ifdef TIOCGETC
  50.         struct tchars v7;
  51. #endif
  52. #ifdef TIOCLGET
  53.         int bsd;
  54. #endif
  55. #ifdef TIOCGLTC
  56.         struct ltchars bsd_new;
  57. #endif
  58.     } prog_mode, shell_mode;
  59. #else    /* _USE_SGTTY */
  60. #ifdef _USE_TERMIO
  61.     struct termio prog_mode, shell_mode;
  62. #endif 
  63. #endif    /* else _USE_SGTTY */
  64. #ifdef _USE_WINSZ
  65. #ifdef TIOCGWINSZ
  66.     struct winsize prog_winsz, shell_winsz;
  67. #endif
  68. #endif
  69.     char bools[NUM_OF_BOOLS];
  70.     short nums[NUM_OF_NUMS];
  71.     char *strs[NUM_OF_STRS];
  72. } TERMINAL;
  73.  
  74. #ifndef _CUR_TERM
  75. #ifdef SINGLE
  76. #define _CUR_TERM _term_buf
  77. #else
  78. #define _CUR_TERM (*cur_term)
  79. #endif
  80. #endif
  81.  
  82. extern TERMINAL *cur_term;
  83. extern TERMINAL _term_buf;
  84.  
  85. #ifdef USE_PROTOTYPES
  86. extern char *tparm(char *, ...);
  87. extern int setupterm(char *, int, int *), set_curterm(TERMINAL *);
  88. extern int del_curterm(TERMINAL *), tputs(char *, int, int (*)());
  89. extern int putp(char *);
  90. extern int tigetflag(char *), tigetnum(char *);
  91. extern char *tigetstr(char *);
  92. extern int def_prog_mode(void), def_shell_mode(void);
  93. extern int reset_prog_mode(void), reset_shell_mode(void);
  94. #else
  95. extern char *tparm();
  96. extern int setupterm(), set_curterm();
  97. extern int del_curterm(), tputs();
  98. extern int putp();
  99. extern int tigetflag(), tigetnum();
  100. extern char *tigetstr();
  101. extern int def_prog_mode(), def_shell_mode();
  102. extern int reset_prog_mode(), reset_shell_mode();
  103. #endif
  104.  
  105. extern char *boolnames[], *boolcodes[], *boolfnames[];
  106. extern char *numnames[], *numcodes[], *numfnames[];
  107. extern char *strnames[], *strcodes[], *strfnames[];
  108.  
  109. #ifndef OK
  110. #undef ERR
  111. #define OK (0)
  112. #define ERR (-1)
  113. #endif
  114.  
  115. #endif /* _TERM_H_ */
  116.