xref: /wlan-driver/qcacld-3.0/core/sme/inc/sme_rrm_api.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
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