1195377Ssam/*- 2195377Ssam * Copyright (c) 2009 Sam Leffler, Errno Consulting 3195377Ssam * All rights reserved. 4195377Ssam * 5195377Ssam * Redistribution and use in source and binary forms, with or without 6195377Ssam * modification, are permitted provided that the following conditions 7195377Ssam * are met: 8195377Ssam * 1. Redistributions of source code must retain the above copyright 9195377Ssam * notice, this list of conditions and the following disclaimer. 10195377Ssam * 2. Redistributions in binary form must reproduce the above copyright 11195377Ssam * notice, this list of conditions and the following disclaimer in the 12195377Ssam * documentation and/or other materials provided with the distribution. 13195377Ssam * 14195377Ssam * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 15195377Ssam * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 16195377Ssam * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 17195377Ssam * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 18195377Ssam * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 19195377Ssam * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 20195377Ssam * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 21195377Ssam * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22195377Ssam * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 23195377Ssam * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24195377Ssam * 25195377Ssam * $FreeBSD$ 26195377Ssam */ 27195377Ssam#ifndef _NET80211_IEEE80211_ACTION_H_ 28195377Ssam#define _NET80211_IEEE80211_ACTION_H_ 29195377Ssam 30195377Ssam/* 31195377Ssam * 802.11 send/recv action frame support. 32195377Ssam */ 33195377Ssam 34195377Ssamstruct ieee80211_node; 35195377Ssamstruct ieee80211_frame; 36195377Ssam 37195377Ssamtypedef int ieee80211_send_action_func(struct ieee80211_node *, 38195377Ssam int, int, void *); 39195377Ssamint ieee80211_send_action_register(int cat, int act, 40195377Ssam ieee80211_send_action_func *f); 41195377Ssamvoid ieee80211_send_action_unregister(int cat, int act); 42195377Ssamint ieee80211_send_action(struct ieee80211_node *, int, int, void *); 43195377Ssam 44195377Ssamtypedef int ieee80211_recv_action_func(struct ieee80211_node *, 45195377Ssam const struct ieee80211_frame *, const uint8_t *, const uint8_t *); 46195377Ssamint ieee80211_recv_action_register(int cat, int act, 47195377Ssam ieee80211_recv_action_func *); 48195377Ssamvoid ieee80211_recv_action_unregister(int cat, int act); 49195377Ssamint ieee80211_recv_action(struct ieee80211_node *, 50195377Ssam const struct ieee80211_frame *, 51195377Ssam const uint8_t *, const uint8_t *); 52195377Ssam#endif /* _NET80211_IEEE80211_ACTION_H_ */ 53