ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

pcnethw.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.