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