home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / DRIVERS / SRC / ptys.lzh / ptyman.h < prev    next >
Text File  |  1990-04-25  |  5KB  |  113 lines

  1. /*       This software is copyright (C) 1989 by Reimer Mellin        *
  2. *                                                                    *
  3. *        Permission is granted to reproduce and distribute           *
  4. *        this package by any means so long as no fee is charged      *
  5. *        above a nominal handling fee and so long as this            *
  6. *        notice is always included in the copies.                    *
  7. *        Commerical use or incorporation into commercial software    *
  8. *        is prohibited without the written permission of the         *
  9. *        author.                                                     *
  10. *                                                                    *
  11. *        Other rights are reserved except as explicitly granted      *
  12. *        by written permission of the author.                        *
  13. *                Reimer Mellin                                       *
  14. *                                                                    *
  15. *                Sulenstr.8                                          *
  16. *                D-8000 Muenchen 71 (Federal Republic of Germany)    *
  17. *                                                                    *
  18. *           EMAIL:                                                   *
  19. *                mellin@lan.informatik.tu-muenchen.dbp.de            *
  20. *                ram@altger.UUCP                                     *
  21. *                ....!pyramid!tmpmbx!doitcr!ramsys!ram (home)        *
  22. *                                                                    */
  23. /*   */
  24.  
  25. /*
  26.  * $Id: ptyman.h_v 1.2.1.1 89/09/04 13:14:51 ram Exp $
  27.  *
  28.  * $Log:    ptyman.h_v $
  29.  * Revision 1.2.1.1  89/09/04  13:14:51  ram
  30.  * added some comments
  31.  * 
  32.  * Revision 1.2  89/08/31  12:35:20  ram
  33.  * *** empty log message ***
  34.  * 
  35.  *
  36.  */
  37.  
  38. #ifndef _sysio
  39. #include <sysio.h>
  40. #endif
  41.  
  42. /*
  43.  * PtyFilemanager PD definitions
  44.  */
  45.  
  46. typedef struct ptystatic {
  47.   sysioStatic   v_sysio;            /* kernel static storage variables */
  48. } *Ptystatic;
  49.  
  50. struct ptybuf {
  51.         union pathdesc *lpd;            /* pd of last active process */
  52.         u_char         *buf;            /* buffer */
  53.         u_char         *wptr;           /* write-ptr of buffer */
  54.         u_char         *rptr;           /* read-ptr of buffer */
  55.         u_long          size;           /* buffer-size */
  56.         u_short         rpid;           /* pid to wake if read is pending */
  57.         u_short         rsig;           /* signal to send */
  58.         u_short         wpid;           /* pid to wake if write is pending */
  59.         u_short         wsig;           /* signal to send */
  60. };
  61.  
  62. struct pty_pvt {
  63.         union pathdesc *pd_pty ;        /* the server-pty .. */
  64.         struct ptybuf   pd_rbuf;        /* input-buffer */
  65.         struct ptybuf   pd_wbuf;        /* output-buffer */
  66.         u_long          pd_flags;       /* Flags ... */
  67.         u_short         pd_esig;        /* for SS_DCOn, SS_DCOff, SIGWAKE,SIGHUP */
  68.         u_short         pd_line;        /* for page-pause */
  69.         u_char          pd_typ;         /* pty or tty ? */
  70. };
  71.  
  72. struct pty_opt {
  73.     u_char        pd_dtp;            /* device type */
  74.     u_char        pd_upc;            /* case (0=both, 1=upper only) */
  75.     u_char        pd_bso;            /* backsp (0=bse, 1=bse,sp,bse) */
  76.     u_char        pd_dlo;            /* delete (0=bse over line, 1=crlf) */
  77.     u_char        pd_eko;            /* echo (0=no echo) */
  78.     u_char        pd_alf;            /* autolf (0=no auto lf) */
  79.     u_char        pd_nul;            /* end of line null count */
  80.     u_char        pd_pau;            /* pause (0=no end of page pause) */
  81.     u_char        pd_pag;            /* lines per page */
  82.     u_char        pd_bsp;            /* backspace character */
  83.     u_char        pd_del;            /* delete line character */
  84.     u_char        pd_eor;            /* end of record char (read only) */
  85.     u_char        pd_eof;            /* end of file char */
  86.     u_char        pd_rpr;            /* reprint line char */
  87.     u_char        pd_dup;            /* dup last line char */
  88.     u_char        pd_psc;            /* pause char */
  89.     u_char        pd_int;            /* kbd intr char (ctl c) */
  90.     u_char        pd_qut;            /* kbd quit char (ctl q) */
  91.     u_char        pd_bse;            /* backspace echo character */
  92.     u_char        pd_ovf;            /* line overflow char (bell) */
  93.     u_char        pd_par;            /* parity code */
  94.     u_char        pd_bau;            /* acia baud rate (color computer) */
  95.     short        pd_d2p;            /* dev2 output name offset */
  96.     u_char        pd_xon;            /* x-on char */
  97.     u_char        pd_xoff;        /* x-off char */
  98.     u_char        pd_Tab;            /* Tab character (0=none) */
  99.     u_char        pd_Tabs;        /* Tab field size */
  100.     Devicetbl    pd_tbl;            /* Device table addr (copy) */
  101.     u_short        pd_Col;            /* current column number */
  102.     u_char        pd_err;            /* most recent I/O error status */
  103.         u_char          dummy[96-35];           /* reserved ... */
  104.         u_char          pd_name[28];            /* the name of the PTY */
  105.         u_long          pd_namlen;              /* length of name */
  106. };
  107.  
  108. #define PTYMAN    1
  109. #define    ptypvt    path.fm_pvt.pty
  110. #define ptyopt    path.fm_opt.pty
  111.  
  112.  
  113.