xref: /freebsd/contrib/wpa/src/drivers/netlink.h (revision e28a4053)
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 */
34