1 /* 2 * Generic Snooping for Proxy ARP 3 * Copyright (c) 2014, Qualcomm Atheros, Inc. 4 * 5 * This software may be distributed under the terms of the BSD license. 6 * See README for more details. 7 */ 8 9 #ifndef X_SNOOP_H 10 #define X_SNOOP_H 11 12 #include "l2_packet/l2_packet.h" 13 14 #ifdef CONFIG_PROXYARP 15 16 int x_snoop_init(struct hostapd_data *hapd); 17 struct l2_packet_data * 18 x_snoop_get_l2_packet(struct hostapd_data *hapd, 19 void (*handler)(void *ctx, const u8 *src_addr, 20 const u8 *buf, size_t len), 21 enum l2_packet_filter_type type); 22 void x_snoop_mcast_to_ucast_convert_send(struct hostapd_data *hapd, 23 struct sta_info *sta, u8 *buf, 24 size_t len); 25 void x_snoop_deinit(struct hostapd_data *hapd); 26 27 #else /* CONFIG_PROXYARP */ 28 29 static inline int x_snoop_init(struct hostapd_data *hapd) 30 { 31 return 0; 32 } 33 34 static inline struct l2_packet_data * 35 x_snoop_get_l2_packet(struct hostapd_data *hapd, 36 void (*handler)(void *ctx, const u8 *src_addr, 37 const u8 *buf, size_t len), 38 enum l2_packet_filter_type type) 39 { 40 return NULL; 41 } 42 43 static inline void 44 x_snoop_mcast_to_ucast_convert_send(struct hostapd_data *hapd, 45 struct sta_info *sta, void *buf, 46 size_t len) 47 { 48 } 49 50 static inline void x_snoop_deinit(struct hostapd_data *hapd) 51 { 52 } 53 54 #endif /* CONFIG_PROXYARP */ 55 56 #endif /* X_SNOOP_H */ 57