bcbfbb51fdd70f4c349398f3ecffa1c8ede9930f
[libeap.git] / src / drivers / netlink.h
1 /*
2  * Netlink helper functions for driver wrappers
3  * Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation.
8  *
9  * Alternatively, this software may be distributed under the terms of BSD
10  * license.
11  *
12  * See README and COPYING for more details.
13  */
14
15 #ifndef NETLINK_H
16 #define NETLINK_H
17
18 struct netlink_data;
19
20 struct netlink_config {
21         void *ctx;
22         void (*newlink_cb)(void *ctx, struct ifinfomsg *ifi, u8 *buf,
23                            size_t len);
24         void (*dellink_cb)(void *ctx, struct ifinfomsg *ifi, u8 *buf,
25                            size_t len);
26 };
27
28 struct netlink_data * netlink_init(struct netlink_config *cfg);
29 void netlink_deinit(struct netlink_data *netlink);
30 int netlink_send_oper_ifla(struct netlink_data *netlink, int ifindex,
31                            int linkmode, int operstate);
32
33 #endif /* NETLINK_H */