home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 239.lha / amiga / src / dnet / channel.h next >
C/C++ Source or Header  |  1989-05-02  |  2KB  |  80 lines

  1.  
  2. /*
  3.  *  CHANNEL.H
  4.  *
  5.  *  DNET (c)Copyright 1988, Matthew Dillon, All Rights Reserved.
  6.  *
  7.  *  Channel structures for SCMD_* channel commands.
  8.  */
  9.  
  10. #ifndef DNET_H
  11. typedef struct IOStdReq IOR;
  12. #endif
  13.  
  14. #define CSWITCH struct _CSWITCH
  15. #define COPEN    struct _COPEN
  16. #define CCLOSE    struct _CCLOSE
  17. #define CACKCMD struct _CACKCMD
  18. #define CEOFCMD struct _CEOFCMD
  19. #define CIOCTL    struct _CIOCTL
  20.  
  21. CSWITCH {        /*  SWITCH current data channel */
  22.     ubyte   chanh;
  23.     ubyte   chanl;
  24. };
  25.  
  26. COPEN {         /*  OPEN port on channel    */
  27.     ubyte   chanh;
  28.     ubyte   chanl;
  29.     ubyte   porth;
  30.     ubyte   portl;
  31.     ubyte   error;    /*  error return 0=ok        */
  32.     ubyte   pri;
  33. };
  34.  
  35. CCLOSE {        /*  CLOSE a channel        */
  36.     ubyte   chanh;
  37.     ubyte   chanl;
  38. };
  39.  
  40. CACKCMD {        /*  Acknowledge an open/close        */
  41.     ubyte   chanh;
  42.     ubyte   chanl;
  43.     ubyte   error;    /*  ERETRY ENOPORT ECLOSE1 ECLOSE2  */
  44.     ubyte   filler;
  45. };
  46.  
  47. CEOFCMD {        /*  Send [R/W] EOF        */
  48.     ubyte   chanh;
  49.     ubyte   chanl;
  50.     ubyte   flags;
  51.     ubyte   filler;
  52. };
  53.  
  54. CIOCTL {
  55.     ubyte   chanh;    /* channel            */
  56.     ubyte   chanl;
  57.     ubyte   cmd;    /* ioctl command        */
  58.     ubyte   valh;    /* ioctl value            */
  59.     ubyte   vall;
  60.     ubyte   valaux;    /* auxillary field        */
  61. };
  62.  
  63. #define CIO_SETROWS    1    /* PTY's only                   */
  64. #define CIO_SETCOLS    2    /* PTY's only                   */
  65. #define CIO_STOP    3    /* any channel, flow control    */
  66. #define CIO_START    4    /* any channel, flow control    */
  67. #define CIO_FLUSH    5
  68. #define CIO_MODE    6    /* b0=txlate13->10 b1=localecho b2=LF=CRLF */
  69.  
  70. #define CHAN    struct _CHAN
  71.  
  72. CHAN {
  73.     PORT    *port;
  74.     IOR     *ior;
  75.     ubyte   state;
  76.     ubyte   flags;
  77.     char    pri;    /*  transmit priority    */
  78. };
  79.  
  80.