|
|
1.1 root 1: #define RCSILREGHDR "$Header: RCS/ilreg.h.v Revision 6.1 82/09/06 13:37:25 gurwitz Exp$"
2:
3: /*
4: **********************************************************************
5: * HISTORY
6: * 25-May-83 Mike Accetta (mja) at Carnegie-Mellon University
7: * Enclosed ilerrs[] and ildiag[] declarations under NCHIL conditional
8: * compilation since these definitions are also provided within the chaosnet
9: * chncp/chil device driver and shouldn't be picked up from here in that
10: * case (V3.06j).
11: *
12: **********************************************************************
13: */
14:
15: /*
16: * Interlan Ethernet Communications Controller interface
17: */
18: struct ildevice {
19: short il_csr; /* Command and Status Register */
20: short il_bar; /* Buffer Address Register */
21: short il_bcr; /* Byte Count Register */
22: };
23:
24: /*
25: * Command and status bits
26: */
27: #define IL_EUA 0xC000 /* Extended Unibus Address */
28: #define IL_CMD 0x3f00 /* Command Function Code */
29: #define IL_CDONE 0x0080 /* Command Done */
30: #define IL_CIE 0x0040 /* Command Interrupt Enable */
31: #define IL_RDONE 0x0020 /* Receive DMA Done */
32: #define IL_RIE 0x0010 /* Receive Interrupt Enable */
33: #define IL_STATUS 0x000f /* Command Status Code */
34:
35: #define IL_BITS "\10\10CDONE\7CIE\6RDONE\5RIE"
36:
37: /* Command definitions */
38:
39: #define ILC_MLPBAK 0x0100 /* Set Module Interface Loopback Mode */
40: #define ILC_ILPBAK 0x0200 /* Set Internal Loopback Mode */
41: #define ILC_CLPBAK 0x0300 /* Clear Loopback Mode */
42: #define ILC_PRMSC 0x0400 /* Set Promiscuous Receive Mode */
43: #define ILC_CLPRMSC 0x0500 /* Clear Promiscuous Receive Mode */
44: #define ILC_RCVERR 0x0600 /* Set Receive-On-Error Bit */
45: #define ILC_CRCVERR 0x0700 /* Clear Receive-On-Error Bit */
46: #define ILC_OFFLINE 0x0800 /* Go Offline */
47: #define ILC_ONLINE 0x0900 /* Go Online */
48: #define ILC_DIAG 0x0a00 /* Run On-board Diagnostics */
49: #define ILC_STAT 0x1800 /* Report and Reset Statistics */
50: #define ILC_DELAYS 0x1900 /* Report Collision Delay Times */
51: #define ILC_RCV 0x2000 /* Supply Receive Buffer */
52: #define ILC_LDXMIT 0x2800 /* Load Transmit Data */
53: #define ILC_XMIT 0x2900 /* Load Transmit Data and Send */
54: #define ILC_LDGRPS 0x2a00 /* Load Group Addresses */
55: #define ILC_RMGRPS 0x2b00 /* Delete Group Addresses */
56: #define ILC_FLUSH 0x3000 /* Flush Receive BAR/BCR Queue */
57: #define ILC_RESET 0x3f00 /* Reset */
58:
59: #if NCHIL <= 0
60: /*
61: * Error codes
62: */
63: char *ilerrs[] = {
64: "success", /* 0 */
65: "success with retries", /* 01 */
66: "illegal command", /* 02 */
67: "inappropriate command", /* 03 */
68: "failure", /* 04 */
69: "buffer size exceeded", /* 05 */
70: "frame too small", /* 06 */
71: 0, /* 07 */
72: "excessive collisions", /* 010 */
73: 0, /* 011 */
74: "buffer alignment error", /* 012 */
75: 0, /* 013 */
76: 0, /* 014 */
77: 0, /* 015 */
78: 0, /* 016 */
79: "non-existent memory" /* 017 */
80: };
81:
82: char *ildiag[] = {
83: "success", /* 0 */
84: "checksum error", /* 1 */
85: "NM10 dma error", /* 2 */
86: "transmitter error", /* 3 */
87: "receiver error", /* 4 */
88: "loopback failure", /* 5 */
89: };
90: #endif NCHIL
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.