summaryrefslogtreecommitdiff
path: root/src/drivers/net/rtl8139.h
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2017-08-06 21:41:16 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2017-08-06 21:41:16 +0200
commitcb2acdaf3d1ee158f41a7e2617ebaaadfeef53da (patch)
tree65d1c197972f035be20f3b553c53fddeb5d82417 /src/drivers/net/rtl8139.h
parentc6e06f58e4d0b8bc40c8482728357cbd3be5d6b3 (diff)
downloadabaos-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.h6
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 );