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