NeKernel dev
Loading...
Searching...
No Matches
Generic+Basic+RTL8139.cc File Reference

Functions

EXTERN_C BOOL rtl_init_nic_rtl8139 (UInt16 io_base)
 RTL8139 Init routine.
EXTERN_C Void rtl_rtl8139_interrupt_handler (UIntPtr rsp)
 RTL8139 I/O interrupt handler.
EXTERN_C UInt8rtl_rtl8139_get_upper_layer ()
 RTL8139 get upper layer function.
EXTERN_C BOOL rtl_rtl8139_set_upper_layer (UInt8 *layer)
 RTL8139 set upper layer function.

Variables

STATIC UInt16 kRTLIOBase = 0xFFFF
STATIC BOOL kTXRXEnabled = NO
STATIC UInt32 kRXOffset = 0UL
STATIC constexpr CONST UInt32 kRXBufferSize = 8192 + 16 + 1500
STATIC UInt8kRXUpperLayer = nullptr
STATIC UInt8kRXBuffer = nullptr

Function Documentation

◆ rtl_init_nic_rtl8139()

EXTERN_C BOOL rtl_init_nic_rtl8139 ( UInt16 io_base)

RTL8139 Init routine.

Reset first.

◆ rtl_rtl8139_get_upper_layer()

EXTERN_C UInt8 * rtl_rtl8139_get_upper_layer ( )

RTL8139 get upper layer function.

Returns
the upper layer.
Return values
nullptrif no upper layer is set.
pointerto the upper layer if set.

◆ rtl_rtl8139_interrupt_handler()

EXTERN_C Void rtl_rtl8139_interrupt_handler ( UIntPtr rsp)

RTL8139 I/O interrupt handler.

Parameters
rspstack pointer.
Note
This function is called when the device interrupts to retrieve network data.

◆ rtl_rtl8139_set_upper_layer()

EXTERN_C BOOL rtl_rtl8139_set_upper_layer ( UInt8 * layer)

RTL8139 set upper layer function.

Parameters
layerthe upper layer.

Variable Documentation

◆ kRTLIOBase

STATIC UInt16 kRTLIOBase = 0xFFFF

◆ kRXBuffer

STATIC UInt8* kRXBuffer = nullptr

◆ kRXBufferSize

STATIC constexpr CONST UInt32 kRXBufferSize = 8192 + 16 + 1500
constexpr

◆ kRXOffset

STATIC UInt32 kRXOffset = 0UL

◆ kRXUpperLayer

STATIC UInt8* kRXUpperLayer = nullptr

◆ kTXRXEnabled

STATIC BOOL kTXRXEnabled = NO