summaryrefslogtreecommitdiff
path: root/src/drivers/net/rtl8139.h
diff options
context:
space:
mode:
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 );