summaryrefslogtreecommitdiff
path: root/src/drivers/net/network.h
blob: 0621ebf554bd77f5cdc43082b54dbfc246b65a12 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef NETWORK_H
#define NETWORK_H

#include "driver.h"

#include "stdint.h"
#include "stddef.h"

typedef struct {
	uint8_t byte[6];
} network_mac_address_t;

typedef struct {
	driver_t base;
	network_mac_address_t mac_address;
} network_t;

typedef struct {
	driver_vtable_t base;
} network_vtable_t;

void network_init( network_t *network, interrupt_t *interrupt, void *context );
void network_activate( void *obj );
void network_deactivate( void *obj );
void network_deinit( void *obj );
void network_print_info( void *obj );

char *network_mac_to_string( network_mac_address_t mac, char *buf, size_t buflen );

#endif // NETWORK_H