Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of X_NUCLEO_IDB0XA1 by
bluenrg_aci_const.h
00001 /******************** (C) COPYRIGHT 2014 STMicroelectronics ******************** 00002 * File Name : bluenrg_aci_const.h 00003 * Author : AMS - AAS 00004 * Version : V1.0.0 00005 * Date : 26-Jun-2014 00006 * Description : Header file with ACI definitions for BlueNRG FW6.3. 00007 ******************************************************************************** 00008 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 00009 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 00010 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 00011 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 00012 * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 00013 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 00014 *******************************************************************************/ 00015 00016 #ifndef __BLUENRG_ACI_CONST_H_ 00017 #define __BLUENRG_ACI_CONST_H_ 00018 00019 #include "ble_compiler.h" 00020 #include "ble_link_layer.h" 00021 #include "ble_hci_const.h" 00022 #include "bluenrg_gatt_server.h" 00023 00024 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00025 00026 #define OCF_HAL_WRITE_CONFIG_DATA 0x000C 00027 00028 #define OCF_HAL_READ_CONFIG_DATA 0x000D 00029 typedef __packed struct _hal_read_config_data_cp{ 00030 uint8_t offset; 00031 } PACKED hal_read_config_data_cp; 00032 #define HAL_READ_CONFIG_DATA_RP_SIZE 1 00033 typedef __packed struct _hal_read_config_data_rp{ 00034 uint8_t status; 00035 uint8_t data[HCI_MAX_PAYLOAD_SIZE-HAL_READ_CONFIG_DATA_RP_SIZE]; 00036 } PACKED hal_read_config_data_rp; 00037 00038 #define OCF_HAL_SET_TX_POWER_LEVEL 0x000F 00039 typedef __packed struct _hal_set_tx_power_level_cp{ 00040 uint8_t en_high_power; 00041 uint8_t pa_level; 00042 } PACKED hal_set_tx_power_level_cp; 00043 #define HAL_SET_TX_POWER_LEVEL_CP_SIZE 2 00044 00045 #define OCF_HAL_DEVICE_STANDBY 0x0013 00046 00047 #define OCF_HAL_LE_TX_TEST_PACKET_NUMBER 0x0014 00048 typedef __packed struct _hal_le_tx_test_packet_number_rp{ 00049 uint8_t status; 00050 uint32_t number_of_packets; 00051 } PACKED hal_le_tx_test_packet_number_rp; 00052 00053 #define OCF_HAL_TONE_START 0x0015 00054 typedef __packed struct _hal_tone_start_cp{ 00055 uint8_t rf_channel; 00056 } PACKED hal_tone_start_cp; 00057 #define HAL_TONE_START_CP_SIZE 1 00058 00059 #define OCF_HAL_TONE_STOP 0x0016 00060 00061 #define OCF_UPDATER_START 0x0020 00062 #define OCF_UPDATER_REBOOT 0x0021 00063 00064 #define OCF_GET_UPDATER_VERSION 0x0022 00065 typedef __packed struct _get_updater_version_rp{ 00066 uint8_t status; 00067 uint8_t version; 00068 } PACKED get_updater_version_rp; 00069 #define GET_UPDATER_VERSION_RP_SIZE 2 00070 00071 #define OCF_GET_UPDATER_BUFSIZE 0x0023 00072 typedef __packed struct _get_updater_bufsize_rp{ 00073 uint8_t status; 00074 uint8_t buffer_size; 00075 } PACKED get_updater_bufsize_rp; 00076 #define GET_UPDATER_BUFSIZE_RP_SIZE 2 00077 00078 #define OCF_UPDATER_ERASE_BLUE_FLAG 0x0024 00079 00080 #define OCF_UPDATER_RESET_BLUE_FLAG 0x0025 00081 00082 #define OCF_UPDATER_ERASE_SECTOR 0x0026 00083 typedef __packed struct _updater_erase_sector_cp{ 00084 uint32_t address; 00085 } PACKED updater_erase_sector_cp; 00086 #define UPDATER_ERASE_SECTOR_CP_SIZE 4 00087 00088 #define OCF_UPDATER_PROG_DATA_BLOCK 0x0027 00089 #define UPDATER_PROG_DATA_BLOCK_CP_SIZE 6 00090 typedef __packed struct _updater_prog_data_block_cp{ 00091 uint32_t address; 00092 uint16_t data_len; 00093 uint8_t data[HCI_MAX_PAYLOAD_SIZE-UPDATER_PROG_DATA_BLOCK_CP_SIZE]; 00094 } PACKED updater_prog_data_block_cp; 00095 00096 #define OCF_UPDATER_READ_DATA_BLOCK 0x0028 00097 typedef __packed struct _updater_read_data_block_cp{ 00098 uint32_t address; 00099 uint16_t data_len; 00100 } PACKED updater_read_data_block_cp; 00101 #define UPDATER_READ_DATA_BLOCK_CP_SIZE 6 00102 typedef __packed struct _updater_read_data_block_rp{ 00103 uint8_t status; 00104 uint8_t data[VARIABLE_SIZE]; 00105 } PACKED updater_read_data_block_rp; 00106 #define GET_UPDATER_BUFSIZE_RP_SIZE 2 00107 00108 #define OCF_UPDATER_CALC_CRC 0x0029 00109 typedef __packed struct _updater_calc_crc_cp{ 00110 uint32_t address; 00111 uint8_t num_sectors; 00112 } PACKED updater_calc_crc_cp; 00113 #define UPDATER_CALC_CRC_CP_SIZE 5 00114 typedef __packed struct _updater_calc_crc_rp{ 00115 uint8_t status; 00116 uint32_t crc; 00117 } PACKED updater_calc_crc_rp; 00118 #define UPDATER_CALC_CRC_RP_SIZE 5 00119 00120 #define OCF_UPDATER_HW_VERSION 0x002A 00121 typedef __packed struct _updater_hw_version_rp{ 00122 uint8_t status; 00123 uint8_t version; 00124 } PACKED updater_hw_version_rp; 00125 #define UPDATER_HW_VERSION_RP_SIZE 2 00126 00127 #define OCF_GAP_SET_NON_DISCOVERABLE 0x0081 00128 00129 #define OCF_GAP_SET_LIMITED_DISCOVERABLE 0x0082 00130 00131 #define OCF_GAP_SET_DISCOVERABLE 0x0083 00132 00133 #define OCF_GAP_SET_DIRECT_CONNECTABLE 0x0084 00134 typedef __packed struct _gap_set_direct_conectable_cp_IDB05A1{ 00135 uint8_t own_bdaddr_type; 00136 uint8_t directed_adv_type; 00137 uint8_t direct_bdaddr_type; 00138 tBDAddr direct_bdaddr; 00139 } PACKED gap_set_direct_conectable_cp_IDB05A1; 00140 00141 typedef __packed struct _gap_set_direct_conectable_cp_IDB04A1{ 00142 uint8_t own_bdaddr_type; 00143 uint8_t direct_bdaddr_type; 00144 tBDAddr direct_bdaddr; 00145 } PACKED gap_set_direct_conectable_cp_IDB04A1; 00146 #define GAP_SET_DIRECT_CONNECTABLE_CP_SIZE 8 00147 00148 #define OCF_GAP_SET_IO_CAPABILITY 0x0085 00149 typedef __packed struct _gap_set_io_capability_cp{ 00150 uint8_t io_capability; 00151 } PACKED gap_set_io_capability_cp; 00152 #define GAP_SET_IO_CAPABILITY_CP_SIZE 1 00153 00154 #define OCF_GAP_SET_AUTH_REQUIREMENT 0x0086 00155 typedef __packed struct _gap_set_auth_requirement_cp{ 00156 uint8_t mitm_mode; 00157 uint8_t oob_enable; 00158 uint8_t oob_data[16]; 00159 uint8_t min_encryption_key_size; 00160 uint8_t max_encryption_key_size; 00161 uint8_t use_fixed_pin; 00162 uint32_t fixed_pin; 00163 uint8_t bonding_mode; 00164 } PACKED gap_set_auth_requirement_cp; 00165 #define GAP_SET_AUTH_REQUIREMENT_CP_SIZE 26 00166 00167 #define OCF_GAP_SET_AUTHOR_REQUIREMENT 0x0087 00168 typedef __packed struct _gap_set_author_requirement_cp{ 00169 uint16_t conn_handle; 00170 uint8_t authorization_enable; 00171 } PACKED gap_set_author_requirement_cp; 00172 #define GAP_SET_AUTHOR_REQUIREMENT_CP_SIZE 3 00173 00174 #define OCF_GAP_PASSKEY_RESPONSE 0x0088 00175 typedef __packed struct _gap_passkey_response_cp{ 00176 uint16_t conn_handle; 00177 uint32_t passkey; 00178 } PACKED gap_passkey_response_cp; 00179 #define GAP_PASSKEY_RESPONSE_CP_SIZE 6 00180 00181 #define OCF_GAP_AUTHORIZATION_RESPONSE 0x0089 00182 typedef __packed struct _gap_authorization_response_cp{ 00183 uint16_t conn_handle; 00184 uint8_t authorize; 00185 } PACKED gap_authorization_response_cp; 00186 #define GAP_AUTHORIZATION_RESPONSE_CP_SIZE 3 00187 00188 #define OCF_GAP_INIT 0x008A 00189 typedef __packed struct _gap_init_cp_IDB05A1{ 00190 uint8_t role; 00191 uint8_t privacy_enabled; 00192 uint8_t device_name_char_len; 00193 } PACKED gap_init_cp_IDB05A1; 00194 #define GAP_INIT_CP_SIZE_IDB05A1 3 00195 00196 typedef __packed struct _gap_init_cp_IDB04A1{ 00197 uint8_t role; 00198 } PACKED gap_init_cp_IDB04A1; 00199 #define GAP_INIT_CP_SIZE_IDB04A1 1 00200 typedef __packed struct _gap_init_rp{ 00201 uint8_t status; 00202 uint16_t service_handle; 00203 uint16_t dev_name_char_handle; 00204 uint16_t appearance_char_handle; 00205 } PACKED gap_init_rp; 00206 #define GAP_INIT_RP_SIZE 7 00207 00208 #define OCF_GAP_SET_NON_CONNECTABLE 0x008B 00209 typedef __packed struct _gap_set_non_connectable_cp_IDB05A1{ 00210 uint8_t advertising_event_type; 00211 uint8_t own_address_type; 00212 #endif 00213 } PACKED gap_set_non_connectable_cp_IDB05A1; 00214 00215 typedef __packed struct _gap_set_non_connectable_cp_IDB04A1{ 00216 uint8_t advertising_event_type; 00217 } PACKED gap_set_non_connectable_cp_IDB04A1; 00218 00219 #define OCF_GAP_SET_UNDIRECTED_CONNECTABLE 0x008C 00220 typedef __packed struct _gap_set_undirected_connectable_cp{ 00221 uint8_t adv_filter_policy; 00222 uint8_t own_addr_type; 00223 } PACKED gap_set_undirected_connectable_cp; 00224 #define GAP_SET_UNDIRECTED_CONNECTABLE_CP_SIZE 2 00225 00226 #define OCF_GAP_SLAVE_SECURITY_REQUEST 0x008D 00227 typedef __packed struct _gap_slave_security_request_cp{ 00228 uint16_t conn_handle; 00229 uint8_t bonding; 00230 uint8_t mitm_protection; 00231 } PACKED gap_slave_security_request_cp; 00232 #define GAP_SLAVE_SECURITY_REQUEST_CP_SIZE 4 00233 00234 #define OCF_GAP_UPDATE_ADV_DATA 0x008E 00235 00236 #define OCF_GAP_DELETE_AD_TYPE 0x008F 00237 typedef __packed struct _gap_delete_ad_type_cp{ 00238 uint8_t ad_type; 00239 } PACKED gap_delete_ad_type_cp; 00240 #define GAP_DELETE_AD_TYPE_CP_SIZE 1 00241 00242 #define OCF_GAP_GET_SECURITY_LEVEL 0x0090 00243 typedef __packed struct _gap_get_security_level_rp{ 00244 uint8_t status; 00245 uint8_t mitm_protection; 00246 uint8_t bonding; 00247 uint8_t oob_data; 00248 uint8_t passkey_required; 00249 } PACKED gap_get_security_level_rp; 00250 #define GAP_GET_SECURITY_LEVEL_RP_SIZE 5 00251 00252 #define OCF_GAP_SET_EVT_MASK 0x0091 00253 typedef __packed struct _gap_set_evt_mask_cp{ 00254 uint16_t evt_mask; 00255 } PACKED gap_set_evt_mask_cp; 00256 #define GAP_SET_EVT_MASK_CP_SIZE 2 00257 00258 #define OCF_GAP_CONFIGURE_WHITELIST 0x0092 00259 00260 #define OCF_GAP_TERMINATE 0x0093 00261 typedef __packed struct _gap_terminate_cp{ 00262 uint16_t handle; 00263 uint8_t reason; 00264 } PACKED gap_terminate_cp; 00265 #define GAP_TERMINATE_CP_SIZE 3 00266 00267 #define OCF_GAP_CLEAR_SECURITY_DB 0x0094 00268 00269 #define OCF_GAP_ALLOW_REBOND_DB 0x0095 00270 00271 typedef __packed struct _gap_allow_rebond_cp_IDB05A1{ 00272 uint16_t conn_handle; 00273 } PACKED gap_allow_rebond_cp_IDB05A1; 00274 00275 #define OCF_GAP_START_LIMITED_DISCOVERY_PROC 0x0096 00276 typedef __packed struct _gap_start_limited_discovery_proc_cp{ 00277 uint16_t scanInterval; 00278 uint16_t scanWindow; 00279 uint8_t own_address_type; 00280 uint8_t filterDuplicates; 00281 } PACKED gap_start_limited_discovery_proc_cp; 00282 #define GAP_START_LIMITED_DISCOVERY_PROC_CP_SIZE 6 00283 00284 #define OCF_GAP_START_GENERAL_DISCOVERY_PROC 0x0097 00285 typedef __packed struct _gap_start_general_discovery_proc_cp{ 00286 uint16_t scanInterval; 00287 uint16_t scanWindow; 00288 uint8_t own_address_type; 00289 uint8_t filterDuplicates; 00290 } PACKED gap_start_general_discovery_proc_cp; 00291 #define GAP_START_GENERAL_DISCOVERY_PROC_CP_SIZE 6 00292 00293 #define OCF_GAP_START_NAME_DISCOVERY_PROC 0x0098 00294 typedef __packed struct _gap_start_name_discovery_proc_cp{ 00295 uint16_t scanInterval; 00296 uint16_t scanWindow; 00297 uint8_t peer_bdaddr_type; 00298 tBDAddr peer_bdaddr; 00299 uint8_t own_bdaddr_type; 00300 uint16_t conn_min_interval; 00301 uint16_t conn_max_interval; 00302 uint16_t conn_latency; 00303 uint16_t supervision_timeout; 00304 uint16_t min_conn_length; 00305 uint16_t max_conn_length; 00306 } PACKED gap_start_name_discovery_proc_cp; 00307 #define GAP_START_NAME_DISCOVERY_PROC_CP_SIZE 24 00308 00309 #define OCF_GAP_START_AUTO_CONN_ESTABLISH_PROC 0x0099 00310 00311 #define OCF_GAP_START_GENERAL_CONN_ESTABLISH_PROC 0x009A 00312 typedef __packed struct _gap_start_general_conn_establish_proc_cp_IDB05A1{ 00313 uint8_t scan_type; 00314 uint16_t scan_interval; 00315 uint16_t scan_window; 00316 uint8_t own_address_type; 00317 uint8_t filter_duplicates; 00318 } PACKED gap_start_general_conn_establish_proc_cp_IDB05A1; 00319 00320 typedef __packed struct _gap_start_general_conn_establish_proc_cp_IDB04A1{ 00321 uint8_t scan_type; 00322 uint16_t scan_interval; 00323 uint16_t scan_window; 00324 uint8_t own_address_type; 00325 uint8_t filter_duplicates; 00326 uint8_t use_reconn_addr; 00327 tBDAddr reconn_addr; 00328 } PACKED gap_start_general_conn_establish_proc_cp_IDB04A1; 00329 00330 #define OCF_GAP_START_SELECTIVE_CONN_ESTABLISH_PROC 0x009B 00331 #define GAP_START_SELECTIVE_CONN_ESTABLISH_PROC_CP_SIZE 8 00332 typedef __packed struct _gap_start_selective_conn_establish_proc_cp{ 00333 uint8_t scan_type; 00334 uint16_t scan_interval; 00335 uint16_t scan_window; 00336 uint8_t own_address_type; 00337 uint8_t filter_duplicates; 00338 uint8_t num_whitelist_entries; 00339 uint8_t addr_array[HCI_MAX_PAYLOAD_SIZE-GAP_START_SELECTIVE_CONN_ESTABLISH_PROC_CP_SIZE]; 00340 } PACKED gap_start_selective_conn_establish_proc_cp; 00341 00342 #define OCF_GAP_CREATE_CONNECTION 0x009C 00343 typedef __packed struct _gap_create_connection_cp{ 00344 uint16_t scanInterval; 00345 uint16_t scanWindow; 00346 uint8_t peer_bdaddr_type; 00347 tBDAddr peer_bdaddr; 00348 uint8_t own_bdaddr_type; 00349 uint16_t conn_min_interval; 00350 uint16_t conn_max_interval; 00351 uint16_t conn_latency; 00352 uint16_t supervision_timeout; 00353 uint16_t min_conn_length; 00354 uint16_t max_conn_length; 00355 } PACKED gap_create_connection_cp; 00356 #define GAP_CREATE_CONNECTION_CP_SIZE 24 00357 00358 #define OCF_GAP_TERMINATE_GAP_PROCEDURE 0x009D 00359 00360 #define OCF_GAP_START_CONNECTION_UPDATE 0x009E 00361 typedef __packed struct _gap_start_connection_update_cp{ 00362 uint16_t conn_handle; 00363 uint16_t conn_min_interval; 00364 uint16_t conn_max_interval; 00365 uint16_t conn_latency; 00366 uint16_t supervision_timeout; 00367 uint16_t min_conn_length; 00368 uint16_t max_conn_length; 00369 } PACKED gap_start_connection_update_cp; 00370 #define GAP_START_CONNECTION_UPDATE_CP_SIZE 14 00371 00372 #define OCF_GAP_SEND_PAIRING_REQUEST 0x009F 00373 typedef __packed struct _gap_send_pairing_request_cp{ 00374 uint16_t conn_handle; 00375 uint8_t force_rebond; 00376 } PACKED gap_send_pairing_request_cp; 00377 #define GAP_GAP_SEND_PAIRING_REQUEST_CP_SIZE 3 00378 00379 #define OCF_GAP_RESOLVE_PRIVATE_ADDRESS 0x00A0 00380 typedef __packed struct _gap_resolve_private_address_cp{ 00381 tBDAddr address; 00382 } PACKED gap_resolve_private_address_cp; 00383 #define GAP_RESOLVE_PRIVATE_ADDRESS_CP_SIZE 6 00384 typedef __packed struct _gap_resolve_private_address_rp{ 00385 uint8_t status; 00386 tBDAddr address; 00387 } PACKED gap_resolve_private_address_rp; 00388 00389 #define OCF_GAP_SET_BROADCAST_MODE 0x00A1 00390 #define GAP_SET_BROADCAST_MODE_CP_SIZE 6 00391 typedef __packed struct _gap_set_broadcast_mode_cp{ 00392 uint16_t adv_interv_min; 00393 uint16_t adv_interv_max; 00394 uint8_t adv_type; 00395 uint8_t own_addr_type; 00396 uint8_t var_len_data[HCI_MAX_PAYLOAD_SIZE-GAP_SET_BROADCAST_MODE_CP_SIZE]; 00397 } PACKED gap_set_broadcast_mode_cp; 00398 00399 #define OCF_GAP_START_OBSERVATION_PROC 0x00A2 00400 typedef __packed struct _gap_start_observation_proc_cp{ 00401 uint16_t scan_interval; 00402 uint16_t scan_window; 00403 uint8_t scan_type; 00404 uint8_t own_address_type; 00405 uint8_t filter_duplicates; 00406 } PACKED gap_start_observation_proc_cp; 00407 00408 #define OCF_GAP_GET_BONDED_DEVICES 0x00A3 00409 typedef __packed struct _gap_get_bonded_devices_rp{ 00410 uint8_t status; 00411 uint8_t num_addr; 00412 uint8_t dev_list[HCI_MAX_PAYLOAD_SIZE-HCI_EVENT_HDR_SIZE-EVT_CMD_COMPLETE_SIZE-1]; 00413 } PACKED gap_get_bonded_devices_rp; 00414 00415 #define OCF_GAP_IS_DEVICE_BONDED 0x00A4 00416 typedef __packed struct _gap_is_device_bonded_cp{ 00417 uint8_t peer_address_type; 00418 tBDAddr peer_address; 00419 } PACKED gap_is_device_bonded_cp; 00420 00421 00422 #define OCF_GATT_INIT 0x0101 00423 00424 #define OCF_GATT_ADD_SERV 0x0102 00425 typedef __packed struct _gatt_add_serv_rp{ 00426 uint8_t status; 00427 uint16_t handle; 00428 } PACKED gatt_add_serv_rp; 00429 #define GATT_ADD_SERV_RP_SIZE 3 00430 00431 #define OCF_GATT_INCLUDE_SERV 0x0103 00432 typedef __packed struct _gatt_include_serv_rp{ 00433 uint8_t status; 00434 uint16_t handle; 00435 } PACKED gatt_include_serv_rp; 00436 #define GATT_INCLUDE_SERV_RP_SIZE 3 00437 00438 #define OCF_GATT_ADD_CHAR 0x0104 00439 typedef __packed struct _gatt_add_char_rp{ 00440 uint8_t status; 00441 uint16_t handle; 00442 } PACKED gatt_add_char_rp; 00443 #define GATT_ADD_CHAR_RP_SIZE 3 00444 00445 #define OCF_GATT_ADD_CHAR_DESC 0x0105 00446 typedef __packed struct _gatt_add_char_desc_rp{ 00447 uint8_t status; 00448 uint16_t handle; 00449 } PACKED gatt_add_char_desc_rp; 00450 #define GATT_ADD_CHAR_DESC_RP_SIZE 3 00451 00452 #define OCF_GATT_UPD_CHAR_VAL 0x0106 00453 00454 #define OCF_GATT_DEL_CHAR 0x0107 00455 typedef __packed struct _gatt_del_char_cp{ 00456 uint16_t service_handle; 00457 uint16_t char_handle; 00458 } PACKED gatt_del_char_cp; 00459 #define GATT_DEL_CHAR_CP_SIZE 4 00460 00461 #define OCF_GATT_DEL_SERV 0x0108 00462 typedef __packed struct _gatt_del_serv_cp{ 00463 uint16_t service_handle; 00464 } PACKED gatt_del_serv_cp; 00465 #define GATT_DEL_SERV_CP_SIZE 2 00466 00467 #define OCF_GATT_DEL_INC_SERV 0x0109 00468 typedef __packed struct _gatt_del_inc_serv_cp{ 00469 uint16_t service_handle; 00470 uint16_t inc_serv_handle; 00471 } PACKED gatt_del_inc_serv_cp; 00472 #define GATT_DEL_INC_SERV_CP_SIZE 4 00473 00474 #define OCF_GATT_SET_EVT_MASK 0x010A 00475 typedef __packed struct _gatt_set_evt_mask_cp{ 00476 uint32_t evt_mask; 00477 } PACKED gatt_set_evt_mask_cp; 00478 #define GATT_SET_EVT_MASK_CP_SIZE 4 00479 00480 #define OCF_GATT_EXCHANGE_CONFIG 0x010B 00481 typedef __packed struct _gatt_exchange_config_cp{ 00482 uint16_t conn_handle; 00483 } PACKED gatt_exchange_config_cp; 00484 #define GATT_EXCHANGE_CONFIG_CP_SIZE 2 00485 00486 #define OCF_ATT_FIND_INFO_REQ 0x010C 00487 typedef __packed struct _att_find_info_req_cp{ 00488 uint16_t conn_handle; 00489 uint16_t start_handle; 00490 uint16_t end_handle; 00491 } PACKED att_find_info_req_cp; 00492 #define ATT_FIND_INFO_REQ_CP_SIZE 6 00493 00494 #define OCF_ATT_FIND_BY_TYPE_VALUE_REQ 0x010D 00495 #define ATT_FIND_BY_TYPE_VALUE_REQ_CP_SIZE 9 00496 typedef __packed struct _att_find_by_type_value_req_cp{ 00497 uint16_t conn_handle; 00498 uint16_t start_handle; 00499 uint16_t end_handle; 00500 uint8_t uuid[2]; 00501 uint8_t attr_val_len; 00502 uint8_t attr_val[ATT_MTU - 7]; 00503 } PACKED att_find_by_type_value_req_cp; 00504 00505 #define OCF_ATT_READ_BY_TYPE_REQ 0x010E 00506 #define ATT_READ_BY_TYPE_REQ_CP_SIZE 7 // without UUID 00507 typedef __packed struct _att_read_by_type_req_cp{ 00508 uint16_t conn_handle; 00509 uint16_t start_handle; 00510 uint16_t end_handle; 00511 uint8_t uuid_type; 00512 uint8_t uuid[16]; 00513 } PACKED att_read_by_type_req_cp; 00514 00515 #define OCF_ATT_READ_BY_GROUP_TYPE_REQ 0x010F 00516 #define ATT_READ_BY_GROUP_TYPE_REQ_CP_SIZE 7 // without UUID 00517 typedef __packed struct _att_read_by_group_type_req_cp{ 00518 uint16_t conn_handle; 00519 uint16_t start_handle; 00520 uint16_t end_handle; 00521 uint8_t uuid_type; 00522 uint8_t uuid[16]; 00523 } PACKED att_read_by_group_type_req_cp; 00524 00525 #define OCF_ATT_PREPARE_WRITE_REQ 0x0110 00526 #define ATT_PREPARE_WRITE_REQ_CP_SIZE 7 // without attr_val 00527 typedef __packed struct _att_prepare_write_req_cp{ 00528 uint16_t conn_handle; 00529 uint16_t attr_handle; 00530 uint16_t value_offset; 00531 uint8_t attr_val_len; 00532 uint8_t attr_val[ATT_MTU-5]; 00533 } PACKED att_prepare_write_req_cp; 00534 00535 #define OCF_ATT_EXECUTE_WRITE_REQ 0x0111 00536 typedef __packed struct _att_execute_write_req_cp{ 00537 uint16_t conn_handle; 00538 uint8_t execute; 00539 } PACKED att_execute_write_req_cp; 00540 #define ATT_EXECUTE_WRITE_REQ_CP_SIZE 3 00541 00542 #define OCF_GATT_DISC_ALL_PRIM_SERVICES 0X0112 00543 typedef __packed struct _gatt_disc_all_prim_serivces_cp{ 00544 uint16_t conn_handle; 00545 } PACKED gatt_disc_all_prim_services_cp; 00546 #define GATT_DISC_ALL_PRIM_SERVICES_CP_SIZE 2 00547 00548 #define OCF_GATT_DISC_PRIM_SERVICE_BY_UUID 0x0113 00549 typedef __packed struct _gatt_disc_prim_service_by_uuid_cp{ 00550 uint16_t conn_handle; 00551 uint8_t uuid_type; 00552 uint8_t uuid[16]; 00553 } PACKED gatt_disc_prim_service_by_uuid_cp; 00554 #define GATT_DISC_PRIM_SERVICE_BY_UUID_CP_SIZE 3 // Without uuid 00555 00556 #define OCF_GATT_FIND_INCLUDED_SERVICES 0X0114 00557 typedef __packed struct _gatt_disc_find_included_services_cp{ 00558 uint16_t conn_handle; 00559 uint16_t start_handle; 00560 uint16_t end_handle; 00561 } PACKED gatt_find_included_services_cp; 00562 #define GATT_FIND_INCLUDED_SERVICES_CP_SIZE 6 00563 00564 #define OCF_GATT_DISC_ALL_CHARAC_OF_SERV 0X0115 00565 typedef __packed struct _gatt_disc_all_charac_of_serv_cp{ 00566 uint16_t conn_handle; 00567 uint16_t start_attr_handle; 00568 uint16_t end_attr_handle; 00569 } PACKED gatt_disc_all_charac_of_serv_cp; 00570 #define GATT_DISC_ALL_CHARAC_OF_SERV_CP_SIZE 6 00571 00572 #define OCF_GATT_DISC_CHARAC_BY_UUID 0X0116 00573 00574 #define OCF_GATT_DISC_ALL_CHARAC_DESCRIPTORS 0X0117 00575 typedef __packed struct _gatt_disc_all_charac_descriptors_cp{ 00576 uint16_t conn_handle; 00577 uint16_t char_val_handle; 00578 uint16_t char_end_handle; 00579 } PACKED gatt_disc_all_charac_descriptors_cp; 00580 #define GATT_DISC_ALL_CHARAC_DESCRIPTORS_CP_SIZE 6 00581 00582 #define OCF_GATT_READ_CHARAC_VAL 0x0118 00583 typedef __packed struct _gatt_read_charac_val_cp{ 00584 uint16_t conn_handle; 00585 uint16_t attr_handle; 00586 } PACKED gatt_read_charac_val_cp; 00587 #define GATT_READ_CHARAC_VAL_CP_SIZE 4 00588 00589 #define OCF_GATT_READ_USING_CHARAC_UUID 0x0109 00590 typedef __packed struct _gatt_read_using_charac_uuid_cp{ 00591 uint16_t conn_handle; 00592 uint16_t start_handle; 00593 uint16_t end_handle; 00594 uint8_t uuid_type; 00595 uint8_t uuid[16]; 00596 } PACKED gatt_read_using_charac_uuid_cp; 00597 #define GATT_READ_USING_CHARAC_UUID_CP_SIZE 7 // without UUID 00598 00599 #define OCF_GATT_READ_LONG_CHARAC_VAL 0x011A 00600 typedef __packed struct _gatt_read_long_charac_val_cp{ 00601 uint16_t conn_handle; 00602 uint16_t attr_handle; 00603 uint16_t val_offset; 00604 } PACKED gatt_read_long_charac_val_cp; 00605 #define GATT_READ_LONG_CHARAC_VAL_CP_SIZE 6 00606 00607 #define OCF_GATT_READ_MULTIPLE_CHARAC_VAL 0x011B 00608 #define GATT_READ_MULTIPLE_CHARAC_VAL_CP_SIZE 3 // without set_of_handles 00609 typedef __packed struct _gatt_read_multiple_charac_val_cp{ 00610 uint16_t conn_handle; 00611 uint8_t num_handles; 00612 uint8_t set_of_handles[HCI_MAX_PAYLOAD_SIZE-GATT_READ_MULTIPLE_CHARAC_VAL_CP_SIZE]; 00613 } PACKED gatt_read_multiple_charac_val_cp; 00614 00615 #define OCF_GATT_WRITE_CHAR_VALUE 0x011C 00616 00617 #define OCF_GATT_WRITE_LONG_CHARAC_VAL 0x011D 00618 #define GATT_WRITE_LONG_CHARAC_VAL_CP_SIZE 7 // without set_of_handles 00619 typedef __packed struct _gatt_write_long_charac_val_cp{ 00620 uint16_t conn_handle; 00621 uint16_t attr_handle; 00622 uint16_t val_offset; 00623 uint8_t val_len; 00624 uint8_t attr_val[HCI_MAX_PAYLOAD_SIZE-GATT_WRITE_LONG_CHARAC_VAL_CP_SIZE]; 00625 } PACKED gatt_write_long_charac_val_cp; 00626 00627 #define OCF_GATT_WRITE_CHARAC_RELIABLE 0x011E 00628 #define GATT_WRITE_CHARAC_RELIABLE_CP_SIZE 7 // without set_of_handles 00629 typedef __packed struct _gatt_write_charac_reliable_cp{ 00630 uint16_t conn_handle; 00631 uint16_t attr_handle; 00632 uint16_t val_offset; 00633 uint8_t val_len; 00634 uint8_t attr_val[HCI_MAX_PAYLOAD_SIZE-GATT_WRITE_CHARAC_RELIABLE_CP_SIZE]; 00635 } PACKED gatt_write_charac_reliable_cp; 00636 00637 #define OCF_GATT_WRITE_LONG_CHARAC_DESC 0x011F 00638 #define GATT_WRITE_LONG_CHARAC_DESC_CP_SIZE 7 // without set_of_handles 00639 typedef __packed struct _gatt_write_long_charac_desc_cp{ 00640 uint16_t conn_handle; 00641 uint16_t attr_handle; 00642 uint16_t val_offset; 00643 uint8_t val_len; 00644 uint8_t attr_val[HCI_MAX_PAYLOAD_SIZE-GATT_WRITE_LONG_CHARAC_DESC_CP_SIZE]; 00645 } PACKED gatt_write_long_charac_desc_cp; 00646 00647 #define OCF_GATT_READ_LONG_CHARAC_DESC 0x0120 00648 typedef __packed struct _gatt_read_long_charac_desc_cp{ 00649 uint16_t conn_handle; 00650 uint16_t attr_handle; 00651 uint16_t val_offset; 00652 } PACKED gatt_read_long_charac_desc_cp; 00653 #define GATT_READ_LONG_CHARAC_DESC_CP_SIZE 6 00654 00655 #define OCF_GATT_WRITE_CHAR_DESCRIPTOR 0x0121 00656 00657 #define OCF_GATT_READ_CHAR_DESCRIPTOR 0x0122 00658 typedef __packed struct _gatt_read_charac_desc_cp{ 00659 uint16_t conn_handle; 00660 uint16_t attr_handle; 00661 } PACKED gatt_read_charac_desc_cp; 00662 #define GATT_READ_CHAR_DESCRIPTOR_CP_SIZE 4 00663 00664 #define OCF_GATT_WRITE_WITHOUT_RESPONSE 0x0123 00665 #define GATT_WRITE_WITHOUT_RESPONSE_CP_SIZE 5 // without attr_val 00666 typedef __packed struct _gatt_write_without_resp_cp{ 00667 uint16_t conn_handle; 00668 uint16_t attr_handle; 00669 uint8_t val_len; 00670 uint8_t attr_val[ATT_MTU - 3]; 00671 } PACKED gatt_write_without_resp_cp; 00672 00673 #define OCF_GATT_SIGNED_WRITE_WITHOUT_RESPONSE 0x0124 00674 #define GATT_SIGNED_WRITE_WITHOUT_RESPONSE_CP_SIZE 5 // without attr_val 00675 typedef __packed struct _gatt_signed_write_without_resp_cp{ 00676 uint16_t conn_handle; 00677 uint16_t attr_handle; 00678 uint8_t val_len; 00679 uint8_t attr_val[ATT_MTU - 13]; 00680 } PACKED gatt_signed_write_without_resp_cp; 00681 00682 #define OCF_GATT_CONFIRM_INDICATION 0x0125 00683 typedef __packed struct _gatt_confirm_indication_cp{ 00684 uint16_t conn_handle; 00685 } PACKED gatt_confirm_indication_cp; 00686 #define GATT_CONFIRM_INDICATION_CP_SIZE 2 00687 00688 #define OCF_GATT_WRITE_RESPONSE 0x0126 00689 00690 #define OCF_GATT_ALLOW_READ 0x0127 00691 typedef __packed struct _gatt_allow_read_cp{ 00692 uint16_t conn_handle; 00693 } PACKED gatt_allow_read_cp; 00694 #define GATT_ALLOW_READ_CP_SIZE 2 00695 00696 #define OCF_GATT_SET_SECURITY_PERMISSION 0x0128 00697 typedef __packed struct _gatt_set_security_permission_cp{ 00698 uint16_t service_handle; 00699 uint16_t attr_handle; 00700 uint8_t security_permission; 00701 } PACKED gatt_set_security_permission_cp; 00702 #define GATT_GATT_SET_SECURITY_PERMISSION_CP_SIZE 5 00703 00704 #define OCF_GATT_SET_DESC_VAL 0x0129 00705 00706 #define OCF_GATT_READ_HANDLE_VALUE 0x012A 00707 typedef __packed struct _gatt_read_handle_val_cp{ 00708 uint16_t attr_handle; 00709 } PACKED gatt_read_handle_val_cp; 00710 #define GATT_READ_HANDLE_VALUE_RP_SIZE 3 00711 typedef __packed struct _gatt_read_handle_val_rp{ 00712 uint8_t status; 00713 uint16_t value_len; 00714 uint8_t value[HCI_MAX_PAYLOAD_SIZE-GATT_READ_HANDLE_VALUE_RP_SIZE]; 00715 } PACKED gatt_read_handle_val_rp; 00716 00717 #define OCF_GATT_READ_HANDLE_VALUE_OFFSET 0x012B 00718 typedef __packed struct _gatt_read_handle_val_offset_cp{ 00719 uint16_t attr_handle; 00720 uint8_t offset; 00721 } PACKED gatt_read_handle_val_offset_cp; 00722 #define GATT_READ_HANDLE_VALUE_OFFSET_RP_SIZE 2 00723 typedef __packed struct _gatt_read_handle_val_offset_rp{ 00724 uint8_t status; 00725 uint8_t value_len; 00726 uint8_t value[HCI_MAX_PAYLOAD_SIZE-GATT_READ_HANDLE_VALUE_OFFSET_RP_SIZE]; 00727 } PACKED gatt_read_handle_val_offset_rp; 00728 00729 #define OCF_L2CAP_CONN_PARAM_UPDATE_REQ 0x0181 00730 typedef __packed struct _l2cap_conn_param_update_req_cp{ 00731 uint16_t conn_handle; 00732 uint16_t interval_min; 00733 uint16_t interval_max; 00734 uint16_t slave_latency; 00735 uint16_t timeout_multiplier; 00736 } PACKED l2cap_conn_param_update_req_cp; 00737 #define L2CAP_CONN_PARAM_UPDATE_REQ_CP_SIZE 10 00738 00739 #define OCF_L2CAP_CONN_PARAM_UPDATE_RESP 0x0182 00740 typedef __packed struct _l2cap_conn_param_update_resp_cp_IDB05A1{ 00741 uint16_t conn_handle; 00742 uint16_t interval_min; 00743 uint16_t interval_max; 00744 uint16_t slave_latency; 00745 uint16_t timeout_multiplier; 00746 uint16_t min_ce_length; 00747 uint16_t max_ce_length; 00748 uint8_t id; 00749 uint8_t accept; 00750 } PACKED l2cap_conn_param_update_resp_cp_IDB05A1; 00751 00752 typedef __packed struct _l2cap_conn_param_update_resp_cp_IDB04A1{ 00753 uint16_t conn_handle; 00754 uint16_t interval_min; 00755 uint16_t interval_max; 00756 uint16_t slave_latency; 00757 uint16_t timeout_multiplier; 00758 uint8_t id; 00759 uint8_t accept; 00760 } PACKED l2cap_conn_param_update_resp_cp_IDB04A1; 00761 00762 /** 00763 * @defgroup BlueNRG_Events BlueNRG events (vendor specific) 00764 * @{ 00765 */ 00766 00767 /** 00768 * Vendor specific event for BlueNRG. 00769 */ 00770 typedef __packed struct _evt_blue_aci{ 00771 uint16_t ecode; /**< One of the BlueNRG event codes. */ 00772 uint8_t data[VARIABLE_SIZE]; 00773 } PACKED evt_blue_aci; 00774 00775 00776 /** 00777 * @} 00778 */ 00779 00780 #endif /* __BLUENRG_ACI_CONST_H_ */
Generated on Thu Jul 14 2022 09:39:26 by
1.7.2
