--- /dev/null
+#ifndef NAN_COMMON_H_
+#define NAN_COMMON_H_
+#define SLSI_WIFI_HAL_NAN_VERSION 1
+
+#define CHECK_WIFI_STATUS_RETURN_FAIL(result, LOGSTR) \
+ if (result != WIFI_SUCCESS) {\
+ ALOGE(LOGSTR" [result:%d]", result);\
+ return result;\
+ }
+
+#define CHECK_CONFIG_PUT_8_RETURN_FAIL(config, val, nan_attribute, request, result, FAIL_STR) \
+ if (config) {\
+ result = request.put_u8(nan_attribute, val); \
+ if (result != WIFI_SUCCESS) {\
+ ALOGE(FAIL_STR" [result:%d]", result);\
+ return result;\
+ }\
+ }
+
+#define CHECK_CONFIG_PUT_16_RETURN_FAIL(config, val, nan_attribute, request, result, FAIL_STR) \
+ if (config) {\
+ result = request.put_u16(nan_attribute, val); \
+ if (result != WIFI_SUCCESS) {\
+ ALOGE(FAIL_STR" [result:%d]", result);\
+ return result;\
+ }\
+ }
+
+
+#define CHECK_CONFIG_PUT_32_RETURN_FAIL(config, val, nan_attribute, request, result, FAIL_STR) \
+ if (config) {\
+ result = request.put_u32(nan_attribute, val); \
+ if (result != WIFI_SUCCESS) {\
+ ALOGE(FAIL_STR" [result:%d]", result);\
+ return result;\
+ }\
+ }
+
+#define CHECK_CONFIG_PUT_RETURN_FAIL(config, valptr, len, nan_attribute, request, result, FAIL_STR) \
+ if (config) {\
+ result = request.put(nan_attribute, valptr, len); \
+ if (result != WIFI_SUCCESS) {\
+ ALOGE(FAIL_STR" [result:%d]", result);\
+ return result;\
+ }\
+ }
+
+typedef enum {
+ NAN_REQ_ATTR_MASTER_PREF,
+ NAN_REQ_ATTR_CLUSTER_LOW,
+ NAN_REQ_ATTR_CLUSTER_HIGH,
+ NAN_REQ_ATTR_HOP_COUNT_LIMIT_VAL,
+ NAN_REQ_ATTR_SID_BEACON_VAL,
+
+ NAN_REQ_ATTR_SUPPORT_2G4_VAL,
+ NAN_REQ_ATTR_SUPPORT_5G_VAL,
+
+ NAN_REQ_ATTR_RSSI_CLOSE_2G4_VAL,
+ NAN_REQ_ATTR_RSSI_MIDDLE_2G4_VAL,
+ NAN_REQ_ATTR_RSSI_PROXIMITY_2G4_VAL,
+ NAN_REQ_ATTR_BEACONS_2G4_VAL,
+ NAN_REQ_ATTR_SDF_2G4_VAL,
+ NAN_REQ_ATTR_CHANNEL_2G4_MHZ_VAL,
+ NAN_REQ_ATTR_RSSI_PROXIMITY_VAL,
+
+
+ NAN_REQ_ATTR_RSSI_CLOSE_5G_VAL,
+ NAN_REQ_ATTR_RSSI_CLOSE_PROXIMITY_5G_VAL,
+ NAN_REQ_ATTR_RSSI_MIDDLE_5G_VAL,
+ NAN_REQ_ATTR_RSSI_PROXIMITY_5G_VAL,
+ NAN_REQ_ATTR_BEACON_5G_VAL,
+ NAN_REQ_ATTR_SDF_5G_VAL,
+ NAN_REQ_ATTR_CHANNEL_5G_MHZ_VAL,
+
+ NAN_REQ_ATTR_RSSI_WINDOW_SIZE_VAL,
+ NAN_REQ_ATTR_OUI_VAL,
+ NAN_REQ_ATTR_MAC_ADDR_VAL,
+ NAN_REQ_ATTR_CLUSTER_VAL,
+ NAN_REQ_ATTR_SOCIAL_CH_SCAN_DWELL_TIME,
+ NAN_REQ_ATTR_SOCIAL_CH_SCAN_PERIOD,
+ NAN_REQ_ATTR_RANDOM_FACTOR_FORCE_VAL,
+ NAN_REQ_ATTR_HOP_COUNT_FORCE_VAL,
+ NAN_REQ_ATTR_CONN_CAPABILITY_PAYLOAD_TX,
+ NAN_REQ_ATTR_CONN_CAPABILITY_IBSS,
+ NAN_REQ_ATTR_CONN_CAPABILITY_WFD,
+ NAN_REQ_ATTR_CONN_CAPABILITY_WFDS,
+ NAN_REQ_ATTR_CONN_CAPABILITY_TDLS,
+ NAN_REQ_ATTR_CONN_CAPABILITY_MESH,
+ NAN_REQ_ATTR_CONN_CAPABILITY_WLAN_INFRA,
+ NAN_REQ_ATTR_DISCOVERY_ATTR_NUM_ENTRIES,
+ NAN_REQ_ATTR_DISCOVERY_ATTR_VAL,
+ NAN_REQ_ATTR_CONN_TYPE,
+ NAN_REQ_ATTR_NAN_ROLE,
+ NAN_REQ_ATTR_TRANSMIT_FREQ,
+ NAN_REQ_ATTR_AVAILABILITY_DURATION,
+ NAN_REQ_ATTR_AVAILABILITY_INTERVAL,
+ NAN_REQ_ATTR_MESH_ID_LEN,
+ NAN_REQ_ATTR_MESH_ID,
+ NAN_REQ_ATTR_INFRASTRUCTURE_SSID_LEN,
+ NAN_REQ_ATTR_INFRASTRUCTURE_SSID,
+ NAN_REQ_ATTR_FURTHER_AVAIL_NUM_ENTRIES,
+ NAN_REQ_ATTR_FURTHER_AVAIL_VAL,
+ NAN_REQ_ATTR_FURTHER_AVAIL_ENTRY_CTRL,
+ NAN_REQ_ATTR_FURTHER_AVAIL_CHAN_CLASS,
+ NAN_REQ_ATTR_FURTHER_AVAIL_CHAN,
+ NAN_REQ_ATTR_FURTHER_AVAIL_CHAN_MAPID,
+ NAN_REQ_ATTR_FURTHER_AVAIL_INTERVAL_BITMAP,
+ NAN_REQ_ATTR_PUBLISH_ID,
+ NAN_REQ_ATTR_PUBLISH_TTL,
+ NAN_REQ_ATTR_PUBLISH_PERIOD,
+ NAN_REQ_ATTR_PUBLISH_TYPE,
+ NAN_REQ_ATTR_PUBLISH_TX_TYPE,
+ NAN_REQ_ATTR_PUBLISH_COUNT,
+ NAN_REQ_ATTR_PUBLISH_SERVICE_NAME_LEN,
+ NAN_REQ_ATTR_PUBLISH_SERVICE_NAME,
+ NAN_REQ_ATTR_PUBLISH_MATCH_ALGO,
+ NAN_REQ_ATTR_PUBLISH_SERVICE_INFO_LEN,
+ NAN_REQ_ATTR_PUBLISH_SERVICE_INFO,
+ NAN_REQ_ATTR_PUBLISH_RX_MATCH_FILTER_LEN,
+ NAN_REQ_ATTR_PUBLISH_RX_MATCH_FILTER,
+ NAN_REQ_ATTR_PUBLISH_TX_MATCH_FILTER_LEN,
+ NAN_REQ_ATTR_PUBLISH_TX_MATCH_FILTER,
+ NAN_REQ_ATTR_PUBLISH_RSSI_THRESHOLD_FLAG,
+ NAN_REQ_ATTR_PUBLISH_CONN_MAP,
+ NAN_REQ_ATTR_PUBLISH_RECV_IND_CFG,
+ NAN_REQ_ATTR_SUBSCRIBE_ID,
+ NAN_REQ_ATTR_SUBSCRIBE_TTL,
+ NAN_REQ_ATTR_SUBSCRIBE_PERIOD,
+ NAN_REQ_ATTR_SUBSCRIBE_TYPE,
+ NAN_REQ_ATTR_SUBSCRIBE_RESP_FILTER_TYPE,
+ NAN_REQ_ATTR_SUBSCRIBE_RESP_INCLUDE,
+ NAN_REQ_ATTR_SUBSCRIBE_USE_RESP_FILTER,
+ NAN_REQ_ATTR_SUBSCRIBE_SSI_REQUIRED,
+ NAN_REQ_ATTR_SUBSCRIBE_MATCH_INDICATOR,
+ NAN_REQ_ATTR_SUBSCRIBE_COUNT,
+ NAN_REQ_ATTR_SUBSCRIBE_SERVICE_NAME_LEN,
+ NAN_REQ_ATTR_SUBSCRIBE_SERVICE_NAME,
+ NAN_REQ_ATTR_SUBSCRIBE_SERVICE_INFO_LEN,
+ NAN_REQ_ATTR_SUBSCRIBE_SERVICE_INFO,
+ NAN_REQ_ATTR_SUBSCRIBE_RX_MATCH_FILTER_LEN,
+ NAN_REQ_ATTR_SUBSCRIBE_RX_MATCH_FILTER,
+ NAN_REQ_ATTR_SUBSCRIBE_TX_MATCH_FILTER_LEN,
+ NAN_REQ_ATTR_SUBSCRIBE_TX_MATCH_FILTER,
+ NAN_REQ_ATTR_SUBSCRIBE_RSSI_THRESHOLD_FLAG,
+ NAN_REQ_ATTR_SUBSCRIBE_CONN_MAP,
+ NAN_REQ_ATTR_SUBSCRIBE_NUM_INTF_ADDR_PRESENT,
+ NAN_REQ_ATTR_SUBSCRIBE_INTF_ADDR,
+ NAN_REQ_ATTR_SUBSCRIBE_RECV_IND_CFG,
+ NAN_REQ_ATTR_FOLLOWUP_ID,
+ NAN_REQ_ATTR_FOLLOWUP_REQUESTOR_ID,
+ NAN_REQ_ATTR_FOLLOWUP_ADDR,
+ NAN_REQ_ATTR_FOLLOWUP_PRIORITY,
+ NAN_REQ_ATTR_FOLLOWUP_SERVICE_NAME_LEN,
+ NAN_REQ_ATTR_FOLLOWUP_SERVICE_NAME,
+ NAN_REQ_ATTR_FOLLOWUP_TX_WINDOW,
+ NAN_REQ_ATTR_FOLLOWUP_RECV_IND_CFG,
+ NAN_REQ_ATTR_SUBSCRIBE_SID_BEACON_VAL,
+ NAN_REQ_ATTR_DW_2G4_INTERVAL,
+ NAN_REQ_ATTR_DW_5G_INTERVAL,
+ NAN_REQ_ATTR_DISC_MAC_ADDR_RANDOM_INTERVAL,
+ NAN_REQ_ATTR_PUBLISH_SDEA_LEN,
+ NAN_REQ_ATTR_PUBLISH_SDEA,
+
+ NAN_REQ_ATTR_RANGING_AUTO_RESPONSE,
+ NAN_REQ_ATTR_SDEA_PARAM_NDP_TYPE,
+ NAN_REQ_ATTR_SDEA_PARAM_SECURITY_CFG,
+ NAN_REQ_ATTR_SDEA_PARAM_RANGING_STATE,
+ NAN_REQ_ATTR_SDEA_PARAM_RANGE_REPORT,
+ NAN_REQ_ATTR_SDEA_PARAM_QOS_CFG,
+ NAN_REQ_ATTR_RANGING_CFG_INTERVAL,
+ NAN_REQ_ATTR_RANGING_CFG_INDICATION,
+ NAN_REQ_ATTR_RANGING_CFG_INGRESS_MM,
+ NAN_REQ_ATTR_RANGING_CFG_EGRESS_MM,
+ NAN_REQ_ATTR_CIPHER_TYPE,
+ NAN_REQ_ATTR_SCID_LEN,
+ NAN_REQ_ATTR_SCID,
+ NAN_REQ_ATTR_SECURITY_KEY_TYPE,
+ NAN_REQ_ATTR_SECURITY_PMK_LEN,
+ NAN_REQ_ATTR_SECURITY_PMK,
+ NAN_REQ_ATTR_SECURITY_PASSPHRASE_LEN,
+ NAN_REQ_ATTR_SECURITY_PASSPHRASE,
+ NAN_REQ_ATTR_RANGE_RESPONSE_CFG_PUBLISH_ID,
+ NAN_REQ_ATTR_RANGE_RESPONSE_CFG_REQUESTOR_ID,
+ NAN_REQ_ATTR_RANGE_RESPONSE_CFG_PEER_ADDR,
+ NAN_REQ_ATTR_RANGE_RESPONSE_CFG_RANGING_RESPONSE,
+ NAN_REQ_ATTR_REQ_INSTANCE_ID,
+ NAN_REQ_ATTR_NDP_INSTANCE_ID,
+ NAN_REQ_ATTR_CHAN_REQ_TYPE,
+ NAN_REQ_ATTR_CHAN,
+ NAN_REQ_ATTR_DATA_INTERFACE_NAME_LEN,
+ NAN_REQ_ATTR_DATA_INTERFACE_NAME,
+ NAN_REQ_ATTR_APP_INFO_LEN,
+ NAN_REQ_ATTR_APP_INFO,
+ NAN_REQ_ATTR_SERVICE_NAME_LEN,
+ NAN_REQ_ATTR_SERVICE_NAME,
+ NAN_REQ_ATTR_NDP_RESPONSE_CODE,
+ NAN_REQ_ATTR_USE_NDPE_ATTR
+} NAN_REQ_ATTRIBUTES;
+
+typedef enum {
+ NAN_REPLY_ATTR_STATUS_TYPE,
+ NAN_REPLY_ATTR_VALUE,
+ NAN_REPLY_ATTR_RESPONSE_TYPE,
+ NAN_REPLY_ATTR_PUBLISH_SUBSCRIBE_TYPE,
+ NAN_REPLY_ATTR_CAP_MAX_CONCURRENT_CLUSTER,
+ NAN_REPLY_ATTR_CAP_MAX_PUBLISHES,
+ NAN_REPLY_ATTR_CAP_MAX_SUBSCRIBES,
+ NAN_REPLY_ATTR_CAP_MAX_SERVICE_NAME_LEN,
+ NAN_REPLY_ATTR_CAP_MAX_MATCH_FILTER_LEN,
+ NAN_REPLY_ATTR_CAP_MAX_TOTAL_MATCH_FILTER_LEN,
+ NAN_REPLY_ATTR_CAP_MAX_SERVICE_SPECIFIC_INFO_LEN,
+ NAN_REPLY_ATTR_CAP_MAX_VSA_DATA_LEN,
+ NAN_REPLY_ATTR_CAP_MAX_MESH_DATA_LEN,
+ NAN_REPLY_ATTR_CAP_MAX_NDI_INTERFACES,
+ NAN_REPLY_ATTR_CAP_MAX_NDP_SESSIONS,
+ NAN_REPLY_ATTR_CAP_MAX_APP_INFO_LEN,
+ NAN_REPLY_ATTR_NDP_INSTANCE_ID,
+ NAN_REPLY_ATTR_CAP_MAX_QUEUED_TRANSMIT_FOLLOWUP_MGS,
+ NAN_REPLY_ATTR_CAP_MAX_NDP_SUPPORTED_BANDS,
+ NAN_REPLY_ATTR_CAP_MAX_CIPHER_SUITES_SUPPORTED,
+ NAN_REPLY_ATTR_CAP_MAX_SCID_LEN,
+ NAN_REPLY_ATTR_CAP_NDP_SECURITY_SUPPORTED,
+ NAN_REPLY_ATTR_CAP_MAX_SDEA_SERVICE_SPECIFIC_INFO_LEN,
+ NAN_REPLY_ATTR_CAP_MAX_SUBSCRIBE_ADDRESS,
+ NAN_REPLY_ATTR_CAP_NDPE_ATTR_SUPPORTED
+} NAN_RESP_ATTRIBUTES;
+
+typedef enum {
+ NAN_EVT_ATTR_MATCH_PUBLISH_SUBSCRIBE_ID = 0,
+ NAN_EVT_ATTR_MATCH_REQUESTOR_INSTANCE_ID,
+ NAN_EVT_ATTR_MATCH_ADDR,
+ NAN_EVT_ATTR_MATCH_SERVICE_SPECIFIC_INFO_LEN,
+ NAN_EVT_ATTR_MATCH_SERVICE_SPECIFIC_INFO,
+ NAN_EVT_ATTR_MATCH_SDF_MATCH_FILTER_LEN,
+ NAN_EVT_ATTR_MATCH_SDF_MATCH_FILTER,
+ NAN_EVT_ATTR_MATCH_MATCH_OCCURED_FLAG,
+ NAN_EVT_ATTR_MATCH_OUT_OF_RESOURCE_FLAG,
+ NAN_EVT_ATTR_MATCH_RSSI_VALUE,
+/*CONN_CAPABILITY*/
+ NAN_EVT_ATTR_MATCH_CONN_CAPABILITY_IS_WFD_SUPPORTED = 10,
+ NAN_EVT_ATTR_MATCH_CONN_CAPABILITY_IS_WFDS_SUPPORTED,
+ NAN_EVT_ATTR_MATCH_CONN_CAPABILITY_IS_TDLS_SUPPORTED,
+ NAN_EVT_ATTR_MATCH_CONN_CAPABILITY_IS_IBSS_SUPPORTED,
+ NAN_EVT_ATTR_MATCH_CONN_CAPABILITY_IS_MESH_SUPPORTED,
+ NAN_EVT_ATTR_MATCH_CONN_CAPABILITY_WLAN_INFRA_FIELD,
+ NAN_EVT_ATTR_MATCH_NUM_RX_DISCOVERY_ATTR,
+ NAN_EVT_ATTR_MATCH_RX_DISCOVERY_ATTR,
+/*NANRECEIVEPOSTDISCOVERY DISCOVERY_ATTR,*/
+ NAN_EVT_ATTR_MATCH_DISC_ATTR_TYPE,
+ NAN_EVT_ATTR_MATCH_DISC_ATTR_ROLE,
+ NAN_EVT_ATTR_MATCH_DISC_ATTR_DURATION = 20,
+ NAN_EVT_ATTR_MATCH_DISC_ATTR_AVAIL_INTERVAL_BITMAP,
+ NAN_EVT_ATTR_MATCH_DISC_ATTR_MAPID,
+ NAN_EVT_ATTR_MATCH_DISC_ATTR_ADDR,
+ NAN_EVT_ATTR_MATCH_DISC_ATTR_MESH_ID_LEN,
+ NAN_EVT_ATTR_MATCH_DISC_ATTR_MESH_ID,
+ NAN_EVT_ATTR_MATCH_DISC_ATTR_INFRASTRUCTURE_SSID_LEN,
+ NAN_EVT_ATTR_MATCH_DISC_ATTR_INFRASTRUCTURE_SSID_VAL,
+
+ NAN_EVT_ATTR_MATCH_NUM_CHANS,
+ NAN_EVT_ATTR_MATCH_FAMCHAN,
+/*FAMCHAN[32],*/
+ NAN_EVT_ATTR_MATCH_FAM_ENTRY_CONTROL = 30,
+ NAN_EVT_ATTR_MATCH_FAM_CLASS_VAL,
+ NAN_EVT_ATTR_MATCH_FAM_CHANNEL,
+ NAN_EVT_ATTR_MATCH_FAM_MAPID,
+ NAN_EVT_ATTR_MATCH_FAM_AVAIL_INTERVAL_BITMAP,
+ NAN_EVT_ATTR_MATCH_CLUSTER_ATTRIBUTE_LEN,
+ NAN_EVT_ATTR_MATCH_CLUSTER_ATTRIBUTE,
+ NAN_EVT_ATTR_PUBLISH_ID,
+ NAN_EVT_ATTR_PUBLISH_REASON,
+ NAN_EVT_ATTR_SUBSCRIBE_ID,
+ NAN_EVT_ATTR_SUBSCRIBE_REASON = 40,
+ NAN_EVT_ATTR_DISABLED_REASON,
+ NAN_EVT_ATTR_FOLLOWUP_PUBLISH_SUBSCRIBE_ID,
+ NAN_EVT_ATTR_FOLLOWUP_REQUESTOR_INSTANCE_ID,
+ NAN_EVT_ATTR_FOLLOWUP_ADDR,
+ NAN_EVT_ATTR_FOLLOWUP_DW_OR_FAW,
+ NAN_EVT_ATTR_FOLLOWUP_SERVICE_SPECIFIC_INFO_LEN,
+ NAN_EVT_ATTR_FOLLOWUP_SERVICE_SPECIFIC_INFO,
+ NAN_EVT_ATTR_DISCOVERY_ENGINE_EVT_TYPE ,
+ NAN_EVT_ATTR_DISCOVERY_ENGINE_MAC_ADDR,
+ NAN_EVT_ATTR_DISCOVERY_ENGINE_CLUSTER = 50,
+ NAN_EVT_ATTR_SDEA,
+ NAN_EVT_ATTR_SDEA_LEN,
+ NAN_EVT_ATTR_SCID,
+ NAN_EVT_ATTR_SCID_LEN,
+ NAN_EVT_ATTR_SDEA_PARAM_CONFIG_NAN_DATA_PATH,
+ NAN_EVT_ATTR_SDEA_PARAM_NDP_TYPE,
+ NAN_EVT_ATTR_SDEA_PARAM_SECURITY_CONFIG,
+ NAN_EVT_ATTR_SDEA_PARAM_RANGE_STATE,
+ NAN_EVT_ATTR_SDEA_PARAM_RANGE_REPORT,
+ NAN_EVT_ATTR_SDEA_PARAM_QOS_CFG = 60,
+ NAN_EVT_ATTR_RANGE_MEASUREMENT_MM,
+ NAN_EVT_ATTR_RANGEING_EVENT_TYPE,
+ NAN_EVT_ATTR_SECURITY_CIPHER_TYPE,
+ NAN_EVT_ATTR_STATUS,
+ NAN_EVT_ATTR_SERVICE_INSTANCE_ID,
+ NAN_EVT_ATTR_NDP_INSTANCE_ID,
+ NAN_EVT_ATTR_NDP_RSP_CODE,
+ NAN_EVT_ATTR_STATUS_CODE,
+ NAN_EVT_ATTR_CHANNEL_INFO,
+ NAN_EVT_ATTR_APP_INFO_LEN = 70,
+ NAN_EVT_ATTR_APP_INFO,
+ NAN_EVT_ATTR_CHANNEL,
+ NAN_EVT_ATTR_CHANNEL_BW,
+ NAN_EVT_ATTR_CHANNEL_NSS
+} NAN_EVT_ATTRIBUTES;
+
+#endif
\ No newline at end of file