diff --git a/core/mac/inc/sir_api.h b/core/mac/inc/sir_api.h index 048be87187ae..e41e60bc8612 100644 --- a/core/mac/inc/sir_api.h +++ b/core/mac/inc/sir_api.h @@ -489,13 +489,23 @@ struct sir_set_antenna_mode { struct sir_antenna_mode_param set_antenna_mode; }; -/* / BSS type enum used in while scanning/joining etc */ +/** + * enum tSirBssType - Enum for BSS type used in scanning/joining etc. + * + * @eSIR_INFRASTRUCTURE_MODE: Infrastructure station + * @eSIR_INFRA_AP_MODE: softAP mode + * @eSIR_IBSS_MODE: IBSS mode + * @eSIR_AUTO_MODE: Auto role + * @eSIR_MONITOR_MODE: Monitor mode + * @eSIR_NDI_MODE: NAN datapath mode + */ typedef enum eSirBssType { eSIR_INFRASTRUCTURE_MODE, - eSIR_INFRA_AP_MODE, /* Added for softAP support */ + eSIR_INFRA_AP_MODE, eSIR_IBSS_MODE, eSIR_AUTO_MODE, eSIR_MONITOR_MODE, + eSIR_NDI_MODE, eSIR_DONOT_USE_BSS_TYPE = SIR_MAX_ENUM_SIZE } tSirBssType; @@ -4777,6 +4787,7 @@ typedef enum { WIFI_INTERFACE_P2P_GO = 4, WIFI_INTERFACE_NAN = 5, WIFI_INTERFACE_MESH = 6, + WIFI_INTERFACE_NDI = 7, } tSirWifiInterfaceMode; /* set for QOS association */ diff --git a/core/mac/inc/wni_api.h b/core/mac/inc/wni_api.h index 76eb1c21bddc..3d32c889e55f 100644 --- a/core/mac/inc/wni_api.h +++ b/core/mac/inc/wni_api.h @@ -252,6 +252,16 @@ enum eWniMsgTypes { eWNI_SME_TSF_EVENT, eWNI_SME_MON_INIT_SESSION, eWNI_SME_PDEV_SET_HT_VHT_IE, + eWNI_SME_NDP_INITIATOR_RSP, + eWNI_SME_NDP_NEW_PEER_IND, + eWNI_SME_NDP_CONFIRM_IND, + eWNI_SME_NDP_INDICATION, + eWNI_SME_NDP_RESPONDER_REQ, + eWNI_SME_NDP_RESPONDER_RSP, + eWNI_SME_NDP_END_RSP, + eWNI_SME_NDP_PEER_DEPARTED_IND, + eWNI_SME_NDP_END_IND, + eWNI_SME_MSG_TYPES_END }; diff --git a/core/mac/src/include/sir_params.h b/core/mac/src/include/sir_params.h index a871bc618357..5bc816b1a6b4 100644 --- a/core/mac/src/include/sir_params.h +++ b/core/mac/src/include/sir_params.h @@ -617,6 +617,18 @@ typedef struct sSirMbMsgP2p { #define SIR_HAL_TDLS_CONNECTION_TRACKER_NOTIFICATION (SIR_HAL_ITC_MSG_TYPES_BEGIN + 346) #endif +#define SIR_HAL_NDP_GET_CAP_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 344) +#define SIR_HAL_NDP_INITIATOR_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 345) +#define SIR_HAL_NDP_RESPONDER_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 346) +#define SIR_HAL_NDP_END_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 347) +#define SIR_HAL_NDI_CAP_RSP (SIR_HAL_ITC_MSG_TYPES_BEGIN + 348) +#define SIR_HAL_NDP_INITIATOR_RSP (SIR_HAL_ITC_MSG_TYPES_BEGIN + 349) +#define SIR_HAL_NDP_RESPONDER_RSP (SIR_HAL_ITC_MSG_TYPES_BEGIN + 350) +#define SIR_HAL_NDP_END_RSP (SIR_HAL_ITC_MSG_TYPES_BEGIN + 351) +#define SIR_HAL_NDP_INDICATION (SIR_HAL_ITC_MSG_TYPES_BEGIN + 352) +#define SIR_HAL_NDP_CONFIRM (SIR_HAL_ITC_MSG_TYPES_BEGIN + 353) +#define SIR_HAL_NDP_END_IND (SIR_HAL_ITC_MSG_TYPES_BEGIN + 354) + #define SIR_HAL_MSG_TYPES_END (SIR_HAL_MSG_TYPES_BEGIN + 0x1FF) /* CFG message types */ diff --git a/core/mac/src/pe/include/lim_api.h b/core/mac/src/pe/include/lim_api.h index dabb6b4d76e5..82f9a2cff61a 100644 --- a/core/mac/src/pe/include/lim_api.h +++ b/core/mac/src/pe/include/lim_api.h @@ -62,6 +62,8 @@ #define LIM_IS_UNKNOWN_ROLE(psessionEntry) (GET_LIM_SYSTEM_ROLE(psessionEntry) == eLIM_UNKNOWN_ROLE) #define LIM_IS_P2P_DEVICE_ROLE(psessionEntry) (GET_LIM_SYSTEM_ROLE(psessionEntry) == eLIM_P2P_DEVICE_ROLE) #define LIM_IS_P2P_DEVICE_GO(psessionEntry) (GET_LIM_SYSTEM_ROLE(psessionEntry) == eLIM_P2P_DEVICE_GO) +#define LIM_IS_NDI_ROLE(psessionEntry) \ + (GET_LIM_SYSTEM_ROLE(psessionEntry) == eLIM_NDI_ROLE) /* gLimSmeState */ #define GET_LIM_SME_STATE(pMac) (pMac->lim.gLimSmeState) #define SET_LIM_SME_STATE(pMac, state) (pMac->lim.gLimSmeState = state) diff --git a/core/mac/src/pe/include/lim_global.h b/core/mac/src/pe/include/lim_global.h index 5529f6bbc70f..4ee0f0b113af 100644 --- a/core/mac/src/pe/include/lim_global.h +++ b/core/mac/src/pe/include/lim_global.h @@ -83,7 +83,8 @@ typedef enum eLimSystemRole { eLIM_STA_ROLE, eLIM_P2P_DEVICE_ROLE, eLIM_P2P_DEVICE_GO, - eLIM_P2P_DEVICE_CLIENT + eLIM_P2P_DEVICE_CLIENT, + eLIM_NDI_ROLE } tLimSystemRole; /* diff --git a/core/sme/inc/csr_api.h b/core/sme/inc/csr_api.h index 2c3b8068d73a..99f255f4fc88 100644 --- a/core/sme/inc/csr_api.h +++ b/core/sme/inc/csr_api.h @@ -141,12 +141,22 @@ typedef enum { eCSR_NUM_PHY_MODE = 16, } eCsrPhyMode; +/** + * enum eCsrRoamBssType - BSS type in CSR operations + * @eCSR_BSS_TYPE_INFRASTRUCTURE: Infrastructure station + * @eCSR_BSS_TYPE_INFRA_AP: SoftAP + * @eCSR_BSS_TYPE_IBSS: IBSS network we'll not start + * @eCSR_BSS_TYPE_START_IBSS: IBSS network we'll start if no partners found + * @eCSR_BSS_TYPE_NDI: NAN datapath interface + * @eCSR_BSS_TYPE_ANY: any BSS type (IBSS or Infrastructure) + */ typedef enum { eCSR_BSS_TYPE_INFRASTRUCTURE, - eCSR_BSS_TYPE_INFRA_AP, /* SoftAP AP */ - eCSR_BSS_TYPE_IBSS, /* IBSS network we'll NOT start */ - eCSR_BSS_TYPE_START_IBSS, /* IBSS network we'll start if no partners */ - eCSR_BSS_TYPE_ANY, /* any BSS type (IBSS or Infrastructure).*/ + eCSR_BSS_TYPE_INFRA_AP, + eCSR_BSS_TYPE_IBSS, + eCSR_BSS_TYPE_START_IBSS, + eCSR_BSS_TYPE_NDI, + eCSR_BSS_TYPE_ANY, } eCsrRoamBssType; typedef enum { @@ -501,6 +511,7 @@ typedef enum { eCSR_ROAM_DISABLE_QUEUES, eCSR_ROAM_ENABLE_QUEUES, eCSR_ROAM_STA_CHANNEL_SWITCH, + eCSR_ROAM_NDP_STATUS_UPDATE, } eRoamCmdStatus; /* comment inside indicates what roaming callback gets */ @@ -598,6 +609,16 @@ typedef enum { eCSR_ROAM_RESULT_CHANNEL_CHANGE_FAILURE, eCSR_ROAM_RESULT_DFS_CHANSW_UPDATE_SUCCESS, eCSR_ROAM_EXT_CHG_CHNL_UPDATE_IND, + + eCSR_ROAM_RESULT_NDP_INITIATOR_RSP, + eCSR_ROAM_RESULT_NDP_NEW_PEER_IND, + eCSR_ROAM_RESULT_NDP_CONFIRM_IND, + eCSR_ROAM_RESULT_NDP_INDICATION, + eCSR_ROAM_RESULT_NDP_RESPONDER_REQ, + eCSR_ROAM_RESULT_NDP_RESPONDER_RSP, + eCSR_ROAM_RESULT_NDP_END_RSP, + eCSR_ROAM_RESULT_NDP_PEER_DEPARTED_IND, + eCSR_ROAM_RESULT_NDP_END_IND, } eCsrRoamResult; /*---------------------------------------------------------------------------- @@ -1578,6 +1599,7 @@ typedef QDF_STATUS (*csr_roamSessionCloseCallback)(void *pContext); (pProfile)->BSSType) #define CSR_IS_INFRA_AP(pProfile) (eCSR_BSS_TYPE_INFRA_AP == \ (pProfile)->BSSType) +#define CSR_IS_NDI(pProfile) (eCSR_BSS_TYPE_NDI == (pProfile)->BSSType) #define CSR_IS_CONN_INFRA_AP(pProfile) (eCSR_BSS_TYPE_INFRA_AP == \ (pProfile)->BSSType) #define CSR_IS_CLOSE_SESSION_COMMAND(pCommand) \ diff --git a/core/wma/inc/wma_if.h b/core/wma/inc/wma_if.h index 1d3cb68d4468..8d3050b34fdd 100644 --- a/core/wma/inc/wma_if.h +++ b/core/wma/inc/wma_if.h @@ -72,6 +72,7 @@ #define BSS_OPERATIONAL_MODE_AP 0 #define BSS_OPERATIONAL_MODE_STA 1 #define BSS_OPERATIONAL_MODE_IBSS 2 +#define BSS_OPERATIONAL_MODE_NDI 3 /* STA entry type in add sta message */ #define STA_ENTRY_SELF 0