| /* |
| * Copyright (c) 2011-2015 The Linux Foundation. All rights reserved. |
| * |
| * Previously licensed under the ISC license by Qualcomm Atheros, Inc. |
| * |
| * |
| * Permission to use, copy, modify, and/or distribute this software for |
| * any purpose with or without fee is hereby granted, provided that the |
| * above copyright notice and this permission notice appear in all |
| * copies. |
| * |
| * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL |
| * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED |
| * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE |
| * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL |
| * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR |
| * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER |
| * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR |
| * PERFORMANCE OF THIS SOFTWARE. |
| */ |
| |
| /* |
| * This file was originally distributed by Qualcomm Atheros, Inc. |
| * under proprietary terms before Copyright ownership was assigned |
| * to the Linux Foundation. |
| */ |
| |
| /* |
| * |
| * This file sir_types.h contains the common types |
| * |
| * Author: V. K. Kandarpa |
| * Date: 04/12/2002 |
| */ |
| |
| #ifndef __SIR_TYPES_H |
| #define __SIR_TYPES_H |
| |
| #include "cdf_types.h" |
| |
| |
| /** ------------------------------------------------------------------------ * |
| |
| \typedef tHalHandle |
| |
| \brief Handle to the HAL. The HAL handle is returned by the HAL after it |
| is opened (by calling halOpen). |
| |
| ------------------------------------------------------------------------- */ |
| typedef void *tHalHandle; |
| |
| /** ------------------------------------------------------------------------ * |
| |
| \typedef tHddHandle |
| |
| \brief Handle to the HDD. The HDD handle is given to the HAL from |
| the HDD on halOpen. The HDD handle is an input to all HDD/PAL function |
| calls and represents an opaque handle to the HDD instance that is tied |
| to the HAL instance, opened through halOpen. |
| |
| The HDD must be able to derive it's internal instance structure pointer |
| through this handle. hint hint... |
| |
| ------------------------------------------------------------------------- */ |
| typedef void *tHddHandle; |
| |
| /* ********************************************** * |
| * * |
| * SIRIUS ERROR Codes / Return Codes * |
| * * |
| * ********************************************** */ |
| |
| /* / Return status type */ |
| typedef enum eSirRetStatus { |
| eSIR_SUCCESS, |
| eSIR_FAILURE, |
| |
| /* / System Errors */ |
| eSIR_SYS_ERROR_BASE = 0x100, |
| eSIR_SYS_TX_THREAD_CREATE_FAILED, |
| eSIR_SYS_TX_THREAD_RESUME_FAILED, |
| eSIR_SYS_TX_MSG_Q_CREATE_FAILED, |
| eSIR_SYS_TX_Q_SEND_FAILED, |
| eSIR_SYS_TX_Q_RECV_FAILED, |
| eSIR_SYS_TX_TIMER_ACTIVATE_FAILED, |
| eSIR_SYS_TX_TIMER_CHANGE_FAILED, |
| eSIR_SYS_TX_TIMER_CREATE_FAILED, |
| eSIR_MEM_ALLOC_FAILED, |
| eSIR_PCI_ERROR, |
| |
| /* Driver Return Codes */ |
| eSIR_HAL_ERROR_BASE = 0x1000, |
| eSIR_HAL_STAID_INVALID, /* 1 */ |
| eSIR_HAL_TCDESC_INVALID, /* 2 */ |
| eSIR_HAL_TX_WQ_NOT_VALID, /* 3 */ |
| eSIR_HAL_PREV_BMU_CMD_INCOMPLETE, /* 4 */ |
| eSIR_HAL_EEPROM_CRC_FAILED, /* 5 */ |
| eSIR_HAL_PCI_REVID_INVALID, /* 6 */ |
| eSIR_HAL_STA_TC_ID_INVALID, /* 7 */ |
| eSIR_HAL_TXWQ_EMPTY, /* 8 */ |
| eSIR_HAL_ROUT_TBL_TYPE_STYPE_INVALID, /* 9 */ |
| eSIR_HAL_TFP_ENABLE_FAILED, /* a */ |
| eSIR_HAL_TFP_ABORT_CMD_FAILED, /* b */ |
| eSIR_HAL_TFP_TEMPL_BCNLEN_INVALID, /* c */ |
| eSIR_HAL_TFP_TEMPL_SCHLEN_INVALID, /* d */ |
| eSIR_HAL_TFP_TEMPL_CFENDLEN_INVALID, /* e */ |
| eSIR_HAL_TFP_TEMPL_RRLEN_INVALID, /* f */ |
| eSIR_HAL_TFP_TEMPL_PSPOLLLEN_INVALID, /* 10 */ |
| eSIR_HAL_TFP_TEMPL_CTSLEN_INVALID, /* 11 */ |
| eSIR_HAL_TFP_TEMPL_CFPOLLLEN_INVALID, /* 12 */ |
| eSIR_HAL_TFP_TEMPL_BACKLEN_INVALID, /* 13 */ |
| eSIR_HAL_INPUT_INVALID, /* 14 */ |
| eSIR_HAL_GET_PDU_FAILED, /* 15 */ |
| eSIR_HAL_ADD_STA_ACK_POLICY_INVALID, /* 16 */ |
| eSIR_HAL_STA_EXISTS, /* 17 */ |
| eSIR_HAL_STA_DOES_NOT_EXIST, /* 18 */ |
| eSIR_HAL_MASTER_WQ_ID_INVALID, /* 19 */ |
| eSIR_HAL_WQ_NOT_EMPTY, /* 1a */ |
| eSIR_HAL_WQ_EMPTY, /* 1b */ |
| eSIR_HAL_PDUCNT_AND_NEXTPTR_MISMATCH, /* 1c */ |
| eSIR_HAL_ERR_NUM_BYTES_TO_BE_SET_TOO_BIG, /* 1d */ |
| eSIR_HAL_GET_PKT_LENGTH_INVALID, /* 1e */ |
| eSIR_HAL_AS_CNT_INVALID, /* 1f */ |
| eSIR_HAL_RFP_AGE_CMD_SEQFAIL, /* 20 */ |
| eSIR_HAL_RFP_AGE_CMD_AGE_CMD_TCFAIL, /* 21 */ |
| eSIR_HAL_RFP_AGE_CMD_PASS, /* 22 */ |
| eSIR_HAL_RFP_AGE_CMD_TIMEDOUT, /* 23 */ |
| eSIR_HAL_RHP_HASH_CMD_TIMEOUT, /* 24 */ |
| eSIR_HAL_RHP_ROUTING_TBL_SET_FAILED, /* 25 */ |
| eSIR_HAL_RHP_ROUTING_TBL_GET_FAILED, /* 26 */ |
| |
| eSIR_HAL_CAL_STATUS_CHK_FAILED, |
| |
| eSIR_HAL_SYS_ARM_DBG_MODE_SET_FAILED, |
| eSIR_HAL_TFP_BCN_SENT, |
| eSIR_HAL_TFP_BCN_NOT_SENT, |
| eSIR_HAL_TFP_BKOF_ID_INVALID, |
| eSIR_HAL_TFP_CFB_ENABLE_INPUT_INVALID, |
| eSIR_HAL_TFP_EDCF_TXOP_INVALID, |
| eSIR_HAL_TFP_TEMPL_LEN_INVALID, |
| eSIR_HAL_KEY_ID_INVALID, |
| eSIR_HAL_KEY_LEN_INVALID, |
| eSIR_HAL_CHID_INVALID, |
| eSIR_HAL_HIF_BURST_READ_FAILED, |
| eSIR_HAL_HIF_BURST_WRITE_FAILED, |
| eSIR_HAL_HIF_BURST_LEN_REQ_INVALID, |
| eSIR_HAL_HIF_TX_NO_FRAG_DESC, |
| |
| eSIR_HAL_INVALID_PRODUCT_ID, /* 44 */ |
| |
| eSIR_HAL_INVALID_CAPABILITY, /* 48 */ |
| eSIR_HAL_CB_NOT_ENABLED, /* 49 */ |
| eSIR_HAL_MAC_RATE_INVALID, /* 4a */ |
| eSIR_HAL_RHP_HANG, /* 4b */ |
| eSIR_HAL_UNSUPPORTED, /* 4c */ |
| eSIR_HAL_TSPEC_INVALID, /* 4d */ |
| |
| /* NIM Return Codes */ |
| eSIR_NIM_ERROR_BASE = 0x2000, |
| eSIR_NIM_ERR_INVALID_EVENT, |
| |
| /* MMH Return Codes */ |
| eSIR_NIM_MMH_ERROR_BASE = 0x2100, |
| eSIR_NIM_MMH_ERR_INV_EVENT, |
| eSIR_NIM_MMH_ERR_MSG_LEN, |
| eSIR_NIM_MMH_ERR_IN_Q_TYPE, |
| |
| /* MNT Return Codes */ |
| eSIR_NIM_MNT_ERROR_BASE = 0x2140, |
| |
| /* WDT Errors */ |
| eSIR_NIM_WDT_ERROR_BASE = 0x2180, |
| |
| /* LIM Return Codes */ |
| eSIR_LIM_ERROR_BASE = 0x2200, |
| eSIR_LIM_IGNORE_BEACON, |
| eSIR_LIM_INVALID_STA, |
| eSIR_LIM_MAX_STA_REACHED_ERROR, |
| |
| /* SCH Return Codes */ |
| eSIR_SCH_ERROR_BASE = 0x2300, |
| |
| /* PMM Return Codes */ |
| eSIR_PMM_ERROR_BASE = 0x2400, |
| eSIR_PMM_INVALID_MODE, |
| eSIR_PMM_INVALID_STATE, |
| eSIR_PMM_INVALID_ROLE, |
| eSIR_PMM_STA_NOT_ASSOCIATED, |
| eSIR_PMM_HEART_BEAT_TMOUT, |
| eSIR_PMM_NTH_BEACON_DELIVERY, |
| |
| /* ARQ Return Codes */ |
| eSIR_ARQ_ERROR_BASE = 0x2500, |
| |
| /* CFG Return Codes */ |
| eSIR_CFG_ERROR_BASE = 2600, |
| eSIR_CFG_INVALID_ID, |
| eSIR_CFG_INVALID_LEN, |
| |
| /* parser Return Codes */ |
| eSIR_PRS_ERROR_BASE = 0x2700, |
| eSIR_IGNORE_IE, |
| |
| /* Put all your return codes above this line */ |
| eSIR_ERROR_LAST |
| } tSirRetStatus; |
| |
| #define IS_SIR_STATUS_SUCCESS(status) (eSIR_SUCCESS == status) |
| typedef enum { |
| HAL_STOP_TYPE_SYS_RESET, |
| HAL_STOP_TYPE_SYS_DEEP_SLEEP, |
| HAL_STOP_TYPE_RF_KILL, |
| } tHalStopType; |
| |
| #ifdef WLAN_SOFTAP_VSTA_FEATURE |
| #define HAL_NUM_ASSOC_STA 32 |
| #define HAL_NUM_STA 41 |
| #define HAL_NUM_HW_STA 16 |
| #define HAL_NUM_GPSTA 4 |
| |
| /* is the STA a HW STA (excluding GP STAs) */ |
| #define IS_HWSTA_IDX(__x) \ |
| ((__x) < (HAL_NUM_HW_STA-HAL_NUM_GPSTA)) |
| |
| #else |
| /*In prima 12 HW stations are supported including BCAST STA(staId 0) |
| and SELF STA(staId 1) so total ASSOC stations which can connect to Prima |
| SoftAP = 12 - 1(Self STa) - 1(Bcast Sta) = 10 Stations. */ |
| #define HAL_NUM_STA 12 |
| #define HAL_NUM_ASSOC_STA 10 |
| #define HAL_NUM_HW_STA 12 |
| #endif |
| |
| #define STACFG_MAX_TC 8 |
| |
| #endif /* __SIR_TYPES_H */ |