summaryrefslogtreecommitdiff
path: root/src/drivers/net/network.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/net/network.c')
-rw-r--r--src/drivers/net/network.c43
1 files changed, 43 insertions, 0 deletions
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 )
+{
+}