xref: /minix3/minix/net/lwip/ethif.h (revision ef8d499e2d2af900e9b2ab297171d7b088652482)
1*ef8d499eSDavid van Moolenbroek #ifndef MINIX_NET_LWIP_ETHIF_H
2*ef8d499eSDavid van Moolenbroek #define MINIX_NET_LWIP_ETHIF_H
3*ef8d499eSDavid van Moolenbroek 
4*ef8d499eSDavid van Moolenbroek #include "ndev.h"
5*ef8d499eSDavid van Moolenbroek 
6*ef8d499eSDavid van Moolenbroek struct ethif;
7*ef8d499eSDavid van Moolenbroek 
8*ef8d499eSDavid van Moolenbroek void ethif_init(void);
9*ef8d499eSDavid van Moolenbroek 
10*ef8d499eSDavid van Moolenbroek struct ethif *ethif_add(ndev_id_t id, const char * name, uint32_t caps);
11*ef8d499eSDavid van Moolenbroek int ethif_enable(struct ethif * ethif, const char * name,
12*ef8d499eSDavid van Moolenbroek 	const struct ndev_hwaddr * hwaddr, uint8_t hwaddr_len, uint32_t caps,
13*ef8d499eSDavid van Moolenbroek 	uint32_t link, uint32_t media);
14*ef8d499eSDavid van Moolenbroek void ethif_disable(struct ethif * ethif);
15*ef8d499eSDavid van Moolenbroek void ethif_remove(struct ethif * ethif);
16*ef8d499eSDavid van Moolenbroek 
17*ef8d499eSDavid van Moolenbroek void ethif_configured(struct ethif * ethif, int32_t result);
18*ef8d499eSDavid van Moolenbroek void ethif_sent(struct ethif * ethif, int32_t result);
19*ef8d499eSDavid van Moolenbroek void ethif_received(struct ethif * ethif, int32_t result);
20*ef8d499eSDavid van Moolenbroek 
21*ef8d499eSDavid van Moolenbroek void ethif_status(struct ethif * ethif, uint32_t link, uint32_t media,
22*ef8d499eSDavid van Moolenbroek 	uint32_t oerror, uint32_t coll, uint32_t ierror, uint32_t iqdrop);
23*ef8d499eSDavid van Moolenbroek 
24*ef8d499eSDavid van Moolenbroek #endif /* !MINIX_NET_LWIP_ETHIF_H */
25