blob: 570be8f90af0b1aa4eadea533c01c19fecb4952a [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Jeff Johnson32d95a32012-09-10 13:15:23 -07002 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Jeff Johnson295189b2012-06-20 16:38:30 -07003 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22#ifndef WLAN_QCT_WLANBAP_H
23#define WLAN_QCT_WLANBAP_H
24
25/*===========================================================================
26
27 W L A N B T - A M P P A L L A Y E R
28 E X T E R N A L A P I
29
30
31DESCRIPTION
32 This file contains the external API exposed by the wlan BT-AMP PAL layer
33 module.
34
35
36 Copyright (c) 2008 QUALCOMM Incorporated. All Rights Reserved.
37 Qualcomm Confidential and Proprietary
38===========================================================================*/
39
40
41/*===========================================================================
42
43 EDIT HISTORY FOR FILE
44
45
46 This section contains comments describing changes made to the module.
47 Notice that changes are listed in reverse chronological order.
48
49
50 $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 $
51
52
53when who what, where, why
54-------- --- ----------------------------------------------------------
5507/01/08 jez Created module.
56
57===========================================================================*/
58
59
60
61/*===========================================================================
62
63 INCLUDE FILES FOR MODULE
64
65===========================================================================*/
66
67/*----------------------------------------------------------------------------
68 * Include Files
69 * -------------------------------------------------------------------------*/
70#include "vos_api.h"
71#include "vos_packet.h"
72//I need the TL types and API
73#include "wlan_qct_tl.h"
74
75/* BT-AMP PAL API structure types - FramesC generated */
76#include "btampHCI.h"
77
78/*----------------------------------------------------------------------------
79 * Preprocessor Definitions and Constants
80 * -------------------------------------------------------------------------*/
81 #ifdef __cplusplus
82 extern "C" {
83 #endif
84
85
86/*----------------------------------------------------------------------------
87 * HCI Interface supported
88 *
89 * Here we list the HCI Commands and Events which our 802.11 BT-AMP PAL
90 * supports.
91 *
92 * -------------------------------------------------------------------------*/
93
94/*---------------------------------------------------------------------------
95 Supported HCI Commands
96---------------------------------------------------------------------------*/
97#if 0
98/** BT v3.0 Link Control commands */
99 BTAMP_TLV_HCI_CREATE_PHYSICAL_LINK_CMD,
100 BTAMP_TLV_HCI_ACCEPT_PHYSICAL_LINK_CMD,
101 BTAMP_TLV_HCI_DISCONNECT_PHYSICAL_LINK_CMD,
102 BTAMP_TLV_HCI_CREATE_LOGICAL_LINK_CMD,
103 BTAMP_TLV_HCI_ACCEPT_LOGICAL_LINK_CMD,
104 BTAMP_TLV_HCI_DISCONNECT_LOGICAL_LINK_CMD,
105 BTAMP_TLV_HCI_LOGICAL_LINK_CANCEL_CMD,
106 BTAMP_TLV_HCI_FLOW_SPEC_MODIFY_CMD,
107/*
108Host Controller and Baseband Commands
109*/
110 BTAMP_TLV_HCI_RESET_CMD,
111 BTAMP_TLV_HCI_SET_EVENT_MASK_CMD,
112 BTAMP_TLV_HCI_FLUSH_CMD,
113 BTAMP_TLV_HCI_READ_CONNECTION_ACCEPT_TIMEOUT_CMD,
114 BTAMP_TLV_HCI_WRITE_CONNECTION_ACCEPT_TIMEOUT_CMD,
115 BTAMP_TLV_HCI_READ_LINK_SUPERVISION_TIMEOUT_CMD,
116 BTAMP_TLV_HCI_WRITE_LINK_SUPERVISION_TIMEOUT_CMD,
117/* v3.0 Host Controller and Baseband Commands */
118 BTAMP_TLV_HCI_READ_LOGICAL_LINK_ACCEPT_TIMEOUT_CMD,
119 BTAMP_TLV_HCI_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT_CMD,
120 BTAMP_TLV_HCI_SET_EVENT_MASK_PAGE_2_CMD,
121 BTAMP_TLV_HCI_READ_LOCATION_DATA_CMD,
122 BTAMP_TLV_HCI_WRITE_LOCATION_DATA_CMD,
123 BTAMP_TLV_HCI_READ_FLOW_CONTROL_MODE_CMD,
124 BTAMP_TLV_HCI_WRITE_FLOW_CONTROL_MODE_CMD,
125 BTAMP_TLV_HCI_READ_BEST_EFFORT_FLUSH_TO_CMD,
126 BTAMP_TLV_HCI_WRITE_BEST_EFFORT_FLUSH_TO_CMD,
127/** opcode definition for this command from AMP HCI CR D9r4 markup */
128 BTAMP_TLV_HCI_SET_SHORT_RANGE_MODE_CMD,
129/* End of v3.0 Host Controller and Baseband Commands */
130/*
131Informational Parameters
132*/
133 BTAMP_TLV_HCI_READ_LOCAL_VERSION_INFORMATION_CMD,
134 BTAMP_TLV_HCI_READ_LOCAL_SUPPORTED_COMMANDS_CMD,
135 BTAMP_TLV_HCI_READ_BUFFER_SIZE_CMD,
136/* v3.0 Informational commands */
137 BTAMP_TLV_HCI_READ_DATA_BLOCK_SIZE_CMD,
138/*
139Status Parameters
140*/
141 BTAMP_TLV_HCI_READ_FAILED_CONTACT_COUNTER_CMD,
142 BTAMP_TLV_HCI_RESET_FAILED_CONTACT_COUNTER_CMD,
143 BTAMP_TLV_HCI_READ_LINK_QUALITY_CMD,
144 BTAMP_TLV_HCI_READ_RSSI_CMD,
145 BTAMP_TLV_HCI_READ_LOCAL_AMP_INFORMATION_CMD,
146 BTAMP_TLV_HCI_READ_LOCAL_AMP_ASSOC_CMD,
147 BTAMP_TLV_HCI_WRITE_REMOTE_AMP_ASSOC_CMD,
148/*
149Debug Commands
150*/
151 BTAMP_TLV_HCI_READ_LOOPBACK_MODE_CMD,
152 BTAMP_TLV_HCI_WRITE_LOOPBACK_MODE_CMD,
153#endif
154
155/*---------------------------------------------------------------------------
156 Supported HCI Events
157---------------------------------------------------------------------------*/
158#if 0
159/** BT events */
160 BTAMP_TLV_HCI_COMMAND_COMPLETE_EVENT,
161 BTAMP_TLV_HCI_COMMAND_STATUS_EVENT,
162 BTAMP_TLV_HCI_HARDWARE_ERROR_EVENT,
163 BTAMP_TLV_HCI_FLUSH_OCCURRED_EVENT,
164 BTAMP_TLV_HCI_LOOPBACK_COMMAND_EVENT,
165 BTAMP_TLV_HCI_DATA_BUFFER_OVERFLOW_EVENT,
166 BTAMP_TLV_HCI_QOS_VIOLATION_EVENT,
167/** BT v3.0 events */
168 BTAMP_TLV_HCI_GENERIC_AMP_LINK_KEY_NOTIFICATION_EVENT,
169 BTAMP_TLV_HCI_PHYSICAL_LINK_COMPLETE_EVENT ,
170 BTAMP_TLV_HCI_CHANNEL_SELECTED_EVENT ,
171 BTAMP_TLV_HCI_DISCONNECT_PHYSICAL_LINK_COMPLETE_EVENT ,
172 BTAMP_TLV_HCI_PHYSICAL_LINK_LOSS_WARNING_EVENT ,
173 BTAMP_TLV_HCI_PHYSICAL_LINK_RECOVERY_EVENT ,
174 BTAMP_TLV_HCI_LOGICAL_LINK_COMPLETE_EVENT ,
175 BTAMP_TLV_HCI_DISCONNECT_LOGICAL_LINK_COMPLETE_EVENT ,
176 BTAMP_TLV_HCI_FLOW_SPEC_MODIFY_COMPLETE_EVENT ,
177 BTAMP_TLV_HCI_SHORT_RANGE_MODE_CHANGE_COMPLETE_EVENT ,
178#endif
179
180
181/*----------------------------------------------------------------------------
182 * Defines
183 * -------------------------------------------------------------------------*/
184/*---------------------------------------------------------------------------
185 Packet type defines for the AMP to PAL packet encapsulation.
186---------------------------------------------------------------------------*/
187#define WLANBAP_HCI_COMMAND_PACKET 0x01 /**< HCI command packet type, characterizing packet types over the
188 UART and RS232 transports */
189#define WLANBAP_HCI_ACL_DATA_PACKET 0x02 /**< HCI ACL data packet type, characterizing packet types over the
190 UART and RS232 transports */
191#define WLANBAP_HCI_SCO_DATA_PACKET 0x03 /**< HCI SCO data packet type, characterizing packet types over the
192 UART and RS232 transports */
193#define WLANBAP_HCI_EVENT_PACKET 0x04 /**< HCI event packet type, characterizing packet types over the
194 UART and RS232 transports */
195/*---------------------------------------------------------------------------
196 HCI Data packet size limitation.
197---------------------------------------------------------------------------*/
198#define WLANBAP_MAX_80211_PAL_PDU_SIZE 1492
199
200/*---------------------------------------------------------------------------
201 HCI Flow Control Modes.
202---------------------------------------------------------------------------*/
203#define WLANBAP_FLOW_CONTROL_MODE_PACKET_BASED 0x00
204#define WLANBAP_FLOW_CONTROL_MODE_BLOCK_BASED 0x01
205
206/*---------------------------------------------------------------------------
207 BT "assigned numbers"
208---------------------------------------------------------------------------*/
209// Qualcomm Company ID
210#define WLANBAP_QUALCOMM_COMPANY_ID 29
211
212// HCI Interface version
213// Parameter Name Assigned Values
214// HCI_Version 0 => Bluetooth HCI Specification 1.0B
215// 1 => Bluetooth HCI Specification 1.1
216// 2 => Bluetooth HCI Specification 1.2
217// 3 => Bluetooth HCI Specification 2.0
218// 4 => Bluetooth HCI Specification 2.1
219// 5 => Bluetooth HCI Specification 3.0
220#define WLANBAP_HCI_VERSION 5
221#define WLANBAP_HCI_REVISION 0
222#define WLANBAP_PAL_VERSION 0x01
223#define WLANBAP_PAL_SUBVERSION 0x00
224
225// AMP device status
226#define WLANBAP_HCI_AMP_STATUS_POWERED_DOWN 0x00
227#define WLANBAP_HCI_AMP_STATUS_NOT_SHARED 0x01
228#define WLANBAP_HCI_AMP_STATUS_SHARED 0x02
229#define WLANBAP_HCI_AMP_STATUS_RESERVED 0x03
230
231// ACL Packet types (AMP only uses 0x03)
232#define WLANBAP_HCI_PKT_START_NON_FLUSH 0x00
233#define WLANBAP_HCI_PKT_CONT 0x01
234#define WLANBAP_HCI_PKT_START_FLUSH 0x02
235#define WLANBAP_HCI_PKT_AMP 0x03
236
237/*---------------------------------------------------------------------------
238 BT-AMP PAL supported commands defines
239
240 The Supported Commands configuration parameter lists which HCI commands the
241local controller supports. It is implied that if a command is listed as
242supported, the feature underlying that command is also supported.
243 The Supported Commands is a 64 octet bit field. If a bit is set to 1, then
244this command is supported.
245
246---------------------------------------------------------------------------*/
247// 0 1 2 3 4 5 6 7
248
249#define WLANBAP_PAL_SUPPORTED_HCI_CMDS { \
250 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x0c, \
251 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x88, 0x3c, \
252 0x00, 0x00, 0x00, 0x40, 0x00, 0xff, 0xff, 0x07, \
253 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
254 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
256 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
257 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 \
258}
259
260/*---------------------------------------------------------------------------
261 BT-AMP PAL "status" and "reason" error code defines
262---------------------------------------------------------------------------*/
263#define WLANBAP_STATUS_SUCCESS (0x00) /* Success. Section 3.1.7 */
264
265#define WLANBAP_ERROR_UNKNOWN_HCI_CMND (0x01)
266#define WLANBAP_ERROR_NO_CNCT (0x02) /* AMP HCI Section 7.1.39 */
267#define WLANBAP_ERROR_HARDWARE_FAILURE (0x03)
268#define WLANBAP_ERROR_PAGE_TIMEOUT (0x04)
269/* Section 3.1.10 has this mis-identified as 0x08 */
270#define WLANBAP_ERROR_AUTHENT_FAILURE (0x05)
271#define WLANBAP_ERROR_KEY_MISSING (0x06)
272#define WLANBAP_ERROR_MEMORY_FULL (0x07)
273#define WLANBAP_ERROR_CNCT_TIMEOUT (0x08) /* Section 3.1.8 */
274#define WLANBAP_ERROR_MAX_NUM_CNCTS (0x09) /* Section 3.1.8 */
275#define WLANBAP_ERROR_MAX_NUM_SCO_CNCTS (0x0a)
276#define WLANBAP_ERROR_MAX_NUM_ACL_CNCTS (0x0b)
277#define WLANBAP_ERROR_CMND_DISALLOWED (0x0c) /* Section 4.1 */
278#define WLANBAP_ERROR_HOST_REJ_RESOURCES (0x0d) /* Section 3.1.7 */
279#define WLANBAP_ERROR_HOST_REJ_SECURITY (0x0e)
280#define WLANBAP_ERROR_HOST_REJ_PERSONAL_DEV (0x0f)
281#define WLANBAP_ERROR_HOST_TIMEOUT (0x10)
282#define WLANBAP_ERROR_UNSUPPORT_FEAT_PARAM (0x11)
283#define WLANBAP_ERROR_INVALID_HCI_CMND_PARAM (0x12)
284#define WLANBAP_ERROR_TERM_CNCT_USER_ENDED (0x13)
285#define WLANBAP_ERROR_TERM_CNCT_LOW_RESOURCE (0x14)
286#define WLANBAP_ERROR_TERM_CNCT_POWER_OFF (0x15)
287/* Section 3.1.9 has a contradictory semantics of "failed connection" */
288#define WLANBAP_ERROR_TERM_BY_LOCAL_HOST (0x16) /* Section 3.1.8 */
289#define WLANBAP_ERROR_REPEATED_ATTEMPTS (0x17)
290#define WLANBAP_ERROR_PAIRING_NOT_ALLOWED (0x18)
291#define WLANBAP_ERROR_UNKNOWN_LMP_PDU (0x19)
292#define WLANBAP_ERROR_UNSUPPORTED_REMOTE_FEAT (0x1a)
293#define WLANBAP_ERROR_SCO_REJ (0x1b)
294#define WLANBAP_ERROR_SCO_INTERVAL_REJ (0x1c)
295#define WLANBAP_ERROR_SCO_AIR_MODE_REJ (0x1d)
296#define WLANBAP_ERROR_INVALID_LMP_PARAMETER (0x1e)
297#define WLANBAP_ERROR_UNSPECIFIED_ERROR (0x1f)
298#define WLANBAP_ERROR_UNSUPPORTED_LMP_PARAM (0x20)
299#define WLANBAP_ERROR_ROLE_CHANGE_NOT_ALLOWED (0x21)
300#define WLANBAP_ERROR_LMP_RESPONSE_TIMEOUT (0x22)
301#define WLANBAP_ERROR_LMP_ERROR_TRANS_COLLISION (0x23)
302#define WLANBAP_ERROR_LMP_PDU_NOT_ALLOWED (0x24)
303#define WLANBAP_ERROR_ENCRYPTION_MODE_NOT_ACCEPTABLE (0x25)
304#define WLANBAP_ERROR_UNIT_KEY_USED (0x26)
305#define WLANBAP_ERROR_QOS_IS_NOT_SUPPORTED (0x27)
306#define WLANBAP_ERROR_INSTANT_PASSED (0x28)
307#define WLANBAP_ERROR_UNIT_KEY_PAIRING_UNSUPPORTED (0x29)
308
309#define WLANBAP_ERROR_DIFFERENT_TRANS_COLLISION (0x2A)
310
311/* reserved (0x2B) */
312
313#define WLANBAP_ERROR_QOS_UNACCEPTABLE_PARAMETER (0x2C)
314#define WLANBAP_ERROR_QOS_REJECTED (0x2D)
315#define WLANBAP_ERROR_CHANNEL_CLASSIFICATION_NS (0x2E)
316#define WLANBAP_ERROR_INSUFFICIENT_SECURITY (0x2F)
317#define WLANBAP_ERROR_PARM_OUT_OF_MANDATORY_RANGE (0x30)
318
319/* reserved (0x31) */
320
321#define WLANBAP_ERROR_ROLE_SWITCH_PENDING (0x32)
322
323/* reserved (0x33) */
324
325#define WLANBAP_ERROR_RESERVED_SLOT_VIOLATION (0x34)
326#define WLANBAP_ERROR_ROLE_SWITCH_FAILED (0x35)
327#define WLANBAP_ERROR_EIR_TOO_LARGE (0x36)
328#define WLANBAP_ERROR_SSP_NOT_SUPPORTED_BY_HOST (0x37)
329#define WLANBAP_ERROR_HOST_BUSY_PAIRING (0x38)
330#define WLANBAP_ERROR_NO_SUITABLE_CHANNEL (0x39)
331#define WLANBAP_ERROR_CONTROLLER_BUSY (0x3A)
332
333/*----------------------------------------------------------------------------
334 * Event_Mask_Page_2 defines for events
335 * -------------------------------------------------------------------------*/
336#define WLANBAP_EVENT_MASK_NONE 0x0000000000000000 //No events specified (default)
337#define WLANBAP_EVENT_MASK_PHY_LINK_COMPLETE_EVENT 0x0000000000000001 //Physical Link Complete Event
338#define WLANBAP_EVENT_MASK_CHANNEL_SELECTED_EVENT 0x0000000000000002 //Channel Selected Event
339#define WLANBAP_EVENT_MASK_DISC_PHY_LINK_EVENT 0x0000000000000004 //Disconnection Physical Link Event
340#define WLANBAP_EVENT_MASK_PHY_LINK_LOSS_EARLY_WARNING_EVENT 0x0000000000000008 //Physical Link Loss Early Warning Event
341#define WLANBAP_EVENT_MASK_PHY_LINK_RECOVERY_EVENT 0x0000000000000010 //Physical Link Recovery Event
342#define WLANBAP_EVENT_MASK_LOG_LINK_COMPLETE_EVENT 0x0000000000000020 //Logical Link Complete Event
343#define WLANBAP_EVENT_MASK_DISC_LOG_LINK_COMPLETE_EVENT 0x0000000000000040 //Disconnection Logical Link Complete Event
344#define WLANBAP_EVENT_MASK_FLOW_SPEC_MOD_COMPLETE_EVENT 0x0000000000000080 //Flow Spec Modify Complete Event
345#define WLANBAP_EVENT_MASK_NUM_COMPLETED_DATA_BLOCKS_EVENT 0x0000000000000100 //Number of Completed Data Blocks Event
346#define WLANBAP_EVENT_MASK_AMP_START_TEST_EVENT 0x0000000000000200 //AMP Start Test Event
347#define WLANBAP_EVENT_MASK_AMP_TEST_END_EVENT 0x0000000000000400 //AMP Test End Event
348#define WLANBAP_EVENT_MASK_AMP_RCVR_REPORT_EVENT 0x0000000000000800 //AMP Receiver Report Event
349#define WLANBAP_EVENT_MASK_SHORT_RANGE_MODE_CHANGE_COMPLETE_EVENT 0x0000000000001000 //Short Range Mode Change Complete Event
350#define WLANBAP_EVENT_MASK_AMP_STATUS_CHANGE_EVENT 0x0000000000002000 //AMP Status Change Event
351#define WLANBAP_EVENT_MASK_RESERVED 0xFFFFFFFFFFFFC000 //Reserved for future use
352
353/*----------------------------------------------------------------------------
354 * Typedefs
355 * -------------------------------------------------------------------------*/
356
357/*----------------------------------------------------------------------------
358 * Opaque BAP handle Type Declaration
359 * -------------------------------------------------------------------------*/
360typedef v_PVOID_t tBtampHandle, *ptBtampHandle;
361
362/*----------------------------------------------------------------------------
363 * BAP per-session Context Data Type Declaration
364 * -------------------------------------------------------------------------*/
365// Move this to bapInternal.h, where it belongs.
366// For now, it is just the same thing as the per application context.
367//typedef struct sBtampContext tBtampSessCtx;
368
369
370/*---------------------------------------------------------------------------
371 HCI Event union
372---------------------------------------------------------------------------*/
373typedef struct sBtampHCI_Event {
374 v_U8_t bapHCIEventCode; /* The event code. To dis-ambiguate. */
375 union {
376 tBtampTLVHCI_Channel_Selected_Event btampChannelSelectedEvent;
377 tBtampTLVHCI_Command_Complete_Event btampCommandCompleteEvent ;
378 tBtampTLVHCI_Command_Status_Event btampCommandStatusEvent ;
379 tBtampTLVHCI_Data_Buffer_Overflow_Event btampDataBufferOverflowEvent ;
380 tBtampTLVHCI_Disconnect_Logical_Link_Complete_Event btampDisconnectLogicalLinkCompleteEvent ;
381 tBtampTLVHCI_Disconnect_Physical_Link_Complete_Event btampDisconnectPhysicalLinkCompleteEvent ;
382 /* Flow_Spec_Modify_Complete_Event is generated after the flow spec modify cmd completes */
383 tBtampTLVHCI_Flow_Spec_Modify_Complete_Event btampFlowSpecModifyCompleteEvent ;
384 /* Asynchronous Flush_Occurred Event CAN ALSO BE generated after the flush cmd completes */
385 tBtampTLVHCI_Flush_Occurred_Event btampFlushOccurredEvent ;
386 tBtampTLVHCI_Generic_AMP_Link_Key_Notification_Event btampGenericAMPLinkKeyNotificationEvent ;
387 tBtampTLVHCI_Hardware_Error_Event btampHardwareErrorEvent ;
388 tBtampTLVHCI_Logical_Link_Complete_Event btampLogicalLinkCompleteEvent ;
389 tBtampTLVHCI_Loopback_Command_Event btampLoopbackCommandEvent ;
390 tBtampTLVHCI_Physical_Link_Complete_Event btampPhysicalLinkCompleteEvent ;
391 tBtampTLVHCI_Physical_Link_Loss_Warning_Event btampPhysicalLinkLossWarningEvent ;
392 tBtampTLVHCI_Physical_Link_Recovery_Event btampPhysicalLinkRecoveryEvent ;
393 tBtampTLVHCI_Qos_Violation_Event btampQosViolationEvent ;
394 tBtampTLVHCI_Short_Range_Mode_Change_Complete_Event btampShortRangeModeChangeCompleteEvent ;
395 tBtampTLVHCI_Num_Completed_Pkts_Event btampNumOfCompletedPktsEvent;
396 tBtampTLVHCI_Num_Completed_Data_Blocks_Event btampNumOfCompletedDataBlocksEvent;
397 tBtampTLVHCI_Enhanced_Flush_Complete_Event btampEnhancedFlushCompleteEvent ;
398 } u;
399} tBtampHCI_Event, *tpBtampHCI_Event;
400
401/* 802.3 header */
402typedef struct
403{
404 /* Destination address field */
405 v_U8_t vDA[VOS_MAC_ADDR_SIZE];
406
407 /* Source address field */
408 v_U8_t vSA[VOS_MAC_ADDR_SIZE];
409
410 /* Length field */
411 v_U16_t usLenType; /* Num bytes in info field (i.e., exclude 802.3 hdr) */
412 /* Max length 1500 (0x5dc) (What about 0x5ee? That
413 * includes 802.3 Header and FCS.) */
414}WLANBAP_8023HeaderType;
415
416
417/*
418 * A list of Command Complete event msgs which will be
419 * signalled by the Event Callback
420 */
421#if 0
422/* The tBtampTLVHCI_Command_Complete_Event structure includes each of these*/
423/* HCI Reset: status */
424/* HCI Flush: status, log_link_handle */
425
426#endif
427
428/*
429 * Command Complete event msgs which will be formed by the caller
430 * Now an invocation of btampPackTlvHCI_Command_Complete_Event()
431 * supports generating command complete event messages for all commands...
432 */
433/* The tBtampTLVHCI_Command_Complete_Event structure includes each of these*/
434#if 0
435/* HCI Cancel Logical Link: status, phy_link_handle, tx_flow_spec_id */
436/* HCI Set Event Mask: status */
437/* HCI Read Connection Accept Timeout: status, connection_accept_timeout */
438/* HCI Write Connection Accept Timeout: status */
439/* HCI Read Link Supervision Timeout: status, log_link_handle (8 sig bits only), link_supervision_timeout */
440/* HCI Write Link Supervision Timeout: status, log_link_handle (8 bits sig only) */
441/* HCI Read Logical Link Accept Timeout: status, logical_link_accept_timeout */
442/* HCI Write Logical Link Accept Timeout: status */
443/* HCI Set Event Mask Page 2: status */
444/* HCI Read Location Data: status, loc_domain_aware, loc_domain, loc_options */
445/* HCI Write Location Data: status */
446/* HCI Read Flow Control Mode: status, flow_control_mode */
447/* HCI Write Flow Control Mode: status */
448/* HCI Read Best Effort Flush Timeout: status, (logical_link_handle ? No!), best_effort_flush_timeout */
449/* HCI Write Best Effort Flush Timeout: status */
450/* HCI Set Short Range Mode: status */
451/* HCI Read Local Version Info: status, HC_HCI_Version, HC_HCI_Revision, HC_PAL_Version, HC_Manufac_Name, HC_PAL_Sub_Version */
452/* HCI Read Local supported commands: status, HC_Support_Cmds */
453/* HCI Read Buffer Size: status, HC_ACL_Data_Packet_Length, HC_SCO_Packet_Length, HC_Total_Num_ACL_Packets, HC_Total_Num_SCO_Packets */
454/* HCI Read Data Block Size: status, HC_Max_ACL_Data_Packet_Length, HC_Data_Block_Length, HC_Total_Num_Data_Blocks */
455/* HCI Read Failed Contact Counter: status, log_link_handle, *pFailedContactCounter */
456/* HCI Reset Failed Contact Counter: status, log_link_handle */
457/* HCI Read Link Quality: status, log_link_handle(?Yes!?), link_quality */
458/* HCI Read RSSI: status, phy_link_handle, rssi */
459/* 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 */
460/* HCI Read Local AMP Assoc: status, phy_link_handle, AMP ASSOC remaining length (just actual length, in practice), AMP ASSOC fragment (byte string) */
461/* 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 */
462/* HCI Write Remote AMP Assoc: status, phy_link_handle */
463/* HCI Read Loopback Mode: status, loopback_mode */
464/* HCI Write Loopback Mode: status */
465
466#endif
467
468/* BT AMP configuration items */
469typedef struct
470{
471 /* user preferred channel on which we start the link */
472 v_U8_t ucPreferredChannel;
473
474}WLANBAP_ConfigType;
475
476/*----------------------------------------------------------------------------
477 * Function Declarations and Documentation
478 * -------------------------------------------------------------------------*/
479
480/*----------------------------------------------------------------------------
481 VOSS interfaces - Device initialization
482 ---------------------------------------------------------------------------*/
483
484/*==========================================================================
485
486 FUNCTION WLANBAP_Open
487
488 DESCRIPTION
489 Called at driver initialization (vos_open). BAP will initialize
490 all its internal resources and will wait for the call to start to
491 register with the other modules.
492
493 DEPENDENCIES
494
495 PARAMETERS
496
497 IN
498 pvosGCtx: pointer to the global vos context; a handle to BAP's
499 control block can be extracted from its context
500
501 RETURN VALUE
502 The result code associated with performing the operation
503
504 VOS_STATUS_E_FAULT: pointer to BAP cb is NULL ; access would cause a page
505 fault
506 VOS_STATUS_SUCCESS: Everything is good :)
507
508 SIDE EFFECTS
509
510============================================================================*/
511VOS_STATUS
512WLANBAP_Open
513(
514 v_PVOID_t pvosGCtx
515);
516
517/*==========================================================================
518
519 FUNCTION WLANBAP_Start
520
521 DESCRIPTION
522 Called as part of the overall start procedure (vos_start). BAP will
523 use this call to register with TL as the BAP entity for
524 BT-AMP RSN frames.
525
526 DEPENDENCIES
527
528 PARAMETERS
529
530 IN
531 pvosGCtx: pointer to the global vos context; a handle to BAP's
532 control block can be extracted from its context
533
534 RETURN VALUE
535 The result code associated with performing the operation
536
537 VOS_STATUS_E_FAULT: pointer to BAP cb is NULL ; access would cause a page
538 fault
539 VOS_STATUS_SUCCESS: Everything is good :)
540
541 Other codes can be returned as a result of a BAL failure;
542
543 SIDE EFFECTS
544
545============================================================================*/
546VOS_STATUS
547WLANBAP_Start
548(
549 v_PVOID_t pvosGCtx
550);
551
552/*==========================================================================
553
554 FUNCTION WLANBAP_Stop
555
556 DESCRIPTION
557 Called by vos_stop to stop operation in BAP, before close. BAP will suspend all
558 BT-AMP Protocol Adaption Layer operation and will wait for the close
559 request to clean up its resources.
560
561 DEPENDENCIES
562
563 PARAMETERS
564
565 IN
566 pvosGCtx: pointer to the global vos context; a handle to BAP's
567 control block can be extracted from its context
568
569 RETURN VALUE
570 The result code associated with performing the operation
571
572 VOS_STATUS_E_FAULT: pointer to BAP cb is NULL ; access would cause a page
573 fault
574 VOS_STATUS_SUCCESS: Everything is good :)
575
576 SIDE EFFECTS
577
578============================================================================*/
579VOS_STATUS
580WLANBAP_Stop
581(
582 v_PVOID_t pvosGCtx
583);
584
585/*==========================================================================
586
587 FUNCTION WLANBAP_Close
588
589 DESCRIPTION
590 Called by vos_close during general driver close procedure. BAP will clean up
591 all the internal resources.
592
593 DEPENDENCIES
594
595 PARAMETERS
596
597 IN
598 pvosGCtx: pointer to the global vos context; a handle to BAP's
599 control block can be extracted from its context
600
601 RETURN VALUE
602 The result code associated with performing the operation
603
604 VOS_STATUS_E_FAULT: pointer to BAP cb is NULL ; access would cause a page
605 fault
606 VOS_STATUS_SUCCESS: Everything is good :)
607
608 SIDE EFFECTS
609
610============================================================================*/
611VOS_STATUS
612WLANBAP_Close
613(
614 v_PVOID_t pvosGCtx
615);
616
617/*----------------------------------------------------------------------------
618 HDD interfaces - Per instance initialization
619 ---------------------------------------------------------------------------*/
620
621/*==========================================================================
622
623 FUNCTION WLANBAP_GetNewHndl
624
625 DESCRIPTION
626 Called by HDD at driver open (BSL_Open). BAP will initialize
627 allocate a per-instance "file handle" equivalent for this specific
628 open call.
629
630 There should only ever be one call to BSL_Open. Since
631 the open app user is the BT stack.
632
633
634 DEPENDENCIES
635
636 PARAMETERS
637
638 IN
639 hBtampHandle: Handle to return btampHandle value in.
640
641 RETURN VALUE
642 The result code associated with performing the operation
643
644 VOS_STATUS_E_FAULT: pointer to BAP cb is NULL ; access would cause a page
645 fault
646 VOS_STATUS_SUCCESS: Everything is good :)
647
648 SIDE EFFECTS
649
650============================================================================*/
651VOS_STATUS
652WLANBAP_GetNewHndl
653(
654 ptBtampHandle *hBtampHandle /* Handle to return btampHandle value in */
655);
656
657/*==========================================================================
658
659 FUNCTION WLANBAP_ReleaseHndl
660
661 DESCRIPTION
662 Called by HDD at driver close (BSL_Close). BAP will reclaim (invalidate)
663 the "file handle" passed into this call.
664
665
666 DEPENDENCIES
667
668 PARAMETERS
669
670 IN
671 btampHandle: btampHandle value to invalidate.
672
673 RETURN VALUE
674 The result code associated with performing the operation
675
676 VOS_STATUS_E_FAULT: pointer to btampHandle is NULL ; access would cause a
677 page fault
678 VOS_STATUS_SUCCESS: Everything is good :)
679
680 SIDE EFFECTS
681
682============================================================================*/
683VOS_STATUS
684WLANBAP_ReleaseHndl
685(
686 ptBtampHandle btampHandle /* btamp handle value to release */
687);
688
689/*----------------------------------------------------------------------------
690 HDD interfaces - Data plane
691 ---------------------------------------------------------------------------*/
692
693/*----------------------------------------------------------------------------
694 HDD Data callbacks
695 ---------------------------------------------------------------------------*/
696
697/*----------------------------------------------------------------------------
698
699 FUNCTION (*WLANBAP_STAFetchPktCBType)()
700
701 DESCRIPTION
702 Type of the fetch packet callback registered with BAP by HDD.
703
704 It is called by the BAP immediately upon the underlying
705 WLANTL_STAFetchPktCBType routine being called. Which is called by
706 TL when the scheduling algorithms allows for transmission of another
707 packet to the module.
708
709 This function is here to "wrap" or abstract WLANTL_STAFetchPktCBType.
710 Because the BAP-specific HDD "shim" layer (BSL) doesn't know anything
711 about STAIds, or other parameters required by TL.
712
713
714 PARAMETERS
715
716 IN
717 pHddHdl: The HDD(BSL) specific context for this association.
718 Use the STAId passed to me by TL in WLANTL_STAFetchCBType
719 to retreive this value.
720
721 IN/OUT
722 pucAC: access category requested by TL, if HDD does not have
723 packets on this AC it can choose to service another AC
724 queue in the order of priority
725
726 OUT
727 vosDataBuff: pointer to the VOSS data buffer that was transmitted
728 tlMetaInfo: meta info related to the data frame
729
730
731
732 RETURN VALUE
733 The result code associated with performing the operation
734
735----------------------------------------------------------------------------*/
736
737typedef VOS_STATUS (*WLANBAP_STAFetchPktCBType)(
738 v_PVOID_t pHddHdl,
739 WLANTL_ACEnumType ucAC,
740 vos_pkt_t** vosDataBuff,
741 WLANTL_MetaInfoType* tlMetaInfo);
742
743
744
745/*----------------------------------------------------------------------------
746
747 FUNCTION (*WLANBAP_STARxCBType)( )
748
749 DESCRIPTION
750 Type of the receive callback registered with BAP by HDD.
751
752 It is called by the BAP immediately upon the underlying
753 WLANTL_STARxCBType routine being called. Which is called by
754 TL to notify when a packet was received for a registered STA.
755
756 PARAMETERS
757
758 IN
759 pHddHdl: The HDD(BSL) specific context for this association.
760 Use the STAId passed to me by TL in WLANTL_STARxCBType
761 to retrieve this value.
762
763 vosDataBuff: pointer to the VOSS data buffer that was received
764 (it may be a linked list)
765 pRxMetaInfo: Rx meta info related to the data frame
766
767 RETURN VALUE
768 The result code associated with performing the operation
769
770----------------------------------------------------------------------------*/
771typedef VOS_STATUS (*WLANBAP_STARxCBType)( v_PVOID_t pHddHdl,
772 vos_pkt_t* vosDataBuff,
773 WLANTL_RxMetaInfoType* pRxMetaInfo);
774
775
776
777/*----------------------------------------------------------------------------
778
779 FUNCTION (*WLANBAP_TxCompCBType)()
780
781 DESCRIPTION
782 Type of the tx complete callback registered with BAP by HDD.
783
784 It is called by the BAP immediately upon the underlying
785 WLANTL_TxCompCBType routine being called. Which is called by
786 TL to notify when a transmission for a packet has ended.
787
788 PARAMETERS
789
790 IN
791 pHddHdl: The HDD(BSL) specific context for this association.
792 <<How do I retrieve this from pvosGCtx? Which is all
793 the TL WLANTL_TxCompCBType routine provides me.>>
794 vosDataBuff: pointer to the VOSS data buffer that was transmitted
795 wTxSTAtus: status of the transmission
796
797
798 RETURN VALUE
799 The result code associated with performing the operation
800
801----------------------------------------------------------------------------*/
802typedef VOS_STATUS (*WLANBAP_TxCompCBType)( v_PVOID_t pHddHdl,
803 vos_pkt_t* vosDataBuff,
804 VOS_STATUS wTxSTAtus );
805
806/*----------------------------------------------------------------------------
807 HDD Data plane API
808 ---------------------------------------------------------------------------*/
809
810/*==========================================================================
811
812 FUNCTION WLANBAP_RegisterDataPlane
813
814 DESCRIPTION
815 The HDD calls this routine to register the "data plane" routines
816 for Tx, Rx, and Tx complete with BT-AMP. For now, with only one
817 physical association supported at a time, this COULD be called
818 by HDD at the same time as WLANBAP_GetNewHndl. But, in general
819 it needs to be called upon each new physical link establishment.
820
821 This registration is really two part. The routines themselves are
822 registered here. But, the mapping between the BSL context and the
823 actual physical link takes place during WLANBAP_PhysicalLinkCreate.
824
825 DEPENDENCIES
826
827 PARAMETERS
828
829 IN
830 btampHandle: The BT-AMP PAL handle returned in WLANBAP_GetNewHndl.
831
832 RETURN VALUE
833 The result code associated with performing the operation
834
835 VOS_STATUS_E_FAULT: pointer to BAP cb is NULL ; access would cause a page
836 fault
837 VOS_STATUS_SUCCESS: Everything is good :)
838
839 SIDE EFFECTS
840
841============================================================================*/
842VOS_STATUS
843WLANBAP_RegisterDataPlane
844(
845 ptBtampHandle btampHandle, /* BTAMP context */
846 WLANBAP_STAFetchPktCBType pfnBtampFetchPktCB,
847 WLANBAP_STARxCBType pfnBtamp_STARxCB,
848 WLANBAP_TxCompCBType pfnBtampTxCompCB,
849 // phy_link_handle, of course, doesn't come until much later. At Physical Link create.
850 v_PVOID_t pHddHdl /* BSL specific context */
851);
852//#endif
853
854/*===========================================================================
855
856 FUNCTION WLANBAP_XlateTxDataPkt
857
858 DESCRIPTION
859
860 HDD will call this API when it has a HCI Data Packet and it wants
861 to translate it into a 802.3 LLC frame - ready to send using TL.
862
863
864 PARAMETERS
865
866 btampHandle: The BT-AMP PAL handle returned in WLANBAP_GetNewHndl.
867 phy_link_handle: Used by BAP to indentify the WLAN assoc. (StaId)
868
869 pucAC: Pointer to return the access category
870 vosDataBuff: The data buffer containing the BT-AMP packet to be
871 translated to an 802.3 LLC frame
872 tlMetaInfo: return meta info gleaned from the outgoing frame, here.
873
874 RETURN VALUE
875
876 The result code associated with performing the operation
877
878 VOS_STATUS_E_INVAL: Input parameters are invalid
879 VOS_STATUS_E_FAULT: BAP handle is NULL
880 VOS_STATUS_SUCCESS: Everything is good :)
881
882 SIDE EFFECTS
883
884============================================================================*/
885VOS_STATUS
886WLANBAP_XlateTxDataPkt
887(
888 ptBtampHandle btampHandle, /* Used by BAP to identify the actual session
889 and therefore addresses */
890 v_U8_t phy_link_handle, /* Used by BAP to indentify the WLAN assoc. (StaId) */
891 WLANTL_ACEnumType *pucAC, /* Return the AC here */
892 WLANTL_MetaInfoType *tlMetaInfo, /* Return the MetaInfo here. An assist to WLANBAP_STAFetchPktCBType */
893 vos_pkt_t *vosDataBuff
894);
895
896/*===========================================================================
897
898 FUNCTION WLANBAP_XlateRxDataPkt
899
900 DESCRIPTION
901
902 HDD will call this API when it has received a 802.3 (TL/UMA has
903 Xlated from 802.11) frame from TL and it wants to form a
904 BT HCI Data Packet - ready to signal up to the BT stack application.
905
906
907 PARAMETERS
908
909 btampHandle: The BT-AMP PAL handle returned in WLANBAP_GetNewHndl.
910 pucAC: Pointer to return the access category
911 vosDataBuff: The data buffer containing the 802.3 frame to be
912 translated to BT HCI Data Packet
913
914 RETURN VALUE
915
916 The result code associated with performing the operation
917
918 VOS_STATUS_E_INVAL: Input parameters are invalid
919 VOS_STATUS_E_FAULT: BAP handle is NULL
920 VOS_STATUS_SUCCESS: Everything is good :)
921
922 SIDE EFFECTS
923
924============================================================================*/
925VOS_STATUS
926WLANBAP_XlateRxDataPkt
927(
928 ptBtampHandle btampHandle,
929 v_U8_t phy_link_handle, /* Used by BAP to indentify the WLAN assoc. (StaId) */
930 WLANTL_ACEnumType *pucAC, /* Return the AC here. I don't think this is needed */
931 vos_pkt_t *vosDataBuff
932);
933
934/*===========================================================================
935
936 FUNCTION WLANBAP_STAPktPending
937
938 DESCRIPTION
939
940 HDD will call this API when a packet is pending transmission in its
941 queues. HDD uses this instead of WLANTL_STAPktPending because he is
942 not aware of the mapping from session to STA ID.
943
944 DEPENDENCIES
945
946 HDD must have called WLANBAP_GetNewHndl before calling this API.
947
948 PARAMETERS
949
950 btampHandle: The BT-AMP PAL handle returned in WLANBAP_GetNewHndl.
951 BSL can obtain this from the physical handle value in the
952 downgoing HCI Data Packet. He, after all, was there
953 when the PhysicalLink was created. He knew the btampHandle
954 value returned by WLANBAP_GetNewHndl. He knows as well, his
955 own pHddHdl (see next).
956 phy_link_handle: Used by BAP to indentify the WLAN assoc. (StaId)
957 ucAc: The access category for the pending frame
958
959 RETURN VALUE
960
961 The result code associated with performing the operation
962
963 VOS_STATUS_E_INVAL: Input parameters are invalid
964 VOS_STATUS_E_FAULT: BAP handle is NULL
965 VOS_STATUS_SUCCESS: Everything is good :)
966
967 SIDE EFFECTS
968
969============================================================================*/
970VOS_STATUS
971WLANBAP_STAPktPending
972(
973 ptBtampHandle btampHandle, /* Used by BAP to identify the app context and VOSS ctx (!?) */
974 v_U8_t phy_link_handle, /* Used by BAP to indentify the WLAN assoc. (StaId) */
975 WLANTL_ACEnumType ucAc /* This is the first instance of a TL type in bapApi.h */
976);
977
978/*----------------------------------------------------------------------------
979 * BT-AMP PAL HCI Event callback types
980 *--------------------------------------------------------------------------*/
981
982/*----------------------------------------------------------------------------
983
984 FUNCTION (*tpWLAN_BAPEventCB)()
985
986 DESCRIPTION
987 Implements the callback for ALL asynchronous events.
988 Including Events resulting from:
989 * HCI Create Physical Link,
990 * Disconnect Physical Link,
991 * Create Logical Link,
992 * Flow Spec Modify,
993 * HCI Reset,
994 * HCI Flush,...
995
996 DEPENDENCIES
997 NA.
998
999 PARAMETERS
1000
1001 IN
1002 pHddHdl: The HDD(BSL) specific context for this association.
1003 BSL gets this from the downgoing packets Physical handle
1004 value.
1005 pBapHCIEvent: pointer to the union of "HCI Event" structures. Contains all info
1006 needed for HCI event.
1007 assoc_specific_event: flag indicates assoc-specific (1) or global (0) event
1008
1009 RETURN VALUE
1010 The result code associated with performing the operation
1011
1012 VOS_STATUS_E_FAULT: pointer to pBapHCIEvent is NULL
1013 VOS_STATUS_SUCCESS: Success
1014
1015 SIDE EFFECTS
1016
1017----------------------------------------------------------------------------*/
1018typedef VOS_STATUS (*tpWLAN_BAPEventCB)
1019(
1020 v_PVOID_t pHddHdl, /* this could refer to either the BSL per
1021 association context which got passed in during
1022 register data plane OR the BSL per application
1023 context passed in during register BAP callbacks
1024 based on setting of the Boolean flag below */
1025 /* It's like each of us is using the other */
1026 /* guys reference when invoking him. */
1027 tpBtampHCI_Event pBapHCIEvent, /* This now encodes ALL event types */
1028 /* Including Command Complete and Command Status*/
1029 v_BOOL_t assoc_specific_event /* Flag to indicate global or assoc-specific event */
1030);
1031
1032
1033/*----------------------------------------------------------------------------
1034 HCI Event Callback Registration routine
1035 ---------------------------------------------------------------------------*/
1036
1037/*----------------------------------------------------------------------------
1038
1039 FUNCTION WLAN_BAPRegisterBAPCallbacks()
1040
1041 DESCRIPTION
1042 Register the BAP "Event" callbacks.
1043 Return the per instance handle.
1044
1045 DEPENDENCIES
1046 NA.
1047
1048 PARAMETERS
1049
1050 IN
1051 btampHandle: The BT-AMP PAL handle returned in WLANBAP_GetNewHndl.
1052 pBapHCIEventCB: pointer to the Event callback
1053 pAppHdl: The context passed in by caller. (I.E., BSL app specific context.)
1054
1055
1056 RETURN VALUE
1057 The result code associated with performing the operation
1058
1059 VOS_STATUS_E_FAULT: pointer to pBapHCIEventCB is NULL
1060 VOS_STATUS_SUCCESS: Success
1061
1062 SIDE EFFECTS
1063
1064----------------------------------------------------------------------------*/
1065VOS_STATUS
1066WLAN_BAPRegisterBAPCallbacks
1067(
1068 ptBtampHandle btampHandle, /* BSL uses my handle to talk to me */
1069 /* Returned from WLANBAP_GetNewHndl() */
1070 /* It's like each of us is using the other */
1071 /* guys reference when invoking him. */
1072 tpWLAN_BAPEventCB pBapHCIEventCB, /*Implements the callback for ALL asynchronous events. */
1073 v_PVOID_t pAppHdl // Per-app BSL context
1074);
1075
1076
1077
1078/*----------------------------------------------------------------------------
1079 Host Controller Interface Procedural API
1080 ---------------------------------------------------------------------------*/
1081
1082/** BT v3.0 Link Control commands */
1083
1084/*----------------------------------------------------------------------------
1085 Each of the next eight command result in asynchronous events (e.g.,
1086 HCI_PHYSICAL_LINK_COMPLETE_EVENT, HCI_LOGICAL_LINK_COMPLETE_EVENT, etc...)
1087 These are signalled thru the event callback. (I.E., (*tpWLAN_BAPEventCB).)
1088 ---------------------------------------------------------------------------*/
1089
1090/*----------------------------------------------------------------------------
1091
1092 FUNCTION WLAN_BAPPhysicalLinkCreate()
1093
1094 DESCRIPTION
1095 Implements the actual HCI Create Physical Link command
1096
1097 DEPENDENCIES
1098 NA.
1099
1100 PARAMETERS
1101
1102 IN
1103 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1104 WLANBAP_GetNewHndl has to be called before every call to
1105 WLAN_BAPPhysicalLinkCreate. Since the context is per
1106 physical link.
1107 pBapHCIPhysLinkCreate: pointer to the "HCI Create Physical Link" Structure.
1108 pHddHdl: The context passed in by the caller. (e.g., BSL specific context)
1109
1110 IN/OUT
1111 pBapHCIEvent: Return event value for the command status event.
1112 (The caller of this routine is responsible for sending
1113 the Command Status event up the HCI interface.)
1114
1115 RETURN VALUE
1116 The result code associated with performing the operation
1117
1118 VOS_STATUS_E_FAULT: pointer to pBapHCIPhysLinkCreate is NULL
1119 VOS_STATUS_SUCCESS: Success
1120
1121 SIDE EFFECTS
1122
1123----------------------------------------------------------------------------*/
1124VOS_STATUS
1125WLAN_BAPPhysicalLinkCreate
1126(
1127 ptBtampHandle btampHandle,
1128 tBtampTLVHCI_Create_Physical_Link_Cmd *pBapHCIPhysLinkCreate,
1129 v_PVOID_t pHddHdl, /* BSL passes in its specific context */
1130 /* And I get phy_link_handle from the Command */
1131 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
1132 /* Including Command Complete and Command Status*/
1133);
1134
1135/*----------------------------------------------------------------------------
1136
1137 FUNCTION WLAN_BAPPhysicalLinkAccept()
1138
1139 DESCRIPTION
1140 Implements the actual HCI Accept Physical Link command
1141
1142 DEPENDENCIES
1143 NA.
1144
1145 PARAMETERS
1146
1147 IN
1148 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1149 pBapHCIPhysLinkAccept: pointer to the "HCI Accept Physical Link" Structure.
1150 pHddHdl: The context passed in by the caller. (e.g., BSL specific context)
1151
1152 IN/OUT
1153 pBapHCIEvent: Return event value for the command status event.
1154 (The caller of this routine is responsible for sending
1155 the Command Status event up the HCI interface.)
1156
1157 RETURN VALUE
1158 The result code associated with performing the operation
1159
1160 VOS_STATUS_E_FAULT: pointer to pBapHCIPhysLinkAccept is NULL
1161 VOS_STATUS_SUCCESS: Success
1162
1163 SIDE EFFECTS
1164
1165----------------------------------------------------------------------------*/
1166VOS_STATUS
1167WLAN_BAPPhysicalLinkAccept
1168(
1169 ptBtampHandle btampHandle,
1170 tBtampTLVHCI_Accept_Physical_Link_Cmd *pBapHCIPhysLinkAccept,
1171 v_PVOID_t pHddHdl, /* BSL passes in its specific context */
1172 /* And I get phy_link_handle from the Command */
1173 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
1174 /* Including Command Complete and Command Status*/
1175);
1176
1177/*----------------------------------------------------------------------------
1178
1179 FUNCTION WLAN_BAPPhysicalLinkDisconnect()
1180
1181 DESCRIPTION
1182 Implements the actual HCI Disconnect Physical Link command
1183
1184 DEPENDENCIES
1185 NA.
1186
1187 PARAMETERS
1188
1189 IN
1190 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1191 pBapHCIPhysLinkDisconnect: pointer to the "HCI Disconnect Physical Link" Structure.
1192
1193 IN/OUT
1194 pBapHCIEvent: Return event value for the command status event.
1195 (The caller of this routine is responsible for sending
1196 the Command Status event up the HCI interface.)
1197
1198 RETURN VALUE
1199 The result code associated with performing the operation
1200
1201 VOS_STATUS_E_FAULT: pointer to pBapHCIPhysLinkDisconnect is NULL
1202 VOS_STATUS_SUCCESS: Success
1203
1204 SIDE EFFECTS
1205
1206----------------------------------------------------------------------------*/
1207VOS_STATUS
1208WLAN_BAPPhysicalLinkDisconnect
1209(
1210 ptBtampHandle btampHandle,
1211 tBtampTLVHCI_Disconnect_Physical_Link_Cmd *pBapHCIPhysLinkDisconnect,
1212 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
1213 /* Including Command Complete and Command Status*/
1214);
1215
1216/*----------------------------------------------------------------------------
1217
1218 FUNCTION WLAN_BAPLogicalLinkCreate()
1219
1220 DESCRIPTION
1221 Implements the actual HCI Create Logical Link command
1222
1223 DEPENDENCIES
1224 NA.
1225
1226 PARAMETERS
1227
1228 IN
1229 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1230 pBapHCILogLinkCreate: pointer to the "HCI Create Logical Link" Structure.
1231
1232 IN/OUT
1233 pBapHCIEvent: Return event value for the command status event.
1234 (The caller of this routine is responsible for sending
1235 the Command Status event up the HCI interface.)
1236
1237 RETURN VALUE
1238 The result code associated with performing the operation
1239
1240 VOS_STATUS_E_FAULT: pointer to pBapHCILogLinkCreate is NULL
1241 VOS_STATUS_SUCCESS: Success
1242
1243 SIDE EFFECTS
1244
1245----------------------------------------------------------------------------*/
1246VOS_STATUS
1247WLAN_BAPLogicalLinkCreate
1248(
1249 ptBtampHandle btampHandle,
1250 tBtampTLVHCI_Create_Logical_Link_Cmd *pBapHCILogLinkCreate,
1251 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
1252 /* Including Command Complete and Command Status*/
1253);
1254
1255/*----------------------------------------------------------------------------
1256
1257 FUNCTION WLAN_BAPLogicalLinkAccept()
1258
1259 DESCRIPTION
1260 Implements the actual HCI Accept Logical Link command
1261
1262 DEPENDENCIES
1263 NA.
1264
1265 PARAMETERS
1266
1267 IN
1268 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1269 pBapHCILogLinkAccept: pointer to the "HCI Accept Logical Link" Structure.
1270
1271 IN/OUT
1272 pBapHCIEvent: Return event value for the command status event.
1273 (The caller of this routine is responsible for sending
1274 the Command Status event up the HCI interface.)
1275
1276 RETURN VALUE
1277 The result code associated with performing the operation
1278
1279 VOS_STATUS_E_FAULT: pointer to pBapHCILogLinkAccept is NULL
1280 VOS_STATUS_SUCCESS: Success
1281
1282 SIDE EFFECTS
1283
1284----------------------------------------------------------------------------*/
1285VOS_STATUS
1286WLAN_BAPLogicalLinkAccept
1287(
1288 ptBtampHandle btampHandle,
1289 tBtampTLVHCI_Accept_Logical_Link_Cmd *pBapHCILogLinkAccept,
1290 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
1291 /* Including Command Complete and Command Status*/
1292);
1293
1294/*----------------------------------------------------------------------------
1295
1296 FUNCTION WLAN_BAPLogicalLinkDisconnect()
1297
1298 DESCRIPTION
1299 Implements the actual HCI Disconnect Logical Link command
1300
1301 DEPENDENCIES
1302 NA.
1303
1304 PARAMETERS
1305
1306 IN
1307 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1308 pBapHCILogLinkDisconnect: pointer to the "HCI Disconnect Logical Link" Structure.
1309
1310 IN/OUT
1311 pBapHCIEvent: Return event value for the command status event.
1312 (The caller of this routine is responsible for sending
1313 the Command Status event up the HCI interface.)
1314
1315 RETURN VALUE
1316 The result code associated with performing the operation
1317
1318 VOS_STATUS_E_FAULT: pointer to pBapHCILogLinkDisconnect is NULL
1319 VOS_STATUS_SUCCESS: Success
1320
1321 SIDE EFFECTS
1322
1323----------------------------------------------------------------------------*/
1324VOS_STATUS
1325WLAN_BAPLogicalLinkDisconnect
1326(
1327 ptBtampHandle btampHandle,
1328 tBtampTLVHCI_Disconnect_Logical_Link_Cmd *pBapHCILogLinkDisconnect,
1329 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
1330 /* Including Command Complete and Command Status*/
1331);
1332
1333/*----------------------------------------------------------------------------
1334
1335 FUNCTION WLAN_BAPLogicalLinkCancel()
1336
1337 DESCRIPTION
1338 Implements the actual HCI Cancel Logical Link command
1339
1340 DEPENDENCIES
1341 NA.
1342
1343 PARAMETERS
1344
1345 IN
1346 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1347 pBapHCILogLinkCancel: pointer to the "HCI Cancel Logical Link" Structure.
1348
1349 IN/OUT
1350 pBapHCIEvent: Return event value for the command complete event.
1351 (The caller of this routine is responsible for sending
1352 the Command Complete event up the HCI interface.)
1353 (BTW, the required "HCI Logical Link Complete Event"
1354 will be generated by the BAP state machine and sent up
1355 via the (*tpWLAN_BAPEventCB).)
1356
1357 RETURN VALUE
1358 The result code associated with performing the operation
1359
1360 VOS_STATUS_E_FAULT: pointer to pBapHCILogLinkCancel is NULL
1361 VOS_STATUS_SUCCESS: Success
1362
1363 SIDE EFFECTS
1364
1365----------------------------------------------------------------------------*/
1366VOS_STATUS
1367WLAN_BAPLogicalLinkCancel
1368(
1369 ptBtampHandle btampHandle,
1370 tBtampTLVHCI_Logical_Link_Cancel_Cmd *pBapHCILogLinkCancel,
1371 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
1372 /* Including Command Complete and Command Status*/
1373);
1374
1375/*----------------------------------------------------------------------------
1376
1377 FUNCTION WLAN_BAPFlowSpecModify()
1378
1379 DESCRIPTION
1380 Implements the actual HCI Modify Logical Link command
1381 Produces an asynchronous flow spec modify complete event. Through the
1382 event callback.
1383
1384 DEPENDENCIES
1385 NA.
1386
1387 PARAMETERS
1388
1389 IN
1390 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1391 pBapHCIFlowSpecModify: pointer to the "HCI Flow Spec Modify" Structure.
1392
1393 IN/OUT
1394 pBapHCIEvent: Return event value for the command status event.
1395 (The caller of this routine is responsible for sending
1396 the Command Status event up the HCI interface.)
1397
1398 RETURN VALUE
1399 The result code associated with performing the operation
1400
1401 VOS_STATUS_E_FAULT: pointer to pBapHCIFlowSpecModify is NULL
1402 VOS_STATUS_SUCCESS: Success
1403
1404 SIDE EFFECTS
1405
1406----------------------------------------------------------------------------*/
1407VOS_STATUS
1408WLAN_BAPFlowSpecModify
1409(
1410 ptBtampHandle btampHandle,
1411 tBtampTLVHCI_Flow_Spec_Modify_Cmd *pBapHCIFlowSpecModify,
1412 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
1413 /* Including Command Complete and Command Status*/
1414);
1415
1416/* Host Controller and Baseband Commands */
1417
1418/*----------------------------------------------------------------------------
1419
1420 FUNCTION WLAN_BAPReset()
1421
1422 DESCRIPTION
1423 Implements the actual HCI Reset command.
1424 Produces an asynchronous command complete event. Through the
1425 command complete callback. (I.E., (*tpWLAN_BAPEventCB).)
1426
1427 DEPENDENCIES
1428 NA.
1429
1430 PARAMETERS
1431
1432 IN
1433 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1434
1435 RETURN VALUE
1436 The result code associated with performing the operation
1437
1438 VOS_STATUS_SUCCESS: Success
1439
1440 SIDE EFFECTS
1441
1442----------------------------------------------------------------------------*/
1443VOS_STATUS
1444WLAN_BAPReset
1445(
1446 ptBtampHandle btampHandle
1447);
1448
1449/*----------------------------------------------------------------------------
1450
1451 FUNCTION WLAN_BAPSetEventMask()
1452
1453 DESCRIPTION
1454 Implements the actual HCI Set Event Mask command. There is no need for
1455 a callback because when this call returns the action has been completed.
1456
1457 DEPENDENCIES
1458 NA.
1459
1460 PARAMETERS
1461
1462 IN
1463 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1464 pBapHCISetEventMask: pointer to the "HCI Set Event Mask" Structure.
1465
1466 IN/OUT
1467 pBapHCIEvent: Return event value for the command complete event.
1468 (The caller of this routine is responsible for sending
1469 the Command Complete event up the HCI interface.)
1470
1471 RETURN VALUE
1472 The result code associated with performing the operation
1473
1474 VOS_STATUS_E_FAULT: pointer to pBapHCISetEventMask is NULL
1475 VOS_STATUS_SUCCESS: Success
1476
1477 SIDE EFFECTS
1478
1479----------------------------------------------------------------------------*/
1480VOS_STATUS
1481WLAN_BAPSetEventMask
1482(
1483 ptBtampHandle btampHandle,
1484 tBtampTLVHCI_Set_Event_Mask_Cmd *pBapHCISetEventMask,
1485 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
1486 /* Including Command Complete and Command Status*/
1487);
1488
1489/*----------------------------------------------------------------------------
1490
1491 FUNCTION WLAN_BAPFlush()
1492
1493 DESCRIPTION
1494 Implements the actual HCI Flush command
1495 Produces an asynchronous command complete event. Through the
1496 event callback. And an asynchronous Flush occurred event. Also through the
1497 event callback.
1498
1499 DEPENDENCIES
1500 NA.
1501
1502 PARAMETERS
1503
1504 IN
1505 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1506 pBapHCIFlush: pointer to the "HCI Flush" Structure.
1507
1508 RETURN VALUE
1509 The result code associated with performing the operation
1510
1511 VOS_STATUS_E_FAULT: pointer to pBapHCIFlush is NULL
1512 VOS_STATUS_SUCCESS: Success
1513
1514 SIDE EFFECTS
1515
1516----------------------------------------------------------------------------*/
1517VOS_STATUS
1518WLAN_BAPFlush
1519(
1520 ptBtampHandle btampHandle,
1521 tBtampTLVHCI_Flush_Cmd *pBapHCIFlush
1522);
1523
1524/*----------------------------------------------------------------------------
1525
1526 FUNCTION WLAN_EnhancedBAPFlush()
1527
1528 DESCRIPTION
1529 Implements the actual HCI Enhanced Flush command
1530 Produces an asynchronous command complete event. Through the command status
1531 event callback. And an asynchronous Enhanced Flush Complete event.
1532
1533 DEPENDENCIES
1534 NA.
1535
1536 PARAMETERS
1537
1538 IN
1539 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1540 pBapHCIFlush: pointer to the "HCI Enhanced Flush" Structure.
1541 IN/OUT
1542 pBapHCIEvent: Return event value for the command complete event.
1543 (The caller of this routine is responsible for sending
1544 the Command Complete event up the HCI interface.)
1545
1546 RETURN VALUE
1547 The result code associated with performing the operation
1548
1549 VOS_STATUS_E_FAULT: pointer to pBapHCIFlush is NULL
1550 VOS_STATUS_SUCCESS: Success
1551
1552 SIDE EFFECTS
1553
1554----------------------------------------------------------------------------*/
1555VOS_STATUS
1556WLAN_EnhancedBAPFlush
1557(
1558 ptBtampHandle btampHandle,
1559 tBtampTLVHCI_Enhanced_Flush_Cmd *pBapHCIFlush,
1560 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
1561 /* Including Command Complete and Command Status*/
1562
1563);
1564
1565/*----------------------------------------------------------------------------
1566
1567 FUNCTION WLAN_BAPReadConnectionAcceptTimeout()
1568
1569 DESCRIPTION
1570 Implements the actual HCI Read Connection Accept Timeout command. There
1571 is no need for a callback because when this call returns the action
1572 has been completed.
1573
1574 DEPENDENCIES
1575 NA.
1576
1577 PARAMETERS
1578
1579 IN
1580 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1581
1582 IN/OUT
1583 pBapHCIEvent: Return event value for the command complete event.
1584 (The caller of this routine is responsible for sending
1585 the Command Complete event up the HCI interface.)
1586
1587 RETURN VALUE
1588 The result code associated with performing the operation
1589
1590 VOS_STATUS_E_FAULT: pointer to pBapHCIReadConnectionAcceptTimeout is NULL
1591 VOS_STATUS_SUCCESS: Success
1592
1593 SIDE EFFECTS
1594
1595----------------------------------------------------------------------------*/
1596VOS_STATUS
1597WLAN_BAPReadConnectionAcceptTimeout
1598(
1599 ptBtampHandle btampHandle,
1600 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
1601 /* Including "Read" Command Complete */
1602);
1603
1604/*----------------------------------------------------------------------------
1605
1606 FUNCTION WLAN_BAPWriteConnectionAcceptTimeout()
1607
1608 DESCRIPTION
1609 Implements the actual HCI Write Connection Accept Timeout command. There
1610 is no need for a callback because when this call returns the action
1611 has been completed.
1612
1613 DEPENDENCIES
1614 NA.
1615
1616 PARAMETERS
1617
1618 IN
1619 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1620 pBapHCIWriteConnectionAcceptTimeout: pointer to the "HCI Connection Accept Timeout" Structure.
1621
1622 IN/OUT
1623 pBapHCIEvent: Return event value for the command complete event.
1624 (The caller of this routine is responsible for sending
1625 the Command Complete event up the HCI interface.)
1626
1627 RETURN VALUE
1628 The result code associated with performing the operation
1629
1630 VOS_STATUS_E_FAULT: pointer to pBapHCIWriteConnectionAcceptTimeout is NULL
1631 VOS_STATUS_SUCCESS: Success
1632
1633 SIDE EFFECTS
1634
1635----------------------------------------------------------------------------*/
1636VOS_STATUS
1637WLAN_BAPWriteConnectionAcceptTimeout
1638(
1639 ptBtampHandle btampHandle,
1640 tBtampTLVHCI_Write_Connection_Accept_Timeout_Cmd *pBapHCIWriteConnectionAcceptTimeout,
1641 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
1642 /* Including Command Complete and Command Status*/
1643);
1644
1645/*----------------------------------------------------------------------------
1646
1647 FUNCTION WLAN_BAPReadLinkSupervisionTimeout()
1648
1649 DESCRIPTION
1650 Implements the actual HCI Read Link Supervision Timeout command. There
1651 is no need for a callback because when this call returns the action
1652 has been completed.
1653
1654 DEPENDENCIES
1655 NA.
1656
1657 PARAMETERS
1658
1659 IN
1660 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1661
1662 IN/OUT
1663 pBapHCIEvent: Return event value for the command complete event.
1664 (The caller of this routine is responsible for sending
1665 the Command Complete event up the HCI interface.)
1666
1667 RETURN VALUE
1668 The result code associated with performing the operation
1669
1670 VOS_STATUS_E_FAULT: pointer to pBapHCIReadLinkSupervisionTimeout is NULL
1671 VOS_STATUS_SUCCESS: Success
1672
1673 SIDE EFFECTS
1674
1675----------------------------------------------------------------------------*/
1676VOS_STATUS
1677WLAN_BAPReadLinkSupervisionTimeout
1678(
1679 ptBtampHandle btampHandle,
1680 /* Only 8 bits (phy_link_handle) of this log_link_handle are valid. */
1681 tBtampTLVHCI_Read_Link_Supervision_Timeout_Cmd *pBapHCIReadLinkSupervisionTimeout,
1682 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
1683 /* Including "Read" Command Complete*/
1684);
1685
1686/*----------------------------------------------------------------------------
1687
1688 FUNCTION WLAN_BAPWriteLinkSupervisionTimeout()
1689
1690 DESCRIPTION
1691 Implements the actual HCI Write Link Supervision Timeout command. There
1692 is no need for a callback because when this call returns the action
1693 has been completed.
1694
1695 DEPENDENCIES
1696 NA.
1697
1698 PARAMETERS
1699
1700 IN
1701 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1702 pBapHCIWriteLinkSupervisionTimeout: pointer to the "HCI Link Supervision Timeout" Structure.
1703
1704 IN/OUT
1705 pBapHCIEvent: Return event value for the command complete event.
1706 (The caller of this routine is responsible for sending
1707 the Command Complete event up the HCI interface.)
1708
1709 RETURN VALUE
1710 The result code associated with performing the operation
1711
1712 VOS_STATUS_E_FAULT: pointer to pBapHCIWriteLinkSupervisionTimeout is NULL
1713 VOS_STATUS_SUCCESS: Success
1714
1715 SIDE EFFECTS
1716
1717----------------------------------------------------------------------------*/
1718VOS_STATUS
1719WLAN_BAPWriteLinkSupervisionTimeout
1720(
1721 ptBtampHandle btampHandle,
1722 tBtampTLVHCI_Write_Link_Supervision_Timeout_Cmd *pBapHCIWriteLinkSupervisionTimeout,
1723 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
1724 /* Including Command Complete and Command Status*/
1725);
1726
1727/* v3.0 Host Controller and Baseband Commands */
1728
1729
1730/*----------------------------------------------------------------------------
1731
1732 FUNCTION WLAN_BAPReadLogicalLinkAcceptTimeout()
1733
1734 DESCRIPTION
1735 Implements the actual HCI Read Logical Link Accept Timeout command. There
1736 is no need for a callback because when this call returns the action
1737 has been completed.
1738
1739 DEPENDENCIES
1740 NA.
1741
1742 PARAMETERS
1743
1744 IN
1745 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1746
1747 IN/OUT
1748 pBapHCIEvent: Return event value for the command complete event.
1749 (The caller of this routine is responsible for sending
1750 the Command Complete event up the HCI interface.)
1751
1752 RETURN VALUE
1753 The result code associated with performing the operation
1754
1755 VOS_STATUS_E_FAULT: pointer to pBapHCIReadLogicalLinkAcceptTimeout is NULL
1756 VOS_STATUS_SUCCESS: Success
1757
1758 SIDE EFFECTS
1759
1760----------------------------------------------------------------------------*/
1761VOS_STATUS
1762WLAN_BAPReadLogicalLinkAcceptTimeout
1763(
1764 ptBtampHandle btampHandle,
1765 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
1766 /* Including "Read" Command Complete*/
1767);
1768
1769/*----------------------------------------------------------------------------
1770
1771 FUNCTION WLAN_BAPWriteLogicalLinkAcceptTimeout()
1772
1773 DESCRIPTION
1774 Implements the actual HCI Write Logical Link Accept Timeout command. There
1775 is no need for a callback because when this call returns the action
1776 has been completed.
1777
1778 DEPENDENCIES
1779 NA.
1780
1781 PARAMETERS
1782
1783 IN
1784 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1785 pBapHCIWriteLogicalLinkAcceptTimeout: pointer to the "HCI Logical Link Accept Timeout" Structure.
1786
1787 IN/OUT
1788 pBapHCIEvent: Return event value for the command complete event.
1789 (The caller of this routine is responsible for sending
1790 the Command Complete event up the HCI interface.)
1791
1792 RETURN VALUE
1793 The result code associated with performing the operation
1794
1795 VOS_STATUS_E_FAULT: pointer to pBapHCIWriteLogicalLinkAcceptTimeout is NULL
1796 VOS_STATUS_SUCCESS: Success
1797
1798 SIDE EFFECTS
1799
1800----------------------------------------------------------------------------*/
1801VOS_STATUS
1802WLAN_BAPWriteLogicalLinkAcceptTimeout
1803(
1804 ptBtampHandle btampHandle,
1805 tBtampTLVHCI_Write_Logical_Link_Accept_Timeout_Cmd *pBapHCIWriteLogicalLinkAcceptTimeout,
1806 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
1807 /* Including Command Complete and Command Status*/
1808);
1809
1810/*----------------------------------------------------------------------------
1811
1812 FUNCTION WLAN_BAPSetEventMaskPage2()
1813
1814 DESCRIPTION
1815 Implements the actual HCI Set Event Mask Page 2 command. There is no need for
1816 a callback because when this call returns the action has been completed.
1817
1818 DEPENDENCIES
1819 NA.
1820
1821 PARAMETERS
1822
1823 IN
1824 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1825 pBapHCISetEventMaskPage2: pointer to the "HCI Set Event Mask Page 2" Structure.
1826
1827 IN/OUT
1828 pBapHCIEvent: Return event value for the command complete event.
1829 (The caller of this routine is responsible for sending
1830 the Command Complete event up the HCI interface.)
1831
1832 RETURN VALUE
1833 The result code associated with performing the operation
1834
1835 VOS_STATUS_E_FAULT: pointer to pBapHCISetEventMaskPage2 is NULL
1836 VOS_STATUS_SUCCESS: Success
1837
1838 SIDE EFFECTS
1839
1840----------------------------------------------------------------------------*/
1841VOS_STATUS
1842WLAN_BAPSetEventMaskPage2
1843(
1844 ptBtampHandle btampHandle,
1845 tBtampTLVHCI_Set_Event_Mask_Page_2_Cmd *pBapHCISetEventMaskPage2,
1846 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
1847 /* Including Command Complete and Command Status*/
1848);
1849
1850/*----------------------------------------------------------------------------
1851
1852 FUNCTION WLAN_BAPReadLocationData()
1853
1854 DESCRIPTION
1855 Implements the actual HCI Read Location Data command. There
1856 is no need for a callback because when this call returns the action
1857 has been completed.
1858
1859 DEPENDENCIES
1860 NA.
1861
1862 PARAMETERS
1863
1864 IN
1865 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1866
1867 IN/OUT
1868 pBapHCIEvent: Return event value for the command complete event.
1869 (The caller of this routine is responsible for sending
1870 the Command Complete event up the HCI interface.)
1871
1872 RETURN VALUE
1873 The result code associated with performing the operation
1874
1875 VOS_STATUS_E_FAULT: pointer to pBapHCIReadLocationData is NULL
1876 VOS_STATUS_SUCCESS: Success
1877
1878 SIDE EFFECTS
1879
1880----------------------------------------------------------------------------*/
1881VOS_STATUS
1882WLAN_BAPReadLocationData
1883(
1884 ptBtampHandle btampHandle,
1885 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
1886 /* Including "Read" Command Complete*/
1887);
1888
1889/*----------------------------------------------------------------------------
1890
1891 FUNCTION WLAN_BAPWriteLocationData()
1892
1893 DESCRIPTION
1894 Implements the actual HCI Write Location Data command. There
1895 is no need for a callback because when this call returns the action
1896 has been completed.
1897
1898 DEPENDENCIES
1899 NA.
1900
1901 PARAMETERS
1902
1903 IN
1904 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1905 pBapHCIWriteLocationData: pointer to the "HCI Write Location Data" Structure.
1906
1907 IN/OUT
1908 pBapHCIEvent: Return event value for the command complete event.
1909 (The caller of this routine is responsible for sending
1910 the Command Complete event up the HCI interface.)
1911
1912 RETURN VALUE
1913 The result code associated with performing the operation
1914
1915 VOS_STATUS_E_FAULT: pointer to pBapHCIWriteLocationData is NULL
1916 VOS_STATUS_SUCCESS: Success
1917
1918 SIDE EFFECTS
1919
1920----------------------------------------------------------------------------*/
1921VOS_STATUS
1922WLAN_BAPWriteLocationData
1923(
1924 ptBtampHandle btampHandle,
1925 tBtampTLVHCI_Write_Location_Data_Cmd *pBapHCIWriteLocationData,
1926 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
1927 /* Including Command Complete and Command Status*/
1928);
1929
1930
1931/*----------------------------------------------------------------------------
1932
1933 FUNCTION WLAN_BAPReadFlowControlMode()
1934
1935 DESCRIPTION
1936 Implements the actual HCI Read Flow Control Mode command. There
1937 is no need for a callback because when this call returns the action
1938 has been completed.
1939
1940 DEPENDENCIES
1941 NA.
1942
1943 PARAMETERS
1944
1945 IN
1946 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1947
1948 IN/OUT
1949 pBapHCIEvent: Return event value for the command complete event.
1950 (The caller of this routine is responsible for sending
1951 the Command Complete event up the HCI interface.)
1952
1953 RETURN VALUE
1954 The result code associated with performing the operation
1955
1956 VOS_STATUS_E_FAULT: pointer to pBapHCIReadFlowControlMode is NULL
1957 VOS_STATUS_SUCCESS: Success
1958
1959 SIDE EFFECTS
1960
1961----------------------------------------------------------------------------*/
1962VOS_STATUS
1963WLAN_BAPReadFlowControlMode
1964(
1965 ptBtampHandle btampHandle,
1966 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
1967 /* Including "Read" Command Complete*/
1968);
1969
1970/*----------------------------------------------------------------------------
1971
1972 FUNCTION WLAN_BAPWriteFlowControlMode()
1973
1974 DESCRIPTION
1975 Implements the actual HCI Write Flow Control Mode command. There
1976 is no need for a callback because when this call returns the action
1977 has been completed.
1978
1979 DEPENDENCIES
1980 NA.
1981
1982 PARAMETERS
1983
1984 IN
1985 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
1986 pBapHCIWriteFlowControlMode: pointer to the "HCI Write Flow Control Mode" Structure.
1987
1988 IN/OUT
1989 pBapHCIEvent: Return event value for the command complete event.
1990 (The caller of this routine is responsible for sending
1991 the Command Complete event up the HCI interface.)
1992
1993 RETURN VALUE
1994 The result code associated with performing the operation
1995
1996 VOS_STATUS_E_FAULT: pointer to pBapHCIWriteFlowControlMode is NULL
1997 VOS_STATUS_SUCCESS: Success
1998
1999 SIDE EFFECTS
2000
2001----------------------------------------------------------------------------*/
2002VOS_STATUS
2003WLAN_BAPWriteFlowControlMode
2004(
2005 ptBtampHandle btampHandle,
2006 tBtampTLVHCI_Write_Flow_Control_Mode_Cmd *pBapHCIWriteFlowControlMode,
2007 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
2008 /* Including Command Complete and Command Status*/
2009);
2010
2011/*----------------------------------------------------------------------------
2012
2013 FUNCTION WLAN_BAPReadBestEffortFlushTimeout()
2014
2015 DESCRIPTION
2016 Implements the actual HCI Read Best Effort Flush Timeout command. There
2017 is no need for a callback because when this call returns the action
2018 has been completed.
2019
2020 DEPENDENCIES
2021 NA.
2022
2023 PARAMETERS
2024
2025 IN
2026 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
2027
2028 IN/OUT
2029 pBapHCIEvent: Return event value for the command complete event.
2030 (The caller of this routine is responsible for sending
2031 the Command Complete event up the HCI interface.)
2032
2033 RETURN VALUE
2034 The result code associated with performing the operation
2035
2036 VOS_STATUS_E_FAULT: pointer to pBapHCIReadBEFlushTO is NULL
2037 VOS_STATUS_SUCCESS: Success
2038
2039 SIDE EFFECTS
2040
2041----------------------------------------------------------------------------*/
2042VOS_STATUS
2043WLAN_BAPReadBestEffortFlushTimeout
2044(
2045 ptBtampHandle btampHandle,
2046 /* The log_link_hanlde identifies which logical link's BE TO*/
2047 tBtampTLVHCI_Read_Best_Effort_Flush_Timeout_Cmd *pBapHCIReadBEFlushTO,
2048 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
2049 /* Including "Read" Command Complete*/
2050);
2051
2052/*----------------------------------------------------------------------------
2053
2054 FUNCTION WLAN_BAPWriteBestEffortFlushTimeout()
2055
2056 DESCRIPTION
2057 Implements the actual HCI Write Best Effort Flush TO command. There
2058 is no need for a callback because when this call returns the action
2059 has been completed.
2060
2061 DEPENDENCIES
2062 NA.
2063
2064 PARAMETERS
2065
2066 IN
2067 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
2068 pBapHCIWriteBEFlushTO: pointer to the "HCI Write BE Flush TO" Structure.
2069
2070 IN/OUT
2071 pBapHCIEvent: Return event value for the command complete event.
2072 (The caller of this routine is responsible for sending
2073 the Command Complete event up the HCI interface.)
2074
2075 RETURN VALUE
2076 The result code associated with performing the operation
2077
2078 VOS_STATUS_E_FAULT: pointer to pBapHCIWriteBEFlushTO is NULL
2079 VOS_STATUS_SUCCESS: Success
2080
2081 SIDE EFFECTS
2082
2083----------------------------------------------------------------------------*/
2084VOS_STATUS
2085WLAN_BAPWriteBestEffortFlushTimeout
2086(
2087 ptBtampHandle btampHandle,
2088 tBtampTLVHCI_Write_Best_Effort_Flush_Timeout_Cmd *pBapHCIWriteBEFlushTO,
2089 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
2090 /* Including Command Complete and Command Status*/
2091);
2092
2093
2094/*----------------------------------------------------------------------------
2095
2096 FUNCTION WLAN_BAPSetShortRangeMode()
2097
2098 DESCRIPTION
2099 Implements the actual HCI Set Short Range Mode command. There is no need for
2100 a callback because when this call returns the action has been completed.
2101
2102 DEPENDENCIES
2103 NA.
2104
2105 PARAMETERS
2106
2107 IN
2108 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
2109 pBapHCIShortRangeMode: pointer to the "HCI Set Short Range Mode" Structure.
2110
2111 IN/OUT
2112 pBapHCIEvent: Return event value for the command complete event.
2113 (The caller of this routine is responsible for sending
2114 the Command Complete event up the HCI interface.)
2115
2116 RETURN VALUE
2117 The result code associated with performing the operation
2118
2119 VOS_STATUS_E_FAULT: pointer to pBapHCIShortRangeMode is NULL
2120 VOS_STATUS_SUCCESS: Success
2121
2122 SIDE EFFECTS
2123
2124----------------------------------------------------------------------------*/
2125VOS_STATUS
2126WLAN_BAPSetShortRangeMode
2127(
2128 ptBtampHandle btampHandle,
2129 tBtampTLVHCI_Set_Short_Range_Mode_Cmd *pBapHCIShortRangeMode,
2130 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
2131 /* Including Command Complete and Command Status*/
2132);
2133
2134
2135/*----------------------------------------------------------------------------
2136
2137 FUNCTION WLAN_BAPVendorSpecificCmd0()
2138
2139 DESCRIPTION
2140 Implements the actual HCI Vendor Specific Command 0 (OGF 0x3f, OCF 0x0000).
2141 There is no need for a callback because when this call returns the action has
2142 been completed.
2143
2144 DEPENDENCIES
2145 NA.
2146
2147 PARAMETERS
2148
2149 IN
2150 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
2151
2152 IN/OUT
2153 pBapHCIEvent: Return event value for the command complete event.
2154 (The caller of this routine is responsible for sending
2155 the Command Complete event up the HCI interface.)
2156
2157 RETURN VALUE
2158 The result code associated with performing the operation
2159
2160 VOS_STATUS_E_FAULT: pointer to pBapHCIEvent is NULL
2161 VOS_STATUS_SUCCESS: Success
2162
2163 SIDE EFFECTS
2164
2165----------------------------------------------------------------------------*/
2166VOS_STATUS
2167WLAN_BAPVendorSpecificCmd0
2168(
2169 ptBtampHandle btampHandle,
2170 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
2171 /* Including Command Complete and Command Status*/
2172);
2173
2174/*----------------------------------------------------------------------------
2175
2176 FUNCTION WLAN_BAPVendorSpecificCmd1()
2177
2178 DESCRIPTION
2179 Implements the actual HCI Vendor Specific Command 1 (OGF 0x3f, OCF 0x0001).
2180 There is no need for a callback because when this call returns the action has
2181 been completed.
2182
2183 DEPENDENCIES
2184 NA.
2185
2186 PARAMETERS
2187
2188 IN
2189 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
2190
2191 IN/OUT
2192 pBapHCIEvent: Return event value for the command complete event.
2193 (The caller of this routine is responsible for sending
2194 the Command Complete event up the HCI interface.)
2195
2196 RETURN VALUE
2197 The result code associated with performing the operation
2198
2199 VOS_STATUS_E_FAULT: pointer to pBapHCIEvent is NULL
2200 VOS_STATUS_SUCCESS: Success
2201
2202 SIDE EFFECTS
2203
2204----------------------------------------------------------------------------*/
2205VOS_STATUS
2206WLAN_BAPVendorSpecificCmd1
2207(
2208 ptBtampHandle btampHandle,
2209 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
2210 /* Including Command Complete and Command Status*/
2211);
2212
2213/* End of v3.0 Host Controller and Baseband Commands */
2214
2215
2216/* Informational Parameters */
2217
2218/*----------------------------------------------------------------------------
2219
2220 FUNCTION WLAN_BAPReadLocalVersionInfo()
2221
2222 DESCRIPTION
2223 Implements the actual HCI Read Local Version Info command. There
2224 is no need for a callback because when this call returns the action
2225 has been completed.
2226
2227 DEPENDENCIES
2228 NA.
2229
2230 PARAMETERS
2231
2232 IN
2233 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
2234 // There are really no input parameters in this command.
2235 // Just the command opcode itself is sufficient.
2236
2237 IN/OUT
2238 pBapHCIEvent: Return event value for the command complete event.
2239 (The caller of this routine is responsible for sending
2240 the Command Complete event up the HCI interface.)
2241
2242 RETURN VALUE
2243 The result code associated with performing the operation
2244
2245 VOS_STATUS_E_FAULT: pointer to pBapHCIReadLocalVersionInfo is NULL
2246 VOS_STATUS_SUCCESS: Success
2247
2248 SIDE EFFECTS
2249
2250----------------------------------------------------------------------------*/
2251VOS_STATUS
2252WLAN_BAPReadLocalVersionInfo
2253(
2254 ptBtampHandle btampHandle,
2255 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
2256 /* Including "Read" Command Complete*/
2257);
2258
2259/*----------------------------------------------------------------------------
2260
2261 FUNCTION WLAN_BAPReadLocalSupportedCmds()
2262
2263 DESCRIPTION
2264 Implements the actual HCI Read Local Supported Commands. There
2265 is no need for a callback because when this call returns the action
2266 has been completed.
2267
2268 DEPENDENCIES
2269 NA.
2270
2271 PARAMETERS
2272
2273 IN
2274 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
2275 // There are really no input parameters in this command.
2276 // Just the command opcode itself is sufficient.
2277
2278 IN/OUT
2279 pBapHCIEvent: Return event value for the command complete event.
2280 (The caller of this routine is responsible for sending
2281 the Command Complete event up the HCI interface.)
2282
2283 RETURN VALUE
2284 The result code associated with performing the operation
2285
2286 VOS_STATUS_E_FAULT: pointer to pBapHCIReadLocalSupportedCmds is NULL
2287 VOS_STATUS_SUCCESS: Success
2288
2289 SIDE EFFECTS
2290
2291----------------------------------------------------------------------------*/
2292VOS_STATUS
2293WLAN_BAPReadLocalSupportedCmds
2294(
2295 ptBtampHandle btampHandle,
2296 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
2297 /* Including "Read" Command Complete*/
2298);
2299
2300/*----------------------------------------------------------------------------
2301
2302 FUNCTION WLAN_BAPReadBufferSize()
2303
2304 DESCRIPTION
2305 Implements the actual HCI Read Buffer Size command. There
2306 is no need for a callback because when this call returns the action
2307 has been completed.
2308
2309 DEPENDENCIES
2310 NA.
2311
2312 PARAMETERS
2313
2314 IN
2315 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
2316
2317 IN/OUT
2318 pBapHCIEvent: Return event value for the command complete event.
2319 (The caller of this routine is responsible for sending
2320 the Command Complete event up the HCI interface.)
2321
2322 RETURN VALUE
2323 The result code associated with performing the operation
2324
2325 VOS_STATUS_E_FAULT: pointer to pBapHCIReadBufferSize is NULL
2326 VOS_STATUS_SUCCESS: Success
2327
2328 SIDE EFFECTS
2329
2330----------------------------------------------------------------------------*/
2331VOS_STATUS
2332WLAN_BAPReadBufferSize
2333(
2334 ptBtampHandle btampHandle,
2335 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
2336 /* Including "Read" Command Complete*/
2337);
2338
2339/*----------------------------------------------------------------------------
2340
2341 FUNCTION WLAN_BAPReadDataBlockSize()
2342
2343 DESCRIPTION
2344 Implements the actual HCI Read Data Block Size command. There
2345 is no need for a callback because when this call returns the action
2346 has been completed.
2347
2348 DEPENDENCIES
2349 NA.
2350
2351 PARAMETERS
2352
2353 IN
2354 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
2355
2356 IN/OUT
2357 pBapHCIEvent: Return event value for the command complete event.
2358 (The caller of this routine is responsible for sending
2359 the Command Complete event up the HCI interface.)
2360
2361 RETURN VALUE
2362 The result code associated with performing the operation
2363
2364 VOS_STATUS_E_FAULT: pointer to pBapHCIReadDataBlockSize is NULL
2365 VOS_STATUS_SUCCESS: Success
2366
2367 SIDE EFFECTS
2368
2369----------------------------------------------------------------------------*/
2370VOS_STATUS
2371WLAN_BAPReadDataBlockSize
2372(
2373 ptBtampHandle btampHandle,
2374 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
2375 /* Including "Read" Command Complete*/
2376);
2377
2378/*
2379Status Parameters
2380*/
2381
2382/*----------------------------------------------------------------------------
2383
2384 FUNCTION WLAN_BAPReadFailedContactCounter()
2385
2386 DESCRIPTION
2387 Implements the actual HCI Read Failed Contact Counter command. There
2388 is no need for a callback because when this call returns the action
2389 has been completed.
2390
2391 DEPENDENCIES
2392 NA.
2393
2394 PARAMETERS
2395
2396 IN
2397 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
2398 pBapHCIReadFailedContactCounter: pointer to the "HCI Read Failed Contact Counter" structure.
2399
2400 IN/OUT
2401 pBapHCIEvent: Return event value for the command complete event.
2402 (The caller of this routine is responsible for sending
2403 the Command Complete event up the HCI interface.)
2404
2405 RETURN VALUE
2406 The result code associated with performing the operation
2407
2408 VOS_STATUS_E_FAULT: pointer to pBapHCIReadFailedContactCounter or
2409 pFailedContactCounter is NULL
2410 VOS_STATUS_SUCCESS: Success
2411
2412 SIDE EFFECTS
2413
2414----------------------------------------------------------------------------*/
2415VOS_STATUS
2416WLAN_BAPReadFailedContactCounter
2417(
2418 ptBtampHandle btampHandle,
2419 tBtampTLVHCI_Read_Failed_Contact_Counter_Cmd *pBapHCIReadFailedContactCounter,
2420 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
2421 /* Including "Read" Command Complete*/
2422);
2423
2424/*----------------------------------------------------------------------------
2425
2426 FUNCTION WLAN_BAPResetFailedContactCounter()
2427
2428 DESCRIPTION
2429 Implements the actual HCI Reset Failed Contact Counter command. There
2430 is no need for a callback because when this call returns the action
2431 has been completed.
2432
2433 DEPENDENCIES
2434 NA.
2435
2436 PARAMETERS
2437
2438 IN
2439 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
2440 pBapHCIResetFailedContactCounter: pointer to the "HCI Reset Failed Contact Counter" structure.
2441
2442 IN/OUT
2443 pBapHCIEvent: Return event value for the command complete event.
2444 (The caller of this routine is responsible for sending
2445 the Command Complete event up the HCI interface.)
2446
2447 RETURN VALUE
2448 The result code associated with performing the operation
2449
2450 VOS_STATUS_E_FAULT: pointer to pBapHCIResetFailedContactCounter is NULL
2451 VOS_STATUS_SUCCESS: Success
2452
2453 SIDE EFFECTS
2454
2455----------------------------------------------------------------------------*/
2456VOS_STATUS
2457WLAN_BAPResetFailedContactCounter
2458(
2459 ptBtampHandle btampHandle,
2460 tBtampTLVHCI_Reset_Failed_Contact_Counter_Cmd *pBapHCIResetFailedContactCounter,
2461 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
2462 /* Including Command Complete and Command Status*/
2463);
2464
2465/*----------------------------------------------------------------------------
2466
2467 FUNCTION WLAN_BAPReadLinkQuality()
2468
2469 DESCRIPTION
2470 Implements the actual HCI Read Link Quality command. There
2471 is no need for a callback because when this call returns the action
2472 has been completed.
2473
2474 DEPENDENCIES
2475 NA.
2476
2477 PARAMETERS
2478
2479 IN
2480 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
2481 pBapHCIReadLinkQuality: pointer to the "HCI Read Link Quality" structure.
2482
2483 IN/OUT
2484 pBapHCIEvent: Return event value for the command complete event.
2485 (The caller of this routine is responsible for sending
2486 the Command Complete event up the HCI interface.)
2487
2488 RETURN VALUE
2489 The result code associated with performing the operation
2490
2491 VOS_STATUS_E_FAULT: pointer to pBapHCIReadLinkQuality or
2492 pBapHCILinkQuality is NULL
2493 VOS_STATUS_SUCCESS: Success
2494
2495 SIDE EFFECTS
2496
2497----------------------------------------------------------------------------*/
2498VOS_STATUS
2499WLAN_BAPReadLinkQuality
2500(
2501 ptBtampHandle btampHandle,
2502 tBtampTLVHCI_Read_Link_Quality_Cmd *pBapHCIReadLinkQuality,
2503 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
2504 /* Including Command Complete and Command Status*/
2505);
2506
2507/*----------------------------------------------------------------------------
2508
2509 FUNCTION WLAN_BAPReadRSSI()
2510
2511 DESCRIPTION
2512 Implements the actual HCI Read RSSI command. There
2513 is no need for a callback because when this call returns the action
2514 has been completed.
2515
2516 DEPENDENCIES
2517 NA.
2518
2519 PARAMETERS
2520
2521 IN
2522 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
2523 pBapHCIReadRSSI: pointer to the "HCI Read RSSI" structure.
2524
2525 IN/OUT
2526 pBapHCIEvent: Return event value for the command complete event.
2527 (The caller of this routine is responsible for sending
2528 the Command Complete event up the HCI interface.)
2529
2530 RETURN VALUE
2531 The result code associated with performing the operation
2532
2533 VOS_STATUS_E_FAULT: pointer to pBapHCIReadRSSI or
2534 pBapHCIRSSI is NULL
2535 VOS_STATUS_SUCCESS: Success
2536
2537 SIDE EFFECTS
2538
2539----------------------------------------------------------------------------*/
2540VOS_STATUS
2541WLAN_BAPReadRSSI
2542(
2543 ptBtampHandle btampHandle,
2544 tBtampTLVHCI_Read_RSSI_Cmd *pBapHCIReadRSSI,
2545 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
2546 /* Including Command Complete and Command Status*/
2547);
2548
2549/*----------------------------------------------------------------------------
2550
2551 FUNCTION WLAN_BAPReadLocalAMPInfo()
2552
2553 DESCRIPTION
2554 Implements the actual HCI Read Local AMP Information command. There
2555 is no need for a callback because when this call returns the action
2556 has been completed.
2557
2558 DEPENDENCIES
2559 NA.
2560
2561 PARAMETERS
2562
2563 IN
2564 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
2565 pBapHCIReadLocalAMPInfo: pointer to the "HCI Read Local AMP Info" Structure.
2566
2567 IN/OUT
2568 pBapHCIEvent: Return event value for the command complete event.
2569 (The caller of this routine is responsible for sending
2570 the Command Complete event up the HCI interface.)
2571
2572 RETURN VALUE
2573 The result code associated with performing the operation
2574
2575 VOS_STATUS_E_FAULT: pointer to pBapHCIReadLocalAMPInfo or
2576 pBapHCILocalAMPInfo is NULL
2577 VOS_STATUS_SUCCESS: Success
2578
2579 SIDE EFFECTS
2580
2581----------------------------------------------------------------------------*/
2582VOS_STATUS
2583WLAN_BAPReadLocalAMPInfo
2584(
2585 ptBtampHandle btampHandle,
2586 tBtampTLVHCI_Read_Local_AMP_Information_Cmd *pBapHCIReadLocalAMPInfo,
2587 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
2588 /* Including Command Complete and Command Status*/
2589);
2590
2591/*----------------------------------------------------------------------------
2592
2593 FUNCTION WLAN_BAPReadLocalAMPAssoc()
2594
2595 DESCRIPTION
2596 Implements the actual HCI Read Local AMP Assoc command. There
2597 is no need for a callback because when this call returns the action
2598 has been completed.
2599
2600 DEPENDENCIES
2601 NA.
2602
2603 PARAMETERS
2604
2605 IN
2606 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
2607 pBapHCIReadLocalAMPAssoc: pointer to the "HCI Read Local AMP Assoc" Structure.
2608
2609 IN/OUT
2610 pBapHCIEvent: Return event value for the command complete event.
2611 (The caller of this routine is responsible for sending
2612 the Command Complete event up the HCI interface.)
2613
2614
2615 RETURN VALUE
2616 The result code associated with performing the operation
2617
2618 VOS_STATUS_E_FAULT: pointer to pBapHCIReadLocalAMPAssoc
2619 (or pBapHCILocalAMPAssoc) is NULL
2620 VOS_STATUS_SUCCESS: Success
2621
2622 SIDE EFFECTS
2623
2624----------------------------------------------------------------------------*/
2625VOS_STATUS
2626WLAN_BAPReadLocalAMPAssoc
2627(
2628 ptBtampHandle btampHandle,
2629 tBtampTLVHCI_Read_Local_AMP_Assoc_Cmd *pBapHCIReadLocalAMPAssoc,
2630 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
2631 /* Including Command Complete and Command Status*/
2632);
2633
2634/*----------------------------------------------------------------------------
2635
2636 FUNCTION WLAN_BAPWriteRemoteAMPAssoc()
2637
2638 DESCRIPTION
2639 Implements the actual HCI Write Remote AMP Assoc command. There
2640 is no need for a callback because when this call returns the action
2641 has been completed.
2642
2643 DEPENDENCIES
2644 NA.
2645
2646 PARAMETERS
2647
2648 IN
2649 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
2650 pBapHCIWriteRemoteAMPAssoc: pointer to the "HCI Write Remote AMP Assoc" Structure.
2651
2652 IN/OUT
2653 pBapHCIEvent: Return event value for the command complete event.
2654 (The caller of this routine is responsible for sending
2655 the Command Complete event up the HCI interface.)
2656
2657 RETURN VALUE
2658 The result code associated with performing the operation
2659
2660 VOS_STATUS_E_FAULT: pointer to pBapHCIWriteRemoteAMPAssoc is NULL
2661 VOS_STATUS_SUCCESS: Success
2662
2663 SIDE EFFECTS
2664
2665----------------------------------------------------------------------------*/
2666VOS_STATUS
2667WLAN_BAPWriteRemoteAMPAssoc
2668(
2669 ptBtampHandle btampHandle,
2670 tBtampTLVHCI_Write_Remote_AMP_ASSOC_Cmd *pBapHCIWriteRemoteAMPAssoc,
2671 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
2672 /* Including Command Complete and Command Status*/
2673);
2674
2675/*
2676Debug Commands
2677*/
2678
2679/*----------------------------------------------------------------------------
2680
2681 FUNCTION WLAN_BAPReadLoopbackMode()
2682
2683 DESCRIPTION
2684 Implements the actual HCI Read Loopback Mode command. There
2685 is no need for a callback because when this call returns the action
2686 has been completed.
2687
2688 DEPENDENCIES
2689 NA.
2690
2691 PARAMETERS
2692
2693 IN
2694 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
2695 pBapHCIReadLoopbackMode: pointer to the "HCI Read Loopback Mode".
2696
2697 IN/OUT
2698 pBapHCIEvent: Return event value for the command complete event.
2699 (The caller of this routine is responsible for sending
2700 the Command Complete event up the HCI interface.)
2701
2702 RETURN VALUE
2703 The result code associated with performing the operation
2704
2705 VOS_STATUS_E_FAULT: pointer to pBapHCIReadLoopbackMode or
2706 pBapHCILoopbackMode is NULL.
2707 VOS_STATUS_SUCCESS: Success
2708
2709 SIDE EFFECTS
2710
2711----------------------------------------------------------------------------*/
2712VOS_STATUS
2713WLAN_BAPReadLoopbackMode
2714(
2715 ptBtampHandle btampHandle,
2716 tBtampTLVHCI_Read_Loopback_Mode_Cmd *pBapHCIReadLoopbackMode,
2717 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
2718 /* Including Command Complete and Command Status*/
2719);
2720
2721/*----------------------------------------------------------------------------
2722
2723 FUNCTION WLAN_BAPWriteLoopbackMode()
2724
2725 DESCRIPTION
2726 Implements the actual HCI Write Loopback Mode command. There
2727 is no need for a callback because when this call returns the action
2728 has been completed.
2729
2730 DEPENDENCIES
2731 NA.
2732
2733 PARAMETERS
2734
2735 IN
2736 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
2737 pBapHCIWriteLoopbackMode: pointer to the "HCI Write Loopback Mode" Structure.
2738
2739 IN/OUT
2740 pBapHCIEvent: Return event value for the command complete event.
2741 (The caller of this routine is responsible for sending
2742 the Command Complete event up the HCI interface.)
2743
2744 RETURN VALUE
2745 The result code associated with performing the operation
2746
2747 VOS_STATUS_E_FAULT: pointer to pBapHCIWriteLoopbackMode is NULL
2748 VOS_STATUS_SUCCESS: Success
2749
2750 SIDE EFFECTS
2751
2752----------------------------------------------------------------------------*/
2753VOS_STATUS
2754WLAN_BAPWriteLoopbackMode
2755(
2756 ptBtampHandle btampHandle,
2757 tBtampTLVHCI_Write_Loopback_Mode_Cmd *pBapHCIWriteLoopbackMode,
2758 tpBtampHCI_Event pBapHCIEvent /* This now encodes ALL event types */
2759 /* Including Command Complete and Command Status*/
2760);
2761
2762
2763/*----------------------------------------------------------------------------
2764
2765 FUNCTION WLAN_BAPSetConfig()
2766
2767 DESCRIPTION
2768 The function updates some configuration for BAP module in SME during SMEs
2769 close -> open sequence.
2770
2771 BAP applies the new configuration at the next transaction.
2772
2773
2774 DEPENDENCIES
2775 NA.
2776
2777 PARAMETERS
2778
2779 IN
2780 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
2781 pBapHCIReadRSSI: pointer to the "HCI Read RSSI" structure.
2782
2783 IN
2784 pConfig: a pointer to a caller allocated object of typedef struct WLANBAP_ConfigType.
2785
2786 RETURN VALUE
2787 The result code associated with performing the operation
2788
2789 VOS_STATUS_E_FAULT: pConfig or btampHandle is NULL
2790 VOS_STATUS_SUCCESS: Success
2791
2792 SIDE EFFECTS
2793
2794----------------------------------------------------------------------------*/
2795VOS_STATUS
2796WLAN_BAPSetConfig
2797(
2798 ptBtampHandle btampHandle,
2799 WLANBAP_ConfigType *pConfig
2800);
2801
2802/*===========================================================================
2803
2804 FUNCTION WLANBAP_GetAcFromTxDataPkt
2805
2806 DESCRIPTION
2807
2808 HDD will call this API when it has a HCI Data Packet (SKB) and it wants
2809 to find AC type of the data frame from the HCI header on the data pkt
2810 - to be send using TL.
2811
2812
2813 PARAMETERS
2814
2815 btampHandle: The BT-AMP PAL handle returned in WLANBAP_GetNewHndl.
2816
2817 pHciData: Pointer to the HCI data frame
2818
2819 pucAC: Pointer to return the access category
2820
2821 RETURN VALUE
2822
2823 The result code associated with performing the operation
2824
2825 VOS_STATUS_E_INVAL: Input parameters are invalid
2826 VOS_STATUS_E_FAULT: BAP handle is NULL
2827 VOS_STATUS_SUCCESS: Everything is good :)
2828
2829 SIDE EFFECTS
2830
2831============================================================================*/
2832VOS_STATUS
2833WLANBAP_GetAcFromTxDataPkt
2834(
2835 ptBtampHandle btampHandle, /* Used by BAP to identify the actual session
2836 and therefore addresses */
2837 void *pHciData, /* Pointer to the HCI data frame */
2838 WLANTL_ACEnumType *pucAC /* Return the AC here */
2839);
2840
2841/*----------------------------------------------------------------------------
2842
2843 FUNCTION WLAN_BAPGetMask()
2844
2845 DESCRIPTION
2846 The function gets the updated event mask from BAP core.
2847
2848
2849
2850 DEPENDENCIES
2851 NA.
2852
2853 PARAMETERS
2854
2855 IN
2856 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
2857
2858
2859 IN
2860 pEvent_mask_page_2: a pointer to a caller allocated object of 8 bytes.
2861
2862 RETURN VALUE
2863 The result code associated with performing the operation
2864
2865 VOS_STATUS_E_FAULT: pEvent_mask_page_2 or btampHandle is NULL
2866 VOS_STATUS_SUCCESS: Success
2867
2868 SIDE EFFECTS
2869
2870----------------------------------------------------------------------------*/
2871VOS_STATUS
2872WLAN_BAPGetMask( ptBtampHandle btampHandle,
2873 v_U8_t *pEvent_mask_page_2);
2874
2875/*----------------------------------------------------------------------------
2876
2877 FUNCTION WLAN_BAPDisconnect()
2878
2879 DESCRIPTION
2880 The function to request to BAP core to disconnect currecnt AMP connection.
2881
2882
2883
2884 DEPENDENCIES
2885 NA.
2886
2887 PARAMETERS
2888
2889 IN
2890 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
2891
2892
2893 RETURN VALUE
2894 The result code associated with performing the operation
2895
2896 VOS_STATUS_E_FAULT: btampHandle is NULL
2897 VOS_STATUS_SUCCESS: Success
2898
2899 SIDE EFFECTS
2900
2901----------------------------------------------------------------------------*/
2902VOS_STATUS
2903WLAN_BAPDisconnect
2904(
2905 ptBtampHandle btampHandle
2906);
2907
2908/*----------------------------------------------------------------------------
2909
2910 FUNCTION WLAN_BAPSessionOn()
2911
2912 DESCRIPTION
2913 The function to check from BAP core if AMP connection is up right now.
2914
2915
2916
2917 DEPENDENCIES
2918 NA.
2919
2920 PARAMETERS
2921
2922 IN
2923 btampHandle: pointer to the BAP handle. Returned from WLANBAP_GetNewHndl.
2924
2925
2926 RETURN VALUE
2927 The result code associated with performing the operation
2928
2929 VOS_TRUE: AMP connection is on
2930 VOS_FALSE: AMP connection is not on
2931
2932 SIDE EFFECTS
2933
2934----------------------------------------------------------------------------*/
2935v_BOOL_t WLAN_BAPSessionOn
2936(
2937 ptBtampHandle btampHandle
2938);
2939
2940#ifdef __cplusplus
2941 }
2942#endif
2943
2944
2945#endif /* #ifndef WLAN_QCT_WLANBAP_H */
2946