1: /*
   2:  * Copyright (c) 1982, 1986 Regents of the University of California.
   3:  * All rights reserved.  The Berkeley software License Agreement
   4:  * specifies the terms and conditions for redistribution.
   5:  *
   6:  *	@(#)if_ilreg.h	7.1 (Berkeley) 6/5/86
   7:  */
   8: 
   9: /*
  10:  * Interlan Ethernet Communications Controller interface
  11:  */
  12: struct ildevice {
  13:     short   il_csr;     /* Command and Status Register */
  14:     short   il_bar;     /* Buffer Address Register */
  15:     short   il_bcr;     /* Byte Count Register */
  16: };
  17: 
  18: /*
  19:  * Command and status bits
  20:  */
  21: #define IL_EUA      0xc000      /* Extended Unibus Address */
  22: #define IL_CMD      0x3f00      /* Command Function Code */
  23: #define IL_CDONE    0x0080      /* Command Done */
  24: #define IL_CIE      0x0040      /* Command Interrupt Enable */
  25: #define IL_RDONE    0x0020      /* Receive DMA Done */
  26: #define IL_RIE      0x0010      /* Receive Interrupt Enable */
  27: #define IL_STATUS   0x000f      /* Command Status Code */
  28: 
  29: #define IL_BITS     "\20\10CDONE\7CIE\6RDONE\5RIE"
  30: 
  31: /* command definitions */
  32: #define ILC_MLPBAK  0x0100      /* Set Module Interface Loopback Mode */
  33: #define ILC_ILPBAK  0x0200      /* Set Internal Loopback Mode */
  34: #define ILC_CLPBAK  0x0300      /* Clear Loopback Mode */
  35: #define ILC_PRMSC   0x0400      /* Set Promiscuous Receive Mode */
  36: #define ILC_CLPRMSC 0x0500      /* Clear Promiscuous Receive Mode */
  37: #define ILC_RCVERR  0x0600      /* Set Receive-On-Error Bit */
  38: #define ILC_CRCVERR 0x0700      /* Clear Receive-On-Error Bit */
  39: #define ILC_OFFLINE 0x0800      /* Go Offline */
  40: #define ILC_ONLINE  0x0900      /* Go Online */
  41: #define ILC_DIAG    0x0a00      /* Run On-board Diagnostics */
  42: #define ILC_ISA     0x0d00      /* Set Insert Source Address Mode */
  43: #define ILC_CISA    0x0e00      /* Clear Insert Source Address Mode */
  44: #define ILC_DEFPA   0x0f00      /* Set Physical Address to Default */
  45: #define ILC_ALLMC   0x1000      /* Set Receive All Multicast Packets */
  46: #define ILC_CALLMC  0x1100      /* Clear Receive All Multicast */
  47: #define ILC_STAT    0x1800      /* Report and Reset Statistics */
  48: #define ILC_DELAYS  0x1900      /* Report Collision Delay Times */
  49: #define ILC_RCV     0x2000      /* Supply Receive Buffer */
  50: #define ILC_LDXMIT  0x2800      /* Load Transmit Data */
  51: #define ILC_XMIT    0x2900      /* Load Transmit Data and Send */
  52: #define ILC_LDGRPS  0x2a00      /* Load Group Addresses */
  53: #define ILC_RMGRPS  0x2b00      /* Delete Group Addresses */
  54: #define ILC_LDPA    0x2c00      /* Load Physical Address */
  55: #define ILC_FLUSH   0x3000      /* Flush Receive BAR/BCR Queue */
  56: #define ILC_RESET   0x3f00      /* Reset */
  57: 
  58: /*
  59:  * Error codes found in the status bits of the csr.
  60:  */
  61: #define ILERR_SUCCESS       0   /* command successful */
  62: #define ILERR_RETRIES       1   /* " " with retries */
  63: #define ILERR_BADCMD        2   /* illegal command */
  64: #define ILERR_INVCMD        3   /* invalid command */
  65: #define ILERR_RECVERR       4   /* receiver error */
  66: #define ILERR_BUFSIZ        5   /* buffer size too big */
  67: #define ILERR_FRAMESIZ      6   /* frame size too small */
  68: #define ILERR_COLLISIONS    8   /* excessive collisions */
  69: #define ILERR_BUFALIGNMENT  10  /* buffer not word aligned */
  70: #define ILERR_NXM       15  /* non-existent memory */
  71: 
  72: #define NILERRS         16
  73: #ifdef ILERRS
  74: char *ilerrs[NILERRS] = {
  75:     "success",          /*  0 */
  76:     "success with retries",     /*  1 */
  77:     "illegal command",      /*  2 */
  78:     "inappropriate command",    /*  3 */
  79:     "failure",          /*  4 */
  80:     "buffer size exceeded",     /*  5 */
  81:     "frame too small",      /*  6 */
  82:     0,              /*  7 */
  83:     "excessive collisions",     /*  8 */
  84:     0,              /*  9 */
  85:     "buffer alignment error",   /* 10 */
  86:     0,              /* 11 */
  87:     0,              /* 12 */
  88:     0,              /* 13 */
  89:     0,              /* 14 */
  90:     "non-existent memory"       /* 15 */
  91: };
  92: #endif
  93: 
  94: /*
  95:  * Diagnostics codes.
  96:  */
  97: #define ILDIAG_SUCCESS      0   /* no problems */
  98: #define ILDIAG_CHKSUMERR    1   /* ROM/RAM checksum error */
  99: #define ILDIAG_DMAERR       2   /* DMA not working */
 100: #define ILDIAG_XMITERR      3   /* xmit circuitry failure */
 101: #define ILDIAG_RECVERR      4   /* rcvr circuitry failure */
 102: #define ILDIAG_LOOPBACK     5   /* loopback test failed */
 103: 
 104: #define NILDIAGS        6
 105: #ifdef ILDIAGS
 106: char *ildiag[NILDIAGS] = {
 107:     "success",          /* 0 */
 108:     "checksum error",       /* 1 */
 109:     "NM10 dma error",       /* 2 */
 110:     "transmitter error",        /* 3 */
 111:     "receiver error",       /* 4 */
 112:     "loopback failure",     /* 5 */
 113: };
 114: #endif
 115: 
 116: /*
 117:  * Frame status bits, returned in frame status byte
 118:  * at the top of each received packet.
 119:  */
 120: #define ILFSTAT_C   0x1     /* CRC error */
 121: #define ILFSTAT_A   0x2     /* alignment error */
 122: #define ILFSTAT_L   0x4     /* 1+ frames lost just before */

Defined variables

ildiag defined in line 106; never used
ilerrs defined in line 74; never used

Defined struct's

ildevice defined in line 12; used 30 times

Defined macros

ILC_ALLMC defined in line 45; never used
ILC_CALLMC defined in line 46; never used
ILC_CISA defined in line 43; used 1 times
ILC_CLPBAK defined in line 34; never used
ILC_CLPRMSC defined in line 36; never used
ILC_CRCVERR defined in line 38; never used
ILC_DEFPA defined in line 44; never used
ILC_DELAYS defined in line 48; never used
ILC_DIAG defined in line 41; never used
ILC_FLUSH defined in line 55; never used
ILC_ILPBAK defined in line 33; never used
ILC_ISA defined in line 42; never used
ILC_LDGRPS defined in line 52; never used
ILC_LDPA defined in line 54; used 1 times
ILC_LDXMIT defined in line 50; never used
ILC_MLPBAK defined in line 32; never used
ILC_OFFLINE defined in line 39; used 1 times
ILC_ONLINE defined in line 40; used 1 times
ILC_PRMSC defined in line 35; never used
ILC_RCV defined in line 49; used 3 times
ILC_RCVERR defined in line 37; never used
ILC_RESET defined in line 56; used 3 times
ILC_RMGRPS defined in line 53; never used
ILC_STAT defined in line 47; used 3 times
ILC_XMIT defined in line 51; used 1 times
ILDIAG_CHKSUMERR defined in line 98; never used
ILDIAG_DMAERR defined in line 99; never used
ILDIAG_LOOPBACK defined in line 102; never used
ILDIAG_RECVERR defined in line 101; never used
ILDIAG_SUCCESS defined in line 97; never used
ILDIAG_XMITERR defined in line 100; never used
ILERR_BADCMD defined in line 63; never used
ILERR_BUFALIGNMENT defined in line 69; never used
ILERR_BUFSIZ defined in line 66; never used
ILERR_COLLISIONS defined in line 68; never used
ILERR_FRAMESIZ defined in line 67; never used
ILERR_INVCMD defined in line 64; never used
ILERR_NXM defined in line 70; never used
ILERR_RECVERR defined in line 65; never used
ILERR_RETRIES defined in line 62; used 1 times
ILERR_SUCCESS defined in line 61; used 1 times
ILFSTAT_A defined in line 121; used 1 times
ILFSTAT_C defined in line 120; used 1 times
ILFSTAT_L defined in line 122; never used
IL_BITS defined in line 29; used 2 times
IL_CDONE defined in line 23; used 6 times
IL_CIE defined in line 24; used 3 times
IL_CMD defined in line 22; used 1 times
IL_EUA defined in line 21; used 8 times
IL_RDONE defined in line 25; never used
IL_RIE defined in line 26; used 5 times
IL_STATUS defined in line 27; used 2 times
NILDIAGS defined in line 104; used 1 times
NILERRS defined in line 72; used 1 times
  • in line 74

Usage of this include

Last modified: 1986-06-05
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1545
Valid CSS Valid XHTML 1.0 Strict