|
DataMuseum.dkPresents historical artifacts from the history of: Regnecentalen RC-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Regnecentalen RC-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 4100 (0x1004) Types: TextFile Notes: UNIX file Names: »ec.h«
└─⟦8c4f54e61⟧ Bits:30004068/disk2.imd Interactive TCP/IP v.1.2 └─⟦8c4f54e61⟧ UNIX Filesystem └─⟦this⟧ »hb/new/usr/include/sys/ec.h«
/* * definitions and declarations for the 3COM ethernet driver * * Copyrighted as an unpublished work. * (c) Copyright 1988 INTERACTIVE Systems Corporation * All rights reserved. * * RESTRICTED RIGHTS: * * These programs are supplied under a license. They may be used, * disclosed, and/or copied only as permitted under such license * agreement. Any copy must contain the above copyright notice and * this restricted rights notice. Use, copying, and/or disclosure * of the programs is strictly prohibited unless otherwise provided * in the license agreement. */ #ident "@(#)ec.h 1.6 - 89/01/20" #define EA3COM0 0x02 /* first byte of 3COM ethernet addresses */ #define EA3COM1 0x60 /* second byte */ #define EA3COM2 0x8c /* third byte */ #define DMAIN 0x45 /* dma from IE buffer, single mode */ #define DMAOUT 0x49 /* dma to IE buffer, single mode */ /* bits in IE Control and Status Register */ #define IERST 0x80 /* reset (write only) */ #define IERIDE 0x40 /* request interrupt & dma enable */ #define IEDMAR 0x20 /* dma request */ #define IEDMAD 0x10 /* dma done */ #define IEECR 0x08 /* buffer to EDLC receive */ #define IEECX 0x04 /* buffer to EDLC transmit */ #define IEIRE 0x01 /* interrupt request enable */ #define IESYS 0x00 /* buffer to system bus */ #define XBUSY 0x80 /* transmit busy (still sending) */ #define RBUSY 0x01 /* receive busy (packet arriving) */ /* bits in EDLC Transmit Register */ #define IEXEOF 0x08 /* end-of-frame interrupt */ #define IEJ16 0x04 /* jam 16 interrupt */ #define IEJAM 0x02 /* jam interrupt */ #define IEUNDER 0x01 /* underflow interrupt */ /* bits in EDLC Receive Register */ #define IESTALE 0x80 /* stale receive status (read only) */ #define MULTI 0xc0 /* station address plus multicast */ #define OWN 0x80 /* station address plus broadcast */ #define ALL 0x40 /* all addresses */ #define RGOOD 0x20 /* receive good packets only */ #define RNOOF 0x10 /* receive any packet without overflow */ #define SHORTP 0x08 /* short packet */ #define ALIGN 0x04 /* allignment error */ #define FCS 0x02 /* frame check sequence error (CRC) */ #define OVER 0x01 /* overflow error */ #define NONE 0x00 /* disable receive mode */ #define RCVOK 0x1f /* mask to start looking for valid packet */ #define RWFP 0x10 /* got a well formed packet */ /* IE register offsets - add IE base address (ecbase) to each offset */ #define IESADR 0x00 /* ethernet station address */ #define ECRCV 0x06 /* EDLC receive register */ #define ECXMT 0x07 /* EDLC transmit register */ #define IEGBP 0x08 /* general purpose buffer pointer */ #define IERBP 0x0a /* receive buffer pointer */ #define IEPADR 0x0c /* my ethernet address PROM */ #define IECSR 0x0e /* control and status register */ #define IEMEM 0x0f /* buffer access register */ /* * streams related definitions */ #define ECVPKTSZ (3*256) #define ECHIWAT (16*ECVPKTSZ) #define ECLOWAT (8*ECVPKTSZ) #define ECMAXPKT 1500 #define ECMAXPKTLLC 1497 /* max packet when using LLC1 */ #define ECMINSEND 60 /* 64 - 4 bytes CRC */ /* * debug bits */ #define ECTRACE 0x01 #define ECRECV 0x02 #define ECSEND 0x04 #define ECERRS 0x10 #define ECINT 0x20 #ifdef DEBUG #define ECDEBUG #endif /* * board state */ #define ECB_IDLE 0 #define ECB_WAITRCV 1 #define ECB_XMTBUSY 2 #define ECB_ERROR 3 /* * 3COM board statistics */ #define EC_NSTATS 16 struct ecstats { /* non-hardware */ struct llcstats ecs_llcs; /* 0-3 */ /* transmit */ ulong ecs_xpkts; /* 4 */ ulong ecs_xbytes; /* 5 */ ulong ecs_excoll; /* 6 */ ulong ecs_coll; /* 7 */ ulong ecs_under; /* 8 */ ulong ecs_carrier; /* 9 */ /* receive */ ulong ecs_rpkts; /* 10 */ ulong ecs_rbytes; /* 11 */ ulong ecs_fcs; /* 12 */ ulong ecs_align; /* 13 */ ulong ecs_overflow; /* 14 */ ulong ecs_short; /* 15 */ }; /* * 3COM 3C501 board dependent variables. * In a structure to use multiple boards. */ struct ecvar { int ec_begaddr; /* start address for transmit */ int ec_chprom; /* flag for changing promiscuous mode */ };