blob: 8d97eec6cddf734196d17f617574847a136ac9a2 [file] [log] [blame]
Mukul Sharmad75a6672017-06-22 15:40:53 +05301/*
2* Copyright (c) 2017 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 * DOC: Declare arp offload feature API's
20 */
21
22#ifndef _WLAN_PMO_ARP_H_
23#define _WLAN_PMO_ARP_H_
24
25#include "wlan_pmo_arp_public_struct.h"
26
27/**
28 * pmo_core_cache_arp_offload_req() - API to cache arp req in pmo vdev priv ctx
29 * @arp_req: arp offload request
30 *
31 * API To cache ARP offload in pmo vdev priv ctx
32 *
33 * Return: QDF_STATUS_SUCCESS in case of success else return error
34 */
35QDF_STATUS pmo_core_cache_arp_offload_req(struct pmo_arp_req *arp_req);
36
37/**
38 * pmo_core_flush_arp_offload_req() - API to flush arp req from pmo vdev ctx
39 * @vdev: objmgr vdev
40 *
41 * API To flush saved ARP request from pmo vdev prov ctx
42 *
43 * Return: QDF_STATUS_SUCCESS in case of success else return error
44 */
45QDF_STATUS pmo_core_flush_arp_offload_req(struct wlan_objmgr_vdev *vdev);
46
47/**
48 * pmo_core_enable_arp_offload_in_fwr() - API to enable arp offload in fwr
49 * @vdev: objmgr vdev
50 * @trigger: trigger reason
51 *
52 * API to enable arp offload in fwr from vdev priv ctx
53 *
54 * Return: QDF_STATUS_SUCCESS in case of success else return error
55 */
56QDF_STATUS pmo_core_enable_arp_offload_in_fwr(struct wlan_objmgr_vdev *vdev,
57 enum pmo_offload_trigger trigger);
58
59/**
60 * pmo_core_disable_arp_offload_in_fwr() - API to disable arp offload in fwr
61 * @vdev: objmgr vdev
62 * @trigger: trigger reason
63 *
64 * API to disable arp offload in fwr
65 *
66 * Return: QQDF_STATUS_SUCCESS in case of success else return error
67 */
68QDF_STATUS pmo_core_disable_arp_offload_in_fwr(struct wlan_objmgr_vdev *vdev,
69 enum pmo_offload_trigger trigger);
70
71#endif /* end of _WLAN_PMO_ARP_H_ */