1*3ff40c12SJohn Marino /* 2*3ff40c12SJohn Marino * Netlink helper functions for driver wrappers 3*3ff40c12SJohn Marino * Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi> 4*3ff40c12SJohn Marino * 5*3ff40c12SJohn Marino * This software may be distributed under the terms of the BSD license. 6*3ff40c12SJohn Marino * See README for more details. 7*3ff40c12SJohn Marino */ 8*3ff40c12SJohn Marino 9*3ff40c12SJohn Marino #ifndef NETLINK_H 10*3ff40c12SJohn Marino #define NETLINK_H 11*3ff40c12SJohn Marino 12*3ff40c12SJohn Marino struct netlink_data; 13*3ff40c12SJohn Marino struct ifinfomsg; 14*3ff40c12SJohn Marino 15*3ff40c12SJohn Marino struct netlink_config { 16*3ff40c12SJohn Marino void *ctx; 17*3ff40c12SJohn Marino void (*newlink_cb)(void *ctx, struct ifinfomsg *ifi, u8 *buf, 18*3ff40c12SJohn Marino size_t len); 19*3ff40c12SJohn Marino void (*dellink_cb)(void *ctx, struct ifinfomsg *ifi, u8 *buf, 20*3ff40c12SJohn Marino size_t len); 21*3ff40c12SJohn Marino }; 22*3ff40c12SJohn Marino 23*3ff40c12SJohn Marino struct netlink_data * netlink_init(struct netlink_config *cfg); 24*3ff40c12SJohn Marino void netlink_deinit(struct netlink_data *netlink); 25*3ff40c12SJohn Marino int netlink_send_oper_ifla(struct netlink_data *netlink, int ifindex, 26*3ff40c12SJohn Marino int linkmode, int operstate); 27*3ff40c12SJohn Marino 28*3ff40c12SJohn Marino #endif /* NETLINK_H */ 29