1 /* 2 * Copyright (c) 2014-2019 The Linux Foundation. All rights reserved. 3 * 4 * Permission to use, copy, modify, and/or distribute this software for 5 * any purpose with or without fee is hereby granted, provided that the 6 * above copyright notice and this permission notice appear in all 7 * copies. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 10 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 11 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 12 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 13 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 14 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 15 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 16 * PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19 #if !defined(__SMERRMAPI_H) 20 #define __SMERRMAPI_H 21 22 /** 23 * \file sme_rrm_api.h 24 * 25 * \brief prototype for SME RRM APIs 26 */ 27 28 /*-------------------------------------------------------------------------- 29 Include Files 30 ------------------------------------------------------------------------*/ 31 #include "qdf_lock.h" 32 #include "qdf_trace.h" 33 #include "qdf_mem.h" 34 #include "qdf_types.h" 35 #include "ani_global.h" 36 #include "sir_api.h" 37 #include "sme_internal.h" 38 #include "sme_rrm_internal.h" 39 40 QDF_STATUS sme_rrm_msg_processor(struct mac_context *mac, uint16_t msg_type, 41 void *msg_buf); 42 QDF_STATUS rrm_close(struct mac_context *mac); 43 QDF_STATUS rrm_open(struct mac_context *mac); 44 QDF_STATUS sme_rrm_neighbor_report_request(struct mac_context *mac, 45 uint8_t sessionId, tpRrmNeighborReq pNeighborReq, 46 tpRrmNeighborRspCallbackInfo callbackInfo); 47 QDF_STATUS sme_rrm_process_beacon_report_req_ind(struct mac_context *mac, 48 void *msg_buf); 49 50 /** 51 * rrm_start() - start the RRM module 52 * @mac_ctx: The handle returned by mac_open. 53 * 54 * Return: QDF_STATUS 55 * QDF_STATUS_SUCCESS success 56 */ 57 QDF_STATUS rrm_start(struct mac_context *mac_ctx); 58 59 /** 60 * rrm_stop() - stop the RRM module 61 * @mac_ctx: The handle returned by mac_open. 62 * 63 * Return: QDF_STATUS 64 * QDF_STATUS_SUCCESS success 65 */ 66 QDF_STATUS rrm_stop(struct mac_context *mac_ctx); 67 68 #endif 69