1341618Scy/* 2341618Scy * hostapd / IEEE 802 OUI Extended Ethertype 3341618Scy * Copyright (c) 2016, Jouni Malinen <j@w1.fi> 4341618Scy * 5341618Scy * This software may be distributed under the terms of the BSD license. 6341618Scy * See README for more details. 7341618Scy */ 8341618Scy 9341618Scy#ifndef ETH_P_OUI_H 10341618Scy#define ETH_P_OUI_H 11341618Scy 12341618Scystruct eth_p_oui_ctx; 13341618Scystruct hostapd_data; 14341618Scy 15341618Scy/* rx_callback only gets payload after OUI passed as buf */ 16341618Scystruct eth_p_oui_ctx * 17341618Scyeth_p_oui_register(struct hostapd_data *hapd, const char *ifname, u8 oui_suffix, 18341618Scy void (*rx_callback)(void *ctx, const u8 *src_addr, 19341618Scy const u8 *dst_addr, u8 oui_suffix, 20341618Scy const u8 *buf, size_t len), 21341618Scy void *rx_callback_ctx); 22341618Scyvoid eth_p_oui_unregister(struct eth_p_oui_ctx *eth_p_oui); 23341618Scyint eth_p_oui_send(struct eth_p_oui_ctx *ctx, const u8 *src_addr, 24341618Scy const u8 *dst_addr, const u8 *buf, size_t len); 25341618Scyvoid eth_p_oui_deliver(struct eth_p_oui_ctx *ctx, const u8 *src_addr, 26341618Scy const u8 *dst_addr, const u8 *buf, size_t len); 27341618Scy 28341618Scy#endif /* ETH_P_OUI_H */ 29