diff options
Diffstat (limited to 'src/drivers/net/network.h')
-rw-r--r-- | src/drivers/net/network.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/drivers/net/network.h b/src/drivers/net/network.h index 8ec17cb..751ca40 100644 --- a/src/drivers/net/network.h +++ b/src/drivers/net/network.h @@ -11,16 +11,25 @@ typedef struct { } network_mac_address_t; typedef struct { +} network_event_t; + +typedef void (*network_event_handler_t)( network_event_t *event, void *context ); + +typedef struct { driver_t base; network_mac_address_t mac_address; + network_event_handler_t handler; } network_t; typedef struct { driver_vtable_t base; + void (*register_handler)( void *obj, network_event_handler_t handler ); } 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 ); + char *network_mac_to_string( network_mac_address_t mac, char *buf, size_t buflen ); #endif // NETWORK_H |