home *** CD-ROM | disk | FTP | other *** search
-
- /*
- * CHANNEL.H
- *
- * DNET (c)Copyright 1988, Matthew Dillon, All Rights Reserved.
- *
- * Channel structures for SCMD_* channel commands.
- */
-
- #ifndef DNET_H
- typedef unsigned char ubyte;
- typedef unsigned short uword;
- typedef unsigned long ulong;
- typedef struct MsgPort PORT;
- typedef struct IOStdReq IOR;
- #endif
-
- #define CSWITCH struct _CSWITCH
- #define COPEN struct _COPEN
- #define CCLOSE struct _CCLOSE
- #define CACKCMD struct _CACKCMD
- #define CEOFCMD struct _CEOFCMD
- #define CIOCTL struct _CIOCTL
-
- CSWITCH { /* SWITCH current data channel */
- ubyte chanh;
- ubyte chanl;
- };
-
- COPEN { /* OPEN port on channel */
- ubyte chanh;
- ubyte chanl;
- ubyte porth;
- ubyte portl;
- ubyte error; /* error return 0=ok */
- ubyte pri;
- };
-
- CCLOSE { /* CLOSE a channel */
- ubyte chanh;
- ubyte chanl;
- };
-
- CACKCMD { /* Acknowledge an open/close */
- ubyte chanh;
- ubyte chanl;
- ubyte error; /* ERETRY ENOPORT ECLOSE1 ECLOSE2 */
- ubyte filler;
- };
-
- CEOFCMD { /* Send [R/W] EOF */
- ubyte chanh;
- ubyte chanl;
- ubyte flags;
- ubyte filler;
- };
-
- CIOCTL {
- ubyte chanh; /* channel */
- ubyte chanl;
- ubyte cmd; /* ioctl command */
- ubyte valh; /* ioctl value */
- ubyte vall;
- ubyte valaux; /* auxillary field */
- };
-
- #define CIO_SETROWS 1 /* PTY's only */
- #define CIO_SETCOLS 2 /* PTY's only */
- #define CIO_STOP 3 /* any channel, flow control */
- #define CIO_START 4 /* any channel, flow control */
- #define CIO_FLUSH 5
-
- #define CHAN struct _CHAN
-
- CHAN {
- PORT *port;
- IOR *ior;
- ubyte state;
- ubyte flags;
- char pri; /* transmit priority */
- };
-
-