1: /*
   2:  * Copyright (c) 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	2.0 (2.10.1BSD Berkeley) 8/25/89
   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: #define RING_WHOAMI 0xa5    /* insure some bit transitions */
  53: 
  54: #ifdef NEW_BROADCAST
  55: #define VV_BROADCAST    0xff    /* hardware-defined broadcast address */
  56: #else
  57: #define VV_BROADCAST    0x00    /* hardware-defined broadcast address */
  58: #endif
  59: 
  60: /*
  61:  * Proteon proNET Hardware definitions
  62:  * register bit definitions
  63:  */
  64: #define VV_ENB  01      /* Enable Operation */
  65: #define VV_DEN  02      /* Enable DMA */
  66: #define VV_HEN  04      /* Host Relay Enable (Rcv) */
  67: #define VV_CPB  04      /* Clear Packet Buffer (Xmit) */
  68: #define VV_STE  010     /* Self Test Enable (Rcv) */
  69: #define VV_UT1  010     /* Unused (Xmit) */
  70: #define VV_LPB  020     /* Modem Disable (Rcv) */
  71: #define VV_INR  020     /* Initialize Ring (Xmit) */
  72: #define VV_RST  040     /* Reset */
  73: #define VV_IEN  0100        /* Interrupt Enable */
  74: #define VV_RDY  0200        /* Done */
  75: #define VV_DPR  0400        /* Data Present (Rcv) */
  76: #define VV_RFS  0400        /* Refused (Xmit) */
  77: #define VV_NXM  01000       /* Non Existent Memory */
  78: #define VV_OVR  02000       /* Overrun */
  79: #define VV_ODB  04000       /* Odd Byte (Rcv) */
  80: #define VV_UT2  04000       /* Unused (Xmit) */
  81: #define VV_LDE  010000      /* Parity on 10 megabit (Rcv), */
  82:                 /* Link Data Error on 80 megabit (Rcv) */
  83: #define VV_OPT  010000      /* Output Timeout (Xmit) */
  84: #define VV_NOK  020000      /* Ring Not OK */
  85: #define VV_BDF  040000      /* Bad Format in Operation */
  86: #define VV_NIR  0100000     /* Not in Ring */
  87: 
  88: #define VVXERR  (VV_NXM|VV_OVR|VV_OPT|VV_BDF)   /* Xmit errs */
  89: #define VVRERR  (VV_NXM|VV_OVR|VV_ODB|VV_BDF|VV_DPR)    /* Rcv errs */
  90: #define VVFE    (VV_NXM|VV_OVR)         /* Fatal errors */
  91: 
  92: #define VV_IBITS \
  93: "\10\20NIR\17BDF\16NOK\15LDE\14ODB\13OVR\12NXM\11DPR\10RDY\7IEN\6RST\5LPB\4STE\3HEN\2DEN\1ENB"
  94: 
  95: #define VV_OBITS \
  96: "\10\20NIR\17BDF\16NOK\15OPT\13OVR\12NXM\11RFS\10RDY\7IEN\6RST\5INR\3HEN\2DEN\1ENB"
  97: 
  98: /* device registers */
  99: struct vvreg {
 100:     short   vvicsr;     /* input csr */
 101:     u_short vviwc;      /* input word count */
 102:     u_short vviba;      /* input addr lo */
 103:     u_short vviea;      /* input addr hi */
 104:     short   vvocsr;     /* output csr */
 105:     u_short vvowc;      /* output word count */
 106:     u_short vvoba;      /* output addr lo */
 107:     u_short vvoea;      /* output addr hi */
 108: };
 109: 
 110: #define VVRETRY 7       /* output retry limit */
 111: #define VVIDENTSUCC 5       /* number of successes required in self-test */
 112: #define VVIDENTRETRY 10     /* identify loop attempt limit */
 113: #define VVTIMEOUT 60        /* seconds before a transmit timeout */

Defined struct's

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

Defined macros

NEW_BROADCAST defined in line 16; used 1 times
  • in line 54
RING_ARP defined in line 42; never used
RING_DIAGNOSTICS defined in line 50; never used
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_WHOAMI defined in line 52; used 2 times
RING_XNS defined in line 49; never used
VVFE defined in line 90; never used
VVIDENTRETRY defined in line 112; used 3 times
VVIDENTSUCC defined in line 111; never used
VVRERR defined in line 89; used 1 times
VVRETRY defined in line 110; used 1 times
VVTIMEOUT defined in line 113; used 1 times
VVXERR defined in line 88; used 1 times
VV_BDF defined in line 85; used 3 times
VV_BROADCAST defined in line 57; used 2 times
VV_CPB defined in line 67; used 4 times
VV_DEN defined in line 65; used 6 times
VV_DPR defined in line 75; used 2 times
VV_ENB defined in line 64; used 5 times
VV_HEN defined in line 66; used 3 times
VV_IBITS defined in line 92; used 8 times
VV_IEN defined in line 73; used 4 times
VV_INR defined in line 71; used 2 times
VV_LDE defined in line 81; used 1 times
VV_LPB defined in line 70; used 1 times
VV_NIR defined in line 86; never used
VV_NOK defined in line 84; used 1 times
VV_NXM defined in line 77; used 3 times
VV_OBITS defined in line 95; used 2 times
VV_ODB defined in line 79; used 1 times
  • in line 89
VV_OPT defined in line 83; used 3 times
VV_OVR defined in line 78; used 3 times
VV_RDY defined in line 74; used 2 times
VV_RFS defined in line 76; used 2 times
VV_RST defined in line 72; used 7 times
VV_STE defined in line 68; used 1 times
VV_UT1 defined in line 69; never used
VV_UT2 defined in line 80; never used

Usage of this include

if_vv.h used 1 times
Last modified: 1989-08-28
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1182
Valid CSS Valid XHTML 1.0 Strict