#include <ubixos/types.h>#include <sys/device.old.h>Include dependency graph for ne2k.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Data Structures | |
| struct | dp_rcvhdr |
| union | etheraddr |
| struct | nicBuffer |
Defines | |
| #define | DEF_ENABLED 0x200 |
| #define | DP_CNTR0 0xD |
| #define | DP_CNTR1 0xE |
| #define | DP_CNTR2 0xF |
| #define | DP_CURR 0x7 |
| #define | DP_MAR0 0x8 |
| #define | DP_MAR1 0x9 |
| #define | DP_MAR2 0xA |
| #define | DP_MAR3 0xB |
| #define | DP_MAR4 0xC |
| #define | DP_MAR5 0xD |
| #define | DP_MAR6 0xE |
| #define | DP_MAR7 0xF |
| #define | DP_PAGESIZE 256 |
| #define | E8390_CMD 0x00 |
| #define | E8390_NODMA 0x20 |
| #define | E8390_PAGE0 0x00 |
| #define | E8390_PAGE1 0x40 |
| #define | E8390_RREAD 0x08 |
| #define | E8390_RWRITE 0x10 |
| #define | E8390_RXCONFIG 0x04 |
| #define | E8390_RXOFF 0x20 |
| #define | E8390_START 0x02 |
| #define | E8390_STOP 0x01 |
| #define | E8390_TXCONFIG 0x00 |
| #define | E8390_TXOFF 0x00 |
| #define | EN0_BOUNDARY 0x03 |
| #define | EN0_COUNTER0 0x0d |
| #define | EN0_DCFG 0x0e |
| #define | EN0_IMR 0x0f |
| #define | EN0_ISR 0x07 |
| #define | EN0_RCNTHI 0x0b |
| #define | EN0_RCNTLO 0x0a |
| #define | EN0_RSARHI 0x09 |
| #define | EN0_RSARLO 0x08 |
| #define | EN0_RXCR 0x0c |
| #define | EN0_STARTPG 0x01 |
| #define | EN0_STOPPG 0x02 |
| #define | EN0_TPSR 0x04 |
| #define | EN0_TXCR 0x0D |
| #define | EN1_CURPAG 0x07 |
| #define | EN1_MULT 0x08 |
| #define | EN1_PHYS 0x01 |
| #define | ENDCFG_WTS 0x01 |
| #define | ENISR_ALL 0x3f |
| #define | ether_addr ether_addr_t |
| #define | NE1SM_START_PG 0x20 |
| #define | NE1SM_STOP_PG 0x40 |
| #define | NE_BNRY 0x03 |
| #define | NE_CMD 0x00 |
| #define | NE_CURRENT 0x07 |
| #define | NE_DATAPORT 0x10 |
| #define | NE_DCR 0x0E |
| #define | NE_DCR_AR 0x10 |
| #define | NE_DCR_FT0 0x20 |
| #define | NE_DCR_FT1 0x40 |
| #define | NE_DCR_LS 0x08 |
| #define | NE_DCR_WTS 0x01 |
| #define | NE_IMR 0x0F |
| #define | NE_ISR 0x07 |
| #define | NE_PSTART 0x01 |
| #define | NE_PSTOP 0x02 |
| #define | NE_RBCR0 0x0A |
| #define | NE_RBCR1 0x0B |
| #define | NE_RCR 0x0C |
| #define | NE_TCR 0x0D |
| #define | NE_TPSR 0x04 |
| #define | NESM_START_PG 0x40 |
| #define | NESM_STOP_PG 0x80 |
| #define | OK 0 |
| #define | RSR_FO 0x08 |
| #define | RSR_PRX 0x01 |
| #define | startPage 0x4C |
| #define | stopPage 0x80 |
| #define | TX_1X_PAGES 6 |
| #define | TX_2X_PAGES 12 |
| #define | TX_PAGES (dev->priv->pingPong ? TX_2X_PAGES : TX_1X_PAGES) |
Typedefs | |
| typedef dp_rcvhdr | dp_rcvhdr_t |
| typedef etheraddr | ether_addr_t |
Functions | |
| int | ne2k_init () |
| nicBuffer * | ne2kAllocBuffer (int) |
| int | ne2kDevInit (struct device *) |
| void | ne2kFreeBuffer (struct nicBuffer *) |
| nicBuffer * | ne2kGetBuffer () |
| void | ne2kHandler () |
| void | ne2kISR () |
| int | ne2kProbe (int, struct device *) |
| int | NICtoPC (struct device *dev, void *packet, int length, int nic_addr) |
| void | NS8390_init (struct device *dev, int startp) |
| int | PCtoNIC (struct device *dev, void *packet, int length) |
Variables | |
| char * | nicPacket |
| uInt32 | packetLength |
| #define DP_CNTR0 0xD |
| #define DP_CNTR1 0xE |
| #define DP_CNTR2 0xF |
| #define DP_CURR 0x7 |
| #define DP_MAR0 0x8 |
| #define DP_MAR1 0x9 |
| #define DP_MAR2 0xA |
| #define DP_MAR3 0xB |
| #define DP_MAR4 0xC |
| #define DP_MAR5 0xD |
| #define DP_MAR6 0xE |
| #define DP_MAR7 0xF |
| #define DP_PAGESIZE 256 |
| #define E8390_RREAD 0x08 |
| #define E8390_START 0x02 |
| #define EN0_ISR 0x07 |
| #define EN0_RCNTHI 0x0b |
| #define EN0_RCNTLO 0x0a |
| #define EN0_RSARHI 0x09 |
| #define EN0_RSARLO 0x08 |
| #define ether_addr ether_addr_t |
| #define NE_BNRY 0x03 |
| #define NE_CMD 0x00 |
| #define NE_DATAPORT 0x10 |
| #define NE_DCR 0x0E |
| #define NE_IMR 0x0F |
| #define NE_ISR 0x07 |
| #define NE_PSTART 0x01 |
| #define NE_PSTOP 0x02 |
| #define NE_RBCR0 0x0A |
| #define NE_RBCR1 0x0B |
| #define NE_RCR 0x0C |
| #define NE_TCR 0x0D |
| #define NE_TPSR 0x04 |
| #define OK 0 |
| #define startPage 0x4C |
| #define stopPage 0x80 |
| #define TX_PAGES (dev->priv->pingPong ? TX_2X_PAGES : TX_1X_PAGES) |
| typedef struct dp_rcvhdr dp_rcvhdr_t |
| typedef union etheraddr ether_addr_t |
| int ne2k_init | ( | ) |
Definition at line 70 of file ne2k.c.
References dDpl0, dInt, DP_CNTR0, DP_CNTR1, DP_CNTR2, DP_CURR, DP_MAR0, DP_MAR1, DP_MAR2, DP_MAR3, DP_MAR4, DP_MAR5, DP_MAR6, DP_MAR7, dPresent, inportByte(), device::ioAddr, device::irq, irqEnable(), kmalloc(), kprintf(), mDev, mVec, ne2kISR(), NE_BNRY, NE_CMD, NE_DCR, NE_IMR, NE_ISR, NE_PSTART, NE_PSTOP, NE_RBCR0, NE_RBCR1, NE_RCR, NE_TCR, outportByte(), setVector(), startPage, stopPage, and x20.
Here is the call graph for this function:

| struct nicBuffer* ne2kAllocBuffer | ( | int | ) |
Definition at line 313 of file ne2k.c.
References nicBuffer::buffer, kmalloc(), nicBuffer::length, ne2k_spinLock, ne2kBuffer, nicBuffer::next, spinLock(), and spinUnlock().
Referenced by dp_pkt2user().
Here is the call graph for this function:

| int ne2kDevInit | ( | struct device * | ) |
| void ne2kFreeBuffer | ( | struct nicBuffer * | ) |
Definition at line 353 of file ne2k.c.
References nicBuffer::buffer, and kfree().
Here is the call graph for this function:

| struct nicBuffer* ne2kGetBuffer | ( | ) |
Definition at line 341 of file ne2k.c.
References ne2k_spinLock, ne2kBuffer, nicBuffer::next, and x1.
| void ne2kHandler | ( | ) |
Definition at line 191 of file ne2k.c.
References dp_recv(), eoi, inportByte(), device::ioAddr, irqDisable(), irqEnable(), kprintf(), mDev, mPic, NE_IMR, NE_ISR, NE_TPSR, outportByte(), sPic, and status.
Here is the call graph for this function:

| void ne2kISR | ( | ) |
Referenced by ne2k_init().
| int ne2kProbe | ( | int | , | |
| struct device * | ||||
| ) |
| int NICtoPC | ( | struct device * | dev, | |
| void * | packet, | |||
| int | length, | |||
| int | nic_addr | |||
| ) |
Definition at line 164 of file ne2k.c.
References assert, EN0_ISR, EN0_RCNTHI, EN0_RCNTLO, EN0_RSARHI, EN0_RSARLO, inportWord(), device::ioAddr, NE_DATAPORT, and outportByte().
Referenced by dp_pkt2user().
Here is the call graph for this function:

| void NS8390_init | ( | struct device * | dev, | |
| int | startp | |||
| ) |
| int PCtoNIC | ( | struct device * | dev, | |
| void * | packet, | |||
| int | length | |||
| ) |
Definition at line 115 of file ne2k.c.
References assert, E8390_RWRITE, E8390_START, EN0_ISR, EN0_RCNTHI, EN0_RCNTLO, EN0_RSARHI, EN0_RSARLO, inportByte(), device::ioAddr, kpanic(), NE_DATAPORT, outportByte(), and outportWord().
Here is the call graph for this function:

| char* nicPacket |
1.4.7