#ifndef RTL8139_H #define RTL8139_H #include "network.h" #include "pci.h" #include "port.h" #define NOF_MAC_REGISTERS 6 typedef struct { network_t base; port8_t MAC_port[NOF_MAC_REGISTERS]; port8_t CMD_port; port32_t TCR_port; port32_t RCR_port; const char *model; interrupt_handler_t interrupt_handler; } rtl8139_t; typedef struct { network_vtable_t base; } rtl8139_vtable_t; void rtl8139_init( rtl8139_t *rtl8139, pci_device_descriptor_t *descriptor, interrupt_t *interrupt, void *context ); void rtl8139_activate( void *obj ); void rtl8139_deactivate( void *obj ); void rtl8139_deinit( void *obj ); void rtl8139_print_info( void *obj ); uint32_t rtl8139_handle_interrupt( interrupt_handler_t *handler, uint32_t esp ); #endif // RTL8139_H