#ifndef NAN_DATA_H #define NAN_DATA_H #include #define SLSI_NAN_MAX_NDP 5 class NanDataCommand { int m_ndp_count; u32 m_ndp_instance_id[SLSI_NAN_MAX_NDP]; int m_max_ndp_sessions; int m_data_iface_count; char m_ifaceName[SLSI_NAN_MAX_NDP][IFNAMSIZ+1]; nlattr *newNlVendorMsg(int subcmd, WifiRequest &request); void dataInterfaceCreated(char *ifaceName); void dataInterfaceDeleted(char *ifaceName); void dataRequestInitiateSuccess(NanDataPathInitiatorRequest *msg); void dataIndicationResponseSuccess(NanDataPathIndicationResponse *msg); void dataEndSuccess(NanDataPathEndRequest *msg); int dataInterfaceCreateDelete(u16 id, char *ifaceName, int subcmd, WifiRequest &request); int dataRequestInitiate(u16 id, NanDataPathInitiatorRequest *msg, WifiRequest &request); int dataIndicationResponse(u16 id, NanDataPathIndicationResponse *msg, WifiRequest &request); int dataEnd(u16 id, NanDataPathEndRequest *msg, WifiRequest &request); void processNdpChannelInfo(nlattr *nl_data, NanChannelInfo &channel_info); int processNdpReqEvent(WifiEvent &event, NanCallbackHandler &callbackEventHandler); int processNdpCfmEvent(WifiEvent &event, NanCallbackHandler &callbackEventHandler); int processNdpEndEvent(WifiEvent &event, NanCallbackHandler &callbackEventHandler); public: NanDataCommand(); int processResponse(WifiEvent &reply, NanResponseMsg *response); void requestSuccess(u16 id, void *data, int subcmd); int getDataPathNLMsg(u16 id, void *data, int subcmd, WifiRequest &request); void setMaxNdpSessions(int max_ndp); int handleEvent(WifiEvent &event, NanCallbackHandler &callbackEventHandler); static int putSecurityInfo(u32 cipher, NanSecurityKeyInfo *key_info, u32 scid_len, u8 *scid, WifiRequest *request); static const u8 *getCmdName(int cmd); }; #endif