diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2017-08-06 21:41:16 +0200 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2017-08-06 21:41:16 +0200 |
commit | cb2acdaf3d1ee158f41a7e2617ebaaadfeef53da (patch) | |
tree | 65d1c197972f035be20f3b553c53fddeb5d82417 /src/drivers/net/rtl8139.h | |
parent | c6e06f58e4d0b8bc40c8482728357cbd3be5d6b3 (diff) | |
download | abaos-cb2acdaf3d1ee158f41a7e2617ebaaadfeef53da.tar.gz abaos-cb2acdaf3d1ee158f41a7e2617ebaaadfeef53da.tar.bz2 |
some cleanup in ethernet constants
sending back an ARP packet
rtl8139: started to implement write (work in progress)
Diffstat (limited to 'src/drivers/net/rtl8139.h')
-rw-r--r-- | src/drivers/net/rtl8139.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/drivers/net/rtl8139.h b/src/drivers/net/rtl8139.h index 462526a..ec87d23 100644 --- a/src/drivers/net/rtl8139.h +++ b/src/drivers/net/rtl8139.h @@ -6,10 +6,13 @@ #include "port.h" #define NOF_MAC_REGISTERS 6 +#define NOF_TRANSMIT_BUFFERS 4 typedef struct { network_t base; port8_t MAC_port[NOF_MAC_REGISTERS]; + port32_t TSD_port[NOF_TRANSMIT_BUFFERS]; + port32_t TSAD_port[NOF_TRANSMIT_BUFFERS]; port32_t RBSTART_port; port8_t CMD_port; port16_t CAPR_port; @@ -24,6 +27,8 @@ typedef struct { const char *model; uint8_t *receive_buffer; uint16_t receive_buffer_pos; + uint8_t *transmit_buffer[NOF_TRANSMIT_BUFFERS]; + int transmit_buffer_idx; interrupt_handler_t interrupt_handler; } rtl8139_t; @@ -37,6 +42,7 @@ void rtl8139_deactivate( void *obj ); void rtl8139_deinit( void *obj ); void rtl8139_print_name( void *obj ); void rtl8139_print_info( void *obj ); +void rtl8139_write( void *obj, network_buffer_t buf ); uint32_t rtl8139_handle_interrupt( interrupt_handler_t *handler, uint32_t esp ); |