#include "src/net/net.hpp"
Idź do kodu źródłowego tego pliku.
Funkcje | |
int | e3c556_probe (uint8 bus_no, uint8 dev_no, struct Net::netif *nif) |
int | e3c556_poll (uint8 *packet, uint32 *packetlen) |
should be:exported routine that waits for a certain length of time for a packet actually only used by irq | |
void | e3c556_transmit (uint8 *d, unsigned int t, unsigned int s, uint8 *p) |
exported function that transmits a packet. | |
void | e3c556_mac (uint8 d[6]) |
Zmienne | |
struct Net::netif * | e3c556_nif |
Definicja w pliku 3c556.hpp.
void e3c556_mac | ( | uint8 | d[6] | ) |
Definicja w linii 607 pliku 3c556.cpp.
Odwołuje się do ETH_ALEN, INF_3C556_Type::HWAddr, INF_3C556 i memmove().
Odwołania w e3c556_probe().
should be:exported routine that waits for a certain length of time for a packet actually only used by irq
we don't need to acknowledge rxComplete -- the upload engine does it for us.
Build the up-load descriptor
Submit the upload descriptor to the NIC
Wait for upload completion (upComplete(15) or upError (14))
Check for Error (else we have good packet)
Ok, got packet. Set length in nic->packetlen.
Definicja w linii 392 pliku 3c556.cpp.
Odwołuje się do RXD::DataAddr, RXD::DataLength, Thread::i, INF_3C556, IOPorts::inw(), INF_3C556_Type::IOAddr, kprintf(), IOPorts::outl(), INF_3C556_Type::ReceiveDPD, regCommandIntStatus_w, regUpListPtr_l, RXD::UpNextPtr, RXD::UpPktStatus i virt_to_bus.
Odwołania w Net::EthernetFrameReceptionThread() i Net::init_3c556().
int e3c556_probe | ( | uint8 | bus_no, | |
uint8 | dev_no, | |||
struct Net::netif * | nif | |||
) |
Definicja w linii 613 pliku 3c556.cpp.
Odwołuje się do cmdAcknowledgeInterrupt, cmdEnableDcConverter, cmdRxEnable, cmdRxReset, cmdSetIndicationEnable, cmdSetInterruptEnable, cmdSetRxFilter, cmdTxEnable, cmdTxReset, INF_3C556_Type::CurrentWindow, e3c556_mac(), INF_3C556_Type::eeprom, Net::netif::eth_addr, HIWORD, htons, INF_3C556_Type::HWAddr, INF_3C556, IOPorts::inl(), IOPorts::inw(), INF_3C556_Type::IOAddr, kprintf(), LOWORD, IOPorts::outl(), IOPorts::outw(), Pci32_Addr, pci32_read_configuration_dword(), pci32_read_configuration_word(), pci32_write_configuration_byte(), pci32_write_configuration_word(), PCI_BASE_ADDRESS_0, PCI_COMMAND, PCI_COMMAND_IO, PCI_COMMAND_MASTER, PCI_LATENCY_TIMER, PCI_VENDOR_ID, regInternalConfig_3_l, regResetMediaOptions_3_w, regStationAddress_2_3w, winAddressing2 i winTxRxOptions3.
Odwołania w Net::init_3c556().
exported function that transmits a packet.
d[6] | destination address, ethernet; | |
t | protocol type (ARP, IP, etc); | |
s | size of the non-header part of the packet that needs to be transmitted; | |
p | the pointer to the packet data itself. |
Definicja w linii 310 pliku 3c556.cpp.
Odwołuje się do cmdStallCtl, TXD::DataAddr, TXD::DataLength, TXD::DnNextPtr, ETH_ALEN, TXD::FrameStartHeader, TXD::HdrAddr, TXD::HdrLength, htons, INF_3C556_Type::HWAddr, INF_3C556, IOPorts::inl(), IOPorts::inw(), INF_3C556_Type::IOAddr, memmove(), IOPorts::outl(), regCommandIntStatus_w, regDnListPtr_l, INF_3C556_Type::TransmitDPD i virt_to_bus.
Odwołania w Net::init_3c556().
struct Net::netif* e3c556_nif |
Definicja w linii 611 pliku 3c556.cpp.
Odwołania w Net::Arp::arp_get_ether(), e3c556_irq(), Net::IP::ip_transmit() i VarieteThread().