summaryrefslogtreecommitdiff
path: root/src/drivers/net/network.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/network.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/network.h')
-rw-r--r--src/drivers/net/network.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/drivers/net/network.h b/src/drivers/net/network.h
index 91dbf61..39ae627 100644
--- a/src/drivers/net/network.h
+++ b/src/drivers/net/network.h
@@ -11,6 +11,10 @@
typedef struct {
uint16_t length;
uint8_t *data;
+} network_buffer_t;
+
+typedef struct {
+ network_buffer_t buf;
} network_event_t;
typedef void (*network_event_handler_t)( network_event_t *event, void *context );
@@ -24,10 +28,12 @@ typedef struct {
typedef struct {
driver_vtable_t base;
void (*register_handler)( void *obj, network_event_handler_t handler );
+ void (*write)( void *obj, network_buffer_t buf );
} network_vtable_t;
void network_init( network_t *network, interrupt_t *interrupt, void *context );
void network_register_handler( void *obj, network_event_handler_t handler );
+void network_write( void *obj, network_buffer_t buf );
#endif // NETWORK_H