home *** CD-ROM | disk | FTP | other *** search
- /*
- Header information for Decnet driver
-
- Quincey Koziol, Sept. 6, 1990
- */
-
- #ifndef DECNET_H
-
- /* Declarations for DEC's Datalink Driver (from VAXmate Technical Manual) */
-
- struct dcb { /* DEC Datalink Communication Block */
- int portal_id; /* 0 Portal id for this request */
- unsigned char source_addr[6]; /* 2 Source ethernet address */
- unsigned char dest_addr[6]; /* 8 Destination ethernet address */
- unsigned char *bh; /* 14 Pointer to buffer header */
- int bl; /* 18 Buffer length */
- int operation; /* 20 Used by each function differently */
- unsigned char pad; /* 22 Pad flag for open */
- unsigned char mode; /* 23 Mode flag for open */
- void (*line_state)(); /* 24 Line state change routine */
- void (*rcv_callback)(); /* 28 Received data routine */
- void (*xmit_callback)(); /* 32 Transmitted data routine */
- unsigned char max_outstanding; /* 36 Nbr of outstanding xmits/receives */
- unsigned char ptype[2]; /* 37 Protocol type */
- int buffers_lost; /* 39 Nbr of buffers lost */
- }; /* 40 */
-
- struct ucb { /* DEC User Callback Block */
- int portal_id; /* 0 Portal id from the request */
- unsigned char dest[6]; /* 2 Dest ethernet addr from buffer header */
- unsigned char source[6]; /* 8 Source ethernet addr from buffer header */
- unsigned char *buffer; /* 14 Pointer to client buffer being returned */
- int bl; /* 18 Null or length of received message */
- unsigned char buffer_status; /* 20 COMPLETE or ERROR */
- unsigned char buffer_reason; /* 21 ERROR reason or LINE_STATE_CHANGE */
- }; /* 22 */
-
- #define CBASIZE 8 /* Must be a power of 2 */
- #define CBAMASK 7 /* CBASIZE-1 */
-
- struct cba { /* Callback Address array */
- int inx; /* Index to put next ucb into */
- int outx; /* Index to take next ucb from */
- struct ucb uc[CBASIZE]; /* Copy of ucbs */
- };
-
- struct userdcb { /* dcb + user info about it */
- unsigned int portal_id; /* Portal id (from dll_open) */
- unsigned int ptype; /* Protocol (in memory byte order) */
- struct dcb d; /* The actual dcb */
- };
-
- #define DECNET_H
- #endif