1fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt/* 2fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt * WPA Supplicant - Basic mesh peer management 3fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt * Copyright (c) 2013-2014, cozybit, Inc. All rights reserved. 4fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt * 5fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt * This software may be distributed under the terms of the BSD license. 6fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt * See README for more details. 7fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt */ 8fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt 9fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt#ifndef MESH_MPM_H 10fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt#define MESH_MPM_H 11fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt 12fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt/* notify MPM of new mesh peer to be inserted in MPM and driver */ 13fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidtvoid wpa_mesh_new_mesh_peer(struct wpa_supplicant *wpa_s, const u8 *addr, 14fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt struct ieee802_11_elems *elems); 15fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidtvoid mesh_mpm_deinit(struct wpa_supplicant *wpa_s, struct hostapd_iface *ifmsh); 16fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidtvoid mesh_mpm_auth_peer(struct wpa_supplicant *wpa_s, const u8 *addr); 17fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidtvoid mesh_mpm_free_sta(struct sta_info *sta); 18aff761db795db8b506c6f6af7ff607856cf85a81Dmitry Shmidtvoid wpa_mesh_set_plink_state(struct wpa_supplicant *wpa_s, 19aff761db795db8b506c6f6af7ff607856cf85a81Dmitry Shmidt struct sta_info *sta, 20aff761db795db8b506c6f6af7ff607856cf85a81Dmitry Shmidt enum mesh_plink_state state); 21fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt 22fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt#ifdef CONFIG_MESH 23fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt 24fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidtvoid mesh_mpm_action_rx(struct wpa_supplicant *wpa_s, 25fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt const struct ieee80211_mgmt *mgmt, size_t len); 26fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidtvoid mesh_mpm_mgmt_rx(struct wpa_supplicant *wpa_s, struct rx_mgmt *rx_mgmt); 27fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt 28fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt#else /* CONFIG_MESH */ 29fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt 30fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidtstatic inline void mesh_mpm_action_rx(struct wpa_supplicant *wpa_s, 31fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt const struct ieee80211_mgmt *mgmt, 32fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt size_t len) 33fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt{ 34fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt} 35fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt 36fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidtstatic inline void mesh_mpm_mgmt_rx(struct wpa_supplicant *wpa_s, 37fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt struct rx_mgmt *rx_mgmt) 38fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt{ 39fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt} 40fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt 41fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt#endif /* CONFIG_MESH */ 42fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt 43fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt#endif /* MESH_MPM_H */ 44