23#include "pedigree/kernel/machine/IrqHandler.h"
24#include "pedigree/kernel/machine/Network.h"
25#include "pedigree/kernel/machine/types.h"
26#include "pedigree/kernel/process/Mutex.h"
27#include "pedigree/kernel/process/Semaphore.h"
28#include "pedigree/kernel/processor/MemoryRegion.h"
29#include "pedigree/kernel/processor/state_forward.h"
30#include "pedigree/kernel/processor/types.h"
31#include "pedigree/kernel/utilities/String.h"
33#include "3Com90xConstants.h"
44 str.assign(
"3C90x", 6);
47 virtual bool send(
size_t nBytes, uintptr_t buffer);
53 bool isInitialised()
const {
63 static constexpr size_t ReceiveSlotSize = 1536;
69 bool waitForEepromReady();
77 bool stopDeviceLocked();
81 uint8_t m_CurrentWindow;
83 uint8_t* m_pRxBuffVirt;
84 uint8_t* m_pTxBuffVirt;
85 uintptr_t m_pRxBuffPhys;
86 uintptr_t m_pTxBuffPhys;
99 uint32_t FrameStartHeader;
109 volatile uint32_t UpPktStatus;
120 uint8_t m_ReceiveStaging[NUM_UPDS * ReceiveSlotSize];
130 size_t m_RxConsumerIndex;
Abstrace base class for hardware I/O capabilities.
Special memory entity in the kernel's virtual address space.
virtual const StationInfo & getStationInfo()
int writeEepromWord(int address, uint16_t value)
int setWindow(int window)
virtual IrqDisposition irq(irq_id_t number)
virtual bool send(size_t nBytes, uintptr_t buffer)
virtual void getName(String &str)
int writeEeprom(int address, uint16_t value)
virtual bool setStationInfo(const StationInfo &info)
bool readEeprom(int address, uint16_t &value)
bool issueCommand(int cmd, int param)