From 949836a663eb652702fee79fd44b9c3f6863f920 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Thu, 20 Jul 2017 10:24:27 +0200 Subject: added a virtual network driver interface, made the dummy RTL8139 driver a specialization of it (nothing is functional there yet) --- src/drivers/net/network.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/drivers/net/network.c (limited to 'src/drivers/net/network.c') diff --git a/src/drivers/net/network.c b/src/drivers/net/network.c new file mode 100644 index 0000000..c60148f --- /dev/null +++ b/src/drivers/net/network.c @@ -0,0 +1,43 @@ +#include "network.h" + +#include "string.h" +#include "kernel.h" + +#undef DEBUG + +static network_vtable_t const network_vtable = { + { + network_activate, + network_deactivate, + network_deinit, + network_print_info + } +}; + +void network_init( network_t *network, interrupt_t *interrupt, void *context ) +{ + memset( network, 0, sizeof( network_t ) ); + + driver_init( (driver_t *)network, DRIVER_TYPE_NETWORK, interrupt, context ); + + ((driver_t *)network)->vtable = (driver_vtable_t *)&network_vtable; +} + +void network_activate( void *obj ) +{ + kernel_panic( "Activating generic netowrk driver should not be called directly." ); +} + +void network_deactivate( void *obj ) +{ + kernel_panic( "Deactivating generic netowrk driver should not be called directly." ); +} + +void network_deinit( void *obj ) +{ + kernel_panic( "Printing info of generic network driver should not be called directly." ); +} + +void network_print_info( void *obj ) +{ +} -- cgit v1.2.3-54-g00ecf