diff options
| author | Ravi Joshi <ravij@qca.qualcomm.com> | 2016-01-25 19:22:36 -0800 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2016-03-09 18:09:23 +0530 |
| commit | fba9d2da9e86dbe47c12002ee81fb3bfde42110d (patch) | |
| tree | aea35d8945456329ad804b6ed3ec5a9b8956cc6b | |
| parent | 4eb25cb0d431e0bf53182c0424a6b25e8097b5c8 (diff) | |
qcacld-2.0: Add interface changes for supporting NaN data path
Add interface changes to enable NaN data path feature
CRs-Fixed: 962367
Change-Id: I12a1d0cf37db22ff0bcb8165cb3f6b3847f8bf5b
| -rw-r--r-- | CORE/MAC/inc/sirApi.h | 350 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/nan/nan_datapath.c | 23 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/nan/nan_datapath.h | 94 | ||||
| -rw-r--r-- | CORE/SERVICES/WMA/wma_nan_datapath.c | 136 | ||||
| -rw-r--r-- | CORE/SERVICES/WMA/wma_nan_datapath.h | 2 | ||||
| -rw-r--r-- | CORE/SME/inc/csrApi.h | 17 | ||||
| -rw-r--r-- | CORE/SME/inc/sme_nan_datapath.h | 24 | ||||
| -rw-r--r-- | CORE/SME/src/nan/nan_datapath_api.c | 55 |
8 files changed, 699 insertions, 2 deletions
diff --git a/CORE/MAC/inc/sirApi.h b/CORE/MAC/inc/sirApi.h index a6fdaa09005e..1dfcea444e5b 100644 --- a/CORE/MAC/inc/sirApi.h +++ b/CORE/MAC/inc/sirApi.h @@ -6943,4 +6943,354 @@ struct sme_send_disassoc_frm_req uint8_t wait_for_ack; }; +#ifdef WLAN_FEATURE_NAN_DATAPATH + +#define IFACE_NAME_SIZE 64 + +/** + * enum ndp_accept_policy - nan data path accept policy + * @NDP_ACCEPT_POLICY_NONE: the framework will decide the policy + * @NDP_ACCEPT_POLICY_ALL: accept policy offloaded to fw + * + */ +enum ndp_accept_policy { + NDP_ACCEPT_POLICY_NONE = 0, + NDP_ACCEPT_POLICY_ALL = 1, +}; + +/** + * enum ndp_self_role - nan data path role + * @NDP_ROLE_INITIATOR: initiator of nan data path request + * @NDP_ROLE_RESPONDER: responder to nan data path request + * + */ +enum ndp_self_role { + NDP_ROLE_INITIATOR = 0, + NDP_ROLE_RESPONDER = 1, +}; + +/** + * enum ndp_response_code - responder's response code to nan data path request + * @NDP_RESPONSE_ACCEPT: ndp request accepted + * @NDP_RESPONSE_REJECT: ndp request rejected + * @NDP_RESPONSE_DEFER: ndp request deferred until later (response to follow + * any time later) + * + */ +enum ndp_response_code { + NDP_RESPONSE_ACCEPT = 0, + NDP_RESPONSE_REJECT = 1, + NDP_RESPONSE_DEFER = 2, +}; + +/** + * struct ndp_cfg - ndp configuration + * @tag: unique identifier + * @ndp_cfg_len: ndp configuration length + * @ndp_cfg: variable length ndp configuration + * + */ +struct ndp_cfg { + uint32_t tag; + uint32_t ndp_cfg_len; + uint8_t ndp_cfg[]; +}; + +/** + * struct ndp_qos_cfg - ndp qos configuration + * @tag: unique identifier + * @ndp_qos_cfg_len: ndp qos configuration length + * @ndp_qos_cfg: variable length ndp qos configuration + * + */ +struct ndp_qos_cfg { + uint32_t tag; + uint32_t ndp_qos_cfg_len; + uint8_t ndp_qos_cfg[]; +}; + +/** + * struct ndp_app_info - application info shared during ndp setup + * @tag: unique identifier + * @ndp_app_info_len: ndp app info length + * @ndp_app_info: variable length application information + * + */ +struct ndp_app_info { + uint32_t tag; + uint32_t ndp_app_info_len; + uint8_t ndp_app_info[]; +}; + +/** + * struct ndi_create_req - ndi create request params + * @transaction_id: unique identifier + * @iface_name: interface name + * + */ + struct ndi_create_req { + uint32_t transaction_id; + char iface_name[IFACE_NAME_SIZE]; +}; + +/** + * struct ndi_create_rsp - ndi create response params + * @transaction_id: unique identifier + * @status: request status + * @reason: reason if any + * + */ + struct ndi_create_rsp { + uint32_t transaction_id; + uint32_t status; + uint32_t reason; +}; + +/** + * struct ndi_delete_req - ndi delete request params + * @transaction_id: unique identifier + * @iface_name: interface name + * + */ + struct ndi_delete_req { + uint32_t transaction_id; + char iface_name[IFACE_NAME_SIZE]; +}; + +/** + * struct ndi_delete_rsp - ndi delete response params + * @transaction_id: unique identifier + * @status: request status + * @reason: reason if any + * + */ + struct ndi_delete_rsp { + uint32_t transaction_id; + uint32_t status; + uint32_t reason; +}; + +/** + * struct ndp_initiator_req - ndp initiator request params + * @transaction_id: unique identifier + * @vdev_id: session id of the interface over which ndp is being created + * @channel: suggested channel for ndp creation + * @service_instance_id: Service identifier + * @peer_discovery_mac_addr: Peer's discovery mac address + * @self_ndi_mac_addr: self NDI mac address + * @ndp_config: ndp configuration params + * @ndp_info: ndp application info + * + */ +struct ndp_initiator_req { + uint32_t transaction_id; + uint32_t vdev_id; + uint32_t channel; + uint32_t service_instance_id; + v_MACADDR_t peer_discovery_mac_addr; + v_MACADDR_t self_ndi_mac_addr; + struct ndp_cfg ndp_config; + struct ndp_app_info ndp_info; +}; + +/** + * struct ndp_initiator_rsp_event - response event from FW + * @transaction_id: unique identifier + * @vdev_id: session id of the interface over which ndp is being created + * @ndp_instance_id: locally created NDP instance ID + * @status: status of the ndp request + * @reason: reason for failure if any + * + */ +struct ndp_initiator_rsp_event { + uint32_t transaction_id; + uint32_t vdev_id; + uint32_t ndp_instance_id; + uint32_t status; + uint32_t reason; +}; + +/** + * struct ndp_indication_event - create ndp indication on the responder + * @vdev_id: session id of the interface over which ndp is being created + * @service_instance_id: Service identifier + * @peer_discovery_mac_addr: Peer's discovery mac address + * @ndp_initiator_mac_addr: NDI mac address of the peer initiating NDP + * @ndp_instance_id: locally created NDP instance ID + * @role: self role for NDP + * @ndp_accept_policy: accept policy configured by the upper layer + * @ndp_config: ndp configuration params + * @ndp_info: ndp application info + * + */ +struct ndp_indication_event { + uint32_t vdev_id; + uint32_t service_instance_id; + v_MACADDR_t peer_discovery_mac_addr; + v_MACADDR_t ndp_initiator_mac_addr; + uint32_t ndp_instance_id; + enum ndp_self_role role; + enum ndp_accept_policy policy; + struct ndp_cfg ndp_config; + struct ndp_app_info ndp_info; +}; + +/** + * struct ndp_responder_req - responder's response to ndp create request + * @transaction_id: unique identifier + * @vdev_id: session id of the interface over which ndp is being created + * @ndp_instance_id: locally created NDP instance ID + * @ndp_rsp: response to the ndp create request + * @ndp_config: ndp configuration params + * @ndp_info: ndp application info + * + */ +struct ndp_responder_req { + uint32_t transaction_id; + uint32_t vdev_id; + uint32_t ndp_instance_id; + enum ndp_response_code ndp_rsp; + struct ndp_cfg ndp_config; + struct ndp_app_info ndp_info; +}; + +/** + * struct ndp_responder_rsp_event - response to responder's request + * @transaction_id: unique identifier + * @vdev_id: session id of the interface over which ndp is being created + * @status: command status + * @reason: reason for failure if any + * + */ +struct ndp_responder_rsp_event { + uint32_t transaction_id; + uint32_t vdev_id; + uint32_t status; + uint32_t reason; +}; + +/** + * struct ndp_confirm_event - ndp confirmation event from FW + * @vdev_id: session id of the interface over which ndp is being created + * @ndp_instance_id: ndp instance id for which confirm is being generated + * @peer_ndi_mac_addr: peer NDI mac address + * @rsp_code: ndp response code + * @ndp_config: ndp configuration + * @ndp_info: ndp application info + * + */ +struct ndp_confirm_event { + uint32_t vdev_id; + uint32_t ndp_instance_id; + v_MACADDR_t peer_ndi_mac_addr; + enum ndp_response_code rsp_code; + struct ndp_cfg ndp_config; + struct ndp_app_info ndp_info; +}; + +/** + * struct ndp_end_req - ndp end request + * @transaction_id: unique transaction identifier + * @vdev_id: session id of the interface over which ndp is being created + * @num_ndp_instances: number of ndp instances to be terminated + * @ndp_instances: list of ndp instances to be terminated + * + */ +struct ndp_end_req { + uint32_t transaction_id; + uint32_t vdev_id; + uint32_t num_ndp_instances; + uint32_t ndp_instances[]; +}; + +/** + * struct peer_ndp_map - mapping of NDP instances to peer to VDEV + * @vdev_id: session id of the interface over which ndp is being created + * @peer_ndi_mac_addr: peer NDI mac address + * @num_active_ndp_sessions: number of active NDP sessions on the peer + * + */ +struct peer_ndp_map { + uint32_t vdev_id; + v_MACADDR_t peer_ndi_mac_addr; + uint32_t num_active_ndp_sessions; +}; + +/** + * struct ndp_end_rsp_event - firmware response to ndp end request + * @transaction_id: unique identifier for the request + * @vdev_id: session id of the interface over which ndp is being created + * @ndp_map: mapping of NDP instances to peer to VDEV + * + */ +struct ndp_end_rsp_event { + uint32_t transaction_id; + uint32_t vdev_id; + struct peer_ndp_map ndp_map[]; +}; + +/** + * struct ndp_end_indication_event - ndp termination notification from FW + * @vdev_id: session id of the interface over which ndp is being created + * @reason: reason code for failure if any + * @status: status of the request + * @ndp_map: mapping of NDP instances to peer to VDEV + * + */ +struct ndp_end_indication_event { + uint32_t vdev_id; + uint32_t status; + uint32_t reason; + struct peer_ndp_map ndp_map[]; +}; + +/** + * struct ndp_schedule_update_req - ndp schedule update request + * @transaction_id: unique identifier + * @vdev_id: session id of the interface over which ndp is being created + * @ndp_instance_id: ndp instance id for which schedule update is requested + * @ndp_qos: new set of qos parameters + * + */ +struct ndp_schedule_update_req { + uint32_t transaction_id; + uint32_t vdev_id; + uint32_t ndp_instance_id; + struct ndp_qos_cfg ndp_qos; +}; + +/** + * struct ndp_schedule_update_rsp - ndp schedule update response + * @transaction_id: unique identifier + * @vdev_id: session id of the interface over which ndp is being created + * @status: status of the request + * @reason: reason code for failure if any + * + */ +struct ndp_schedule_update_rsp { + uint32 transaction_id; + uint32 vdev_id; + uint32 status; + uint32 reason; +}; + +/** + * struct sme_ndp_peer_ind - ndp peer indication + * @msg_type: message id + * @msg_len: message length + * @session_id: session id + * @peer_mac_addr: peer mac address + * @sta_id: station id + * + */ +struct sme_ndp_peer_ind { + uint16_t msg_type; + uint16_t msg_len; + uint8_t session_id; + v_MACADDR_t peer_mac_addr; + uint16_t sta_id; +}; + +#endif /* WLAN_FEATURE_NAN_DATAPATH */ + #endif /* __SIR_API_H */ diff --git a/CORE/MAC/src/pe/nan/nan_datapath.c b/CORE/MAC/src/pe/nan/nan_datapath.c index d9f6a5f26bd2..db8a05b7a059 100644 --- a/CORE/MAC/src/pe/nan/nan_datapath.c +++ b/CORE/MAC/src/pe/nan/nan_datapath.c @@ -26,3 +26,26 @@ #include "nan_datapath.h" +/** + * handle_ndp_request_message() - Function to handle NDP requests from SME + * @mac_ctx: handle to mac structure + * @msg: pointer to message + * + * Return: VOS_STATUS_SUCCESS on success; error number otherwise + */ +VOS_STATUS handle_ndp_request_message(tpAniSirGlobal mac_ctx, tpSirMsgQ msg) +{ + return VOS_STATUS_SUCCESS; +} + +/** + * handle_ndp_event_message() - Handler for NDP events from WMA + * @mac_ctx: handle to mac structure + * @msg: pointer to message + * + * Return: VOS_STATUS_SUCCESS on success; error number otherwise + */ +VOS_STATUS handle_ndp_event_message(tpAniSirGlobal mac_ctx, tpSirMsgQ msg) +{ + return VOS_STATUS_SUCCESS; +} diff --git a/CORE/MAC/src/pe/nan/nan_datapath.h b/CORE/MAC/src/pe/nan/nan_datapath.h index d4f23984c105..e749ce9f2c52 100644 --- a/CORE/MAC/src/pe/nan/nan_datapath.h +++ b/CORE/MAC/src/pe/nan/nan_datapath.h @@ -27,5 +27,99 @@ #ifndef __MAC_NAN_DATAPATH_H #define __MAC_NAN_DATAPATH_H +#ifdef WLAN_FEATURE_NAN_DATAPATH + +#include "sirCommon.h" +#include "aniGlobal.h" +#include "sirParams.h" + +/** + * struct ndp_peer_node - structure for holding per-peer context + * @next: pointer to the next peer + * @peer_mac_addr: peer mac address + * @ext_rates_present: extended rates supported + * @edca_present: edca supported + * @wme_edca_present: WME EDCA supported + * @wme_info_present: WME info supported + * @ht_capable: HT capable + * @vht_capable: VHT capabale + * @ht_sec_chan_offset: HT secondary channel offset + * @capability_info: Generic capability info + * @supported_rates: Supported rates + * @extended_rates: Supported extended rates + * @supported_mcs_rate: Supported MCS rates + * @edca_params: EDCA parameters + * @erp_ie_present: ERP IE supported + * @ht_green_field: HT green field supported + * @ht_shortGI_40Mhz; 40 MHZ short GI support + * @ht_shortGI_20Mhz; 20 MHZ short GI support + * @ht_mimo_ps_state: MIMO power state + * @ht_ampdu_density: AMPDU density + * @ht_max_rxampdu_factor: receieve AMPDU factor + * @ht_max_amsdu_len: Max AMSDU lengh supported + * @ht_supp_chan_widthset: Supported channel widthset + * @ht_ldpc_capable: LDPC capable + * @heartbeat_failure: heart beat failure indication flag + * @vht_caps: VHT capability + * @vht_supp_chanwidth_set: VHT supported channel width + * @vht_beamformer_capable: Beam former capable + */ +struct ndp_peer_node { + struct ndp_peer_node *next; + v_MACADDR_t peer_mac_addr; + uint8_t ext_rates_present; + uint8_t edca_present; + uint8_t wme_edca_present; + uint8_t wme_info_present; + uint8_t ht_capable; + uint8_t vht_capable; + uint8_t ht_sec_chan_offset; + tSirMacCapabilityInfo capability_info; + tSirMacRateSet supported_rates; + tSirMacRateSet extended_rates; + uint8_t supported_mcs_rate[SIZE_OF_SUPPORTED_MCS_SET]; + tSirMacEdcaParamSetIE edca_params; + uint8_t erp_ie_present; + uint8_t ht_green_field; + uint8_t ht_shortGI_40Mhz; + uint8_t ht_shortGI_20Mhz; + /* MIMO Power Save */ + tSirMacHTMIMOPowerSaveState ht_mimo_ps_state; + uint8_t ht_ampdu_density; + /* Maximum Rx A-MPDU factor */ + uint8_t ht_max_rxampdu_factor; + uint8_t ht_max_amsdu_len; + uint8_t ht_supp_chan_widthset; + uint8_t ht_ldpc_capable; + uint8_t heartbeat_failure; + +#ifdef WLAN_FEATURE_11AC + tDot11fIEVHTCaps vht_caps; + uint8_t vht_supp_chanwidth_set; + uint8_t vht_beamformer_capable; +#endif +}; + +/* Function to process NDP requests */ +VOS_STATUS lim_handle_ndp_request_message(tpAniSirGlobal mac_ctx, + tpSirMsgQ msg); +/* Function to process NDP events */ +VOS_STATUS lim_handle_ndp_event_message(tpAniSirGlobal mac_ctx, + tpSirMsgQ msg); +#else +/* Function to process NDP requests */ +static inline VOS_STATUS lim_handle_ndp_request_message(tpAniSirGlobal mac_ctx, + tpSirMsgQ msg) +{ + return VOS_STATUS_SUCCESS; +} +/* Function to process NDP events */ +static inline VOS_STATUS lim_handle_ndp_event_message(tpAniSirGlobal mac_ctx, + tpSirMsgQ msg) +{ + return VOS_STATUS_SUCCESS; +} +#endif /* WLAN_FEATURE_NAN_DATAPATH */ + #endif /* __MAC_NAN_DATAPATH_H */ diff --git a/CORE/SERVICES/WMA/wma_nan_datapath.c b/CORE/SERVICES/WMA/wma_nan_datapath.c index 6deebb293239..a5e17ac0d7d6 100644 --- a/CORE/SERVICES/WMA/wma_nan_datapath.c +++ b/CORE/SERVICES/WMA/wma_nan_datapath.c @@ -26,3 +26,139 @@ #include "wma_nan_datapath.h" + +/** + * wma_handle_ndp_initiator_req() - NDP initiator request handler + * @wma_handle: wma handle + * @req_params: request parameters + * + * Return: VOS_STATUS_SUCCESS on success; error number otherwise + */ +VOS_STATUS wma_handle_ndp_initiator_req(tp_wma_handle wma_handle, + struct ndp_initiator_req *req_params) +{ + return VOS_STATUS_SUCCESS; +} + +/** + * wma_handle_ndp_responder_req() - NDP responder request handler + * @wma_handle: wma handle + * @req_params: request parameters + * + * Return: VOS_STATUS_SUCCESS on success; error number otherwise + */ +VOS_STATUS wma_handle_ndp_responder_req(tp_wma_handle wma_handle, + struct ndp_responder_req *req_params) +{ + return VOS_STATUS_SUCCESS; +} + +/** + * wma_handle_ndp_end_req() - NDP end request handler + * @wma_handle: wma handle + * @req_params: request parameters + * + * Return: VOS_STATUS_SUCCESS on success; error number otherwise + */ +VOS_STATUS wma_handle_ndp_end_req(tp_wma_handle wma_handle, + struct ndp_end_req *req_params) +{ + return VOS_STATUS_SUCCESS; +} + +/** + * wma_handle_ndp_sched_update_req() - NDP schedule update request handler + * @wma_handle: wma handle + * @req_params: request parameters + * + * Return: VOS_STATUS_SUCCESS on success; error number otherwise + */ +VOS_STATUS wma_handle_ndp_sched_update_req(tp_wma_handle wma_handle, + struct ndp_end_req *req_params) +{ + return VOS_STATUS_SUCCESS; +} + +/** + * wma_ndp_indication_event_handler() - NDP indication event handler + * @handle: wma handle + * @event_info: event handler data + * @len: length of event_info + * + * Return: VOS_STATUS_SUCCESS on success; error number otherwise + */ +VOS_STATUS wma_ndp_indication_event_handler(void *handle, + uint8_t *event_info, uint32_t len) +{ + return VOS_STATUS_SUCCESS; +} + +/** + * wma_ndp_responder_resp_event_handler() - NDP responder response event handler + * @handle: wma handle + * @event_info: event handler data + * @len: length of event_info + * + * Return: VOS_STATUS_SUCCESS on success; error number otherwise + */ +VOS_STATUS wma_ndp_responder_resp_event_handler(void *handle, + uint8_t *event_info, uint32_t len) +{ + return VOS_STATUS_SUCCESS; +} + +/** + * wma_ndp_confirm_event_handler() - NDP confirm event handler + * @handle: wma handle + * @event_info: event handler data + * @len: length of event_info + * + * Return: VOS_STATUS_SUCCESS on success; error number otherwise + */ +VOS_STATUS wma_ndp_confirm_event_handler(void *handle, + uint8_t *event_info, uint32_t len) +{ + return VOS_STATUS_SUCCESS; +} + +/** + * wma_ndp_end_response_event_handler() - NDP end response event handler + * @handle: wma handle + * @event_info: event handler data + * @len: length of event_info + * + * Return: VOS_STATUS_SUCCESS on success; error number otherwise + */ +VOS_STATUS wma_ndp_end_response_event_handler(void *handle, + uint8_t *event_info, uint32_t len) +{ + return VOS_STATUS_SUCCESS; +} + +/** + * wma_ndp_end_indication_event_handler() - NDP end indication event handler + * @handle: wma handle + * @event_info: event handler data + * @len: length of event_info + * + * Return: VOS_STATUS_SUCCESS on success; error number otherwise + */ +VOS_STATUS wma_ndp_end_indication_event_handler(void *handle, + uint8_t *event_info, uint32_t len) +{ + return VOS_STATUS_SUCCESS; +} + +/** + * wma_ndp_sched_update_rsp_event_handler() -NDP sched update rsp event handler + * @handle: wma handle + * @event_info: event handler data + * @len: length of event_info + * + * Return: VOS_STATUS_SUCCESS on success; error number otherwise + */ +VOS_STATUS wma_ndp_sched_update_rsp_event_handler(void *handle, + uint8_t *event_info, uint32_t len) +{ + return VOS_STATUS_SUCCESS; +} diff --git a/CORE/SERVICES/WMA/wma_nan_datapath.h b/CORE/SERVICES/WMA/wma_nan_datapath.h index 3654648f0a99..66475a765e2e 100644 --- a/CORE/SERVICES/WMA/wma_nan_datapath.h +++ b/CORE/SERVICES/WMA/wma_nan_datapath.h @@ -52,6 +52,6 @@ static inline void wma_update_hdd_cfg_ndp(tp_wma_handle wma_handle, return; } -#endif +#endif /* WLAN_FEATURE_NAN_DATAPATH */ #endif /* __WMA_NAN_DATAPATH_H */ diff --git a/CORE/SME/inc/csrApi.h b/CORE/SME/inc/csrApi.h index 710b31dc87ff..496422f413ac 100644 --- a/CORE/SME/inc/csrApi.h +++ b/CORE/SME/inc/csrApi.h @@ -644,6 +644,8 @@ typedef enum eCSR_ROAM_RESULT_DFS_CHANSW_UPDATE_FAILURE, eCSR_ROAM_EXT_CHG_CHNL_UPDATE_IND, + eCSR_ROAM_RESULT_NDP_CREATE_RSP, + eCSR_ROAM_RESULT_NDP_DELETE_RSP, eCSR_ROAM_RESULT_NDP_INITIATOR_RSP, eCSR_ROAM_RESULT_NDP_NEW_PEER_IND, eCSR_ROAM_RESULT_NDP_CONFIRM_IND, @@ -1423,6 +1425,21 @@ typedef struct tagCsrRoamInfo #endif tSirSmeChanInfo chan_info; uint8_t target_channel; + +#ifdef WLAN_FEATURE_NAN_DATAPATH + union { + struct sme_ndp_peer_ind ndp_peer_ind_params; + struct ndp_schedule_update_rsp ndp_sched_upd_rsp_params; + struct ndp_end_indication_event ndp_end_ind_params; + struct ndp_end_rsp_event ndp_end_rsp_params; + struct ndp_confirm_event ndp_confirm_params; + struct ndp_responder_rsp_event ndp_responder_rsp_params; + struct ndp_indication_event ndp_indication_params; + struct ndp_initiator_rsp_event ndp_init_rsp_params; + struct ndi_create_rsp ndi_create_params; + struct ndi_delete_rsp ndi_delete_params; + } ndp; +#endif }tCsrRoamInfo; diff --git a/CORE/SME/inc/sme_nan_datapath.h b/CORE/SME/inc/sme_nan_datapath.h index 9b91f0a70f77..e8831e67e9e9 100644 --- a/CORE/SME/inc/sme_nan_datapath.h +++ b/CORE/SME/inc/sme_nan_datapath.h @@ -27,6 +27,28 @@ #ifndef __SME_NAN_DATAPATH_H #define __SME_NAN_DATAPATH_H -#endif /* __SME_NAN_DATAPATH_H */ +#include "vos_types.h" +#include "halTypes.h" +#include "sirApi.h" +#include "aniGlobal.h" + +/* NaN initiator request handler */ +VOS_STATUS sme_ndp_initiator_req_handler(uint32_t session_id, + struct ndp_initiator_req *req_params); + +/* NaN responder request handler */ +VOS_STATUS sme_ndp_responder_req_handler(uint32_t session_id, + struct ndp_responder_req *req_params); +/* NaN indication response handler */ +VOS_STATUS sme_ndp_end_req_handler(uint32_t session_id, + struct ndp_end_req *req_params); +/* NaN schedule update request handler */ +VOS_STATUS sme_ndp_sched_req_handler(uint32_t session_id, + struct ndp_schedule_update_req *req_params); + +/* Function to handle NDP messages from lower layers */ +void sme_ndp_message_processor(tpAniSirGlobal mac_ctx, uint16_t msg_type, + void *msg); +#endif /* __SME_NAN_DATAPATH_H */ diff --git a/CORE/SME/src/nan/nan_datapath_api.c b/CORE/SME/src/nan/nan_datapath_api.c index 56a8a99f6ac8..0227c01c3739 100644 --- a/CORE/SME/src/nan/nan_datapath_api.c +++ b/CORE/SME/src/nan/nan_datapath_api.c @@ -24,3 +24,58 @@ * SME NAN Data path API implementation */ #include "sme_nan_datapath.h" + +/** + * sme_ndp_initiator_req_handler() - ndp initiator req handler + * @session_id: session id over which the ndp is being created + * @req_params: request parameters + * + * Return: VOS_STATUS_SUCCESS on success; error number otherwise + */ +VOS_STATUS sme_ndp_initiator_req_handler(uint32_t session_id, + struct ndp_initiator_req *req_params) +{ + return VOS_STATUS_SUCCESS; +} + +/** + * sme_ndp_responder_req_handler() - ndp responder request handler + * @session_id: session id over which the ndp is being created + * @req_params: request parameters + * + * Return: VOS_STATUS_SUCCESS on success; error number otherwise + */ +VOS_STATUS sme_ndp_responder_req_handler(uint32_t session_id, + struct ndp_responder_req *req_params) +{ + return VOS_STATUS_SUCCESS; +} + +/** + * sme_ndp_end_req_handler() - ndp end request handler + * @session_id: session id over which the ndp is being created + * @req_params: request parameters + * + * Return: VOS_STATUS_SUCCESS on success; error number otherwise + */ +VOS_STATUS sme_ndp_end_req_handler(uint32_t session_id, + struct ndp_end_req *req_params) +{ + return VOS_STATUS_SUCCESS; +} + + +/** + * sme_ndp_sched_req_handler() - ndp schedule request handler + * @session_id: session id over which the ndp is being created + * @req_params: request parameters + * + * Return: VOS_STATUS_SUCCESS on success; error number otherwise + */ + VOS_STATUS sme_ndp_sched_req_handler(uint32_t session_id, + struct ndp_schedule_update_req *req_params) +{ + return VOS_STATUS_SUCCESS; +} + + |
