Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenpcnethw.h
Go to the documentation of this file.
00001 /* 00002 * ReactOS AMD PCNet Driver 00003 * 00004 * Copyright (C) 2003 Vizzini <vizzini@plasmic.com> 00005 * 00006 * This program is free software; you can redistribute it and/or modify 00007 * it under the terms of the GNU General Public License as published by 00008 * the Free Software Foundation; either version 2 of the License, or 00009 * (at your option) any later version. 00010 * 00011 * This program is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 * GNU General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU General Public License along 00017 * with this program; if not, write to the Free Software Foundation, Inc., 00018 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 00019 * 00020 * PURPOSE: 00021 * PCNet hardware configuration constants 00022 * REVISIONS: 00023 * 01-Sept-2003 vizzini - Created 00024 * NOTES: 00025 * - This file represents a clean re-implementation from the AMD 00026 * PCNet II chip documentation (Am79C790A, pub# 19436). 00027 */ 00028 00029 #pragma once 00030 00031 /* when in 32-bit mode, most registers require the top 16 bits be 0. */ 00032 #define MASK16(__x__) ((__x__) & 0x0000ffff) 00033 00034 #define NUMBER_OF_PORTS 0x20 /* number of i/o ports the board requires */ 00035 00036 /* offsets of important registers */ 00037 #define RDP 0x10 /* same address in 16-bit and 32-bit IO mode */ 00038 00039 #define RAP16 0x12 00040 #define RESET16 0x14 00041 #define BDP16 0x16 00042 00043 #define RAP32 0x14 00044 #define RESET32 0x18 00045 #define BDP32 0x1c 00046 00047 /* NOTE: vmware doesn't support 32-bit i/o programming so we use 16-bit */ 00048 #define RAP RAP16 00049 #define BDP BDP16 00050 00051 /* pci id of the device */ 00052 #define PCI_ID 0x20001022 00053 #define VEN_ID 0x1022 00054 #define DEV_ID 0x2000 00055 00056 /* software style constants */ 00057 #define SW_STYLE_0 0 00058 #define SW_STYLE_1 1 00059 #define SW_STYLE_2 2 00060 #define SW_STYLE_3 3 00061 00062 /* control and status registers */ 00063 #define CSR0 0x0 /* controller status register */ 00064 #define CSR1 0x1 /* init block address 0 */ 00065 #define CSR2 0x2 /* init block address 1 */ 00066 #define CSR3 0x3 /* interrupt masks and deferral control */ 00067 #define CSR4 0x4 /* test and features control */ 00068 #define CSR5 0x5 /* extended control and interrupt */ 00069 #define CSR6 0x6 /* rx/tx descriptor table length */ 00070 #define CSR8 0x8 /* logical address filter 0 */ 00071 #define CSR9 0x9 /* logical address filter 1 */ 00072 #define CSR10 0xa /* logical address filter 2 */ 00073 #define CSR11 0xb /* logical address filter 3 */ 00074 #define CSR12 0xc /* physical address register 0 */ 00075 #define CSR13 0xd /* physical address register 1 */ 00076 #define CSR14 0xe /* physical address register 2 */ 00077 #define CSR15 0xf /* Mode */ 00078 #define CSR16 0x10 /* initialization block address lower */ 00079 #define CSR17 0x11 /* initialization block address upper */ 00080 #define CSR18 0x12 /* current receive buffer address lower */ 00081 #define CSR19 0x13 /* current receive buffer address upper */ 00082 #define CSR20 0x14 /* current transmit buffer address lower */ 00083 #define CSR21 0x15 /* current transmit buffer address upper */ 00084 #define CSR22 0x16 /* next receive buffer address lower */ 00085 #define CSR23 0x17 /* next receive buffer address upper */ 00086 #define CSR24 0x18 /* base address of receive descriptor ring lower */ 00087 #define CSR25 0x19 /* base address of receive descriptor ring upper */ 00088 #define CSR26 0x1a /* next receive descriptor address lower */ 00089 #define CSR27 0x1b /* next receive descriptor address upper */ 00090 #define CSR28 0x1c /* current receive descriptor address lower */ 00091 #define CSR29 0x1d /* current receive descriptor address upper */ 00092 #define CSR30 0x1e /* base address of transmit descriptor ring lower */ 00093 #define CSR31 0x1f /* base address of transmit descriptor ring upper */ 00094 #define CSR32 0x20 /* next transmit descriptor address lower */ 00095 #define CSR33 0x21 /* next transmit descriptor address upper */ 00096 #define CSR34 0x22 /* current transmit descriptor address lower */ 00097 #define CSR35 0x23 /* current transmit descriptor address upper */ 00098 #define CSR36 0x24 /* next next receive descriptor address lower */ 00099 #define CSR37 0x25 /* next next receive descriptor address upper */ 00100 #define CSR38 0x26 /* next next transmit descriptor address lower */ 00101 #define CSR39 0x27 /* next next transmit descriptor address upper */ 00102 #define CSR40 0x28 /* current receive byte count */ 00103 #define CSR41 0x29 /* current receive status */ 00104 #define CSR42 0x2a /* current transmit byte count */ 00105 #define CSR43 0x2b /* current transmit status */ 00106 #define CSR44 0x2c /* next receive byte count */ 00107 #define CSR45 0x2d /* next receive status */ 00108 #define CSR46 0x2e /* poll time counter */ 00109 #define CSR47 0x2f /* polling interval */ 00110 #define CSR58 0x3a /* software style */ 00111 #define CSR60 0x3c /* previous transmit descriptor address lower */ 00112 #define CSR61 0x3d /* previous transmit descriptor address upper */ 00113 #define CSR62 0x3e /* previous transmit byte count */ 00114 #define CSR63 0x3f /* previous transmit status */ 00115 #define CSR64 0x40 /* next transmit buffer address lower */ 00116 #define CSR65 0x41 /* next transmit buffer address upper */ 00117 #define CSR66 0x42 /* next transmit byte count */ 00118 #define CSR67 0x43 /* next transmit status */ 00119 #define CSR72 0x48 /* receive descriptor ring counter */ 00120 #define CSR74 0x4a /* transmit descriptor ring counter */ 00121 #define CSR76 0x4c /* receive descriptor ring length */ 00122 #define CSR78 0x4e /* transmit descriptor ring length */ 00123 #define CSR80 0x50 /* dma transfer counter and fifo watermark control */ 00124 #define CSR82 0x52 /* bus activity timer */ 00125 #define CSR84 0x54 /* dma address register lower */ 00126 #define CSR85 0x55 /* dma address register upper */ 00127 #define CSR86 0x56 /* buffer byte counter */ 00128 #define CSR88 0x58 /* chip id register lower */ 00129 #define CSR89 0x59 /* chip id register upper */ 00130 #define CSR94 0x5e /* transmit time domain reflectometry count */ 00131 #define CSR100 0x64 /* bus timeout */ 00132 #define CSR112 0x70 /* missed frame count */ 00133 #define CSR114 0x72 /* receive collision count */ 00134 #define CSR122 0x7a /* advanced feature control */ 00135 #define CSR124 0x7c /* test register control */ 00136 00137 /* bus configuration registers */ 00138 #define BCR2 0x2 /* miscellaneous configuration */ 00139 #define BCR4 0x4 /* link status led */ 00140 #define BCR5 0x5 /* led1 status */ 00141 #define BCR6 0x6 /* led2 status */ 00142 #define BCR7 0x7 /* led3 status */ 00143 #define BCR9 0x9 /* full-duplex control */ 00144 #define BCR16 0x10 /* i/o base address lower */ 00145 #define BCR17 0x11 /* i/o base address upper */ 00146 #define BCR18 0x12 /* burst and bus control register */ 00147 #define BCR19 0x13 /* eeprom control and status */ 00148 #define BCR20 0x14 /* software style */ 00149 #define BCR21 0x15 /* interrupt control */ 00150 #define BCR22 0x16 /* pci latency register */ 00151 00152 /* CSR0 bits */ 00153 #define CSR0_INIT 0x1 /* read initialization block */ 00154 #define CSR0_STRT 0x2 /* start the chip */ 00155 #define CSR0_STOP 0x4 /* stop the chip */ 00156 #define CSR0_TDMD 0x8 /* transmit demand */ 00157 #define CSR0_TXON 0x10 /* transmit on */ 00158 #define CSR0_RXON 0x20 /* receive on */ 00159 #define CSR0_IENA 0x40 /* interrupt enabled */ 00160 #define CSR0_INTR 0x80 /* interrupting */ 00161 #define CSR0_IDON 0x100 /* initialization done */ 00162 #define CSR0_TINT 0x200 /* transmit interrupt */ 00163 #define CSR0_RINT 0x400 /* receive interrupt */ 00164 #define CSR0_MERR 0x800 /* memory error */ 00165 #define CSR0_MISS 0x1000 /* missed frame */ 00166 #define CSR0_CERR 0x2000 /* collision error */ 00167 #define CSR0_BABL 0x4000 /* babble */ 00168 #define CSR0_ERR 0x8000 /* error */ 00169 00170 /* CSR3 bits */ 00171 #define CSR3_BSWP 0x4 /* byte swap */ 00172 #define CSR3_EMBA 0x8 /* enable modified backoff algorithm */ 00173 #define CSR3_DXMT2PD 0x10 /* disable transmit two-part deferral */ 00174 #define CSR3_LAPPEN 0x20 /* lookahead packet processing enable */ 00175 #define CSR3_DXSUFLO 0x40 /* disable transmit stop on underflow */ 00176 #define CSR3_IDONM 0x100 /* initialization done mask */ 00177 #define CSR3_TINTM 0x200 /* transmit interrupt mask */ 00178 #define CSR3_RINTM 0x400 /* receive interrupt mask */ 00179 #define CSR3_MERRM 0x800 /* memory error interrupt mask */ 00180 #define CSR3_MISSM 0x1000 /* missed frame interrupt mask */ 00181 #define CSR3_BABLM 0x4000 /* babble interrupt mask */ 00182 00183 /* CSR4 bits */ 00184 #define CSR4_JABM 0x1 /* jabber interrupt mask */ 00185 #define CSR4_JAB 0x2 /* interrupt on jabber error */ 00186 #define CSR4_TXSTRTM 0x4 /* transmit start interrupt mask */ 00187 #define CSR4_TXSTRT 0x8 /* interrupt on transmit start */ 00188 #define CSR4_RCVCCOM 0x10 /* receive collision counter overflow mask */ 00189 #define CSR4_RCVCCO 0X20 /* interrupt on receive collision counter overflow */ 00190 #define CSR4_UINT 0x40 /* user interrupt */ 00191 #define CSR4_UINTCMD 0x80 /* user interrupt command */ 00192 #define CSR4_MFCOM 0x100 /* missed frame counter overflow mask */ 00193 #define CSR4_MFCO 0x200 /* interrupt on missed frame counter overflow */ 00194 #define CSR4_ASTRP_RCV 0x400 /* auto pad strip on receive */ 00195 #define CSR4_APAD_XMT 0x800 /* auto pad on transmit */ 00196 #define CSR4_DPOLL 0x1000 /* disable transmit polling */ 00197 #define CSR4_TIMER 0x2000 /* enable bus activity timer */ 00198 #define CSR4_DMAPLUS 0x4000 /* set to 1 for pci */ 00199 #define CSR4_EN124 0x8000 /* enable CSR124 access */ 00200 00201 /* CSR5 bits */ 00202 #define CSR5_SPND 0x1 /* suspend */ 00203 #define CSR5_MPMODE 0x2 /* magic packet mode */ 00204 #define CSR5_MPEN 0x4 /* magic packet enable */ 00205 #define CSR5_MPINTE 0x8 /* magic packet interrupt enable */ 00206 #define CSR5_MPINT 0x10 /* magic packet interrupt */ 00207 #define CSR5_MPPLBA 0x20 /* magic packet physical logical broadcast accept */ 00208 #define CSR5_EXDINTE 0x40 /* excessive deferral interrupt enable */ 00209 #define CSR5_EXDINT 0x80 /* excessive deferral interrupt */ 00210 #define CSR5_SLPINTE 0x100 /* sleep interrupt enable */ 00211 #define CSR5_SLPINT 0x200 /* sleep interrupt */ 00212 #define CSR5_SINE 0x400 /* system interrupt enable */ 00213 #define CSR5_SINT 0x800 /* system interrupt */ 00214 #define CSR5_LTINTEN 0x4000 /* last transmit interrupt enable */ 00215 #define CSR5_TOKINTD 0x8000 /* transmit ok interrupt disable */ 00216 00217 /* CSR15 bits */ 00218 #define CSR15_DRX 0x1 /* disable receiver */ 00219 #define CSR15_DTX 0x2 /* disable transmitter */ 00220 #define CSR15_LOOP 0x4 /* loopback enable */ 00221 #define CSR15_DXMTFCS 0x8 /* disable transmit fcs */ 00222 #define CSR15_FCOLL 0x10 /* force collision */ 00223 #define CSR15_DRTY 0x20 /* disable retry */ 00224 #define CSR15_INTL 0x40 /* internal loopback */ 00225 #define CSR15_PORTSEL0 0x80 /* port selection bit 0 */ 00226 #define CSR15_PORTSEL1 0x100 /* port selection bit 1 */ 00227 #define CSR15_LRT 0x200 /* low receive threshold - same as TSEL */ 00228 #define CSR15_TSEL 0x200 /* transmit mode select - same as LRT */ 00229 #define CSR15_MENDECL 0x400 /* mendec loopback mode */ 00230 #define CSR15_DAPC 0x800 /* disable automatic parity correction */ 00231 #define CSR15_DLNKTST 0x1000 /* disable link status */ 00232 #define CSR15_DRCVPA 0x2000 /* disable receive physical address */ 00233 #define CSR15_DRCVBC 0x4000 /* disable receive broadcast */ 00234 #define CSR15_PROM 0x8000 /* promiscuous mode */ 00235 00236 /* CSR58 bits */ 00237 #define CSR58_SSIZE32 0x100 /* 32-bit software size */ 00238 #define CSR58_CSRPCNET 0x200 /* csr pcnet-isa configuration */ 00239 #define CSR58_APERREN 0x400 /* advanced parity error handling enable */ 00240 00241 /* CSR124 bits */ 00242 #define CSR124_RPA 0x4 /* runt packet accept */ 00243 00244 /* BCR2 bits */ 00245 #define BCR2_ASEL 0x2 /* auto-select media */ 00246 #define BCR2_AWAKE 0x4 /* select sleep mode */ 00247 #define BCR2_EADISEL 0x8 /* eadi select */ 00248 #define BCR2_DXCVRPOL 0x10 /* dxcvr polarity */ 00249 #define BCR2_DXCVRCTL 0x20 /* dxcvr control */ 00250 #define BCR2_INTLEVEL 0x80 /* interrupt level/edge */ 00251 #define BCR2_APROMWE 0x100 /* address prom write enable */ 00252 #define BCR2_LEDPE 0x1000 /* LED programming enable */ 00253 #define BCR2_TMAULOOP 0x4000 /* t-mau transmit on loopback */ 00254 00255 /* BCR4 bits */ 00256 #define BCR4_COLE 0x1 /* collision status enable */ 00257 #define BCR4_JABE 0x2 /* jabber status enable */ 00258 #define BCR4_RCVE 0x4 /* receive status enable */ 00259 #define BCR4_RXPOLE 0x8 /* receive polarity status enable */ 00260 #define BCR4_XMTE 0x10 /* transmit status enable */ 00261 #define BCR4_RCVME 0x20 /* receive match status enable */ 00262 #define BCR4_LNKSTE 0x40 /* link status enable */ 00263 #define BCR4_PSE 0x80 /* pulse stretcher enable */ 00264 #define BCR4_FDLSE 0x100 /* full-duplex link status enable */ 00265 #define BCR4_MPSE 0x200 /* magic packet status enable */ 00266 #define BCR4_E100 0x1000 /* link speed */ 00267 #define BCR4_LEDDIS 0x2000 /* led disable */ 00268 #define BCR4_LEDPOL 0x4000 /* led polarity */ 00269 #define BCR4_LEDOUT 0x8000 /* led output pin value */ 00270 00271 /* BCR5 bits */ 00272 #define BCR5_COLE 0x1 /* collision status enable */ 00273 #define BCR5_JABE 0x2 /* jabber status enable */ 00274 #define BCR5_RCVE 0x4 /* receive status enable */ 00275 #define BCR5_RXPOLE 0x8 /* receive polarity status enable */ 00276 #define BCR5_XMTE 0x10 /* transmit status enable */ 00277 #define BCR5_RCVME 0x20 /* receive match status enable */ 00278 #define BCR5_LNKSTE 0x40 /* link status enable */ 00279 #define BCR5_PSE 0x80 /* pulse stretcher enable */ 00280 #define BCR5_FDLSE 0x100 /* full-duplex link status enable */ 00281 #define BCR5_MPSE 0x200 /* magic packet status enable */ 00282 #define BCR5_E100 0x1000 /* link speed */ 00283 #define BCR5_LEDDIS 0x2000 /* led disable */ 00284 #define BCR5_LEDPOL 0x4000 /* led polarity */ 00285 #define BCR5_LEDOUT 0x8000 /* led output pin value */ 00286 00287 /* BCR6 bits */ 00288 #define BCR6_COLE 0x1 /* collision status enable */ 00289 #define BCR6_JABE 0x2 /* jabber status enable */ 00290 #define BCR6_RCVE 0x4 /* receive status enable */ 00291 #define BCR6_RXPOLE 0x8 /* receive polarity status enable */ 00292 #define BCR6_XMTE 0x10 /* transmit status enable */ 00293 #define BCR6_RCVME 0x20 /* receive match status enable */ 00294 #define BCR6_LNKSTE 0x40 /* link status enable */ 00295 #define BCR6_PSE 0x80 /* pulse stretcher enable */ 00296 #define BCR6_FDLSE 0x100 /* full-duplex link status enable */ 00297 #define BCR6_MPSE 0x200 /* magic packet status enable */ 00298 #define BCR6_E100 0x1000 /* link speed */ 00299 #define BCR6_LEDDIS 0x2000 /* led disable */ 00300 #define BCR6_LEDPOL 0x4000 /* led polarity */ 00301 #define BCR6_LEDOUT 0x8000 /* led output pin value */ 00302 00303 /* BCR7 bits */ 00304 #define BCR7_COLE 0x1 /* collision status enable */ 00305 #define BCR7_JABE 0x2 /* jabber status enable */ 00306 #define BCR7_RCVE 0x4 /* receive status enable */ 00307 #define BCR7_RXPOLE 0x8 /* receive polarity status enable */ 00308 #define BCR7_XMTE 0x10 /* transmit status enable */ 00309 #define BCR7_RCVME 0x20 /* receive match status enable */ 00310 #define BCR7_LNKSTE 0x40 /* link status enable */ 00311 #define BCR7_PSE 0x80 /* pulse stretcher enable */ 00312 #define BCR7_FDLSE 0x100 /* full-duplex link status enable */ 00313 #define BCR7_MPSE 0x200 /* magic packet status enable */ 00314 #define BCR7_E100 0x1000 /* link speed */ 00315 #define BCR7_LEDDIS 0x2000 /* led disable */ 00316 #define BCR7_LEDPOL 0x4000 /* led polarity */ 00317 #define BCR7_LEDOUT 0x8000 /* led output pin value */ 00318 00319 /* BCR9 bits */ 00320 #define BCR9_FDEN 0x1 /* full-duplex enable */ 00321 #define BCR9_AUIFD 0x2 /* aui full-duplex */ 00322 #define BCR9_FDRPAD 0x4 /* full-duplex runt packet accept disable */ 00323 00324 /* BCR18 bits */ 00325 #define BCR18_BWRITE 0x20 /* burst write enable */ 00326 #define BCR18_BREADE 0x40 /* burst read enable */ 00327 #define BCR18_DWIO 0x80 /* dword i/o enable */ 00328 #define BCR18_EXTREQ 0x100 /* extended request */ 00329 #define BCR18_MEMCMD 0x200 /* memory command */ 00330 00331 /* BCR19 bits */ 00332 #define BCR19_EDI 0x1 /* eeprom data in - same as EDO */ 00333 #define BCR19_ED0 0x1 /* eeprom data out - same as EDI */ 00334 #define BCR19_ESK 0x2 /* eeprom serial clock */ 00335 #define BCR19_ECS 0x4 /* eeprom chip select */ 00336 #define BCR19_EEN 0x8 /* eeprom port enable */ 00337 #define BCR19_EEDET 0x2000 /* eeprom detect */ 00338 #define BCR19_PREAD 0x4000 /* eeprom read */ 00339 #define BCR19_PVALID 0x8000 /* eeprom valid */ 00340 00341 /* BCR20 bits */ 00342 #define BCR20_SSIZE32 0x100 /* 32-bit software size */ 00343 #define BCR20_CSRPCNET 0x200 /* csr pcnet-isa configuration */ 00344 #define BCR20_APERREN 0x400 /* advanced parity error handling enable */ 00345 00346 /* initialization block for 32-bit software style */ 00347 typedef struct _INITIALIZATION_BLOCK 00348 { 00349 USHORT MODE; /* card mode (csr15) */ 00350 UCHAR RLEN; /* encoded number of receive descriptor ring entries */ 00351 UCHAR TLEN; /* encoded number of transmit descriptor ring entries */ 00352 UCHAR PADR[6]; /* physical address */ 00353 USHORT RES; /* reserved */ 00354 UCHAR LADR[8]; /* logical address */ 00355 ULONG RDRA; /* receive descriptor ring address */ 00356 ULONG TDRA; /* transmit descriptor ring address */ 00357 } INITIALIZATION_BLOCK, *PINITIALIZATION_BLOCK; 00358 00359 /* receive descriptor, software stle 2 (32-bit) */ 00360 typedef struct _RECEIVE_DESCRIPTOR 00361 { 00362 ULONG RBADR; /* receive buffer address */ 00363 USHORT BCNT; /* two's compliment buffer byte count - NOTE: always OR with 0xf000 */ 00364 USHORT FLAGS; /* flags - always and with 0xfff0 */ 00365 USHORT MCNT; /* message byte count ; always AND with 0x0fff */ 00366 UCHAR RPC; /* runt packet count */ 00367 UCHAR RCC; /* receive collision count */ 00368 ULONG RES; /* resereved */ 00369 } RECEIVE_DESCRIPTOR, *PRECEIVE_DESCRIPTOR; 00370 00371 /* receive descriptor flags */ 00372 #define RD_BAM 0x10 /* broadcast address match */ 00373 #define RD_LAFM 0x20 /* logical address filter match */ 00374 #define RD_PAM 0x40 /* physical address match */ 00375 #define RD_BPE 0x80 /* bus parity error */ 00376 #define RD_ENP 0x100 /* end of packet */ 00377 #define RD_STP 0x200 /* start of packet */ 00378 #define RD_BUFF 0x400 /* buffer error */ 00379 #define RD_CRC 0x800 /* crc error */ 00380 #define RD_OFLO 0x1000 /* overflow error */ 00381 #define RD_FRAM 0x2000 /* framing error */ 00382 #define RD_ERR 0x4000 /* an error bit is set */ 00383 #define RD_OWN 0x8000 /* buffer ownership (0=host, 1=nic) */ 00384 00385 /* transmit descriptor, software style 2 */ 00386 typedef struct _TRANSMIT_DESCRIPTOR 00387 { 00388 ULONG TBADR; /* transmit buffer address */ 00389 USHORT BCNT; /* two's compliment buffer byte count - OR with 0xf000 */ 00390 USHORT FLAGS; /* flags */ 00391 USHORT TRC; /* transmit retry count (AND with 0x000f */ 00392 USHORT FLAGS2; /* more flags */ 00393 ULONG RES; /* reserved */ 00394 } TRANSMIT_DESCRIPTOR, *PTRANSMIT_DESCRIPTOR; 00395 00396 /* transmit descriptor flags */ 00397 #define TD1_BPE 0x80 /* bus parity error */ 00398 #define TD1_ENP 0x100 /* end of packet */ 00399 #define TD1_STP 0x200 /* start of packet */ 00400 #define TD1_DEF 0x400 /* frame transmission deferred */ 00401 #define TD1_ONE 0x800 /* exactly one retry was needed for transmission */ 00402 #define TD1_MORE 0x1000 /* more than 1 transmission retry required - same as LTINT */ 00403 #define TD1_LTINT 0x1000 /* suppress transmit success interrupt - same as MORE */ 00404 #define TD1_ADD_FCS 0x2000 /* force fcs generation - same as NO_FCS */ 00405 #define TD1_NO_FCS 0x2000 /* prevent fcs generation - same as ADD_FCS */ 00406 #define TD1_ERR 0x4000 /* an error bit is set */ 00407 #define TD1_OWN 0x8000 /* buffer ownership */ 00408 00409 /* transmit descriptor flags2 flags */ 00410 #define TD2_RTRY 0x400 /* retry error */ 00411 #define TD2_LCAR 0x800 /* loss of carrier */ 00412 #define TD2_LCOL 0x1000 /* late collision */ 00413 #define TD2_EXDEF 0x2000 /* excessive deferral */ 00414 #define TD2_UFLO 0x4000 /* buffer underflow */ 00415 #define TD2_BUFF 0x8000 /* buffer error */ Generated on Fri May 25 2012 04:26:08 for ReactOS by
1.7.6.1
|