| /* |
| * Copyright (c) 2013, 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. |
| */ |
| #ifndef WLAN_QCT_WLANBAP_H |
| #define WLAN_QCT_WLANBAP_H |
| |
| /*=========================================================================== |
| |
| W L A N B T - A M P P A L L A Y E R |
| E X T E R N A L A P I |
| |
| |
| DESCRIPTION |
| This file contains the external API exposed by the wlan BT-AMP PAL layer |
| module. |
| |
| ===========================================================================*/ |
| |
| |
| /*=========================================================================== |
| |
| EDIT HISTORY FOR FILE |
| |
| |
| This section contains comments describing changes made to the module. |
| Notice that changes are listed in reverse chronological order. |
| |
| |
| $Header: /cygdrive/d/Builds/M7201JSDCAAPAD52240B/WM/platform/msm7200/Src/Drivers/SD/ClientDrivers/WLAN/QCT_BTAMP_RSN/CORE/BAP/inc/bapApi.h,v 1.21 2009/03/09 08:58:26 jzmuda Exp jzmuda $ $DateTime: $ $Author: jzmuda $ |
| |
| |
| when who what, where, why |
| -------- --- ---------------------------------------------------------- |
| 07/01/08 jez Created module. |
| |
| ===========================================================================*/ |
| |
| |
| |
| /*=========================================================================== |
| |
| INCLUDE FILES FOR MODULE |
| |
| ===========================================================================*/ |
| |
| /*---------------------------------------------------------------------------- |
| * Include Files |
| * -------------------------------------------------------------------------*/ |
| #include "vos_api.h" |
| #include "vos_packet.h" |
| //I need the TL types and API |
| #include "wlan_qct_tl.h" |
| |
| /* BT-AMP PAL API structure types - FramesC generated */ |
| #include "btampHCI.h" |
| |
| /*---------------------------------------------------------------------------- |
| * Preprocessor Definitions and Constants |
| * -------------------------------------------------------------------------*/ |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| |
| /*---------------------------------------------------------------------------- |
| * HCI Interface supported |
| * |
| * Here we list the HCI Commands and Events which our 802.11 BT-AMP PAL |
| * supports. |
| * |
| * -------------------------------------------------------------------------*/ |
| |
| /*--------------------------------------------------------------------------- |
| Supported HCI Commands |
| ---------------------------------------------------------------------------*/ |
| #if 0 |
| /** BT v3.0 Link Control commands */ |
| BTAMP_TLV_HCI_CREATE_PHYSICAL_LINK_CMD, |
| BTAMP_TLV_HCI_ACCEPT_PHYSICAL_LINK_CMD, |
| BTAMP_TLV_HCI_DISCONNECT_PHYSICAL_LINK_CMD, |
| BTAMP_TLV_HCI_CREATE_LOGICAL_LINK_CMD, |
| BTAMP_TLV_HCI_ACCEPT_LOGICAL_LINK_CMD, |
| BTAMP_TLV_HCI_DISCONNECT_LOGICAL_LINK_CMD, |
| BTAMP_TLV_HCI_LOGICAL_LINK_CANCEL_CMD, |
| BTAMP_TLV_HCI_FLOW_SPEC_MODIFY_CMD, |
| /* |
| Host Controller and Baseband Commands |
| */ |
| BTAMP_TLV_HCI_RESET_CMD, |
| BTAMP_TLV_HCI_SET_EVENT_MASK_CMD, |
| BTAMP_TLV_HCI_FLUSH_CMD, |
| BTAMP_TLV_HCI_READ_CONNECTION_ACCEPT_TIMEOUT_CMD, |
| BTAMP_TLV_HCI_WRITE_CONNECTION_ACCEPT_TIMEOUT_CMD, |
| BTAMP_TLV_HCI_READ_LINK_SUPERVISION_TIMEOUT_CMD, |
| BTAMP_TLV_HCI_WRITE_LINK_SUPERVISION_TIMEOUT_CMD, |
| /* v3.0 Host Controller and Baseband Commands */ |
| BTAMP_TLV_HCI_READ_LOGICAL_LINK_ACCEPT_TIMEOUT_CMD, |
| BTAMP_TLV_HCI_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT_CMD, |
| BTAMP_TLV_HCI_SET_EVENT_MASK_PAGE_2_CMD, |
| BTAMP_TLV_HCI_READ_LOCATION_DATA_CMD, |
| BTAMP_TLV_HCI_WRITE_LOCATION_DATA_CMD, |
| BTAMP_TLV_HCI_READ_FLOW_CONTROL_MODE_CMD, |
| BTAMP_TLV_HCI_WRITE_FLOW_CONTROL_MODE_CMD, |
| BTAMP_TLV_HCI_READ_BEST_EFFORT_FLUSH_TO_CMD, |
| BTAMP_TLV_HCI_WRITE_BEST_EFFORT_FLUSH_TO_CMD, |
| /** opcode definition for this command from AMP HCI CR D9r4 markup */ |
| BTAMP_TLV_HCI_SET_SHORT_RANGE_MODE_CMD, |
| /* End of v3.0 Host Controller and Baseband Commands */ |
| /* |
| Informational Parameters |
| */ |
| BTAMP_TLV_HCI_READ_LOCAL_VERSION_INFORMATION_CMD, |
| BTAMP_TLV_HCI_READ_LOCAL_SUPPORTED_COMMANDS_CMD, |
| BTAMP_TLV_HCI_READ_BUFFER_SIZE_CMD, |
| /* v3.0 Informational commands */ |
| BTAMP_TLV_HCI_READ_DATA_BLOCK_SIZE_CMD, |
| /* |
| Status Parameters |
| */ |
| BTAMP_TLV_HCI_READ_FAILED_CONTACT_COUNTER_CMD, |
| BTAMP_TLV_HCI_RESET_FAILED_CONTACT_COUNTER_CMD, |
| BTAMP_TLV_HCI_READ_LINK_QUALITY_CMD, |
| BTAMP_TLV_HCI_READ_RSSI_CMD, |
| BTAMP_TLV_HCI_READ_LOCAL_AMP_INFORMATION_CMD, |
| BTAMP_TLV_HCI_READ_LOCAL_AMP_ASSOC_CMD, |
| BTAMP_TLV_HCI_WRITE_REMOTE_AMP_ASSOC_CMD, |
| /* |
| Debug Commands |
| */ |
| BTAMP_TLV_HCI_READ_LOOPBACK_MODE_CMD, |
| BTAMP_TLV_HCI_WRITE_LOOPBACK_MODE_CMD, |
| #endif |
| |
| /*--------------------------------------------------------------------------- |
| Supported HCI Events |
| ---------------------------------------------------------------------------*/ |
| #if 0 |
| /** BT events */ |
| BTAMP_TLV_HCI_COMMAND_COMPLETE_EVENT, |
| BTAMP_TLV_HCI_COMMAND_STATUS_EVENT, |
| BTAMP_TLV_HCI_HARDWARE_ERROR_EVENT, |
| BTAMP_TLV_HCI_FLUSH_OCCURRED_EVENT, |
| BTAMP_TLV_HCI_LOOPBACK_COMMAND_EVENT, |
| BTAMP_TLV_HCI_DATA_BUFFER_OVERFLOW_EVENT, |
| BTAMP_TLV_HCI_QOS_VIOLATION_EVENT, |
| /** BT v3.0 events */ |
| BTAMP_TLV_HCI_GENERIC_AMP_LINK_KEY_NOTIFICATION_EVENT, |
| BTAMP_TLV_HCI_PHYSICAL_LINK_COMPLETE_EVENT , |
| BTAMP_TLV_HCI_CHANNEL_SELECTED_EVENT , |
| BTAMP_TLV_HCI_DISCONNECT_PHYSICAL_LINK_COMPLETE_EVENT , |
| BTAMP_TLV_HCI_PHYSICAL_LINK_LOSS_WARNING_EVENT , |
| BTAMP_TLV_HCI_PHYSICAL_LINK_RECOVERY_EVENT , |
| BTAMP_TLV_HCI_LOGICAL_LINK_COMPLETE_EVENT , |
| BTAMP_TLV_HCI_DISCONNECT_LOGICAL_LINK_COMPLETE_EVENT , |
| BTAMP_TLV_HCI_FLOW_SPEC_MODIFY_COMPLETE_EVENT , |
| BTAMP_TLV_HCI_SHORT_RANGE_MODE_CHANGE_COMPLETE_EVENT , |
| #endif |
| |
| |
| /*---------------------------------------------------------------------------- |
| * Defines |
| * -------------------------------------------------------------------------*/ |
| /*--------------------------------------------------------------------------- |
| Packet type defines for the AMP to PAL packet encapsulation. |
| ---------------------------------------------------------------------------*/ |
| #define WLANBAP_HCI_COMMAND_PACKET 0x01 /**< HCI command packet type, characterizing packet types over the |
| UART and RS232 transports */ |
| #define WLANBAP_HCI_ACL_DATA_PACKET 0x02 /**< HCI ACL data packet type, characterizing packet types over the |
| UART and RS232 transports */ |
| #define WLANBAP_HCI_SCO_DATA_PACKET 0x03 /**< HCI SCO data packet type, characterizing packet types over the |
| UART and RS232 transports */ |
| #define WLANBAP_HCI_EVENT_PACKET 0x04 /**< HCI event packet type, characterizing packet types over the |
| UART and RS232 transports */ |
| /*--------------------------------------------------------------------------- |
| HCI Data packet size limitation. |
| ---------------------------------------------------------------------------*/ |
| #define WLANBAP_MAX_80211_PAL_PDU_SIZE 1492 |
| |
| /*--------------------------------------------------------------------------- |
| HCI Flow Control Modes. |
| ---------------------------------------------------------------------------*/ |
| #define WLANBAP_FLOW_CONTROL_MODE_PACKET_BASED 0x00 |
| #define WLANBAP_FLOW_CONTROL_MODE_BLOCK_BASED 0x01 |
| |
| /*--------------------------------------------------------------------------- |
| BT "assigned numbers" |
| ---------------------------------------------------------------------------*/ |
| // Qualcomm Company ID |
| #define WLANBAP_QUALCOMM_COMPANY_ID 29 |
| |
| // HCI Interface version |
| // Parameter Name Assigned Values |
| // HCI_Version 0 => Bluetooth HCI Specification 1.0B |
| // 1 => Bluetooth HCI Specification 1.1 |
| // 2 => Bluetooth HCI Specification 1.2 |
| // 3 => Bluetooth HCI Specification 2.0 |
| // 4 => Bluetooth HCI Specification 2.1 |
| // 5 => Bluetooth HCI Specification 3.0 |
| #define WLANBAP_HCI_VERSION 5 |
| #define WLANBAP_HCI_REVISION 0 |
| #define WLANBAP_PAL_VERSION 0x01 |
| #define WLANBAP_PAL_SUBVERSION 0x00 |
| |
| // AMP device status |
| #define WLANBAP_HCI_AMP_STATUS_POWERED_DOWN 0x00 |
| #define WLANBAP_HCI_AMP_STATUS_NOT_SHARED 0x01 |
| #define WLANBAP_HCI_AMP_STATUS_SHARED 0x02 |
| #define WLANBAP_HCI_AMP_STATUS_RESERVED 0x03 |
| |
| // ACL Packet types (AMP only uses 0x03) |
| #define WLANBAP_HCI_PKT_START_NON_FLUSH 0x00 |
| #define WLANBAP_HCI_PKT_CONT 0x01 |
| #define WLANBAP_HCI_PKT_START_FLUSH 0x02 |
| #define WLANBAP_HCI_PKT_AMP 0x03 |
| |
| /*--------------------------------------------------------------------------- |
| BT-AMP PAL supported commands defines |
| |
| The Supported Commands configuration parameter lists which HCI commands the |
| local controller supports. It is implied that if a command is listed as |
| supported, the feature underlying that command is also supported. |
| The Supported Commands is a 64 octet bit field. If a bit is set to 1, then |
| this command is supported. |
| |
| ---------------------------------------------------------------------------*/ |
| // 0 1 2 3 4 5 6 7 |
| |
| #define WLANBAP_PAL_SUPPORTED_HCI_CMDS { \ |
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x0c, \ |
| 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x88, 0x3c, \ |
| 0x00, 0x00, 0x00, 0x40, 0x00, 0xff, 0xff, 0x07, \ |
| 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ |
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ |
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ |
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ |
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 \ |
| } |
| |
| /*--------------------------------------------------------------------------- |
| BT-AMP PAL "status" and "reason" error code defines |
| ---------------------------------------------------------------------------*/ |
| #define WLANBAP_STATUS_SUCCESS (0x00) /* Success. Section 3.1.7 */ |
| |
| #define WLANBAP_ERROR_UNKNOWN_HCI_CMND (0x01) |
| #define WLANBAP_ERROR_NO_CNCT (0x02) /* AMP HCI Section 7.1.39 */ |
| #define WLANBAP_ERROR_HARDWARE_FAILURE (0x03) |
| #define WLANBAP_ERROR_PAGE_TIMEOUT (0x04) |
| /* Section 3.1.10 has this mis-identified as 0x08 */ |
| #define WLANBAP_ERROR_AUTHENT_FAILURE (0x05) |
| #define WLANBAP_ERROR_KEY_MISSING (0x06) |
| #define WLANBAP_ERROR_MEMORY_FULL (0x07) |
| #define WLANBAP_ERROR_CNCT_TIMEOUT (0x08) /* Section 3.1.8 */ |
| #define WLANBAP_ERROR_MAX_NUM_CNCTS (0x09) /* Section 3.1.8 */ |
| #define WLANBAP_ERROR_MAX_NUM_SCO_CNCTS (0x0a) |
| #define WLANBAP_ERROR_MAX_NUM_ACL_CNCTS (0x0b) |
| #define WLANBAP_ERROR_CMND_DISALLOWED (0x0c) /* Section 4.1 */ |
| #define WLANBAP_ERROR_HOST_REJ_RESOURCES (0x0d) /* Section 3.1.7 */ |
| #define WLANBAP_ERROR_HOST_REJ_SECURITY (0x0e) |
| #define WLANBAP_ERROR_HOST_REJ_PERSONAL_DEV (0x0f) |
| #define WLANBAP_ERROR_HOST_TIMEOUT (0x10) |
| #define WLANBAP_ERROR_UNSUPPORT_FEAT_PARAM (0x11) |
| #define WLANBAP_ERROR_INVALID_HCI_CMND_PARAM (0x12) |
| #define WLANBAP_ERROR_TERM_CNCT_USER_ENDED (0x13) |
| #define WLANBAP_ERROR_TERM_CNCT_LOW_RESOURCE (0x14) |
| #define WLANBAP_ERROR_TERM_CNCT_POWER_OFF (0x15) |
| /* Section 3.1.9 has a contradictory semantics of "failed connection" */ |
| #define WLANBAP_ERROR_TERM_BY_LOCAL_HOST (0x16) /* Section 3.1.8 */ |
| #define WLANBAP_ERROR_REPEATED_ATTEMPTS (0x17) |
| #define WLANBAP_ERROR_PAIRING_NOT_ALLOWED (0x18) |
| #define WLANBAP_ERROR_UNKNOWN_LMP_PDU (0x19) |
| #define WLANBAP_ERROR_UNSUPPORTED_REMOTE_FEAT (0x1a) |
| #define WLANBAP_ERROR_SCO_REJ (0x1b) |
| #define WLANBAP_ERROR_SCO_INTERVAL_REJ (0x1c) |
| #define WLANBAP_ERROR_SCO_AIR_MODE_REJ (0x1d) |
| #define WLANBAP_ERROR_INVALID_LMP_PARAMETER (0x1e) |
| #define WLANBAP_ERROR_UNSPECIFIED_ERROR (0x1f) |
| #define WLANBAP_ERROR_UNSUPPORTED_LMP_PARAM (0x20) |
| #define WLANBAP_ERROR_ROLE_CHANGE_NOT_ALLOWED (0x21) |
| #define WLANBAP_ERROR_LMP_RESPONSE_TIMEOUT (0x22) |
| #define WLANBAP_ERROR_LMP_ERROR_TRANS_COLLISION (0x23) |
| #define WLANBAP_ERROR_LMP_PDU_NOT_ALLOWED (0x24) |
| #define WLANBAP_ERROR_ENCRYPTION_MODE_NOT_ACCEPTABLE (0x25) |
| #define WLANBAP_ERROR_UNIT_KEY_USED (0x26) |
| #define WLANBAP_ERROR_QOS_IS_NOT_SUPPORTED (0x27) |
| #define WLANBAP_ERROR_INSTANT_PASSED (0x28) |
| #define WLANBAP_ERROR_UNIT_KEY_PAIRING_UNSUPPORTED (0x29) |
| |
| #define WLANBAP_ERROR_DIFFERENT_TRANS_COLLISION (0x2A) |
| |
| /* reserved (0x2B) */ |
| |
| #define WLANBAP_ERROR_QOS_UNACCEPTABLE_PARAMETER (0x2C) |
| #define WLANBAP_ERROR_QOS_REJECTED (0x2D) |
| #define WLANBAP_ERROR_CHANNEL_CLASSIFICATION_NS (0x2E) |
| #define WLANBAP_ERROR_INSUFFICIENT_SECURITY (0x2F) |
| #define WLANBAP_ERROR_PARM_OUT_OF_MANDATORY_RANGE (0x30) |
| |
| /* reserved (0x31) */ |
| |
| #define WLANBAP_ERROR_ROLE_SWITCH_PENDING (0x32) |
| |
| /* reserved (0x33) */ |
| |
| #define WLANBAP_ERROR_RESERVED_SLOT_VIOLATION (0x34) |
| #define WLANBAP_ERROR_ROLE_SWITCH_FAILED (0x35) |
| #define WLANBAP_ERROR_EIR_TOO_LARGE (0x36) |
| #define WLANBAP_ERROR_SSP_NOT_SUPPORTED_BY_HOST (0x37) |
| #define WLANBAP_ERROR_HOST_BUSY_PAIRING (0x38) |
| #define WLANBAP_ERROR_NO_SUITABLE_CHANNEL (0x39) |
| #define WLANBAP_ERROR_CONTROLLER_BUSY (0x3A) |
| |
| /*---------------------------------------------------------------------------- |
| * Event_Mask_Page_2 defines for events |
| * -------------------------------------------------------------------------*/ |
| #define WLANBAP_EVENT_MASK_NONE 0x0000000000000000 //No events specified (default) |
| #define WLANBAP_EVENT_MASK_PHY_LINK_COMPLETE_EVENT 0x0000000000000001 //Physical Link Complete Event |
| #define WLANBAP_EVENT_MASK_CHANNEL_SELECTED_EVENT 0x0000000000000002 //Channel Selected Event |
| #define WLANBAP_EVENT_MASK_DISC_PHY_LINK_EVENT 0x0000000000000004 //Disconnection Physical Link Event |
| #define WLANBAP_EVENT_MASK_PHY_LINK_LOSS_EARLY_WARNING_EVENT 0x0000000000000008 //Physical Link Loss Early Warning Event |
| #define WLANBAP_EVENT_MASK_PHY_LINK_RECOVERY_EVENT 0x0000000000000010 //Physical Link Recovery Event |
| #define WLANBAP_EVENT_MASK_LOG_LINK_COMPLETE_EVENT 0x0000000000000020 //Logical Link Complete Event |
| #define WLANBAP_EVENT_MASK_DISC_LOG_LINK_COMPLETE_EVENT 0x0000000000000040 //Disconnection Logical Link Complete Event |
| #define WLANBAP_EVENT_MASK_FLOW_SPEC_MOD_COMPLETE_EVENT 0x0000000000000080 //Flow Spec Modify Complete Event |
| #define WLANBAP_EVENT_MASK_NUM_COMPLETED_DATA_BLOCKS_EVENT 0x0000000000000100 //Number of Completed Data Blocks Event |
| #define WLANBAP_EVENT_MASK_AMP_START_TEST_EVENT 0x0000000000000200 //AMP Start Test Event |
| #define WLANBAP_EVENT_MASK_AMP_TEST_END_EVENT 0x0000000000000400 //AMP Test End Event |
| #define WLANBAP_EVENT_MASK_AMP_RCVR_REPORT_EVENT 0x0000000000000800 //AMP Receiver Report Event |
| #define WLANBAP_EVENT_MASK_SHORT_RANGE_MODE_CHANGE_COMPLETE_EVENT 0x0000000000001000 //Short Range Mode Change Complete Event |
| #define WLANBAP_EVENT_MASK_AMP_STATUS_CHANGE_EVENT 0x0000000000002000 //AMP Status Change Event |
| #define WLANBAP_EVENT_MASK_RESERVED 0xFFFFFFFFFFFFC000 //Reserved for future use |
| |
| /*---------------------------------------------------------------------------- |
| * Typedefs |
| * -------------------------------------------------------------------------*/ |
| |
| /*---------------------------------------------------------------------------- |
| * Opaque BAP handle Type Declaration |
| * -------------------------------------------------------------------------*/ |
| typedef v_PVOID_t tBtampHandle, *ptBtampHandle; |
| |
| /*---------------------------------------------------------------------------- |
| * BAP per-session Context Data Type Declaration |
| * -------------------------------------------------------------------------*/ |
| // Move this to bapInternal.h, where it belongs. |
| // For now, it is just the same thing as the per application context. |
| //typedef struct sBtampContext tBtampSessCtx; |
| |
| |
| /*--------------------------------------------------------------------------- |
| HCI Event union |
| ---------------------------------------------------------------------------*/ |
| typedef struct sBtampHCI_Event { |
| v_U8_t bapHCIEventCode; /* The event code. To dis-ambiguate. */ |
| union { |
| tBtampTLVHCI_Channel_Selected_Event btampChannelSelectedEvent; |
| tBtampTLVHCI_Command_Complete_Event btampCommandCompleteEvent ; |
| tBtampTLVHCI_Command_Status_Event btampCommandStatusEvent ; |
| tBtampTLVHCI_Data_Buffer_Overflow_Event btampDataBufferOverflowEvent ; |
| tBtampTLVHCI_Disconnect_Logical_Link_Complete_Event btampDisconnectLogicalLinkCompleteEvent ; |
| tBtampTLVHCI_Disconnect_Physical_Link_Complete_Event btampDisconnectPhysicalLinkCompleteEvent ; |
| /* Flow_Spec_Modify_Complete_Event is generated after the flow spec modify cmd completes */ |
| tBtampTLVHCI_Flow_Spec_Modify_Complete_Event btampFlowSpecModifyCompleteEvent ; |
| /* Asynchronous Flush_Occurred Event CAN ALSO BE generated after the flush cmd completes */ |
| tBtampTLVHCI_Flush_Occurred_Event btampFlushOccurredEvent ; |
| tBtampTLVHCI_Generic_AMP_Link_Key_Notification_Event btampGenericAMPLinkKeyNotificationEvent ; |
| tBtampTLVHCI_Hardware_Error_Event btampHardwareErrorEvent ; |
| tBtampTLVHCI_Logical_Link_Complete_Event btampLogicalLinkCompleteEvent ; |
| tBtampTLVHCI_Loopback_Command_Event btampLoopbackCommandEvent ; |
| tBtampTLVHCI_Physical_Link_Complete_Event btampPhysicalLinkCompleteEvent ; |
| tBtampTLVHCI_Physical_Link_Loss_Warning_Event btampPhysicalLinkLossWarningEvent ; |
| tBtampTLVHCI_Physical_Link_Recovery_Event btampPhysicalLinkRecoveryEvent ; |
| tBtampTLVHCI_Qos_Violation_Event btampQosViolationEvent ; |
| tBtampTLVHCI_Short_Range_Mode_Change_Complete_Event btampShortRangeModeChangeCompleteEvent ; |
| tBtampTLVHCI_Num_Completed_Pkts_Event btampNumOfCompletedPktsEvent; |
| tBtampTLVHCI_Num_Completed_Data_Blocks_Event btampNumOfCompletedDataBlocksEvent; |
| tBtampTLVHCI_Enhanced_Flush_Complete_Event btampEnhancedFlushCompleteEvent ; |
| } u; |
| } tBtampHCI_Event, *tpBtampHCI_Event; |
| |
| /* 802.3 header */ |
| typedef struct |
| { |
| /* Destination address field */ |
| v_U8_t vDA[VOS_MAC_ADDR_SIZE]; |
| |
| /* Source address field */ |
| v_U8_t vSA[VOS_MAC_ADDR_SIZE]; |
| |
| /* Length field */ |
| v_U16_t usLenType; /* Num bytes in info field (i.e., exclude 802.3 hdr) */ |
| /* Max length 1500 (0x5dc) (What about 0x5ee? That |
| * includes 802.3 Header and FCS.) */ |
| }WLANBAP_8023HeaderType; |
| |
| |
| /* |
| * A list of Command Complete event msgs which will be |
| * signalled by the Event Callback |
| */ |
| #if 0 |
| /* The tBtampTLVHCI_Command_Complete_Event structure includes each of these*/ |
| /* HCI Reset: status */ |
| /* HCI Flush: status, log_link_handle */ |
| |
| #endif |
| |
| /* |
| * Command Complete event msgs which will be formed by the caller |
| * Now an invocation of btampPackTlvHCI_Command_Complete_Event() |
| * supports generating command complete event messages for all commands... |
| */ |
| /* The tBtampTLVHCI_Command_Complete_Event structure includes each of these*/ |
| #if 0 |
| /* HCI Cancel Logical Link: status, phy_link_handle, tx_flow_spec_id */ |
| /* HCI Set Event Mask: status */ |
| /* HCI Read Connection Accept Timeout: status, connection_accept_timeout */ |
| /* HCI Write Connection Accept Timeout: status */ |
| /* HCI Read Link Supervision Timeout: status, log_link_handle (8 sig bits only), link_supervision_timeout */ |
| /* HCI Write Link Supervision Timeout: status, log_link_handle (8 bits sig only) */ |
| /* HCI Read Logical Link Accept Timeout: status, logical_link_accept_timeout */ |
| /* HCI Write Logical Link Accept Timeout: status */ |
| /* HCI Set Event Mask Page 2: status */ |
| /* HCI Read Location Data: status, loc_domain_aware, loc_domain, loc_options */ |
| /* HCI Write Location Data: status */ |
| /* HCI Read Flow Control Mode: status, flow_control_mode */ |
| /* HCI Write Flow Control Mode: status */ |
| /* HCI Read Best Effort Flush Timeout: status, (logical_link_handle ? No!), best_effort_flush_timeout */ |
| /* HCI Write Best Effort Flush Timeout: status */ |
| /* HCI Set Short Range Mode: status */ |
| /* HCI Read Local Version Info: status, HC_HCI_Version, HC_HCI_Revision, HC_PAL_Version, HC_Manufac_Name, HC_PAL_Sub_Version */ |
| /* HCI Read Local supported commands: status, HC_Support_Cmds */ |
| /* HCI Read Buffer Size: status, HC_ACL_Data_Packet_Length, HC_SCO_Packet_Length, HC_Total_Num_ACL_Packets, HC_Total_Num_SCO_Packets */ |
| /* HCI Read Data Block Size: status, HC_Max_ACL_Data_Packet_Length, HC_Data_Block_Length, HC_Total_Num_Data_Blocks */ |
| /* HCI Read Failed Contact Counter: status, log_link_handle, *pFailedContactCounter */ |
| /* HCI Reset Failed Contact Counter: status, log_link_handle */ |
| /* HCI Read Link Quality: status, log_link_handle(?Yes!?), link_quality */ |
| /* HCI Read RSSI: status, phy_link_handle, rssi */ |
| /* HCI Read Local AMP Info: status, HC_AMP_Status, HC_Total_BW, HC_Max_Guaranteed_BW, HC_Min_Latency, HC_Max_PDU_Size, HC_Controller_Type, HC_PAL_Capabilities, HC_AMP_Assoc_Length, HC_Max_Flush_Timeout, HC_BE_Flush_Timeout */ |
| /* HCI Read Local AMP Assoc: status, phy_link_handle, AMP ASSOC remaining length (just actual length, in practice), AMP ASSOC fragment (byte string) */ |
| /* where AMP Assoc consists of: HC_mac_addr, pref channel (HC_pref_country, HC_pref_triplets), Cnct channel (HC_cnct_country, HC_cnct_triplets), HC_pal_capabilities, HC_pal_version */ |
| /* HCI Write Remote AMP Assoc: status, phy_link_handle */ |
| /* HCI Read Loopback Mode: status, loopback_mode */ |
| /* HCI Write Loopback Mode: status */ |
| |
| #endif |
| |
| /* BT AMP configuration items */ |
| typedef struct |
| { |
| /* user preferred channel on which we start the link */ |
| v_U8_t ucPreferredChannel; |
| |
| }WLANBAP_ConfigType; |
| |
| /*---------------------------------------------------------------------------- |
| * Function Declarations and Documentation |
| * -------------------------------------------------------------------------*/ |
| |
| /*---------------------------------------------------------------------------- |
| VOSS interfaces - Device initialization |
| ---------------------------------------------------------------------------*/ |
| |
| /*========================================================================== |
| |
| FUNCTION WLANBAP_Open |
| |
| DESCRIPTION |
| Called at driver initialization (vos_open). BAP will initialize |
| all its internal resources and will wait for the call to start to |
| register with the other modules. |
| |
| DEPENDENCIES |
| |
| PARAMETERS |
| |
| IN |
| pvosGCtx: pointer to the global vos context; a handle to BAP's |
| control block can be extracted from its context |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to BAP cb is NULL ; access would cause a page |
| fault |
| VOS_STATUS_SUCCESS: Everything is good :) |
| |
| SIDE EFFECTS |
| |
| ============================================================================*/ |
| VOS_STATUS |
| WLANBAP_Open |
| ( |
| v_PVOID_t pvosGCtx |
| ); |
| |
| /*========================================================================== |
| |
| FUNCTION WLANBAP_Start |
| |
| DESCRIPTION |
| Called as part of the overall start procedure (vos_start). BAP will |
| use this call to register with TL as the BAP entity for |
| BT-AMP RSN frames. |
| |
| DEPENDENCIES |
| |
| PARAMETERS |
| |
| IN |
| pvosGCtx: pointer to the global vos context; a handle to BAP's |
| control block can be extracted from its context |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to BAP cb is NULL ; access would cause a page |
| fault |
| VOS_STATUS_SUCCESS: Everything is good :) |
| |
| Other codes can be returned as a result of a BAL failure; |
| |
| SIDE EFFECTS |
| |
| ============================================================================*/ |
| VOS_STATUS |
| WLANBAP_Start |
| ( |
| v_PVOID_t pvosGCtx |
| ); |
| |
| /*========================================================================== |
| |
| FUNCTION WLANBAP_Stop |
| |
| DESCRIPTION |
| Called by vos_stop to stop operation in BAP, before close. BAP will suspend all |
| BT-AMP Protocol Adaption Layer operation and will wait for the close |
| request to clean up its resources. |
| |
| DEPENDENCIES |
| |
| PARAMETERS |
| |
| IN |
| pvosGCtx: pointer to the global vos context; a handle to BAP's |
| control block can be extracted from its context |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to BAP cb is NULL ; access would cause a page |
| fault |
| VOS_STATUS_SUCCESS: Everything is good :) |
| |
| SIDE EFFECTS |
| |
| ============================================================================*/ |
| VOS_STATUS |
| WLANBAP_Stop |
| ( |
| v_PVOID_t pvosGCtx |
| ); |
| |
| /*========================================================================== |
| |
| FUNCTION WLANBAP_Close |
| |
| DESCRIPTION |
| Called by vos_close during general driver close procedure. BAP will clean up |
| all the internal resources. |
| |
| DEPENDENCIES |
| |
| PARAMETERS |
| |
| IN |
| pvosGCtx: pointer to the global vos context; a handle to BAP's |
| control block can be extracted from its context |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to BAP cb is NULL ; access would cause a page |
| fault |
| VOS_STATUS_SUCCESS: Everything is good :) |
| |
| SIDE EFFECTS |
| |
| ============================================================================*/ |
| VOS_STATUS |
| WLANBAP_Close |
| ( |
| v_PVOID_t pvosGCtx |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| HDD interfaces - Per instance initialization |
| ---------------------------------------------------------------------------*/ |
| |
| /*========================================================================== |
| |
| FUNCTION WLANBAP_GetNewHndl |
| |
| DESCRIPTION |
| Called by HDD at driver open (BSL_Open). BAP will initialize |
| allocate a per-instance "file handle" equivalent for this specific |
| open call. |
| |
| There should only ever be one call to BSL_Open. Since |
| the open app user is the BT stack. |
| |
| |
| DEPENDENCIES |
| |
| PARAMETERS |
| |
| IN |
| hBtampHandle: Handle to return btampHandle value in. |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to BAP cb is NULL ; access would cause a page |
| fault |
| VOS_STATUS_SUCCESS: Everything is good :) |
| |
| SIDE EFFECTS |
| |
| ============================================================================*/ |
| VOS_STATUS |
| WLANBAP_GetNewHndl |
| ( |
| ptBtampHandle *hBtampHandle /* Handle to return btampHandle value in */ |
| ); |
| |
| /*========================================================================== |
| |
| FUNCTION WLANBAP_ReleaseHndl |
| |
| DESCRIPTION |
| Called by HDD at driver close (BSL_Close). BAP will reclaim (invalidate) |
| the "file handle" passed into this call. |
| |
| |
| DEPENDENCIES |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: btampHandle value to invalidate. |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to btampHandle is NULL ; access would cause a |
| page fault |
| VOS_STATUS_SUCCESS: Everything is good :) |
| |
| SIDE EFFECTS |
| |
| ============================================================================*/ |
| VOS_STATUS |
| WLANBAP_ReleaseHndl |
| ( |
| ptBtampHandle btampHandle /* btamp handle value to release */ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| HDD interfaces - Data plane |
| ---------------------------------------------------------------------------*/ |
| |
| /*---------------------------------------------------------------------------- |
| HDD Data callbacks |
| ---------------------------------------------------------------------------*/ |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION (*WLANBAP_STAFetchPktCBType)() |
| |
| DESCRIPTION |
| Type of the fetch packet callback registered with BAP by HDD. |
| |
| It is called by the BAP immediately upon the underlying |
| WLANTL_STAFetchPktCBType routine being called. Which is called by |
| TL when the scheduling algorithms allows for transmission of another |
| packet to the module. |
| |
| This function is here to "wrap" or abstract WLANTL_STAFetchPktCBType. |
| Because the BAP-specific HDD "shim" layer (BSL) doesn't know anything |
| about STAIds, or other parameters required by TL. |
| |
| |
| PARAMETERS |
| |
| IN |
| pHddHdl: The HDD(BSL) specific context for this association. |
| Use the STAId passed to me by TL in WLANTL_STAFetchCBType |
| to retreive this value. |
| |
| IN/OUT |
| pucAC: access category requested by TL, if HDD does not have |
| packets on this AC it can choose to service another AC |
| queue in the order of priority |
| |
| OUT |
| vosDataBuff: pointer to the VOSS data buffer that was transmitted |
| tlMetaInfo: meta info related to the data frame |
| |
| |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| ----------------------------------------------------------------------------*/ |
| |
| typedef VOS_STATUS (*WLANBAP_STAFetchPktCBType)( |
| v_PVOID_t pHddHdl, |
| WLANTL_ACEnumType ucAC, |
| vos_pkt_t** vosDataBuff, |
| WLANTL_MetaInfoType* tlMetaInfo); |
| |
| |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION (*WLANBAP_STARxCBType)( ) |
| |
| DESCRIPTION |
| Type of the receive callback registered with BAP by HDD. |
| |
| It is called by the BAP immediately upon the underlying |
| WLANTL_STARxCBType routine being called. Which is called by |
| TL to notify when a packet was received for a registered STA. |
| |
| PARAMETERS |
| |
| IN |
| pHddHdl: The HDD(BSL) specific context for this association. |
| Use the STAId passed to me by TL in WLANTL_STARxCBType |
| to retrieve this value. |
| |
| vosDataBuff: pointer to the VOSS data buffer that was received |
| (it may be a linked list) |
| pRxMetaInfo: Rx meta info related to the data frame |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| ----------------------------------------------------------------------------*/ |
| typedef VOS_STATUS (*WLANBAP_STARxCBType)( v_PVOID_t pHddHdl, |
| vos_pkt_t* vosDataBuff, |
| WLANTL_RxMetaInfoType* pRxMetaInfo); |
| |
| |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION (*WLANBAP_TxCompCBType)() |
| |
| DESCRIPTION |
| Type of the tx complete callback registered with BAP by HDD. |
| |
| It is called by the BAP immediately upon the underlying |
| WLANTL_TxCompCBType routine being called. Which is called by |
| TL to notify when a transmission for a packet has ended. |
| |
| PARAMETERS |
| |
| IN |
| pHddHdl: The HDD(BSL) specific context for this association. |
| <<How do I retrieve this from pvosGCtx? Which is all |
| the TL WLANTL_TxCompCBType routine provides me.>> |
| vosDataBuff: pointer to the VOSS data buffer that was transmitted |
| wTxSTAtus: status of the transmission |
| |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| ----------------------------------------------------------------------------*/ |
| typedef VOS_STATUS (*WLANBAP_TxCompCBType)( v_PVOID_t pHddHdl, |
| vos_pkt_t* vosDataBuff, |
| VOS_STATUS wTxSTAtus ); |
| |
| /*---------------------------------------------------------------------------- |
| HDD Data plane API |
| ---------------------------------------------------------------------------*/ |
| |
| /*========================================================================== |
| |
| FUNCTION WLANBAP_RegisterDataPlane |
| |
| DESCRIPTION |
| The HDD calls this routine to register the "data plane" routines |
| for Tx, Rx, and Tx complete with BT-AMP. For now, with only one |
| physical association supported at a time, this COULD be called |
| by HDD at the same time as WLANBAP_GetNewHndl. But, in general |
| it needs to be called upon each new physical link establishment. |
| |
| This registration is really two part. The routines themselves are |
| registered here. But, the mapping between the BSL context and the |
| actual physical link takes place during WLANBAP_PhysicalLinkCreate. |
| |
| DEPENDENCIES |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: The BT-AMP PAL handle returned in WLANBAP_GetNewHndl. |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to BAP cb is NULL ; access would cause a page |
| fault |
| VOS_STATUS_SUCCESS: Everything is good :) |
| |
| SIDE EFFECTS |
| |
| ============================================================================*/ |
| VOS_STATUS |
| WLANBAP_RegisterDataPlane |
| ( |
| ptBtampHandle btampHandle, /* BTAMP context */ |
| WLANBAP_STAFetchPktCBType pfnBtampFetchPktCB, |
| WLANBAP_STARxCBType pfnBtamp_STARxCB, |
| WLANBAP_TxCompCBType pfnBtampTxCompCB, |
| // phy_link_handle, of course, doesn't come until much later. At Physical Link create. |
| v_PVOID_t pHddHdl /* BSL specific context */ |
| ); |
| //#endif |
| |
| /*=========================================================================== |
| |
| FUNCTION WLANBAP_XlateTxDataPkt |
| |
| DESCRIPTION |
| |
| HDD will call this API when it has a HCI Data Packet and it wants |
| to translate it into a 802.3 LLC frame - ready to send using TL. |
| |
| |
| PARAMETERS |
| |
| btampHandle: The BT-AMP PAL handle returned in WLANBAP_GetNewHndl. |
| phy_link_handle: Used by BAP to indentify the WLAN assoc. (StaId) |
| |
| pucAC: Pointer to return the access category |
| vosDataBuff: The data buffer containing the BT-AMP packet to be |
| translated to an 802.3 LLC frame |
| tlMetaInfo: return meta info gleaned from the outgoing frame, here. |
| |
| RETURN VALUE |
| |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_INVAL: Input parameters are invalid |
| VOS_STATUS_E_FAULT: BAP handle is NULL |
| VOS_STATUS_SUCCESS: Everything is good :) |
| |
| SIDE EFFECTS |
| |
| ============================================================================*/ |
| VOS_STATUS |
| WLANBAP_XlateTxDataPkt |
| ( |
| ptBtampHandle btampHandle, /* Used by BAP to identify the actual session |
| and therefore addresses */ |
| v_U8_t phy_link_handle, /* Used by BAP to indentify the WLAN assoc. (StaId) */ |
| WLANTL_ACEnumType *pucAC, /* Return the AC here */ |
| WLANTL_MetaInfoType *tlMetaInfo, /* Return the MetaInfo here. An assist to WLANBAP_STAFetchPktCBType */ |
| vos_pkt_t *vosDataBuff |
| ); |
| |
| /*=========================================================================== |
| |
| FUNCTION WLANBAP_XlateRxDataPkt |
| |
| DESCRIPTION |
| |
| HDD will call this API when it has received a 802.3 (TL/UMA has |
| Xlated from 802.11) frame from TL and it wants to form a |
| BT HCI Data Packet - ready to signal up to the BT stack application. |
| |
| |
| PARAMETERS |
| |
| btampHandle: The BT-AMP PAL handle returned in WLANBAP_GetNewHndl. |
| pucAC: Pointer to return the access category |
| vosDataBuff: The data buffer containing the 802.3 frame to be |
| translated to BT HCI Data Packet |
| |
| RETURN VALUE |
| |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_INVAL: Input parameters are invalid |
| VOS_STATUS_E_FAULT: BAP handle is NULL |
| VOS_STATUS_SUCCESS: Everything is good :) |
| |
| SIDE EFFECTS |
| |
| ============================================================================*/ |
| VOS_STATUS |
| WLANBAP_XlateRxDataPkt |
| ( |
| ptBtampHandle btampHandle, |
| v_U8_t phy_link_handle, /* Used by BAP to indentify the WLAN assoc. (StaId) */ |
| WLANTL_ACEnumType *pucAC, /* Return the AC here. I don't think this is needed */ |
| vos_pkt_t *vosDataBuff |
| ); |
| |
| /*=========================================================================== |
| |
| FUNCTION WLANBAP_STAPktPending |
| |
| DESCRIPTION |
| |
| HDD will call this API when a packet is pending transmission in its |
| queues. HDD uses this instead of WLANTL_STAPktPending because he is |
| not aware of the mapping from session to STA ID. |
| |
| DEPENDENCIES |
| |
| HDD must have called WLANBAP_GetNewHndl before calling this API. |
| |
| PARAMETERS |
| |
| btampHandle: The BT-AMP PAL handle returned in WLANBAP_GetNewHndl. |
| BSL can obtain this from the physical handle value in the |
| downgoing HCI Data Packet. He, after all, was there |
| when the PhysicalLink was created. He knew the btampHandle |
| value returned by WLANBAP_GetNewHndl. He knows as well, his |
| own pHddHdl (see next). |
| phy_link_handle: Used by BAP to indentify the WLAN assoc. (StaId) |
| ucAc: The access category for the pending frame |
| |
| RETURN VALUE |
| |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_INVAL: Input parameters are invalid |
| VOS_STATUS_E_FAULT: BAP handle is NULL |
| VOS_STATUS_SUCCESS: Everything is good :) |
| |
| SIDE EFFECTS |
| |
| ============================================================================*/ |
| VOS_STATUS |
| WLANBAP_STAPktPending |
| ( |
| ptBtampHandle btampHandle, /* Used by BAP to identify the app context and VOSS ctx (!?) */ |
| v_U8_t phy_link_handle, /* Used by BAP to indentify the WLAN assoc. (StaId) */ |
| WLANTL_ACEnumType ucAc /* This is the first instance of a TL type in bapApi.h */ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| * BT-AMP PAL HCI Event callback types |
| *--------------------------------------------------------------------------*/ |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION (*tpWLAN_BAPEventCB)() |
| |
| DESCRIPTION |
| Implements the callback for ALL asynchronous events. |
| Including Events resulting from: |
| * HCI Create Physical Link, |
| * Disconnect Physical Link, |
| * Create Logical Link, |
| * Flow Spec Modify, |
| * HCI Reset, |
| * HCI Flush,... |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| pHddHdl: The HDD(BSL) specific context for this association. |
| BSL gets this from the downgoing packets Physical handle |
| value. |
| pBapHCIEvent: pointer to the union of "HCI Event" structures. Contains all info |
| needed for HCI event. |
| assoc_specific_event: flag indicates assoc-specific (1) or global (0) event |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIEvent is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| typedef VOS_STATUS (*tpWLAN_BAPEventCB) |
| ( |
| v_PVOID_t pHddHdl, /* this could refer to either the BSL per |
| association context which got passed in during |
| register data plane OR the BSL per application |
| context passed in during register BAP callbacks |
| based on setting of the Boolean flag below */ |
| /* It's like each of us is using the other */ |
| /* guys reference when invoking him. */ |
| tpBtampHCI_Event pBapHCIEvent, /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| v_BOOL_t assoc_specific_event /* Flag to indicate global or assoc-specific event */ |
| ); |
| |
| |
| /*---------------------------------------------------------------------------- |
| HCI Event Callback Registration routine |
| ---------------------------------------------------------------------------*/ |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPRegisterBAPCallbacks() |
| |
| DESCRIPTION |
| Register the BAP "Event" callbacks. |
| Return the per instance handle. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: The BT-AMP PAL handle returned in WLANBAP_GetNewHndl. |
| pBapHCIEventCB: pointer to the Event callback |
| pAppHdl: The context passed in by caller. (I.E., BSL app specific context.) |
| |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIEventCB is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPRegisterBAPCallbacks |
| ( |
| ptBtampHandle btampHandle, /* BSL uses my handle to talk to me */ |
| /* Returned from WLANBAP_GetNewHndl() */ |
| /* It's like each of us is using the other */ |
| /* guys reference when invoking him. */ |
| tpWLAN_BAPEventCB pBapHCIEventCB, /*Implements the callback for ALL asynchronous events. */ |
| v_PVOID_t pAppHdl // Per-app BSL context |
| ); |
| |
| |
| |
| /*---------------------------------------------------------------------------- |
| Host Controller Interface Procedural API |
| ---------------------------------------------------------------------------*/ |
| |
| /** BT v3.0 Link Control commands */ |
| |
| /*---------------------------------------------------------------------------- |
| Each of the next eight command result in asynchronous events (e.g., |
| HCI_PHYSICAL_LINK_COMPLETE_EVENT, HCI_LOGICAL_LINK_COMPLETE_EVENT, etc...) |
| These are signalled thru the event callback. (I.E., (*tpWLAN_BAPEventCB).) |
| ---------------------------------------------------------------------------*/ |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPPhysicalLinkCreate() |
| |
| DESCRIPTION |
| Implements the actual HCI Create Physical Link command |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| WLANBAP_GetNewHndl has to be called before every call to |
| WLAN_BAPPhysicalLinkCreate. Since the context is per |
| physical link. |
| pBapHCIPhysLinkCreate: pointer to the "HCI Create Physical Link" Structure. |
| pHddHdl: The context passed in by the caller. (e.g., BSL specific context) |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command status event. |
| (The caller of this routine is responsible for sending |
| the Command Status event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIPhysLinkCreate is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPPhysicalLinkCreate |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Create_Physical_Link_Cmd *pBapHCIPhysLinkCreate, |
| v_PVOID_t pHddHdl, /* BSL passes in its specific context */ |
| /* And I get phy_link_handle from the Command */ |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPPhysicalLinkAccept() |
| |
| DESCRIPTION |
| Implements the actual HCI Accept Physical Link command |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCIPhysLinkAccept: pointer to the "HCI Accept Physical Link" Structure. |
| pHddHdl: The context passed in by the caller. (e.g., BSL specific context) |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command status event. |
| (The caller of this routine is responsible for sending |
| the Command Status event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIPhysLinkAccept is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPPhysicalLinkAccept |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Accept_Physical_Link_Cmd *pBapHCIPhysLinkAccept, |
| v_PVOID_t pHddHdl, /* BSL passes in its specific context */ |
| /* And I get phy_link_handle from the Command */ |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPPhysicalLinkDisconnect() |
| |
| DESCRIPTION |
| Implements the actual HCI Disconnect Physical Link command |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCIPhysLinkDisconnect: pointer to the "HCI Disconnect Physical Link" Structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command status event. |
| (The caller of this routine is responsible for sending |
| the Command Status event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIPhysLinkDisconnect is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPPhysicalLinkDisconnect |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Disconnect_Physical_Link_Cmd *pBapHCIPhysLinkDisconnect, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPLogicalLinkCreate() |
| |
| DESCRIPTION |
| Implements the actual HCI Create Logical Link command |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCILogLinkCreate: pointer to the "HCI Create Logical Link" Structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command status event. |
| (The caller of this routine is responsible for sending |
| the Command Status event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCILogLinkCreate is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPLogicalLinkCreate |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Create_Logical_Link_Cmd *pBapHCILogLinkCreate, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPLogicalLinkAccept() |
| |
| DESCRIPTION |
| Implements the actual HCI Accept Logical Link command |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCILogLinkAccept: pointer to the "HCI Accept Logical Link" Structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command status event. |
| (The caller of this routine is responsible for sending |
| the Command Status event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCILogLinkAccept is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPLogicalLinkAccept |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Accept_Logical_Link_Cmd *pBapHCILogLinkAccept, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPLogicalLinkDisconnect() |
| |
| DESCRIPTION |
| Implements the actual HCI Disconnect Logical Link command |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCILogLinkDisconnect: pointer to the "HCI Disconnect Logical Link" Structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command status event. |
| (The caller of this routine is responsible for sending |
| the Command Status event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCILogLinkDisconnect is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPLogicalLinkDisconnect |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Disconnect_Logical_Link_Cmd *pBapHCILogLinkDisconnect, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPLogicalLinkCancel() |
| |
| DESCRIPTION |
| Implements the actual HCI Cancel Logical Link command |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCILogLinkCancel: pointer to the "HCI Cancel Logical Link" Structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| (BTW, the required "HCI Logical Link Complete Event" |
| will be generated by the BAP state machine and sent up |
| via the (*tpWLAN_BAPEventCB).) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCILogLinkCancel is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPLogicalLinkCancel |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Logical_Link_Cancel_Cmd *pBapHCILogLinkCancel, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPFlowSpecModify() |
| |
| DESCRIPTION |
| Implements the actual HCI Modify Logical Link command |
| Produces an asynchronous flow spec modify complete event. Through the |
| event callback. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCIFlowSpecModify: pointer to the "HCI Flow Spec Modify" Structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command status event. |
| (The caller of this routine is responsible for sending |
| the Command Status event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIFlowSpecModify is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPFlowSpecModify |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Flow_Spec_Modify_Cmd *pBapHCIFlowSpecModify, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /* Host Controller and Baseband Commands */ |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPReset() |
| |
| DESCRIPTION |
| Implements the actual HCI Reset command. |
| Produces an asynchronous command complete event. Through the |
| command complete callback. (I.E., (*tpWLAN_BAPEventCB).) |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPReset |
| ( |
| ptBtampHandle btampHandle |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPSetEventMask() |
| |
| DESCRIPTION |
| Implements the actual HCI Set Event Mask command. There is no need for |
| a callback because when this call returns the action has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCISetEventMask: pointer to the "HCI Set Event Mask" Structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCISetEventMask is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPSetEventMask |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Set_Event_Mask_Cmd *pBapHCISetEventMask, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPFlush() |
| |
| DESCRIPTION |
| Implements the actual HCI Flush command |
| Produces an asynchronous command complete event. Through the |
| event callback. And an asynchronous Flush occurred event. Also through the |
| event callback. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCIFlush: pointer to the "HCI Flush" Structure. |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIFlush is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPFlush |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Flush_Cmd *pBapHCIFlush |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_EnhancedBAPFlush() |
| |
| DESCRIPTION |
| Implements the actual HCI Enhanced Flush command |
| Produces an asynchronous command complete event. Through the command status |
| event callback. And an asynchronous Enhanced Flush Complete event. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCIFlush: pointer to the "HCI Enhanced Flush" Structure. |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIFlush is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_EnhancedBAPFlush |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Enhanced_Flush_Cmd *pBapHCIFlush, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPReadConnectionAcceptTimeout() |
| |
| DESCRIPTION |
| Implements the actual HCI Read Connection Accept Timeout command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIReadConnectionAcceptTimeout is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPReadConnectionAcceptTimeout |
| ( |
| ptBtampHandle btampHandle, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including "Read" Command Complete */ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPWriteConnectionAcceptTimeout() |
| |
| DESCRIPTION |
| Implements the actual HCI Write Connection Accept Timeout command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCIWriteConnectionAcceptTimeout: pointer to the "HCI Connection Accept Timeout" Structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIWriteConnectionAcceptTimeout is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPWriteConnectionAcceptTimeout |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Write_Connection_Accept_Timeout_Cmd *pBapHCIWriteConnectionAcceptTimeout, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPReadLinkSupervisionTimeout() |
| |
| DESCRIPTION |
| Implements the actual HCI Read Link Supervision Timeout command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIReadLinkSupervisionTimeout is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPReadLinkSupervisionTimeout |
| ( |
| ptBtampHandle btampHandle, |
| /* Only 8 bits (phy_link_handle) of this log_link_handle are valid. */ |
| tBtampTLVHCI_Read_Link_Supervision_Timeout_Cmd *pBapHCIReadLinkSupervisionTimeout, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including "Read" Command Complete*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPWriteLinkSupervisionTimeout() |
| |
| DESCRIPTION |
| Implements the actual HCI Write Link Supervision Timeout command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCIWriteLinkSupervisionTimeout: pointer to the "HCI Link Supervision Timeout" Structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIWriteLinkSupervisionTimeout is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPWriteLinkSupervisionTimeout |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Write_Link_Supervision_Timeout_Cmd *pBapHCIWriteLinkSupervisionTimeout, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /* v3.0 Host Controller and Baseband Commands */ |
| |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPReadLogicalLinkAcceptTimeout() |
| |
| DESCRIPTION |
| Implements the actual HCI Read Logical Link Accept Timeout command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIReadLogicalLinkAcceptTimeout is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPReadLogicalLinkAcceptTimeout |
| ( |
| ptBtampHandle btampHandle, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including "Read" Command Complete*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPWriteLogicalLinkAcceptTimeout() |
| |
| DESCRIPTION |
| Implements the actual HCI Write Logical Link Accept Timeout command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCIWriteLogicalLinkAcceptTimeout: pointer to the "HCI Logical Link Accept Timeout" Structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIWriteLogicalLinkAcceptTimeout is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPWriteLogicalLinkAcceptTimeout |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Write_Logical_Link_Accept_Timeout_Cmd *pBapHCIWriteLogicalLinkAcceptTimeout, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPSetEventMaskPage2() |
| |
| DESCRIPTION |
| Implements the actual HCI Set Event Mask Page 2 command. There is no need for |
| a callback because when this call returns the action has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCISetEventMaskPage2: pointer to the "HCI Set Event Mask Page 2" Structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCISetEventMaskPage2 is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPSetEventMaskPage2 |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Set_Event_Mask_Page_2_Cmd *pBapHCISetEventMaskPage2, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPReadLocationData() |
| |
| DESCRIPTION |
| Implements the actual HCI Read Location Data command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIReadLocationData is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPReadLocationData |
| ( |
| ptBtampHandle btampHandle, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including "Read" Command Complete*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPWriteLocationData() |
| |
| DESCRIPTION |
| Implements the actual HCI Write Location Data command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCIWriteLocationData: pointer to the "HCI Write Location Data" Structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIWriteLocationData is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPWriteLocationData |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Write_Location_Data_Cmd *pBapHCIWriteLocationData, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPReadFlowControlMode() |
| |
| DESCRIPTION |
| Implements the actual HCI Read Flow Control Mode command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIReadFlowControlMode is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPReadFlowControlMode |
| ( |
| ptBtampHandle btampHandle, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including "Read" Command Complete*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPWriteFlowControlMode() |
| |
| DESCRIPTION |
| Implements the actual HCI Write Flow Control Mode command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCIWriteFlowControlMode: pointer to the "HCI Write Flow Control Mode" Structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIWriteFlowControlMode is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPWriteFlowControlMode |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Write_Flow_Control_Mode_Cmd *pBapHCIWriteFlowControlMode, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPReadBestEffortFlushTimeout() |
| |
| DESCRIPTION |
| Implements the actual HCI Read Best Effort Flush Timeout command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIReadBEFlushTO is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPReadBestEffortFlushTimeout |
| ( |
| ptBtampHandle btampHandle, |
| /* The log_link_hanlde identifies which logical link's BE TO*/ |
| tBtampTLVHCI_Read_Best_Effort_Flush_Timeout_Cmd *pBapHCIReadBEFlushTO, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including "Read" Command Complete*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPWriteBestEffortFlushTimeout() |
| |
| DESCRIPTION |
| Implements the actual HCI Write Best Effort Flush TO command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCIWriteBEFlushTO: pointer to the "HCI Write BE Flush TO" Structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIWriteBEFlushTO is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPWriteBestEffortFlushTimeout |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Write_Best_Effort_Flush_Timeout_Cmd *pBapHCIWriteBEFlushTO, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPSetShortRangeMode() |
| |
| DESCRIPTION |
| Implements the actual HCI Set Short Range Mode command. There is no need for |
| a callback because when this call returns the action has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCIShortRangeMode: pointer to the "HCI Set Short Range Mode" Structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIShortRangeMode is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPSetShortRangeMode |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Set_Short_Range_Mode_Cmd *pBapHCIShortRangeMode, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPVendorSpecificCmd0() |
| |
| DESCRIPTION |
| Implements the actual HCI Vendor Specific Command 0 (OGF 0x3f, OCF 0x0000). |
| There is no need for a callback because when this call returns the action has |
| been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIEvent is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPVendorSpecificCmd0 |
| ( |
| ptBtampHandle btampHandle, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPVendorSpecificCmd1() |
| |
| DESCRIPTION |
| Implements the actual HCI Vendor Specific Command 1 (OGF 0x3f, OCF 0x0001). |
| There is no need for a callback because when this call returns the action has |
| been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIEvent is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPVendorSpecificCmd1 |
| ( |
| ptBtampHandle btampHandle, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /* End of v3.0 Host Controller and Baseband Commands */ |
| |
| |
| /* Informational Parameters */ |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPReadLocalVersionInfo() |
| |
| DESCRIPTION |
| Implements the actual HCI Read Local Version Info command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| // There are really no input parameters in this command. |
| // Just the command opcode itself is sufficient. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIReadLocalVersionInfo is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPReadLocalVersionInfo |
| ( |
| ptBtampHandle btampHandle, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including "Read" Command Complete*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPReadLocalSupportedCmds() |
| |
| DESCRIPTION |
| Implements the actual HCI Read Local Supported Commands. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| // There are really no input parameters in this command. |
| // Just the command opcode itself is sufficient. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIReadLocalSupportedCmds is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPReadLocalSupportedCmds |
| ( |
| ptBtampHandle btampHandle, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including "Read" Command Complete*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPReadBufferSize() |
| |
| DESCRIPTION |
| Implements the actual HCI Read Buffer Size command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIReadBufferSize is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPReadBufferSize |
| ( |
| ptBtampHandle btampHandle, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including "Read" Command Complete*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPReadDataBlockSize() |
| |
| DESCRIPTION |
| Implements the actual HCI Read Data Block Size command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIReadDataBlockSize is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPReadDataBlockSize |
| ( |
| ptBtampHandle btampHandle, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including "Read" Command Complete*/ |
| ); |
| |
| /* |
| Status Parameters |
| */ |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPReadFailedContactCounter() |
| |
| DESCRIPTION |
| Implements the actual HCI Read Failed Contact Counter command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCIReadFailedContactCounter: pointer to the "HCI Read Failed Contact Counter" structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIReadFailedContactCounter or |
| pFailedContactCounter is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPReadFailedContactCounter |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Read_Failed_Contact_Counter_Cmd *pBapHCIReadFailedContactCounter, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including "Read" Command Complete*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPResetFailedContactCounter() |
| |
| DESCRIPTION |
| Implements the actual HCI Reset Failed Contact Counter command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCIResetFailedContactCounter: pointer to the "HCI Reset Failed Contact Counter" structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIResetFailedContactCounter is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPResetFailedContactCounter |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Reset_Failed_Contact_Counter_Cmd *pBapHCIResetFailedContactCounter, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPReadLinkQuality() |
| |
| DESCRIPTION |
| Implements the actual HCI Read Link Quality command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCIReadLinkQuality: pointer to the "HCI Read Link Quality" structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIReadLinkQuality or |
| pBapHCILinkQuality is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPReadLinkQuality |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Read_Link_Quality_Cmd *pBapHCIReadLinkQuality, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPReadRSSI() |
| |
| DESCRIPTION |
| Implements the actual HCI Read RSSI command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCIReadRSSI: pointer to the "HCI Read RSSI" structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIReadRSSI or |
| pBapHCIRSSI is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPReadRSSI |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Read_RSSI_Cmd *pBapHCIReadRSSI, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPReadLocalAMPInfo() |
| |
| DESCRIPTION |
| Implements the actual HCI Read Local AMP Information command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCIReadLocalAMPInfo: pointer to the "HCI Read Local AMP Info" Structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIReadLocalAMPInfo or |
| pBapHCILocalAMPInfo is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPReadLocalAMPInfo |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Read_Local_AMP_Information_Cmd *pBapHCIReadLocalAMPInfo, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPReadLocalAMPAssoc() |
| |
| DESCRIPTION |
| Implements the actual HCI Read Local AMP Assoc command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCIReadLocalAMPAssoc: pointer to the "HCI Read Local AMP Assoc" Structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIReadLocalAMPAssoc |
| (or pBapHCILocalAMPAssoc) is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPReadLocalAMPAssoc |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Read_Local_AMP_Assoc_Cmd *pBapHCIReadLocalAMPAssoc, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPWriteRemoteAMPAssoc() |
| |
| DESCRIPTION |
| Implements the actual HCI Write Remote AMP Assoc command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCIWriteRemoteAMPAssoc: pointer to the "HCI Write Remote AMP Assoc" Structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIWriteRemoteAMPAssoc is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPWriteRemoteAMPAssoc |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Write_Remote_AMP_ASSOC_Cmd *pBapHCIWriteRemoteAMPAssoc, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /* |
| Debug Commands |
| */ |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPReadLoopbackMode() |
| |
| DESCRIPTION |
| Implements the actual HCI Read Loopback Mode command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCIReadLoopbackMode: pointer to the "HCI Read Loopback Mode". |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIReadLoopbackMode or |
| pBapHCILoopbackMode is NULL. |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPReadLoopbackMode |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Read_Loopback_Mode_Cmd *pBapHCIReadLoopbackMode, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPWriteLoopbackMode() |
| |
| DESCRIPTION |
| Implements the actual HCI Write Loopback Mode command. There |
| is no need for a callback because when this call returns the action |
| has been completed. |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCIWriteLoopbackMode: pointer to the "HCI Write Loopback Mode" Structure. |
| |
| IN/OUT |
| pBapHCIEvent: Return event value for the command complete event. |
| (The caller of this routine is responsible for sending |
| the Command Complete event up the HCI interface.) |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pointer to pBapHCIWriteLoopbackMode is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPWriteLoopbackMode |
| ( |
| ptBtampHandle btampHandle, |
| tBtampTLVHCI_Write_Loopback_Mode_Cmd *pBapHCIWriteLoopbackMode, |
| tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */ |
| /* Including Command Complete and Command Status*/ |
| ); |
| |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPSetConfig() |
| |
| DESCRIPTION |
| The function updates some configuration for BAP module in SME during SMEs |
| close -> open sequence. |
| |
| BAP applies the new configuration at the next transaction. |
| |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| pBapHCIReadRSSI: pointer to the "HCI Read RSSI" structure. |
| |
| IN |
| pConfig: a pointer to a caller allocated object of typedef struct WLANBAP_ConfigType. |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pConfig or btampHandle is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPSetConfig |
| ( |
| ptBtampHandle btampHandle, |
| WLANBAP_ConfigType *pConfig |
| ); |
| |
| /*=========================================================================== |
| |
| FUNCTION WLANBAP_GetAcFromTxDataPkt |
| |
| DESCRIPTION |
| |
| HDD will call this API when it has a HCI Data Packet (SKB) and it wants |
| to find AC type of the data frame from the HCI header on the data pkt |
| - to be send using TL. |
| |
| |
| PARAMETERS |
| |
| btampHandle: The BT-AMP PAL handle returned in WLANBAP_GetNewHndl. |
| |
| pHciData: Pointer to the HCI data frame |
| |
| pucAC: Pointer to return the access category |
| |
| RETURN VALUE |
| |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_INVAL: Input parameters are invalid |
| VOS_STATUS_E_FAULT: BAP handle is NULL |
| VOS_STATUS_SUCCESS: Everything is good :) |
| |
| SIDE EFFECTS |
| |
| ============================================================================*/ |
| VOS_STATUS |
| WLANBAP_GetAcFromTxDataPkt |
| ( |
| ptBtampHandle btampHandle, /* Used by BAP to identify the actual session |
| and therefore addresses */ |
| void *pHciData, /* Pointer to the HCI data frame */ |
| WLANTL_ACEnumType *pucAC /* Return the AC here */ |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPGetMask() |
| |
| DESCRIPTION |
| The function gets the updated event mask from BAP core. |
| |
| |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| |
| |
| IN |
| pEvent_mask_page_2: a pointer to a caller allocated object of 8 bytes. |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: pEvent_mask_page_2 or btampHandle is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPGetMask( ptBtampHandle btampHandle, |
| v_U8_t *pEvent_mask_page_2); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPDisconnect() |
| |
| DESCRIPTION |
| The function to request to BAP core to disconnect currecnt AMP connection. |
| |
| |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_STATUS_E_FAULT: btampHandle is NULL |
| VOS_STATUS_SUCCESS: Success |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| VOS_STATUS |
| WLAN_BAPDisconnect |
| ( |
| ptBtampHandle btampHandle |
| ); |
| |
| /*---------------------------------------------------------------------------- |
| |
| FUNCTION WLAN_BAPSessionOn() |
| |
| DESCRIPTION |
| The function to check from BAP core if AMP connection is up right now. |
| |
| |
| |
| DEPENDENCIES |
| NA. |
| |
| PARAMETERS |
| |
| IN |
| btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl. |
| |
| |
| RETURN VALUE |
| The result code associated with performing the operation |
| |
| VOS_TRUE: AMP connection is on |
| VOS_FALSE: AMP connection is not on |
| |
| SIDE EFFECTS |
| |
| ----------------------------------------------------------------------------*/ |
| v_BOOL_t WLAN_BAPSessionOn |
| ( |
| ptBtampHandle btampHandle |
| ); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| |
| #endif /* #ifndef WLAN_QCT_WLANBAP_H */ |
| |