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