Dokumentacja pliku src/net/3c556.hpp

ramki ethernet na karcie 3c556 Więcej...

#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::netife3c556_nif


Opis szczegółowy

ramki ethernet na karcie 3c556

Definicja w pliku 3c556.hpp.


Dokumentacja funkcji

void e3c556_mac ( uint8  d[6]  ) 

Side Effects:
wypelnia d adresem MAC

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().

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

Zwraca:
should be:if it sees none, returns 0. This routine should copy the packet to nic->packet if it gets a packet and set the size in nic->packetlen. Return 1 if a packet was found. chyba jest wywolywane przez irq handler i nie powinno byc wywolywane dodatkowo

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 
)

void e3c556_transmit ( uint8 d,
unsigned int  t,
unsigned int  s,
uint8 p 
)

exported function that transmits a packet.

Zwraca:
Does not return any particular status.
Parametry:
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.

Do zrobienia:
memmove(&a, &b, 5) przy char *a, *b nie kopiuje wcale dobrze a taki kod moze sie w kodzie pojawiac !

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().


Dokumentacja zmiennych


Wygenerowano Sat Jul 19 02:21:25 2008 dla panaLiX programem  doxygen 1.5.6