The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.
Dependents: hello SerialTestv11 SerialTestv12 Sierpinski ... more
mbed 2
This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.
TARGET_ARM_BEETLE_SOC/TOOLCHAIN_ARM_STD/hci_api.h@172:65be27845400, 2019-02-20 (annotated)
- Committer:
- AnnaBridge
- Date:
- Wed Feb 20 20:53:29 2019 +0000
- Revision:
- 172:65be27845400
- Parent:
- 171:3a7713b1edbc
mbed library release version 165
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
AnnaBridge | 171:3a7713b1edbc | 1 | /*************************************************************************************************/ |
AnnaBridge | 171:3a7713b1edbc | 2 | /*! |
AnnaBridge | 171:3a7713b1edbc | 3 | * \file hci_api.h |
AnnaBridge | 171:3a7713b1edbc | 4 | * |
AnnaBridge | 171:3a7713b1edbc | 5 | * \brief HCI subsystem API. |
AnnaBridge | 171:3a7713b1edbc | 6 | * |
AnnaBridge | 171:3a7713b1edbc | 7 | * $Date: 2016-04-05 14:14:53 -0700 (Tue, 05 Apr 2016) $ |
AnnaBridge | 171:3a7713b1edbc | 8 | * $Revision: 6646 $ |
AnnaBridge | 171:3a7713b1edbc | 9 | * |
AnnaBridge | 171:3a7713b1edbc | 10 | * Copyright (c) 2009 Wicentric, Inc., all rights reserved. |
AnnaBridge | 171:3a7713b1edbc | 11 | * Wicentric confidential and proprietary. |
AnnaBridge | 171:3a7713b1edbc | 12 | * |
AnnaBridge | 171:3a7713b1edbc | 13 | * IMPORTANT. Your use of this file is governed by a Software License Agreement |
AnnaBridge | 171:3a7713b1edbc | 14 | * ("Agreement") that must be accepted in order to download or otherwise receive a |
AnnaBridge | 171:3a7713b1edbc | 15 | * copy of this file. You may not use or copy this file for any purpose other than |
AnnaBridge | 171:3a7713b1edbc | 16 | * as described in the Agreement. If you do not agree to all of the terms of the |
AnnaBridge | 171:3a7713b1edbc | 17 | * Agreement do not use this file and delete all copies in your possession or control; |
AnnaBridge | 171:3a7713b1edbc | 18 | * if you do not have a copy of the Agreement, you must contact Wicentric, Inc. prior |
AnnaBridge | 171:3a7713b1edbc | 19 | * to any use, copying or further distribution of this software. |
AnnaBridge | 171:3a7713b1edbc | 20 | */ |
AnnaBridge | 171:3a7713b1edbc | 21 | /*************************************************************************************************/ |
AnnaBridge | 171:3a7713b1edbc | 22 | #ifndef HCI_API_H |
AnnaBridge | 171:3a7713b1edbc | 23 | #define HCI_API_H |
AnnaBridge | 171:3a7713b1edbc | 24 | |
AnnaBridge | 171:3a7713b1edbc | 25 | #include "wsf_types.h" |
AnnaBridge | 171:3a7713b1edbc | 26 | #include "hci_defs.h" |
AnnaBridge | 171:3a7713b1edbc | 27 | #include "wsf_os.h" |
AnnaBridge | 171:3a7713b1edbc | 28 | #include "bda.h" |
AnnaBridge | 171:3a7713b1edbc | 29 | |
AnnaBridge | 171:3a7713b1edbc | 30 | #ifdef __cplusplus |
AnnaBridge | 171:3a7713b1edbc | 31 | extern "C" { |
AnnaBridge | 171:3a7713b1edbc | 32 | #endif |
AnnaBridge | 171:3a7713b1edbc | 33 | |
AnnaBridge | 171:3a7713b1edbc | 34 | /************************************************************************************************** |
AnnaBridge | 171:3a7713b1edbc | 35 | Macros |
AnnaBridge | 171:3a7713b1edbc | 36 | **************************************************************************************************/ |
AnnaBridge | 171:3a7713b1edbc | 37 | |
AnnaBridge | 171:3a7713b1edbc | 38 | /*! Internal event values for the HCI event and sec callbacks */ |
AnnaBridge | 171:3a7713b1edbc | 39 | #define HCI_RESET_SEQ_CMPL_CBACK_EVT 0 /*! Reset sequence complete */ |
AnnaBridge | 171:3a7713b1edbc | 40 | #define HCI_LE_CONN_CMPL_CBACK_EVT 1 /*! LE connection complete */ |
AnnaBridge | 171:3a7713b1edbc | 41 | #define HCI_LE_ENHANCED_CONN_CMPL_CBACK_EVT 2 /*! LE enhanced connection complete */ |
AnnaBridge | 171:3a7713b1edbc | 42 | #define HCI_DISCONNECT_CMPL_CBACK_EVT 3 /*! LE disconnect complete */ |
AnnaBridge | 171:3a7713b1edbc | 43 | #define HCI_LE_CONN_UPDATE_CMPL_CBACK_EVT 4 /*! LE connection update complete */ |
AnnaBridge | 171:3a7713b1edbc | 44 | #define HCI_LE_CREATE_CONN_CANCEL_CMD_CMPL_CBACK_EVT 5 /*! LE create connection cancel command complete */ |
AnnaBridge | 171:3a7713b1edbc | 45 | #define HCI_LE_ADV_REPORT_CBACK_EVT 6 /*! LE advertising report */ |
AnnaBridge | 171:3a7713b1edbc | 46 | #define HCI_READ_RSSI_CMD_CMPL_CBACK_EVT 7 /*! Read RSSI command complete */ |
AnnaBridge | 171:3a7713b1edbc | 47 | #define HCI_LE_READ_CHAN_MAP_CMD_CMPL_CBACK_EVT 8 /*! LE Read channel map command complete */ |
AnnaBridge | 171:3a7713b1edbc | 48 | #define HCI_READ_TX_PWR_LVL_CMD_CMPL_CBACK_EVT 9 /*! Read transmit power level command complete */ |
AnnaBridge | 171:3a7713b1edbc | 49 | #define HCI_READ_REMOTE_VER_INFO_CMPL_CBACK_EVT 10 /*! Read remote version information complete */ |
AnnaBridge | 171:3a7713b1edbc | 50 | #define HCI_LE_READ_REMOTE_FEAT_CMPL_CBACK_EVT 11 /*! LE read remote features complete */ |
AnnaBridge | 171:3a7713b1edbc | 51 | #define HCI_LE_LTK_REQ_REPL_CMD_CMPL_CBACK_EVT 12 /*! LE LTK request reply command complete */ |
AnnaBridge | 171:3a7713b1edbc | 52 | #define HCI_LE_LTK_REQ_NEG_REPL_CMD_CMPL_CBACK_EVT 13 /*! LE LTK request negative reply command complete */ |
AnnaBridge | 171:3a7713b1edbc | 53 | #define HCI_ENC_KEY_REFRESH_CMPL_CBACK_EVT 14 /*! Encryption key refresh complete */ |
AnnaBridge | 171:3a7713b1edbc | 54 | #define HCI_ENC_CHANGE_CBACK_EVT 15 /*! Encryption change */ |
AnnaBridge | 171:3a7713b1edbc | 55 | #define HCI_LE_LTK_REQ_CBACK_EVT 16 /*! LE LTK request */ |
AnnaBridge | 171:3a7713b1edbc | 56 | #define HCI_VENDOR_SPEC_CMD_STATUS_CBACK_EVT 17 /*! Vendor specific command status */ |
AnnaBridge | 171:3a7713b1edbc | 57 | #define HCI_VENDOR_SPEC_CMD_CMPL_CBACK_EVT 18 /*! Vendor specific command complete */ |
AnnaBridge | 171:3a7713b1edbc | 58 | #define HCI_VENDOR_SPEC_CBACK_EVT 19 /*! Vendor specific */ |
AnnaBridge | 171:3a7713b1edbc | 59 | #define HCI_HW_ERROR_CBACK_EVT 20 /*! Hardware error */ |
AnnaBridge | 171:3a7713b1edbc | 60 | #define HCI_LE_ADD_DEV_TO_RES_LIST_CMD_CMPL_CBACK_EVT 21 /*! LE add device to resolving list command complete */ |
AnnaBridge | 171:3a7713b1edbc | 61 | #define HCI_LE_REM_DEV_FROM_RES_LIST_CMD_CMPL_CBACK_EVT 22 /*! LE remove device from resolving command complete */ |
AnnaBridge | 171:3a7713b1edbc | 62 | #define HCI_LE_CLEAR_RES_LIST_CMD_CMPL_CBACK_EVT 23 /*! LE clear resolving list command complete */ |
AnnaBridge | 171:3a7713b1edbc | 63 | #define HCI_LE_READ_PEER_RES_ADDR_CMD_CMPL_CBACK_EVT 24 /*! LE read peer resolving address command complete */ |
AnnaBridge | 171:3a7713b1edbc | 64 | #define HCI_LE_READ_LOCAL_RES_ADDR_CMD_CMPL_CBACK_EVT 25 /*! LE read local resolving address command complete */ |
AnnaBridge | 171:3a7713b1edbc | 65 | #define HCI_LE_SET_ADDR_RES_ENABLE_CMD_CMPL_CBACK_EVT 26 /*! LE set address resolving enable command complete */ |
AnnaBridge | 171:3a7713b1edbc | 66 | #define HCI_LE_ENCRYPT_CMD_CMPL_CBACK_EVT 27 /*! LE encrypt command complete */ |
AnnaBridge | 171:3a7713b1edbc | 67 | #define HCI_LE_RAND_CMD_CMPL_CBACK_EVT 28 /*! LE rand command complete */ |
AnnaBridge | 171:3a7713b1edbc | 68 | #define HCI_LE_REM_CONN_PARAM_REP_CMD_CMPL_CBACK_EVT 29 /*! LE remote connection parameter request reply complete */ |
AnnaBridge | 171:3a7713b1edbc | 69 | #define HCI_LE_REM_CONN_PARAM_NEG_REP_CMD_CMPL_CBACK_EVT 30 /*! LE remote connection parameter request negative reply complete */ |
AnnaBridge | 171:3a7713b1edbc | 70 | #define HCI_LE_READ_DEF_DATA_LEN_CMD_CMPL_CBACK_EVT 31 /*! LE read suggested default data length command complete */ |
AnnaBridge | 171:3a7713b1edbc | 71 | #define HCI_LE_WRITE_DEF_DATA_LEN_CMD_CMPL_CBACK_EVT 32 /*! LE write suggested default data length command complete */ |
AnnaBridge | 171:3a7713b1edbc | 72 | #define HCI_LE_SET_DATA_LEN_CMD_CMPL_CBACK_EVT 33 /*! LE set data length command complete */ |
AnnaBridge | 171:3a7713b1edbc | 73 | #define HCI_LE_READ_MAX_DATA_LEN_CMD_CMPL_CBACK_EVT 34 /*! LE read maximum data length command complete */ |
AnnaBridge | 171:3a7713b1edbc | 74 | #define HCI_LE_REM_CONN_PARAM_REQ_CBACK_EVT 35 /*! LE remote connection parameter request */ |
AnnaBridge | 171:3a7713b1edbc | 75 | #define HCI_LE_DATA_LEN_CHANGE_CBACK_EVT 36 /*! LE data length change */ |
AnnaBridge | 171:3a7713b1edbc | 76 | #define HCI_LE_READ_LOCAL_P256_PUB_KEY_CMPL_CBACK_EVT 37 /*! LE read local P-256 public key */ |
AnnaBridge | 171:3a7713b1edbc | 77 | #define HCI_LE_GENERATE_DHKEY_CMPL_CBACK_EVT 38 /*! LE generate DHKey complete */ |
AnnaBridge | 171:3a7713b1edbc | 78 | #define HCI_WRITE_AUTH_PAYLOAD_TO_CMD_CMPL_CBACK_EVT 39 /*! Write authenticated payload timeout command complete */ |
AnnaBridge | 171:3a7713b1edbc | 79 | #define HCI_AUTH_PAYLOAD_TO_EXPIRED_CBACK_EVT 40 /*! Authenticated payload timeout expired event */ |
AnnaBridge | 171:3a7713b1edbc | 80 | |
AnnaBridge | 171:3a7713b1edbc | 81 | /************************************************************************************************** |
AnnaBridge | 171:3a7713b1edbc | 82 | Data Types |
AnnaBridge | 171:3a7713b1edbc | 83 | **************************************************************************************************/ |
AnnaBridge | 171:3a7713b1edbc | 84 | |
AnnaBridge | 171:3a7713b1edbc | 85 | /*! Connection specification type */ |
AnnaBridge | 171:3a7713b1edbc | 86 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 87 | { |
AnnaBridge | 171:3a7713b1edbc | 88 | uint16_t connIntervalMin; |
AnnaBridge | 171:3a7713b1edbc | 89 | uint16_t connIntervalMax; |
AnnaBridge | 171:3a7713b1edbc | 90 | uint16_t connLatency; |
AnnaBridge | 171:3a7713b1edbc | 91 | uint16_t supTimeout; |
AnnaBridge | 171:3a7713b1edbc | 92 | uint16_t minCeLen; |
AnnaBridge | 171:3a7713b1edbc | 93 | uint16_t maxCeLen; |
AnnaBridge | 171:3a7713b1edbc | 94 | } hciConnSpec_t; |
AnnaBridge | 171:3a7713b1edbc | 95 | |
AnnaBridge | 171:3a7713b1edbc | 96 | /*! LE connection complete event */ |
AnnaBridge | 171:3a7713b1edbc | 97 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 98 | { |
AnnaBridge | 171:3a7713b1edbc | 99 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 100 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 101 | uint16_t handle; |
AnnaBridge | 171:3a7713b1edbc | 102 | uint8_t role; |
AnnaBridge | 171:3a7713b1edbc | 103 | uint8_t addrType; |
AnnaBridge | 171:3a7713b1edbc | 104 | bdAddr_t peerAddr; |
AnnaBridge | 171:3a7713b1edbc | 105 | uint16_t connInterval; |
AnnaBridge | 171:3a7713b1edbc | 106 | uint16_t connLatency; |
AnnaBridge | 171:3a7713b1edbc | 107 | uint16_t supTimeout; |
AnnaBridge | 171:3a7713b1edbc | 108 | uint8_t clockAccuracy; |
AnnaBridge | 171:3a7713b1edbc | 109 | |
AnnaBridge | 171:3a7713b1edbc | 110 | /* enhanced fields */ |
AnnaBridge | 171:3a7713b1edbc | 111 | bdAddr_t localRpa; |
AnnaBridge | 171:3a7713b1edbc | 112 | bdAddr_t peerRpa; |
AnnaBridge | 171:3a7713b1edbc | 113 | } hciLeConnCmplEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 114 | |
AnnaBridge | 171:3a7713b1edbc | 115 | /*! Disconnect complete event */ |
AnnaBridge | 171:3a7713b1edbc | 116 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 117 | { |
AnnaBridge | 171:3a7713b1edbc | 118 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 119 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 120 | uint16_t handle; |
AnnaBridge | 171:3a7713b1edbc | 121 | uint8_t reason; |
AnnaBridge | 171:3a7713b1edbc | 122 | } hciDisconnectCmplEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 123 | |
AnnaBridge | 171:3a7713b1edbc | 124 | /*! LE connection update complete event */ |
AnnaBridge | 171:3a7713b1edbc | 125 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 126 | { |
AnnaBridge | 171:3a7713b1edbc | 127 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 128 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 129 | uint16_t handle; |
AnnaBridge | 171:3a7713b1edbc | 130 | uint16_t connInterval; |
AnnaBridge | 171:3a7713b1edbc | 131 | uint16_t connLatency; |
AnnaBridge | 171:3a7713b1edbc | 132 | uint16_t supTimeout; |
AnnaBridge | 171:3a7713b1edbc | 133 | } hciLeConnUpdateCmplEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 134 | |
AnnaBridge | 171:3a7713b1edbc | 135 | /*! LE create connection cancel command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 136 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 137 | { |
AnnaBridge | 171:3a7713b1edbc | 138 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 139 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 140 | } hciLeCreateConnCancelCmdCmplEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 141 | |
AnnaBridge | 171:3a7713b1edbc | 142 | /*! LE advertising report event */ |
AnnaBridge | 171:3a7713b1edbc | 143 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 144 | { |
AnnaBridge | 171:3a7713b1edbc | 145 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 146 | uint8_t *pData; |
AnnaBridge | 171:3a7713b1edbc | 147 | uint8_t len; |
AnnaBridge | 171:3a7713b1edbc | 148 | int8_t rssi; |
AnnaBridge | 171:3a7713b1edbc | 149 | uint8_t eventType; |
AnnaBridge | 171:3a7713b1edbc | 150 | uint8_t addrType; |
AnnaBridge | 171:3a7713b1edbc | 151 | bdAddr_t addr; |
AnnaBridge | 171:3a7713b1edbc | 152 | |
AnnaBridge | 171:3a7713b1edbc | 153 | /* direct fields */ |
AnnaBridge | 171:3a7713b1edbc | 154 | uint8_t directAddrType; |
AnnaBridge | 171:3a7713b1edbc | 155 | bdAddr_t directAddr; |
AnnaBridge | 171:3a7713b1edbc | 156 | } hciLeAdvReportEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 157 | |
AnnaBridge | 171:3a7713b1edbc | 158 | /*! Read RSSI command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 159 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 160 | { |
AnnaBridge | 171:3a7713b1edbc | 161 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 162 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 163 | uint16_t handle; |
AnnaBridge | 171:3a7713b1edbc | 164 | int8_t rssi; |
AnnaBridge | 171:3a7713b1edbc | 165 | } hciReadRssiCmdCmplEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 166 | |
AnnaBridge | 171:3a7713b1edbc | 167 | /*! LE Read channel map command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 168 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 169 | { |
AnnaBridge | 171:3a7713b1edbc | 170 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 171 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 172 | uint16_t handle; |
AnnaBridge | 171:3a7713b1edbc | 173 | uint8_t chanMap[HCI_CHAN_MAP_LEN]; |
AnnaBridge | 171:3a7713b1edbc | 174 | } hciReadChanMapCmdCmplEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 175 | |
AnnaBridge | 171:3a7713b1edbc | 176 | /*! Read transmit power level command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 177 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 178 | { |
AnnaBridge | 171:3a7713b1edbc | 179 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 180 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 181 | uint8_t handle; |
AnnaBridge | 171:3a7713b1edbc | 182 | int8_t pwrLvl; |
AnnaBridge | 171:3a7713b1edbc | 183 | } hciReadTxPwrLvlCmdCmplEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 184 | |
AnnaBridge | 171:3a7713b1edbc | 185 | /*! Read remote version information complete event */ |
AnnaBridge | 171:3a7713b1edbc | 186 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 187 | { |
AnnaBridge | 171:3a7713b1edbc | 188 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 189 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 190 | uint16_t handle; |
AnnaBridge | 171:3a7713b1edbc | 191 | uint8_t version; |
AnnaBridge | 171:3a7713b1edbc | 192 | uint16_t mfrName; |
AnnaBridge | 171:3a7713b1edbc | 193 | uint16_t subversion; |
AnnaBridge | 171:3a7713b1edbc | 194 | } hciReadRemoteVerInfoCmplEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 195 | |
AnnaBridge | 171:3a7713b1edbc | 196 | /*! LE read remote features complete event */ |
AnnaBridge | 171:3a7713b1edbc | 197 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 198 | { |
AnnaBridge | 171:3a7713b1edbc | 199 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 200 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 201 | uint16_t handle; |
AnnaBridge | 171:3a7713b1edbc | 202 | uint8_t features[HCI_FEAT_LEN]; |
AnnaBridge | 171:3a7713b1edbc | 203 | } hciLeReadRemoteFeatCmplEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 204 | |
AnnaBridge | 171:3a7713b1edbc | 205 | /*! LE LTK request reply command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 206 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 207 | { |
AnnaBridge | 171:3a7713b1edbc | 208 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 209 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 210 | uint16_t handle; |
AnnaBridge | 171:3a7713b1edbc | 211 | } hciLeLtkReqReplCmdCmplEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 212 | |
AnnaBridge | 171:3a7713b1edbc | 213 | /*! LE LTK request negative reply command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 214 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 215 | { |
AnnaBridge | 171:3a7713b1edbc | 216 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 217 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 218 | uint16_t handle; |
AnnaBridge | 171:3a7713b1edbc | 219 | } hciLeLtkReqNegReplCmdCmplEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 220 | |
AnnaBridge | 171:3a7713b1edbc | 221 | /*! Encryption key refresh complete event */ |
AnnaBridge | 171:3a7713b1edbc | 222 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 223 | { |
AnnaBridge | 171:3a7713b1edbc | 224 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 225 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 226 | uint16_t handle; |
AnnaBridge | 171:3a7713b1edbc | 227 | } hciEncKeyRefreshCmpl_t; |
AnnaBridge | 171:3a7713b1edbc | 228 | |
AnnaBridge | 171:3a7713b1edbc | 229 | /*! Encryption change event */ |
AnnaBridge | 171:3a7713b1edbc | 230 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 231 | { |
AnnaBridge | 171:3a7713b1edbc | 232 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 233 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 234 | uint16_t handle; |
AnnaBridge | 171:3a7713b1edbc | 235 | uint8_t enabled; |
AnnaBridge | 171:3a7713b1edbc | 236 | } hciEncChangeEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 237 | |
AnnaBridge | 171:3a7713b1edbc | 238 | /*! LE LTK request event */ |
AnnaBridge | 171:3a7713b1edbc | 239 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 240 | { |
AnnaBridge | 171:3a7713b1edbc | 241 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 242 | uint16_t handle; |
AnnaBridge | 171:3a7713b1edbc | 243 | uint8_t randNum[HCI_RAND_LEN]; |
AnnaBridge | 171:3a7713b1edbc | 244 | uint16_t encDiversifier; |
AnnaBridge | 171:3a7713b1edbc | 245 | } hciLeLtkReqEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 246 | |
AnnaBridge | 171:3a7713b1edbc | 247 | /*! Vendor specific command status event */ |
AnnaBridge | 171:3a7713b1edbc | 248 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 249 | { |
AnnaBridge | 171:3a7713b1edbc | 250 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 251 | uint16_t opcode; |
AnnaBridge | 171:3a7713b1edbc | 252 | } hciVendorSpecCmdStatusEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 253 | |
AnnaBridge | 171:3a7713b1edbc | 254 | /*! Vendor specific command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 255 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 256 | { |
AnnaBridge | 171:3a7713b1edbc | 257 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 258 | uint16_t opcode; |
AnnaBridge | 171:3a7713b1edbc | 259 | uint8_t param[1]; |
AnnaBridge | 171:3a7713b1edbc | 260 | } hciVendorSpecCmdCmplEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 261 | |
AnnaBridge | 171:3a7713b1edbc | 262 | /*! Vendor specific event */ |
AnnaBridge | 171:3a7713b1edbc | 263 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 264 | { |
AnnaBridge | 171:3a7713b1edbc | 265 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 266 | uint8_t param[1]; |
AnnaBridge | 171:3a7713b1edbc | 267 | } hciVendorSpecEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 268 | |
AnnaBridge | 171:3a7713b1edbc | 269 | /*! Hardware error event */ |
AnnaBridge | 171:3a7713b1edbc | 270 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 271 | { |
AnnaBridge | 171:3a7713b1edbc | 272 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 273 | uint8_t code; |
AnnaBridge | 171:3a7713b1edbc | 274 | } hciHwErrorEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 275 | |
AnnaBridge | 171:3a7713b1edbc | 276 | /*! LE encrypt command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 277 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 278 | { |
AnnaBridge | 171:3a7713b1edbc | 279 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 280 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 281 | uint8_t data[HCI_ENCRYPT_DATA_LEN]; |
AnnaBridge | 171:3a7713b1edbc | 282 | } hciLeEncryptCmdCmplEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 283 | |
AnnaBridge | 171:3a7713b1edbc | 284 | /*! LE rand command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 285 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 286 | { |
AnnaBridge | 171:3a7713b1edbc | 287 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 288 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 289 | uint8_t randNum[HCI_RAND_LEN]; |
AnnaBridge | 171:3a7713b1edbc | 290 | } hciLeRandCmdCmplEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 291 | |
AnnaBridge | 171:3a7713b1edbc | 292 | /*! LE remote connection parameter request reply command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 293 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 294 | { |
AnnaBridge | 171:3a7713b1edbc | 295 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 296 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 297 | uint16_t handle; |
AnnaBridge | 171:3a7713b1edbc | 298 | } hciLeRemConnParamRepEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 299 | |
AnnaBridge | 171:3a7713b1edbc | 300 | /*! LE remote connection parameter request negative reply command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 301 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 302 | { |
AnnaBridge | 171:3a7713b1edbc | 303 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 304 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 305 | uint16_t handle; |
AnnaBridge | 171:3a7713b1edbc | 306 | } hciLeRemConnParamNegRepEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 307 | |
AnnaBridge | 171:3a7713b1edbc | 308 | /*! LE read suggested default data len command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 309 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 310 | { |
AnnaBridge | 171:3a7713b1edbc | 311 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 312 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 313 | uint16_t suggestedMaxTxOctets; |
AnnaBridge | 171:3a7713b1edbc | 314 | uint16_t suggestedMaxTxTime; |
AnnaBridge | 171:3a7713b1edbc | 315 | } hciLeReadDefDataLenEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 316 | |
AnnaBridge | 171:3a7713b1edbc | 317 | /*! LE write suggested default data len command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 318 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 319 | { |
AnnaBridge | 171:3a7713b1edbc | 320 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 321 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 322 | } hciLeWriteDefDataLenEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 323 | |
AnnaBridge | 171:3a7713b1edbc | 324 | /*! LE set data len command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 325 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 326 | { |
AnnaBridge | 171:3a7713b1edbc | 327 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 328 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 329 | uint16_t handle; |
AnnaBridge | 171:3a7713b1edbc | 330 | } hciLeSetDataLenEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 331 | |
AnnaBridge | 171:3a7713b1edbc | 332 | /*! LE read maximum data len command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 333 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 334 | { |
AnnaBridge | 171:3a7713b1edbc | 335 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 336 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 337 | uint16_t supportedMaxTxOctets; |
AnnaBridge | 171:3a7713b1edbc | 338 | uint16_t supportedMaxTxTime; |
AnnaBridge | 171:3a7713b1edbc | 339 | uint16_t supportedMaxRxOctets; |
AnnaBridge | 171:3a7713b1edbc | 340 | uint16_t supportedMaxRxTime; |
AnnaBridge | 171:3a7713b1edbc | 341 | } hciLeReadMaxDataLenEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 342 | |
AnnaBridge | 171:3a7713b1edbc | 343 | /*! LE remote connetion parameter request event */ |
AnnaBridge | 171:3a7713b1edbc | 344 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 345 | { |
AnnaBridge | 171:3a7713b1edbc | 346 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 347 | uint16_t handle; |
AnnaBridge | 171:3a7713b1edbc | 348 | uint16_t intervalMin; |
AnnaBridge | 171:3a7713b1edbc | 349 | uint16_t intervalMax; |
AnnaBridge | 171:3a7713b1edbc | 350 | uint16_t latency; |
AnnaBridge | 171:3a7713b1edbc | 351 | uint16_t timeout; |
AnnaBridge | 171:3a7713b1edbc | 352 | } hciLeRemConnParamReqEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 353 | |
AnnaBridge | 171:3a7713b1edbc | 354 | /*! LE data length change event */ |
AnnaBridge | 171:3a7713b1edbc | 355 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 356 | { |
AnnaBridge | 171:3a7713b1edbc | 357 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 358 | uint16_t handle; |
AnnaBridge | 171:3a7713b1edbc | 359 | uint16_t maxTxOctets; |
AnnaBridge | 171:3a7713b1edbc | 360 | uint16_t maxTxTime; |
AnnaBridge | 171:3a7713b1edbc | 361 | uint16_t maxRxOctets; |
AnnaBridge | 171:3a7713b1edbc | 362 | uint16_t maxRxTime; |
AnnaBridge | 171:3a7713b1edbc | 363 | } hciLeDataLenChangeEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 364 | |
AnnaBridge | 171:3a7713b1edbc | 365 | /*! LE local p256 ecc key command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 366 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 367 | { |
AnnaBridge | 171:3a7713b1edbc | 368 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 369 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 370 | uint8_t key[HCI_P256_KEY_LEN]; |
AnnaBridge | 171:3a7713b1edbc | 371 | } hciLeP256CmplEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 372 | |
AnnaBridge | 171:3a7713b1edbc | 373 | /*! LE generate DH key command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 374 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 375 | { |
AnnaBridge | 171:3a7713b1edbc | 376 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 377 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 378 | uint8_t key[HCI_DH_KEY_LEN]; |
AnnaBridge | 171:3a7713b1edbc | 379 | } hciLeGenDhKeyEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 380 | |
AnnaBridge | 171:3a7713b1edbc | 381 | /*! LE read peer resolving address command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 382 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 383 | { |
AnnaBridge | 171:3a7713b1edbc | 384 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 385 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 386 | uint8_t peerRpa[BDA_ADDR_LEN]; |
AnnaBridge | 171:3a7713b1edbc | 387 | } hciLeReadPeerResAddrCmdCmplEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 388 | |
AnnaBridge | 171:3a7713b1edbc | 389 | /*! LE read local resolving address command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 390 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 391 | { |
AnnaBridge | 171:3a7713b1edbc | 392 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 393 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 394 | uint8_t localRpa[BDA_ADDR_LEN]; |
AnnaBridge | 171:3a7713b1edbc | 395 | } hciLeReadLocalResAddrCmdCmplEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 396 | |
AnnaBridge | 171:3a7713b1edbc | 397 | /*! LE set address resolving enable command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 398 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 399 | { |
AnnaBridge | 171:3a7713b1edbc | 400 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 401 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 402 | } hciLeSetAddrResEnableCmdCmplEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 403 | |
AnnaBridge | 171:3a7713b1edbc | 404 | /*! LE add device to resolving list command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 405 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 406 | { |
AnnaBridge | 171:3a7713b1edbc | 407 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 408 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 409 | } hciLeAddDevToResListCmdCmplEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 410 | |
AnnaBridge | 171:3a7713b1edbc | 411 | /*! LE remove device from resolving list command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 412 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 413 | { |
AnnaBridge | 171:3a7713b1edbc | 414 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 415 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 416 | } hciLeRemDevFromResListCmdCmplEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 417 | |
AnnaBridge | 171:3a7713b1edbc | 418 | /*! LE clear resolving list command complete event */ |
AnnaBridge | 171:3a7713b1edbc | 419 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 420 | { |
AnnaBridge | 171:3a7713b1edbc | 421 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 422 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 423 | } hciLeClearResListCmdCmplEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 424 | |
AnnaBridge | 171:3a7713b1edbc | 425 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 426 | { |
AnnaBridge | 171:3a7713b1edbc | 427 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 428 | uint8_t status; |
AnnaBridge | 171:3a7713b1edbc | 429 | uint16_t handle; |
AnnaBridge | 171:3a7713b1edbc | 430 | } hciWriteAuthPayloadToCmdCmplEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 431 | |
AnnaBridge | 171:3a7713b1edbc | 432 | typedef struct |
AnnaBridge | 171:3a7713b1edbc | 433 | { |
AnnaBridge | 171:3a7713b1edbc | 434 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 435 | uint16_t handle; |
AnnaBridge | 171:3a7713b1edbc | 436 | } hciAuthPayloadToExpiredEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 437 | |
AnnaBridge | 171:3a7713b1edbc | 438 | /*! Union of all event types */ |
AnnaBridge | 171:3a7713b1edbc | 439 | typedef union |
AnnaBridge | 171:3a7713b1edbc | 440 | { |
AnnaBridge | 171:3a7713b1edbc | 441 | wsfMsgHdr_t hdr; |
AnnaBridge | 171:3a7713b1edbc | 442 | wsfMsgHdr_t resetSeqCmpl; |
AnnaBridge | 171:3a7713b1edbc | 443 | hciLeConnCmplEvt_t leConnCmpl; |
AnnaBridge | 171:3a7713b1edbc | 444 | hciDisconnectCmplEvt_t disconnectCmpl; |
AnnaBridge | 171:3a7713b1edbc | 445 | hciLeConnUpdateCmplEvt_t leConnUpdateCmpl; |
AnnaBridge | 171:3a7713b1edbc | 446 | hciLeCreateConnCancelCmdCmplEvt_t leCreateConnCancelCmdCmpl; |
AnnaBridge | 171:3a7713b1edbc | 447 | hciLeAdvReportEvt_t leAdvReport; |
AnnaBridge | 171:3a7713b1edbc | 448 | hciReadRssiCmdCmplEvt_t readRssiCmdCmpl; |
AnnaBridge | 171:3a7713b1edbc | 449 | hciReadChanMapCmdCmplEvt_t readChanMapCmdCmpl; |
AnnaBridge | 171:3a7713b1edbc | 450 | hciReadTxPwrLvlCmdCmplEvt_t readTxPwrLvlCmdCmpl; |
AnnaBridge | 171:3a7713b1edbc | 451 | hciReadRemoteVerInfoCmplEvt_t readRemoteVerInfoCmpl; |
AnnaBridge | 171:3a7713b1edbc | 452 | hciLeReadRemoteFeatCmplEvt_t leReadRemoteFeatCmpl; |
AnnaBridge | 171:3a7713b1edbc | 453 | hciLeLtkReqReplCmdCmplEvt_t leLtkReqReplCmdCmpl; |
AnnaBridge | 171:3a7713b1edbc | 454 | hciLeLtkReqNegReplCmdCmplEvt_t leLtkReqNegReplCmdCmpl; |
AnnaBridge | 171:3a7713b1edbc | 455 | hciEncKeyRefreshCmpl_t encKeyRefreshCmpl; |
AnnaBridge | 171:3a7713b1edbc | 456 | hciEncChangeEvt_t encChange; |
AnnaBridge | 171:3a7713b1edbc | 457 | hciLeLtkReqEvt_t leLtkReq; |
AnnaBridge | 171:3a7713b1edbc | 458 | hciVendorSpecCmdStatusEvt_t vendorSpecCmdStatus; |
AnnaBridge | 171:3a7713b1edbc | 459 | hciVendorSpecCmdCmplEvt_t vendorSpecCmdCmpl; |
AnnaBridge | 171:3a7713b1edbc | 460 | hciVendorSpecEvt_t vendorSpec; |
AnnaBridge | 171:3a7713b1edbc | 461 | hciHwErrorEvt_t hwError; |
AnnaBridge | 171:3a7713b1edbc | 462 | hciLeEncryptCmdCmplEvt_t leEncryptCmdCmpl; |
AnnaBridge | 171:3a7713b1edbc | 463 | hciLeRandCmdCmplEvt_t leRandCmdCmpl; |
AnnaBridge | 171:3a7713b1edbc | 464 | hciLeReadPeerResAddrCmdCmplEvt_t leReadPeerResAddrCmdCmpl; |
AnnaBridge | 171:3a7713b1edbc | 465 | hciLeReadLocalResAddrCmdCmplEvt_t leReadLocalResAddrCmdCmpl; |
AnnaBridge | 171:3a7713b1edbc | 466 | hciLeSetAddrResEnableCmdCmplEvt_t leSetAddrResEnableCmdCmpl; |
AnnaBridge | 171:3a7713b1edbc | 467 | hciLeAddDevToResListCmdCmplEvt_t leAddDevToResListCmdCmpl; |
AnnaBridge | 171:3a7713b1edbc | 468 | hciLeRemDevFromResListCmdCmplEvt_t leRemDevFromResListCmdCmpl; |
AnnaBridge | 171:3a7713b1edbc | 469 | hciLeClearResListCmdCmplEvt_t leClearResListCmdCmpl; |
AnnaBridge | 171:3a7713b1edbc | 470 | hciLeRemConnParamRepEvt_t leRemConnParamRepCmdCmpl; |
AnnaBridge | 171:3a7713b1edbc | 471 | hciLeRemConnParamNegRepEvt_t leRemConnParamNegRepCmdCmpl; |
AnnaBridge | 171:3a7713b1edbc | 472 | hciLeReadDefDataLenEvt_t leReadDefDataLenCmdCmpl; |
AnnaBridge | 171:3a7713b1edbc | 473 | hciLeWriteDefDataLenEvt_t leWriteDefDataLenCmdCmpl; |
AnnaBridge | 171:3a7713b1edbc | 474 | hciLeSetDataLenEvt_t leSetDataLenCmdCmpl; |
AnnaBridge | 171:3a7713b1edbc | 475 | hciLeReadMaxDataLenEvt_t leReadMaxDataLenCmdCmpl; |
AnnaBridge | 171:3a7713b1edbc | 476 | hciLeRemConnParamReqEvt_t leRemConnParamReq; |
AnnaBridge | 171:3a7713b1edbc | 477 | hciLeDataLenChangeEvt_t leDataLenChange; |
AnnaBridge | 171:3a7713b1edbc | 478 | hciLeP256CmplEvt_t leP256; |
AnnaBridge | 171:3a7713b1edbc | 479 | hciLeGenDhKeyEvt_t leGenDHKey; |
AnnaBridge | 171:3a7713b1edbc | 480 | hciWriteAuthPayloadToCmdCmplEvt_t writeAuthPayloadToCmdCmpl; |
AnnaBridge | 171:3a7713b1edbc | 481 | hciAuthPayloadToExpiredEvt_t authPayloadToExpired; |
AnnaBridge | 171:3a7713b1edbc | 482 | } hciEvt_t; |
AnnaBridge | 171:3a7713b1edbc | 483 | |
AnnaBridge | 171:3a7713b1edbc | 484 | /************************************************************************************************** |
AnnaBridge | 171:3a7713b1edbc | 485 | Callback Function Types |
AnnaBridge | 171:3a7713b1edbc | 486 | **************************************************************************************************/ |
AnnaBridge | 171:3a7713b1edbc | 487 | |
AnnaBridge | 171:3a7713b1edbc | 488 | typedef void (*hciEvtCback_t)(hciEvt_t *pEvent); |
AnnaBridge | 171:3a7713b1edbc | 489 | typedef void (*hciSecCback_t)(hciEvt_t *pEvent); |
AnnaBridge | 171:3a7713b1edbc | 490 | typedef void (*hciAclCback_t)(uint8_t *pData); |
AnnaBridge | 171:3a7713b1edbc | 491 | typedef void (*hciFlowCback_t)(uint16_t handle, bool_t flowDisabled); |
AnnaBridge | 171:3a7713b1edbc | 492 | |
AnnaBridge | 171:3a7713b1edbc | 493 | /************************************************************************************************** |
AnnaBridge | 171:3a7713b1edbc | 494 | Function Declarations |
AnnaBridge | 171:3a7713b1edbc | 495 | **************************************************************************************************/ |
AnnaBridge | 171:3a7713b1edbc | 496 | |
AnnaBridge | 171:3a7713b1edbc | 497 | /*! Initialization, registration, and reset */ |
AnnaBridge | 171:3a7713b1edbc | 498 | void HciEvtRegister(hciEvtCback_t evtCback); |
AnnaBridge | 171:3a7713b1edbc | 499 | void HciSecRegister(hciSecCback_t secCback); |
AnnaBridge | 171:3a7713b1edbc | 500 | void HciAclRegister(hciAclCback_t aclCback, hciFlowCback_t flowCback); |
AnnaBridge | 171:3a7713b1edbc | 501 | void HciResetSequence(void); |
AnnaBridge | 171:3a7713b1edbc | 502 | void HciVsInit(uint8_t param); |
AnnaBridge | 171:3a7713b1edbc | 503 | void HciCoreInit(void); |
AnnaBridge | 171:3a7713b1edbc | 504 | void HciCoreHandler(wsfEventMask_t event, wsfMsgHdr_t *pMsg); |
AnnaBridge | 171:3a7713b1edbc | 505 | void HciSetMaxRxAclLen(uint16_t len); |
AnnaBridge | 171:3a7713b1edbc | 506 | void HciSetAclQueueWatermarks(uint8_t queueHi, uint8_t queueLo); |
AnnaBridge | 171:3a7713b1edbc | 507 | void HciSetLeSupFeat(uint8_t feat, bool_t flag); |
AnnaBridge | 171:3a7713b1edbc | 508 | |
AnnaBridge | 171:3a7713b1edbc | 509 | /*! Optimization interface */ |
AnnaBridge | 171:3a7713b1edbc | 510 | uint8_t *HciGetBdAddr(void); |
AnnaBridge | 171:3a7713b1edbc | 511 | uint8_t HciGetWhiteListSize(void); |
AnnaBridge | 171:3a7713b1edbc | 512 | int8_t HciGetAdvTxPwr(void); |
AnnaBridge | 171:3a7713b1edbc | 513 | uint16_t HciGetBufSize(void); |
AnnaBridge | 171:3a7713b1edbc | 514 | uint8_t HciGetNumBufs(void); |
AnnaBridge | 171:3a7713b1edbc | 515 | uint8_t *HciGetSupStates(void); |
AnnaBridge | 171:3a7713b1edbc | 516 | uint8_t HciGetLeSupFeat(void); |
AnnaBridge | 171:3a7713b1edbc | 517 | uint16_t HciGetMaxRxAclLen(void); |
AnnaBridge | 171:3a7713b1edbc | 518 | uint8_t HciGetResolvingListSize(void); |
AnnaBridge | 171:3a7713b1edbc | 519 | bool_t HciLlPrivacySupported(void); |
AnnaBridge | 171:3a7713b1edbc | 520 | |
AnnaBridge | 171:3a7713b1edbc | 521 | /*! ACL data interface */ |
AnnaBridge | 171:3a7713b1edbc | 522 | void HciSendAclData(uint8_t *pAclData); |
AnnaBridge | 171:3a7713b1edbc | 523 | |
AnnaBridge | 171:3a7713b1edbc | 524 | /*! Command interface */ |
AnnaBridge | 171:3a7713b1edbc | 525 | void HciDisconnectCmd(uint16_t handle, uint8_t reason); |
AnnaBridge | 171:3a7713b1edbc | 526 | void HciLeAddDevWhiteListCmd(uint8_t addrType, uint8_t *pAddr); |
AnnaBridge | 171:3a7713b1edbc | 527 | void HciLeClearWhiteListCmd(void); |
AnnaBridge | 171:3a7713b1edbc | 528 | void HciLeConnUpdateCmd(uint16_t handle, hciConnSpec_t *pConnSpec); |
AnnaBridge | 171:3a7713b1edbc | 529 | void HciLeCreateConnCmd(uint16_t scanInterval, uint16_t scanWindow, uint8_t filterPolicy, |
AnnaBridge | 171:3a7713b1edbc | 530 | uint8_t peerAddrType, uint8_t *pPeerAddr, uint8_t ownAddrType, |
AnnaBridge | 171:3a7713b1edbc | 531 | hciConnSpec_t *pConnSpec); |
AnnaBridge | 171:3a7713b1edbc | 532 | void HciLeCreateConnCancelCmd(void); |
AnnaBridge | 171:3a7713b1edbc | 533 | void HciLeEncryptCmd(uint8_t *pKey, uint8_t *pData); |
AnnaBridge | 171:3a7713b1edbc | 534 | void HciLeLtkReqNegReplCmd(uint16_t handle); |
AnnaBridge | 171:3a7713b1edbc | 535 | void HciLeLtkReqReplCmd(uint16_t handle, uint8_t *pKey); |
AnnaBridge | 171:3a7713b1edbc | 536 | void HciLeRandCmd(void); |
AnnaBridge | 171:3a7713b1edbc | 537 | void HciLeReadAdvTXPowerCmd(void); |
AnnaBridge | 171:3a7713b1edbc | 538 | void HciLeReadBufSizeCmd(void); |
AnnaBridge | 171:3a7713b1edbc | 539 | void HciLeReadChanMapCmd(uint16_t handle); |
AnnaBridge | 171:3a7713b1edbc | 540 | void HciLeReadLocalSupFeatCmd(void); |
AnnaBridge | 171:3a7713b1edbc | 541 | void HciLeReadRemoteFeatCmd(uint16_t handle); |
AnnaBridge | 171:3a7713b1edbc | 542 | void HciLeReadSupStatesCmd(void); |
AnnaBridge | 171:3a7713b1edbc | 543 | void HciLeReadWhiteListSizeCmd(void); |
AnnaBridge | 171:3a7713b1edbc | 544 | void HciLeRemoveDevWhiteListCmd(uint8_t addrType, uint8_t *pAddr); |
AnnaBridge | 171:3a7713b1edbc | 545 | void HciLeSetAdvEnableCmd(uint8_t enable); |
AnnaBridge | 171:3a7713b1edbc | 546 | void HciLeSetAdvDataCmd(uint8_t len, uint8_t *pData); |
AnnaBridge | 171:3a7713b1edbc | 547 | void HciLeSetAdvParamCmd(uint16_t advIntervalMin, uint16_t advIntervalMax, uint8_t advType, |
AnnaBridge | 171:3a7713b1edbc | 548 | uint8_t ownAddrType, uint8_t peerAddrType, uint8_t *pPeerAddr, |
AnnaBridge | 171:3a7713b1edbc | 549 | uint8_t advChanMap, uint8_t advFiltPolicy); |
AnnaBridge | 171:3a7713b1edbc | 550 | void HciLeSetEventMaskCmd(uint8_t *pLeEventMask); |
AnnaBridge | 171:3a7713b1edbc | 551 | void HciLeSetHostChanClassCmd(uint8_t *pChanMap); |
AnnaBridge | 171:3a7713b1edbc | 552 | void HciLeSetRandAddrCmd(uint8_t *pAddr); |
AnnaBridge | 171:3a7713b1edbc | 553 | void HciLeSetScanEnableCmd(uint8_t enable, uint8_t filterDup); |
AnnaBridge | 171:3a7713b1edbc | 554 | void HciLeSetScanParamCmd(uint8_t scanType, uint16_t scanInterval, uint16_t scanWindow, |
AnnaBridge | 171:3a7713b1edbc | 555 | uint8_t ownAddrType, uint8_t scanFiltPolicy); |
AnnaBridge | 171:3a7713b1edbc | 556 | void HciLeSetScanRespDataCmd(uint8_t len, uint8_t *pData); |
AnnaBridge | 171:3a7713b1edbc | 557 | void HciLeStartEncryptionCmd(uint16_t handle, uint8_t *pRand, uint16_t diversifier, uint8_t *pKey); |
AnnaBridge | 171:3a7713b1edbc | 558 | void HciReadBdAddrCmd(void); |
AnnaBridge | 171:3a7713b1edbc | 559 | void HciReadBufSizeCmd(void); |
AnnaBridge | 171:3a7713b1edbc | 560 | void HciReadLocalSupFeatCmd(void); |
AnnaBridge | 171:3a7713b1edbc | 561 | void HciReadLocalVerInfoCmd(void); |
AnnaBridge | 171:3a7713b1edbc | 562 | void HciReadRemoteVerInfoCmd(uint16_t handle); |
AnnaBridge | 171:3a7713b1edbc | 563 | void HciReadRssiCmd(uint16_t handle); |
AnnaBridge | 171:3a7713b1edbc | 564 | void HciReadTxPwrLvlCmd(uint16_t handle, uint8_t type); |
AnnaBridge | 171:3a7713b1edbc | 565 | void HciResetCmd(void); |
AnnaBridge | 171:3a7713b1edbc | 566 | void HciSetEventMaskCmd(uint8_t *pEventMask); |
AnnaBridge | 171:3a7713b1edbc | 567 | void HciSetEventMaskPage2Cmd(uint8_t *pEventMask); |
AnnaBridge | 171:3a7713b1edbc | 568 | void HciReadAuthPayloadTimeout(uint16_t handle); |
AnnaBridge | 171:3a7713b1edbc | 569 | void HciWriteAuthPayloadTimeout(uint16_t handle, uint16_t timeout); |
AnnaBridge | 171:3a7713b1edbc | 570 | void HciLeAddDeviceToResolvingListCmd(uint8_t peerAddrType, const uint8_t *pPeerIdentityAddr, |
AnnaBridge | 171:3a7713b1edbc | 571 | const uint8_t *pPeerIrk, const uint8_t *pLocalIrk); |
AnnaBridge | 171:3a7713b1edbc | 572 | void HciLeRemoveDeviceFromResolvingList(uint8_t peerAddrType, const uint8_t *pPeerIdentityAddr); |
AnnaBridge | 171:3a7713b1edbc | 573 | void HciLeClearResolvingList(void); |
AnnaBridge | 171:3a7713b1edbc | 574 | void HciLeReadResolvingListSize(void); |
AnnaBridge | 171:3a7713b1edbc | 575 | void HciLeReadPeerResolvableAddr(uint8_t addrType, const uint8_t *pIdentityAddr); |
AnnaBridge | 171:3a7713b1edbc | 576 | void HciLeReadLocalResolvableAddr(uint8_t addrType, const uint8_t *pIdentityAddr); |
AnnaBridge | 171:3a7713b1edbc | 577 | void HciLeSetAddrResolutionEnable(uint8_t enable); |
AnnaBridge | 171:3a7713b1edbc | 578 | void HciLeSetResolvablePrivateAddrTimeout(uint16_t rpaTimeout); |
AnnaBridge | 171:3a7713b1edbc | 579 | void HciVendorSpecificCmd(uint16_t opcode, uint8_t len, uint8_t *pData); |
AnnaBridge | 171:3a7713b1edbc | 580 | |
AnnaBridge | 171:3a7713b1edbc | 581 | void HciLeRemoteConnParamReqReply(uint16_t handle, uint16_t intervalMin, uint16_t intervalMax, uint16_t latency, |
AnnaBridge | 171:3a7713b1edbc | 582 | uint16_t timeout, uint16_t minCeLen, uint16_t maxCeLen); |
AnnaBridge | 171:3a7713b1edbc | 583 | void HciLeRemoteConnParamReqNegReply(uint16_t handle, uint8_t reason); |
AnnaBridge | 171:3a7713b1edbc | 584 | void HciLeSetDataLen(uint16_t handle, uint16_t txOctets, uint16_t txTime); |
AnnaBridge | 171:3a7713b1edbc | 585 | void HciLeReadDefDataLen(void); |
AnnaBridge | 171:3a7713b1edbc | 586 | void HciLeWriteDefDataLen(uint16_t suggestedMaxTxOctets, uint16_t suggestedMaxTxTime); |
AnnaBridge | 171:3a7713b1edbc | 587 | void HciLeReadLocalP256PubKey(void); |
AnnaBridge | 171:3a7713b1edbc | 588 | void HciLeGenerateDHKey(uint8_t *pPubKeyX, uint8_t *pPubKeyY); |
AnnaBridge | 171:3a7713b1edbc | 589 | void HciLeReadMaxDataLen(void); |
AnnaBridge | 171:3a7713b1edbc | 590 | void HciWriteAuthPayloadTimeout(uint16_t handle, uint16_t timeout); |
AnnaBridge | 171:3a7713b1edbc | 591 | |
AnnaBridge | 171:3a7713b1edbc | 592 | #ifdef __cplusplus |
AnnaBridge | 171:3a7713b1edbc | 593 | }; |
AnnaBridge | 171:3a7713b1edbc | 594 | #endif |
AnnaBridge | 171:3a7713b1edbc | 595 | |
AnnaBridge | 171:3a7713b1edbc | 596 | #endif /* HCI_API_H */ |