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_vv.h	7.1 (Berkeley) 6/5/86
   7:  */
   8: 
   9: /*
  10:  * ECO 176-748 changed the braodcast address from 0 to 0xff, at
  11:  * CTL (p1002) serial number around 150.
  12:  * It was implemented in August, 1982. This is a field-installable ECO,
  13:  * which improves net reliability. If the broadcast address has not been
  14:  * changed, comment out the following line.
  15:  */
  16: #define NEW_BROADCAST       /* new chip for broadcast problem */
  17: 
  18: /*
  19:  * Local network header for proNET Ring
  20:  * This is arbitrated by "jas@proteon"
  21:  * (aka John Shriver, 617-655-3340)
  22:  */
  23: 
  24: struct vv_header {
  25:      /* the first two fields are required by the hardware */
  26:     u_char  vh_dhost;   /* destination address */
  27:     u_char  vh_shost;   /* source address */
  28:     /* the next three fields are the local network header */
  29:     u_char  vh_version; /* header version */
  30:     u_char  vh_type;    /* packet type => protocol number */
  31:     short   vh_info;    /* protocol-specific information */
  32: };
  33: 
  34: #define RING_VERSION    2   /* current version of v2lni header */
  35: 
  36: /*
  37:  * Packet types (protocol numbers) in proNET protocol header
  38:  * Other types are defined, but are proprietary.
  39:  */
  40: #define RING_IP     1
  41: #define RING_TRAILER    2   /* offset now in vh_info only */
  42: #define RING_ARP    3
  43: #define RING_HDLC   4
  44: #define RING_VAXDB  5
  45: #define RING_RINGWAY    6
  46: #define RING_RINGWAYM   8
  47: #define RING_NOVELL 10
  48: #define RING_PUP    12
  49: #define RING_XNS    14
  50: #define RING_DIAGNOSTICS 15 /* protocol type for testing */
  51: #define RING_ECHO   16
  52: 
  53: #ifdef NEW_BROADCAST
  54: #define VV_BROADCAST    0xff    /* hardware-defined broadcast address */
  55: #else
  56: #define VV_BROADCAST    0x00    /* hardware-defined broadcast address */
  57: #endif
  58: 
  59: /*
  60:  * Proteon proNET Hardware definitions
  61:  * register bit definitions
  62:  */
  63: #define VV_ENB  01      /* Enable Operation */
  64: #define VV_DEN  02      /* Enable DMA */
  65: #define VV_HEN  04      /* Host Relay Enable (Rcv) */
  66: #define VV_CPB  04      /* Clear Packet Buffer (Xmit) */
  67: #define VV_STE  010     /* Self Test Enable (Rcv) */
  68: #define VV_UT1  010     /* Unused (Xmit) */
  69: #define VV_LPB  020     /* Modem Disable (Rcv) */
  70: #define VV_INR  020     /* Initialize Ring (Xmit) */
  71: #define VV_RST  040     /* Reset */
  72: #define VV_IEN  0100        /* Interrupt Enable */
  73: #define VV_RDY  0200        /* Done */
  74: #define VV_DPR  0400        /* Data Present (Rcv) */
  75: #define VV_RFS  0400        /* Refused (Xmit) */
  76: #define VV_NXM  01000       /* Non Existent Memory */
  77: #define VV_OVR  02000       /* Overrun */
  78: #define VV_ODB  04000       /* Odd Byte (Rcv) */
  79: #define VV_UT2  04000       /* Unused (Xmit) */
  80: #define VV_LDE  010000      /* Parity on 10 megabit (Rcv), */
  81:                 /* Link Data Error on 80 megabit (Rcv) */
  82: #define VV_OPT  010000      /* Output Timeout (Xmit) */
  83: #define VV_NOK  020000      /* Ring Not OK */
  84: #define VV_BDF  040000      /* Bad Format in Operation */
  85: #define VV_NIR  0100000     /* Not in Ring */
  86: 
  87: #define VVXERR  (VV_NXM|VV_OVR|VV_OPT|VV_BDF)   /* Xmit errs */
  88: #define VVRERR  (VV_NXM|VV_OVR|VV_ODB|VV_BDF|VV_DPR)    /* Rcv errs */
  89: #define VVFE    (VV_NXM|VV_OVR)         /* Fatal errors */
  90: 
  91: #define VV_IBITS \
  92: "\10\20NIR\17BDF\16NOK\15LDE\14ODB\13OVR\12NXM\11DPR\10RDY\7IEN\6RST\5LPB\4STE\3HEN\2DEN\1ENB"
  93: 
  94: #define VV_OBITS \
  95: "\10\20NIR\17BDF\16NOK\15OPT\13OVR\12NXM\11RFS\10RDY\7IEN\6RST\5INR\3HEN\2DEN\1ENB"
  96: 
  97: /* device registers */
  98: struct vvreg {
  99:     short   vvicsr;     /* input csr */
 100:     u_short vviwc;      /* input word count */
 101:     u_short vviba;      /* input addr lo */
 102:     u_short vviea;      /* input addr hi */
 103:     short   vvocsr;     /* output csr */
 104:     u_short vvowc;      /* output word count */
 105:     u_short vvoba;      /* output addr lo */
 106:     u_short vvoea;      /* output addr hi */
 107: };
 108: 
 109: #define VVRETRY 7       /* output retry limit */
 110: #define VVIDENTSUCC 5       /* number of successes required in self-test */
 111: #define VVIDENTRETRY 10     /* identify loop attempt limit */
 112: #define VVTIMEOUT 60        /* seconds before a transmit timeout */

Defined struct's

vv_header defined in line 24; used 36 times
vvreg defined in line 98; used 28 times

Defined macros

NEW_BROADCAST defined in line 16; used 1 times
  • in line 53
RING_ARP defined in line 42; never used
RING_DIAGNOSTICS defined in line 50; used 2 times
RING_ECHO defined in line 51; never used
RING_HDLC defined in line 43; never used
RING_IP defined in line 40; used 2 times
RING_NOVELL defined in line 47; never used
RING_PUP defined in line 48; never used
RING_RINGWAY defined in line 45; never used
RING_RINGWAYM defined in line 46; never used
RING_TRAILER defined in line 41; used 2 times
RING_VAXDB defined in line 44; never used
RING_VERSION defined in line 34; used 3 times
RING_XNS defined in line 49; never used
VVFE defined in line 89; never used
VVIDENTRETRY defined in line 111; used 3 times
VVIDENTSUCC defined in line 110; used 1 times
VVRERR defined in line 88; used 2 times
VVRETRY defined in line 109; used 1 times
VVTIMEOUT defined in line 112; used 1 times
VVXERR defined in line 87; used 2 times
VV_BDF defined in line 84; used 3 times
VV_BROADCAST defined in line 56; used 2 times
VV_CPB defined in line 66; used 3 times
VV_DEN defined in line 64; used 6 times
VV_DPR defined in line 74; used 2 times
VV_ENB defined in line 63; used 5 times
VV_HEN defined in line 65; used 4 times
VV_IBITS defined in line 91; used 8 times
VV_IEN defined in line 72; used 4 times
VV_INR defined in line 70; used 2 times
VV_LDE defined in line 80; used 2 times
VV_LPB defined in line 69; used 1 times
VV_NIR defined in line 85; never used
VV_NOK defined in line 83; used 1 times
VV_NXM defined in line 76; used 3 times
VV_OBITS defined in line 94; used 3 times
VV_ODB defined in line 78; used 1 times
  • in line 88
VV_OPT defined in line 82; used 3 times
VV_OVR defined in line 77; used 3 times
VV_RDY defined in line 73; used 2 times
VV_RFS defined in line 75; used 3 times
VV_RST defined in line 71; used 11 times
VV_STE defined in line 67; used 2 times
VV_UT1 defined in line 68; never used
VV_UT2 defined in line 79; never used

Usage of this include

if_vv.h used 1 times
Last modified: 1986-06-05
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1408
Valid CSS Valid XHTML 1.0 Strict