summaryrefslogtreecommitdiff
path: root/src/drivers/driver.h
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2017-07-15 17:38:09 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2017-07-15 17:38:09 +0200
commit76b381c5d30f32c3018a134d96f8a5c3ad677cfa (patch)
treebc151c2f2a8e07e0b08f4827ff24202088c20c0b /src/drivers/driver.h
parent5631e68852081bb4e4eaa6e3bb3a53a4d024dff2 (diff)
downloadabaos-76b381c5d30f32c3018a134d96f8a5c3ad677cfa.tar.gz
abaos-76b381c5d30f32c3018a134d96f8a5c3ad677cfa.tar.bz2
added a dummy RTL8139 network driver
added register interrupt handler methods to drivers (but I'm pretty unsure about them) setting network in qemu startup and using RTL8139 emulation drivers
Diffstat (limited to 'src/drivers/driver.h')
-rw-r--r--src/drivers/driver.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/drivers/driver.h b/src/drivers/driver.h
index 0f1a2b4..d538f14 100644
--- a/src/drivers/driver.h
+++ b/src/drivers/driver.h
@@ -4,6 +4,7 @@
#include "interrupts.h"
typedef struct {
+ void (*register_interrupt_handler)( void *obj, interrupt_handler_func_t handler, void *context );
void (*activate)( void *obj );
void (*deactivate)( void *obj );
void (*deinit)( void *obj );
@@ -12,9 +13,12 @@ typedef struct {
typedef struct {
driver_vtable_t const *vtable;
+ interrupt_handler_func_t handler;
+ void *context;
} driver_t;
void driver_init( driver_t *driver );
+void driver_register_interrupt_handler( void *obj, interrupt_handler_func_t handler, void *context );
void driver_activate( void *obj );
void driver_deactivate( void *obj );
void driver_deinit( void *obj );