home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s053 / 8.ddi / usr / include / sys / char.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-12-08  |  2.3 KB  |  87 lines

  1. /*    Copyright (c) 1990 UNIX System Laboratories, Inc.    */
  2. /*    Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T    */
  3. /*      All Rights Reserved      */
  4.  
  5. /*    THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF         */
  6. /*    UNIX System Laboratories, Inc.                         */
  7. /*    The copyright notice above does not evidence any       */
  8. /*    actual or intended publication of such source code.    */
  9.  
  10. #ident    "@(#)/usr/include/sys/char.h.sl 1.1 4.0 12/08/90 65310 AT&T-USL"
  11.  
  12. #ifndef    _SYS_CHAR_H
  13. #define    _SYS_CHAR_H
  14.  
  15. #define    IBSIZE    16        /* "standard" input data block size */
  16. #define    OBSIZE    64        /* "standard" output data block size */
  17. #define    EBSIZE    16        /* "standard" echo data block size */
  18.  
  19. #ifndef MIN
  20. #define    MIN(a,b) (((a)<(b))?(a):(b))
  21. #endif
  22.  
  23. #define    MAXCHARPSZ    1024
  24. #define    CHARPSZ    64
  25.  
  26. typedef struct copystate {
  27.     ulong cpy_arg;
  28.     ulong cpy_state;
  29. } copy_state_t;
  30.  
  31. #define CHR_IN_0    0x0
  32. #define CHR_IN_1    0x1
  33. #define CHR_OUT_0    0xF000
  34. #define CHR_OUT_1    0xF001
  35.  
  36.  
  37. struct char_stat {
  38.     queue_t *c_rqp;        /* saved pointer to read queue */
  39.     queue_t *c_wqp;        /* saved pointer to write queue */
  40.     unsigned long c_state;    /* internal state of tty module */
  41.     mblk_t *c_rmsg;        /* ptr to read-side message being built */
  42.     mblk_t *c_wmsg;        /* ptr to write-side message being built */
  43.     charmap_t *c_map_p;    /* pointer to shared charmap_t with principal
  44.                    stream */
  45.     scrn_t *c_scrmap_p;
  46.     xqInfo *c_xqinfo;
  47.     struct v86dat *c_stashed_p_v86;
  48.     proc_t *c_rawprocp;
  49.     pid_t c_rawpid;
  50.     kbstate_t c_kbstat;    /* pointer to keyboard state struct */
  51.     copy_state_t c_copystate;
  52.     xqEvent c_xevent;
  53.     struct mouseinfo c_mouseinfo; /* the next 3 for mouse processing */
  54.     mblk_t *c_heldmseread;
  55.     int c_oldbutton;
  56. #ifdef MERGE386
  57.     void (*c_merge_kbd_ppi)(); /* Merge keyboard ppi function pointer */
  58.     void (*c_merge_mse_ppi)(); /* Merge mouse ppi function pointer */
  59.     struct mcon *c_merge_mcon; /* pointer to merge console structure */
  60. #endif /* MERGE386 */
  61. };
  62.  
  63. typedef struct char_stat charstat_t;
  64.  
  65. #ifdef MERGE386
  66. struct chr_merge {
  67.     void (*merge_kbd_ppi)();
  68.     void (*merge_mse_ppi)();
  69.     struct mcon *merge_mcon;
  70. };
  71.  
  72. typedef struct chr_merge chr_merge_t;
  73. #endif /* MERGE386 */
  74.     
  75.  
  76. /*
  77.  * Internal state bits.
  78.  */
  79.  
  80. #define    C_RAWMODE    0x00000001
  81. #define C_XQUEMDE    0x00000002
  82. #define C_FLOWON    0x00000004
  83. #define    C_MSEBLK    0x00000008
  84. #define C_MSEINPUT    0x00000010
  85.  
  86. #endif /* _SYS_CHAR_H */
  87.