patch lastdel to 100 temporarily
[unix-history] / usr / src / sys / vax / if / if_ilreg.h
CommitLineData
ac5a9f24
BF
1/* if_ilreg.h 4.1 82/05/21 */
2
3/*
4 * Interlan Ethernet Communications Controller interface
5 */
6struct ildevice {
7 short il_csr; /* Command and Status Register */
8 short il_bar; /* Buffer Address Register */
9 short il_bcr; /* Byte Count Register */
10};
11
12/*
13 * Command and status bits
14 */
15#define IL_EUA 0xC000 /* Extended Unibus Address */
16#define IL_CMD 0x3f00 /* Command Function Code */
17#define IL_CDONE 0x0080 /* Command Done */
18#define IL_CIE 0x0040 /* Command Interrupt Enable */
19#define IL_RDONE 0x0020 /* Receive DMA Done */
20#define IL_RIE 0x0010 /* Receive Interrupt Enable */
21#define IL_STATUS 0x000f /* Command Status Code */
22
23#define IL_BITS "\10\10CDONE\7CIE\6RDONE\5RIE"
24
25/* Command definitions */
26
27#define ILC_MLPBAK 0x0100 /* Set Module Interface Loopback Mode */
28#define ILC_ILPBAK 0x0200 /* Set Internal Loopback Mode */
29#define ILC_CLPBAK 0x0300 /* Clear Loopback Mode */
30#define ILC_PRMSC 0x0400 /* Set Promiscuous Receive Mode */
31#define ILC_CLPRMSC 0x0500 /* Clear Promiscuous Receive Mode */
32#define ILC_RCVERR 0x0600 /* Set Receive-On-Error Bit */
33#define ILC_CRCVERR 0x0700 /* Clear Receive-On-Error Bit */
34#define ILC_OFFLINE 0x0800 /* Go Offline */
35#define ILC_ONLINE 0x0900 /* Go Online */
36#define ILC_DIAG 0x0a00 /* Run On-board Diagnostics */
37#define ILC_STAT 0x1800 /* Report and Reset Statistics */
38#define ILC_DELAYS 0x1900 /* Report Collision Delay Times */
39#define ILC_RCV 0x2000 /* Supply Receive Buffer */
40#define ILC_LDXMIT 0x2800 /* Load Transmit Data */
41#define ILC_XMIT 0x2900 /* Load Transmit Data and Send */
42#define ILC_LDGRPS 0x2a00 /* Load Group Addresses */
43#define ILC_RMGRPS 0x2b00 /* Delete Group Addresses */
44#define ILC_FLUSH 0x3000 /* Flush Receive BAR/BCR Queue */
45#define ILC_RESET 0x3f00 /* Reset */
46
47/*
48 * Error codes
49 */
50char *ilerrs[] = {
51 "success", /* 0 */
52 "success with retries", /* 01 */
53 "illegal command", /* 02 */
54 "inappropriate command", /* 03 */
55 "failure", /* 04 */
56 "buffer size exceeded", /* 05 */
57 "frame too small", /* 06 */
58 0, /* 07 */
59 "excessive collisions", /* 010 */
60 0, /* 011 */
61 "buffer alignment error", /* 012 */
62 0, /* 013 */
63 0, /* 014 */
64 0, /* 015 */
65 0, /* 016 */
66 "non-existent memory" /* 017 */
67};
68
69char *ildiag[] = {
70 "success", /* 0 */
71 "checksum error", /* 1 */
72 "NM10 dma error", /* 2 */
73 "transmitter error", /* 3 */
74 "receiver error", /* 4 */
75 "loopback failure", /* 5 */
76};