/*****************************************************************************
 * @file    ble_wrap.c
 * @brief   STM32WBA BLE API wrapper
 *          Auto-generated file: do not edit!
 *****************************************************************************
 * @attention
 *
 * Copyright (c) 2018-2025 STMicroelectronics.
 * All rights reserved.
 *
 * This software is licensed under terms that can be found in the LICENSE file
 * in the root directory of this software component.
 * If no LICENSE file comes with this software, it is provided AS-IS.
 *
 *****************************************************************************
 */

#include "ble_const.h"
#include "ble_gap_aci.h"
#include "ble_gatt_aci.h"
#include "ble_hal_aci.h"
#include "ble_hci_le.h"
#include "ble_l2cap_aci.h"
#include "ble_events.h"
#include "ble_raw_api.h"

/* Generic BLE command pre-processing macro */
#ifndef BLE_WRAP_PREPROC
#define BLE_WRAP_PREPROC( )
#endif

/* Generic BLE command post-processing macro */
#ifndef BLE_WRAP_POSTPROC
#define BLE_WRAP_POSTPROC( )
#endif

/* HCI_DISCONNECT pre-processing macro */
#ifndef BLE_WRAP_HCI_DISCONNECT_PREPROC
#define BLE_WRAP_HCI_DISCONNECT_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_DISCONNECT post-processing macro */
#ifndef BLE_WRAP_HCI_DISCONNECT_POSTPROC
#define BLE_WRAP_HCI_DISCONNECT_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_READ_REMOTE_VERSION_INFORMATION pre-processing macro */
#ifndef BLE_WRAP_HCI_READ_REMOTE_VERSION_INFORMATION_PREPROC
#define BLE_WRAP_HCI_READ_REMOTE_VERSION_INFORMATION_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_READ_REMOTE_VERSION_INFORMATION post-processing macro */
#ifndef BLE_WRAP_HCI_READ_REMOTE_VERSION_INFORMATION_POSTPROC
#define BLE_WRAP_HCI_READ_REMOTE_VERSION_INFORMATION_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_SET_EVENT_MASK pre-processing macro */
#ifndef BLE_WRAP_HCI_SET_EVENT_MASK_PREPROC
#define BLE_WRAP_HCI_SET_EVENT_MASK_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_SET_EVENT_MASK post-processing macro */
#ifndef BLE_WRAP_HCI_SET_EVENT_MASK_POSTPROC
#define BLE_WRAP_HCI_SET_EVENT_MASK_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_RESET pre-processing macro */
#ifndef BLE_WRAP_HCI_RESET_PREPROC
#define BLE_WRAP_HCI_RESET_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_RESET post-processing macro */
#ifndef BLE_WRAP_HCI_RESET_POSTPROC
#define BLE_WRAP_HCI_RESET_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_READ_CONNECTION_ACCEPT_TIMEOUT pre-processing macro */
#ifndef BLE_WRAP_HCI_READ_CONNECTION_ACCEPT_TIMEOUT_PREPROC
#define BLE_WRAP_HCI_READ_CONNECTION_ACCEPT_TIMEOUT_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_READ_CONNECTION_ACCEPT_TIMEOUT post-processing macro */
#ifndef BLE_WRAP_HCI_READ_CONNECTION_ACCEPT_TIMEOUT_POSTPROC
#define BLE_WRAP_HCI_READ_CONNECTION_ACCEPT_TIMEOUT_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_WRITE_CONNECTION_ACCEPT_TIMEOUT pre-processing macro */
#ifndef BLE_WRAP_HCI_WRITE_CONNECTION_ACCEPT_TIMEOUT_PREPROC
#define BLE_WRAP_HCI_WRITE_CONNECTION_ACCEPT_TIMEOUT_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_WRITE_CONNECTION_ACCEPT_TIMEOUT post-processing macro */
#ifndef BLE_WRAP_HCI_WRITE_CONNECTION_ACCEPT_TIMEOUT_POSTPROC
#define BLE_WRAP_HCI_WRITE_CONNECTION_ACCEPT_TIMEOUT_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_READ_TRANSMIT_POWER_LEVEL pre-processing macro */
#ifndef BLE_WRAP_HCI_READ_TRANSMIT_POWER_LEVEL_PREPROC
#define BLE_WRAP_HCI_READ_TRANSMIT_POWER_LEVEL_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_READ_TRANSMIT_POWER_LEVEL post-processing macro */
#ifndef BLE_WRAP_HCI_READ_TRANSMIT_POWER_LEVEL_POSTPROC
#define BLE_WRAP_HCI_READ_TRANSMIT_POWER_LEVEL_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL pre-processing macro */
#ifndef BLE_WRAP_HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL_PREPROC
#define BLE_WRAP_HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL post-processing macro */
#ifndef BLE_WRAP_HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL_POSTPROC
#define BLE_WRAP_HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_HOST_BUFFER_SIZE pre-processing macro */
#ifndef BLE_WRAP_HCI_HOST_BUFFER_SIZE_PREPROC
#define BLE_WRAP_HCI_HOST_BUFFER_SIZE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_HOST_BUFFER_SIZE post-processing macro */
#ifndef BLE_WRAP_HCI_HOST_BUFFER_SIZE_POSTPROC
#define BLE_WRAP_HCI_HOST_BUFFER_SIZE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_HOST_NUMBER_OF_COMPLETED_PACKETS pre-processing macro */
#ifndef BLE_WRAP_HCI_HOST_NUMBER_OF_COMPLETED_PACKETS_PREPROC
#define BLE_WRAP_HCI_HOST_NUMBER_OF_COMPLETED_PACKETS_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_HOST_NUMBER_OF_COMPLETED_PACKETS post-processing macro */
#ifndef BLE_WRAP_HCI_HOST_NUMBER_OF_COMPLETED_PACKETS_POSTPROC
#define BLE_WRAP_HCI_HOST_NUMBER_OF_COMPLETED_PACKETS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_READ_AFH_CHANNEL_ASSESSMENT_MODE pre-processing macro */
#ifndef BLE_WRAP_HCI_READ_AFH_CHANNEL_ASSESSMENT_MODE_PREPROC
#define BLE_WRAP_HCI_READ_AFH_CHANNEL_ASSESSMENT_MODE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_READ_AFH_CHANNEL_ASSESSMENT_MODE post-processing macro */
#ifndef BLE_WRAP_HCI_READ_AFH_CHANNEL_ASSESSMENT_MODE_POSTPROC
#define BLE_WRAP_HCI_READ_AFH_CHANNEL_ASSESSMENT_MODE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_WRITE_AFH_CHANNEL_ASSESSMENT_MODE pre-processing macro */
#ifndef BLE_WRAP_HCI_WRITE_AFH_CHANNEL_ASSESSMENT_MODE_PREPROC
#define BLE_WRAP_HCI_WRITE_AFH_CHANNEL_ASSESSMENT_MODE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_WRITE_AFH_CHANNEL_ASSESSMENT_MODE post-processing macro */
#ifndef BLE_WRAP_HCI_WRITE_AFH_CHANNEL_ASSESSMENT_MODE_POSTPROC
#define BLE_WRAP_HCI_WRITE_AFH_CHANNEL_ASSESSMENT_MODE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_SET_EVENT_MASK_PAGE_2 pre-processing macro */
#ifndef BLE_WRAP_HCI_SET_EVENT_MASK_PAGE_2_PREPROC
#define BLE_WRAP_HCI_SET_EVENT_MASK_PAGE_2_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_SET_EVENT_MASK_PAGE_2 post-processing macro */
#ifndef BLE_WRAP_HCI_SET_EVENT_MASK_PAGE_2_POSTPROC
#define BLE_WRAP_HCI_SET_EVENT_MASK_PAGE_2_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_READ_AUTHENTICATED_PAYLOAD_TIMEOUT pre-processing macro */
#ifndef BLE_WRAP_HCI_READ_AUTHENTICATED_PAYLOAD_TIMEOUT_PREPROC
#define BLE_WRAP_HCI_READ_AUTHENTICATED_PAYLOAD_TIMEOUT_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_READ_AUTHENTICATED_PAYLOAD_TIMEOUT post-processing macro */
#ifndef BLE_WRAP_HCI_READ_AUTHENTICATED_PAYLOAD_TIMEOUT_POSTPROC
#define BLE_WRAP_HCI_READ_AUTHENTICATED_PAYLOAD_TIMEOUT_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_WRITE_AUTHENTICATED_PAYLOAD_TIMEOUT pre-processing macro */
#ifndef BLE_WRAP_HCI_WRITE_AUTHENTICATED_PAYLOAD_TIMEOUT_PREPROC
#define BLE_WRAP_HCI_WRITE_AUTHENTICATED_PAYLOAD_TIMEOUT_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_WRITE_AUTHENTICATED_PAYLOAD_TIMEOUT post-processing macro */
#ifndef BLE_WRAP_HCI_WRITE_AUTHENTICATED_PAYLOAD_TIMEOUT_POSTPROC
#define BLE_WRAP_HCI_WRITE_AUTHENTICATED_PAYLOAD_TIMEOUT_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_SET_ECOSYSTEM_BASE_INTERVAL pre-processing macro */
#ifndef BLE_WRAP_HCI_SET_ECOSYSTEM_BASE_INTERVAL_PREPROC
#define BLE_WRAP_HCI_SET_ECOSYSTEM_BASE_INTERVAL_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_SET_ECOSYSTEM_BASE_INTERVAL post-processing macro */
#ifndef BLE_WRAP_HCI_SET_ECOSYSTEM_BASE_INTERVAL_POSTPROC
#define BLE_WRAP_HCI_SET_ECOSYSTEM_BASE_INTERVAL_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_CONFIGURE_DATA_PATH pre-processing macro */
#ifndef BLE_WRAP_HCI_CONFIGURE_DATA_PATH_PREPROC
#define BLE_WRAP_HCI_CONFIGURE_DATA_PATH_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_CONFIGURE_DATA_PATH post-processing macro */
#ifndef BLE_WRAP_HCI_CONFIGURE_DATA_PATH_POSTPROC
#define BLE_WRAP_HCI_CONFIGURE_DATA_PATH_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_READ_LOCAL_VERSION_INFORMATION pre-processing macro */
#ifndef BLE_WRAP_HCI_READ_LOCAL_VERSION_INFORMATION_PREPROC
#define BLE_WRAP_HCI_READ_LOCAL_VERSION_INFORMATION_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_READ_LOCAL_VERSION_INFORMATION post-processing macro */
#ifndef BLE_WRAP_HCI_READ_LOCAL_VERSION_INFORMATION_POSTPROC
#define BLE_WRAP_HCI_READ_LOCAL_VERSION_INFORMATION_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_READ_LOCAL_SUPPORTED_COMMANDS pre-processing macro */
#ifndef BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_COMMANDS_PREPROC
#define BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_COMMANDS_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_READ_LOCAL_SUPPORTED_COMMANDS post-processing macro */
#ifndef BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_COMMANDS_POSTPROC
#define BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_COMMANDS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_READ_LOCAL_SUPPORTED_FEATURES pre-processing macro */
#ifndef BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_FEATURES_PREPROC
#define BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_FEATURES_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_READ_LOCAL_SUPPORTED_FEATURES post-processing macro */
#ifndef BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_FEATURES_POSTPROC
#define BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_FEATURES_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_READ_BD_ADDR pre-processing macro */
#ifndef BLE_WRAP_HCI_READ_BD_ADDR_PREPROC
#define BLE_WRAP_HCI_READ_BD_ADDR_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_READ_BD_ADDR post-processing macro */
#ifndef BLE_WRAP_HCI_READ_BD_ADDR_POSTPROC
#define BLE_WRAP_HCI_READ_BD_ADDR_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_READ_LOCAL_SUPPORTED_CODECS_V2 pre-processing macro */
#ifndef BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_CODECS_V2_PREPROC
#define BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_CODECS_V2_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_READ_LOCAL_SUPPORTED_CODECS_V2 post-processing macro */
#ifndef BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_CODECS_V2_POSTPROC
#define BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_CODECS_V2_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_READ_LOCAL_SUPPORTED_CODEC_CAPABILITIES pre-processing macro */
#ifndef BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_CODEC_CAPABILITIES_PREPROC
#define BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_CODEC_CAPABILITIES_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_READ_LOCAL_SUPPORTED_CODEC_CAPABILITIES post-processing macro */
#ifndef BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_CODEC_CAPABILITIES_POSTPROC
#define BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_CODEC_CAPABILITIES_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_READ_LOCAL_SUPPORTED_CONTROLLER_DELAY pre-processing macro */
#ifndef BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_CONTROLLER_DELAY_PREPROC
#define BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_CONTROLLER_DELAY_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_READ_LOCAL_SUPPORTED_CONTROLLER_DELAY post-processing macro */
#ifndef BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_CONTROLLER_DELAY_POSTPROC
#define BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_CONTROLLER_DELAY_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_READ_RSSI pre-processing macro */
#ifndef BLE_WRAP_HCI_READ_RSSI_PREPROC
#define BLE_WRAP_HCI_READ_RSSI_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_READ_RSSI post-processing macro */
#ifndef BLE_WRAP_HCI_READ_RSSI_POSTPROC
#define BLE_WRAP_HCI_READ_RSSI_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_EVENT_MASK pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_EVENT_MASK_PREPROC
#define BLE_WRAP_HCI_LE_SET_EVENT_MASK_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_EVENT_MASK post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_EVENT_MASK_POSTPROC
#define BLE_WRAP_HCI_LE_SET_EVENT_MASK_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_BUFFER_SIZE pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_BUFFER_SIZE_PREPROC
#define BLE_WRAP_HCI_LE_READ_BUFFER_SIZE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_BUFFER_SIZE post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_BUFFER_SIZE_POSTPROC
#define BLE_WRAP_HCI_LE_READ_BUFFER_SIZE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_LOCAL_SUPPORTED_FEATURES pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_LOCAL_SUPPORTED_FEATURES_PREPROC
#define BLE_WRAP_HCI_LE_READ_LOCAL_SUPPORTED_FEATURES_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_LOCAL_SUPPORTED_FEATURES post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_LOCAL_SUPPORTED_FEATURES_POSTPROC
#define BLE_WRAP_HCI_LE_READ_LOCAL_SUPPORTED_FEATURES_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_RANDOM_ADDRESS pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_RANDOM_ADDRESS_PREPROC
#define BLE_WRAP_HCI_LE_SET_RANDOM_ADDRESS_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_RANDOM_ADDRESS post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_RANDOM_ADDRESS_POSTPROC
#define BLE_WRAP_HCI_LE_SET_RANDOM_ADDRESS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_ADVERTISING_PARAMETERS pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_ADVERTISING_PARAMETERS_PREPROC
#define BLE_WRAP_HCI_LE_SET_ADVERTISING_PARAMETERS_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_ADVERTISING_PARAMETERS post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_ADVERTISING_PARAMETERS_POSTPROC
#define BLE_WRAP_HCI_LE_SET_ADVERTISING_PARAMETERS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_ADVERTISING_PHYSICAL_CHANNEL_TX_POWER pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_ADVERTISING_PHYSICAL_CHANNEL_TX_POWER_PREPROC
#define BLE_WRAP_HCI_LE_READ_ADVERTISING_PHYSICAL_CHANNEL_TX_POWER_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_ADVERTISING_PHYSICAL_CHANNEL_TX_POWER post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_ADVERTISING_PHYSICAL_CHANNEL_TX_POWER_POSTPROC
#define BLE_WRAP_HCI_LE_READ_ADVERTISING_PHYSICAL_CHANNEL_TX_POWER_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_ADVERTISING_DATA pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_ADVERTISING_DATA_PREPROC
#define BLE_WRAP_HCI_LE_SET_ADVERTISING_DATA_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_ADVERTISING_DATA post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_ADVERTISING_DATA_POSTPROC
#define BLE_WRAP_HCI_LE_SET_ADVERTISING_DATA_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_SCAN_RESPONSE_DATA pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_SCAN_RESPONSE_DATA_PREPROC
#define BLE_WRAP_HCI_LE_SET_SCAN_RESPONSE_DATA_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_SCAN_RESPONSE_DATA post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_SCAN_RESPONSE_DATA_POSTPROC
#define BLE_WRAP_HCI_LE_SET_SCAN_RESPONSE_DATA_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_ADVERTISING_ENABLE pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_ADVERTISING_ENABLE_PREPROC
#define BLE_WRAP_HCI_LE_SET_ADVERTISING_ENABLE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_ADVERTISING_ENABLE post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_ADVERTISING_ENABLE_POSTPROC
#define BLE_WRAP_HCI_LE_SET_ADVERTISING_ENABLE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_SCAN_PARAMETERS pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_SCAN_PARAMETERS_PREPROC
#define BLE_WRAP_HCI_LE_SET_SCAN_PARAMETERS_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_SCAN_PARAMETERS post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_SCAN_PARAMETERS_POSTPROC
#define BLE_WRAP_HCI_LE_SET_SCAN_PARAMETERS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_SCAN_ENABLE pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_SCAN_ENABLE_PREPROC
#define BLE_WRAP_HCI_LE_SET_SCAN_ENABLE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_SCAN_ENABLE post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_SCAN_ENABLE_POSTPROC
#define BLE_WRAP_HCI_LE_SET_SCAN_ENABLE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_CREATE_CONNECTION pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_CREATE_CONNECTION_PREPROC
#define BLE_WRAP_HCI_LE_CREATE_CONNECTION_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_CREATE_CONNECTION post-processing macro */
#ifndef BLE_WRAP_HCI_LE_CREATE_CONNECTION_POSTPROC
#define BLE_WRAP_HCI_LE_CREATE_CONNECTION_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_CREATE_CONNECTION_CANCEL pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_CREATE_CONNECTION_CANCEL_PREPROC
#define BLE_WRAP_HCI_LE_CREATE_CONNECTION_CANCEL_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_CREATE_CONNECTION_CANCEL post-processing macro */
#ifndef BLE_WRAP_HCI_LE_CREATE_CONNECTION_CANCEL_POSTPROC
#define BLE_WRAP_HCI_LE_CREATE_CONNECTION_CANCEL_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_FILTER_ACCEPT_LIST_SIZE pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_FILTER_ACCEPT_LIST_SIZE_PREPROC
#define BLE_WRAP_HCI_LE_READ_FILTER_ACCEPT_LIST_SIZE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_FILTER_ACCEPT_LIST_SIZE post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_FILTER_ACCEPT_LIST_SIZE_POSTPROC
#define BLE_WRAP_HCI_LE_READ_FILTER_ACCEPT_LIST_SIZE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_CLEAR_FILTER_ACCEPT_LIST pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_CLEAR_FILTER_ACCEPT_LIST_PREPROC
#define BLE_WRAP_HCI_LE_CLEAR_FILTER_ACCEPT_LIST_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_CLEAR_FILTER_ACCEPT_LIST post-processing macro */
#ifndef BLE_WRAP_HCI_LE_CLEAR_FILTER_ACCEPT_LIST_POSTPROC
#define BLE_WRAP_HCI_LE_CLEAR_FILTER_ACCEPT_LIST_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_ADD_DEVICE_TO_FILTER_ACCEPT_LIST pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_ADD_DEVICE_TO_FILTER_ACCEPT_LIST_PREPROC
#define BLE_WRAP_HCI_LE_ADD_DEVICE_TO_FILTER_ACCEPT_LIST_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_ADD_DEVICE_TO_FILTER_ACCEPT_LIST post-processing macro */
#ifndef BLE_WRAP_HCI_LE_ADD_DEVICE_TO_FILTER_ACCEPT_LIST_POSTPROC
#define BLE_WRAP_HCI_LE_ADD_DEVICE_TO_FILTER_ACCEPT_LIST_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_REMOVE_DEVICE_FROM_FILTER_ACCEPT_LIST pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_REMOVE_DEVICE_FROM_FILTER_ACCEPT_LIST_PREPROC
#define BLE_WRAP_HCI_LE_REMOVE_DEVICE_FROM_FILTER_ACCEPT_LIST_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_REMOVE_DEVICE_FROM_FILTER_ACCEPT_LIST post-processing macro */
#ifndef BLE_WRAP_HCI_LE_REMOVE_DEVICE_FROM_FILTER_ACCEPT_LIST_POSTPROC
#define BLE_WRAP_HCI_LE_REMOVE_DEVICE_FROM_FILTER_ACCEPT_LIST_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_CONNECTION_UPDATE pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_CONNECTION_UPDATE_PREPROC
#define BLE_WRAP_HCI_LE_CONNECTION_UPDATE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_CONNECTION_UPDATE post-processing macro */
#ifndef BLE_WRAP_HCI_LE_CONNECTION_UPDATE_POSTPROC
#define BLE_WRAP_HCI_LE_CONNECTION_UPDATE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION_PREPROC
#define BLE_WRAP_HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION_POSTPROC
#define BLE_WRAP_HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_CHANNEL_MAP pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_CHANNEL_MAP_PREPROC
#define BLE_WRAP_HCI_LE_READ_CHANNEL_MAP_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_CHANNEL_MAP post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_CHANNEL_MAP_POSTPROC
#define BLE_WRAP_HCI_LE_READ_CHANNEL_MAP_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_REMOTE_FEATURES pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_REMOTE_FEATURES_PREPROC
#define BLE_WRAP_HCI_LE_READ_REMOTE_FEATURES_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_REMOTE_FEATURES post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_REMOTE_FEATURES_POSTPROC
#define BLE_WRAP_HCI_LE_READ_REMOTE_FEATURES_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_ENCRYPT pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_ENCRYPT_PREPROC
#define BLE_WRAP_HCI_LE_ENCRYPT_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_ENCRYPT post-processing macro */
#ifndef BLE_WRAP_HCI_LE_ENCRYPT_POSTPROC
#define BLE_WRAP_HCI_LE_ENCRYPT_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_RAND pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_RAND_PREPROC
#define BLE_WRAP_HCI_LE_RAND_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_RAND post-processing macro */
#ifndef BLE_WRAP_HCI_LE_RAND_POSTPROC
#define BLE_WRAP_HCI_LE_RAND_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_ENABLE_ENCRYPTION pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_ENABLE_ENCRYPTION_PREPROC
#define BLE_WRAP_HCI_LE_ENABLE_ENCRYPTION_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_ENABLE_ENCRYPTION post-processing macro */
#ifndef BLE_WRAP_HCI_LE_ENABLE_ENCRYPTION_POSTPROC
#define BLE_WRAP_HCI_LE_ENABLE_ENCRYPTION_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_LONG_TERM_KEY_REQUEST_REPLY pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_LONG_TERM_KEY_REQUEST_REPLY_PREPROC
#define BLE_WRAP_HCI_LE_LONG_TERM_KEY_REQUEST_REPLY_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_LONG_TERM_KEY_REQUEST_REPLY post-processing macro */
#ifndef BLE_WRAP_HCI_LE_LONG_TERM_KEY_REQUEST_REPLY_POSTPROC
#define BLE_WRAP_HCI_LE_LONG_TERM_KEY_REQUEST_REPLY_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY_PREPROC
#define BLE_WRAP_HCI_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY post-processing macro */
#ifndef BLE_WRAP_HCI_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY_POSTPROC
#define BLE_WRAP_HCI_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_SUPPORTED_STATES pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_SUPPORTED_STATES_PREPROC
#define BLE_WRAP_HCI_LE_READ_SUPPORTED_STATES_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_SUPPORTED_STATES post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_SUPPORTED_STATES_POSTPROC
#define BLE_WRAP_HCI_LE_READ_SUPPORTED_STATES_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_RECEIVER_TEST pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_RECEIVER_TEST_PREPROC
#define BLE_WRAP_HCI_LE_RECEIVER_TEST_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_RECEIVER_TEST post-processing macro */
#ifndef BLE_WRAP_HCI_LE_RECEIVER_TEST_POSTPROC
#define BLE_WRAP_HCI_LE_RECEIVER_TEST_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_TRANSMITTER_TEST pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_TRANSMITTER_TEST_PREPROC
#define BLE_WRAP_HCI_LE_TRANSMITTER_TEST_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_TRANSMITTER_TEST post-processing macro */
#ifndef BLE_WRAP_HCI_LE_TRANSMITTER_TEST_POSTPROC
#define BLE_WRAP_HCI_LE_TRANSMITTER_TEST_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_TEST_END pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_TEST_END_PREPROC
#define BLE_WRAP_HCI_LE_TEST_END_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_TEST_END post-processing macro */
#ifndef BLE_WRAP_HCI_LE_TEST_END_POSTPROC
#define BLE_WRAP_HCI_LE_TEST_END_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY_PREPROC
#define BLE_WRAP_HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY post-processing macro */
#ifndef BLE_WRAP_HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY_POSTPROC
#define BLE_WRAP_HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY_PREPROC
#define BLE_WRAP_HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY post-processing macro */
#ifndef BLE_WRAP_HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY_POSTPROC
#define BLE_WRAP_HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_DATA_LENGTH pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_DATA_LENGTH_PREPROC
#define BLE_WRAP_HCI_LE_SET_DATA_LENGTH_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_DATA_LENGTH post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_DATA_LENGTH_POSTPROC
#define BLE_WRAP_HCI_LE_SET_DATA_LENGTH_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH_PREPROC
#define BLE_WRAP_HCI_LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH_POSTPROC
#define BLE_WRAP_HCI_LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH_PREPROC
#define BLE_WRAP_HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH post-processing macro */
#ifndef BLE_WRAP_HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH_POSTPROC
#define BLE_WRAP_HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_LOCAL_P256_PUBLIC_KEY pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_LOCAL_P256_PUBLIC_KEY_PREPROC
#define BLE_WRAP_HCI_LE_READ_LOCAL_P256_PUBLIC_KEY_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_LOCAL_P256_PUBLIC_KEY post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_LOCAL_P256_PUBLIC_KEY_POSTPROC
#define BLE_WRAP_HCI_LE_READ_LOCAL_P256_PUBLIC_KEY_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_GENERATE_DHKEY pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_GENERATE_DHKEY_PREPROC
#define BLE_WRAP_HCI_LE_GENERATE_DHKEY_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_GENERATE_DHKEY post-processing macro */
#ifndef BLE_WRAP_HCI_LE_GENERATE_DHKEY_POSTPROC
#define BLE_WRAP_HCI_LE_GENERATE_DHKEY_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_ADD_DEVICE_TO_RESOLVING_LIST pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_ADD_DEVICE_TO_RESOLVING_LIST_PREPROC
#define BLE_WRAP_HCI_LE_ADD_DEVICE_TO_RESOLVING_LIST_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_ADD_DEVICE_TO_RESOLVING_LIST post-processing macro */
#ifndef BLE_WRAP_HCI_LE_ADD_DEVICE_TO_RESOLVING_LIST_POSTPROC
#define BLE_WRAP_HCI_LE_ADD_DEVICE_TO_RESOLVING_LIST_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_REMOVE_DEVICE_FROM_RESOLVING_LIST pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_REMOVE_DEVICE_FROM_RESOLVING_LIST_PREPROC
#define BLE_WRAP_HCI_LE_REMOVE_DEVICE_FROM_RESOLVING_LIST_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_REMOVE_DEVICE_FROM_RESOLVING_LIST post-processing macro */
#ifndef BLE_WRAP_HCI_LE_REMOVE_DEVICE_FROM_RESOLVING_LIST_POSTPROC
#define BLE_WRAP_HCI_LE_REMOVE_DEVICE_FROM_RESOLVING_LIST_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_CLEAR_RESOLVING_LIST pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_CLEAR_RESOLVING_LIST_PREPROC
#define BLE_WRAP_HCI_LE_CLEAR_RESOLVING_LIST_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_CLEAR_RESOLVING_LIST post-processing macro */
#ifndef BLE_WRAP_HCI_LE_CLEAR_RESOLVING_LIST_POSTPROC
#define BLE_WRAP_HCI_LE_CLEAR_RESOLVING_LIST_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_RESOLVING_LIST_SIZE pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_RESOLVING_LIST_SIZE_PREPROC
#define BLE_WRAP_HCI_LE_READ_RESOLVING_LIST_SIZE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_RESOLVING_LIST_SIZE post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_RESOLVING_LIST_SIZE_POSTPROC
#define BLE_WRAP_HCI_LE_READ_RESOLVING_LIST_SIZE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_PEER_RESOLVABLE_ADDRESS pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_PEER_RESOLVABLE_ADDRESS_PREPROC
#define BLE_WRAP_HCI_LE_READ_PEER_RESOLVABLE_ADDRESS_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_PEER_RESOLVABLE_ADDRESS post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_PEER_RESOLVABLE_ADDRESS_POSTPROC
#define BLE_WRAP_HCI_LE_READ_PEER_RESOLVABLE_ADDRESS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_LOCAL_RESOLVABLE_ADDRESS pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_LOCAL_RESOLVABLE_ADDRESS_PREPROC
#define BLE_WRAP_HCI_LE_READ_LOCAL_RESOLVABLE_ADDRESS_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_LOCAL_RESOLVABLE_ADDRESS post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_LOCAL_RESOLVABLE_ADDRESS_POSTPROC
#define BLE_WRAP_HCI_LE_READ_LOCAL_RESOLVABLE_ADDRESS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_ADDRESS_RESOLUTION_ENABLE pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_ADDRESS_RESOLUTION_ENABLE_PREPROC
#define BLE_WRAP_HCI_LE_SET_ADDRESS_RESOLUTION_ENABLE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_ADDRESS_RESOLUTION_ENABLE post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_ADDRESS_RESOLUTION_ENABLE_POSTPROC
#define BLE_WRAP_HCI_LE_SET_ADDRESS_RESOLUTION_ENABLE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_RESOLVABLE_PRIVATE_ADDRESS_TIMEOUT pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_RESOLVABLE_PRIVATE_ADDRESS_TIMEOUT_PREPROC
#define BLE_WRAP_HCI_LE_SET_RESOLVABLE_PRIVATE_ADDRESS_TIMEOUT_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_RESOLVABLE_PRIVATE_ADDRESS_TIMEOUT post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_RESOLVABLE_PRIVATE_ADDRESS_TIMEOUT_POSTPROC
#define BLE_WRAP_HCI_LE_SET_RESOLVABLE_PRIVATE_ADDRESS_TIMEOUT_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_MAXIMUM_DATA_LENGTH pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_MAXIMUM_DATA_LENGTH_PREPROC
#define BLE_WRAP_HCI_LE_READ_MAXIMUM_DATA_LENGTH_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_MAXIMUM_DATA_LENGTH post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_MAXIMUM_DATA_LENGTH_POSTPROC
#define BLE_WRAP_HCI_LE_READ_MAXIMUM_DATA_LENGTH_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_PHY pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_PHY_PREPROC
#define BLE_WRAP_HCI_LE_READ_PHY_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_PHY post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_PHY_POSTPROC
#define BLE_WRAP_HCI_LE_READ_PHY_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_DEFAULT_PHY pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_DEFAULT_PHY_PREPROC
#define BLE_WRAP_HCI_LE_SET_DEFAULT_PHY_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_DEFAULT_PHY post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_DEFAULT_PHY_POSTPROC
#define BLE_WRAP_HCI_LE_SET_DEFAULT_PHY_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_PHY pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_PHY_PREPROC
#define BLE_WRAP_HCI_LE_SET_PHY_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_PHY post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_PHY_POSTPROC
#define BLE_WRAP_HCI_LE_SET_PHY_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_RECEIVER_TEST_V2 pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_RECEIVER_TEST_V2_PREPROC
#define BLE_WRAP_HCI_LE_RECEIVER_TEST_V2_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_RECEIVER_TEST_V2 post-processing macro */
#ifndef BLE_WRAP_HCI_LE_RECEIVER_TEST_V2_POSTPROC
#define BLE_WRAP_HCI_LE_RECEIVER_TEST_V2_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_TRANSMITTER_TEST_V2 pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_TRANSMITTER_TEST_V2_PREPROC
#define BLE_WRAP_HCI_LE_TRANSMITTER_TEST_V2_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_TRANSMITTER_TEST_V2 post-processing macro */
#ifndef BLE_WRAP_HCI_LE_TRANSMITTER_TEST_V2_POSTPROC
#define BLE_WRAP_HCI_LE_TRANSMITTER_TEST_V2_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_ADVERTISING_SET_RANDOM_ADDRESS pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_ADVERTISING_SET_RANDOM_ADDRESS_PREPROC
#define BLE_WRAP_HCI_LE_SET_ADVERTISING_SET_RANDOM_ADDRESS_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_ADVERTISING_SET_RANDOM_ADDRESS post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_ADVERTISING_SET_RANDOM_ADDRESS_POSTPROC
#define BLE_WRAP_HCI_LE_SET_ADVERTISING_SET_RANDOM_ADDRESS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS_PREPROC
#define BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS_POSTPROC
#define BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_EXTENDED_ADVERTISING_DATA pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_DATA_PREPROC
#define BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_DATA_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_EXTENDED_ADVERTISING_DATA post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_DATA_POSTPROC
#define BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_DATA_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_EXTENDED_SCAN_RESPONSE_DATA pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_EXTENDED_SCAN_RESPONSE_DATA_PREPROC
#define BLE_WRAP_HCI_LE_SET_EXTENDED_SCAN_RESPONSE_DATA_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_EXTENDED_SCAN_RESPONSE_DATA post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_EXTENDED_SCAN_RESPONSE_DATA_POSTPROC
#define BLE_WRAP_HCI_LE_SET_EXTENDED_SCAN_RESPONSE_DATA_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_EXTENDED_ADVERTISING_ENABLE pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_ENABLE_PREPROC
#define BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_ENABLE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_EXTENDED_ADVERTISING_ENABLE post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_ENABLE_POSTPROC
#define BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_ENABLE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_MAXIMUM_ADVERTISING_DATA_LENGTH pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_MAXIMUM_ADVERTISING_DATA_LENGTH_PREPROC
#define BLE_WRAP_HCI_LE_READ_MAXIMUM_ADVERTISING_DATA_LENGTH_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_MAXIMUM_ADVERTISING_DATA_LENGTH post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_MAXIMUM_ADVERTISING_DATA_LENGTH_POSTPROC
#define BLE_WRAP_HCI_LE_READ_MAXIMUM_ADVERTISING_DATA_LENGTH_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_NUMBER_OF_SUPPORTED_ADVERTISING_SETS pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_NUMBER_OF_SUPPORTED_ADVERTISING_SETS_PREPROC
#define BLE_WRAP_HCI_LE_READ_NUMBER_OF_SUPPORTED_ADVERTISING_SETS_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_NUMBER_OF_SUPPORTED_ADVERTISING_SETS post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_NUMBER_OF_SUPPORTED_ADVERTISING_SETS_POSTPROC
#define BLE_WRAP_HCI_LE_READ_NUMBER_OF_SUPPORTED_ADVERTISING_SETS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_REMOVE_ADVERTISING_SET pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_REMOVE_ADVERTISING_SET_PREPROC
#define BLE_WRAP_HCI_LE_REMOVE_ADVERTISING_SET_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_REMOVE_ADVERTISING_SET post-processing macro */
#ifndef BLE_WRAP_HCI_LE_REMOVE_ADVERTISING_SET_POSTPROC
#define BLE_WRAP_HCI_LE_REMOVE_ADVERTISING_SET_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_CLEAR_ADVERTISING_SETS pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_CLEAR_ADVERTISING_SETS_PREPROC
#define BLE_WRAP_HCI_LE_CLEAR_ADVERTISING_SETS_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_CLEAR_ADVERTISING_SETS post-processing macro */
#ifndef BLE_WRAP_HCI_LE_CLEAR_ADVERTISING_SETS_POSTPROC
#define BLE_WRAP_HCI_LE_CLEAR_ADVERTISING_SETS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_PERIODIC_ADVERTISING_PARAMETERS pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_PARAMETERS_PREPROC
#define BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_PARAMETERS_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_PERIODIC_ADVERTISING_PARAMETERS post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_PARAMETERS_POSTPROC
#define BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_PARAMETERS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_PERIODIC_ADVERTISING_DATA pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_DATA_PREPROC
#define BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_DATA_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_PERIODIC_ADVERTISING_DATA post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_DATA_POSTPROC
#define BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_DATA_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_PERIODIC_ADVERTISING_ENABLE pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_ENABLE_PREPROC
#define BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_ENABLE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_PERIODIC_ADVERTISING_ENABLE post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_ENABLE_POSTPROC
#define BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_ENABLE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_EXTENDED_SCAN_PARAMETERS pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_EXTENDED_SCAN_PARAMETERS_PREPROC
#define BLE_WRAP_HCI_LE_SET_EXTENDED_SCAN_PARAMETERS_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_EXTENDED_SCAN_PARAMETERS post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_EXTENDED_SCAN_PARAMETERS_POSTPROC
#define BLE_WRAP_HCI_LE_SET_EXTENDED_SCAN_PARAMETERS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_EXTENDED_SCAN_ENABLE pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_EXTENDED_SCAN_ENABLE_PREPROC
#define BLE_WRAP_HCI_LE_SET_EXTENDED_SCAN_ENABLE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_EXTENDED_SCAN_ENABLE post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_EXTENDED_SCAN_ENABLE_POSTPROC
#define BLE_WRAP_HCI_LE_SET_EXTENDED_SCAN_ENABLE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_EXTENDED_CREATE_CONNECTION pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_EXTENDED_CREATE_CONNECTION_PREPROC
#define BLE_WRAP_HCI_LE_EXTENDED_CREATE_CONNECTION_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_EXTENDED_CREATE_CONNECTION post-processing macro */
#ifndef BLE_WRAP_HCI_LE_EXTENDED_CREATE_CONNECTION_POSTPROC
#define BLE_WRAP_HCI_LE_EXTENDED_CREATE_CONNECTION_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_PERIODIC_ADVERTISING_CREATE_SYNC pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_CREATE_SYNC_PREPROC
#define BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_CREATE_SYNC_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_PERIODIC_ADVERTISING_CREATE_SYNC post-processing macro */
#ifndef BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_CREATE_SYNC_POSTPROC
#define BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_CREATE_SYNC_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_PERIODIC_ADVERTISING_CREATE_SYNC_CANCEL pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_CREATE_SYNC_CANCEL_PREPROC
#define BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_CREATE_SYNC_CANCEL_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_PERIODIC_ADVERTISING_CREATE_SYNC_CANCEL post-processing macro */
#ifndef BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_CREATE_SYNC_CANCEL_POSTPROC
#define BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_CREATE_SYNC_CANCEL_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_PERIODIC_ADVERTISING_TERMINATE_SYNC pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_TERMINATE_SYNC_PREPROC
#define BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_TERMINATE_SYNC_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_PERIODIC_ADVERTISING_TERMINATE_SYNC post-processing macro */
#ifndef BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_TERMINATE_SYNC_POSTPROC
#define BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_TERMINATE_SYNC_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_ADD_DEVICE_TO_PERIODIC_ADVERTISER_LIST pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_ADD_DEVICE_TO_PERIODIC_ADVERTISER_LIST_PREPROC
#define BLE_WRAP_HCI_LE_ADD_DEVICE_TO_PERIODIC_ADVERTISER_LIST_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_ADD_DEVICE_TO_PERIODIC_ADVERTISER_LIST post-processing macro */
#ifndef BLE_WRAP_HCI_LE_ADD_DEVICE_TO_PERIODIC_ADVERTISER_LIST_POSTPROC
#define BLE_WRAP_HCI_LE_ADD_DEVICE_TO_PERIODIC_ADVERTISER_LIST_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_REMOVE_DEVICE_FROM_PERIODIC_ADVERTISER_LIST pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_REMOVE_DEVICE_FROM_PERIODIC_ADVERTISER_LIST_PREPROC
#define BLE_WRAP_HCI_LE_REMOVE_DEVICE_FROM_PERIODIC_ADVERTISER_LIST_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_REMOVE_DEVICE_FROM_PERIODIC_ADVERTISER_LIST post-processing macro */
#ifndef BLE_WRAP_HCI_LE_REMOVE_DEVICE_FROM_PERIODIC_ADVERTISER_LIST_POSTPROC
#define BLE_WRAP_HCI_LE_REMOVE_DEVICE_FROM_PERIODIC_ADVERTISER_LIST_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_CLEAR_PERIODIC_ADVERTISER_LIST pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_CLEAR_PERIODIC_ADVERTISER_LIST_PREPROC
#define BLE_WRAP_HCI_LE_CLEAR_PERIODIC_ADVERTISER_LIST_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_CLEAR_PERIODIC_ADVERTISER_LIST post-processing macro */
#ifndef BLE_WRAP_HCI_LE_CLEAR_PERIODIC_ADVERTISER_LIST_POSTPROC
#define BLE_WRAP_HCI_LE_CLEAR_PERIODIC_ADVERTISER_LIST_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_PERIODIC_ADVERTISER_LIST_SIZE pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_PERIODIC_ADVERTISER_LIST_SIZE_PREPROC
#define BLE_WRAP_HCI_LE_READ_PERIODIC_ADVERTISER_LIST_SIZE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_PERIODIC_ADVERTISER_LIST_SIZE post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_PERIODIC_ADVERTISER_LIST_SIZE_POSTPROC
#define BLE_WRAP_HCI_LE_READ_PERIODIC_ADVERTISER_LIST_SIZE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_TRANSMIT_POWER pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_TRANSMIT_POWER_PREPROC
#define BLE_WRAP_HCI_LE_READ_TRANSMIT_POWER_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_TRANSMIT_POWER post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_TRANSMIT_POWER_POSTPROC
#define BLE_WRAP_HCI_LE_READ_TRANSMIT_POWER_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_RF_PATH_COMPENSATION pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_RF_PATH_COMPENSATION_PREPROC
#define BLE_WRAP_HCI_LE_READ_RF_PATH_COMPENSATION_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_RF_PATH_COMPENSATION post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_RF_PATH_COMPENSATION_POSTPROC
#define BLE_WRAP_HCI_LE_READ_RF_PATH_COMPENSATION_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_WRITE_RF_PATH_COMPENSATION pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_WRITE_RF_PATH_COMPENSATION_PREPROC
#define BLE_WRAP_HCI_LE_WRITE_RF_PATH_COMPENSATION_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_WRITE_RF_PATH_COMPENSATION post-processing macro */
#ifndef BLE_WRAP_HCI_LE_WRITE_RF_PATH_COMPENSATION_POSTPROC
#define BLE_WRAP_HCI_LE_WRITE_RF_PATH_COMPENSATION_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_PRIVACY_MODE pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_PRIVACY_MODE_PREPROC
#define BLE_WRAP_HCI_LE_SET_PRIVACY_MODE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_PRIVACY_MODE post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_PRIVACY_MODE_POSTPROC
#define BLE_WRAP_HCI_LE_SET_PRIVACY_MODE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_RECEIVER_TEST_V3 pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_RECEIVER_TEST_V3_PREPROC
#define BLE_WRAP_HCI_LE_RECEIVER_TEST_V3_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_RECEIVER_TEST_V3 post-processing macro */
#ifndef BLE_WRAP_HCI_LE_RECEIVER_TEST_V3_POSTPROC
#define BLE_WRAP_HCI_LE_RECEIVER_TEST_V3_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_TRANSMITTER_TEST_V3 pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_TRANSMITTER_TEST_V3_PREPROC
#define BLE_WRAP_HCI_LE_TRANSMITTER_TEST_V3_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_TRANSMITTER_TEST_V3 post-processing macro */
#ifndef BLE_WRAP_HCI_LE_TRANSMITTER_TEST_V3_POSTPROC
#define BLE_WRAP_HCI_LE_TRANSMITTER_TEST_V3_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_CONNECTIONLESS_CTE_TRANSMIT_PARAMETERS pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_CONNECTIONLESS_CTE_TRANSMIT_PARAMETERS_PREPROC
#define BLE_WRAP_HCI_LE_SET_CONNECTIONLESS_CTE_TRANSMIT_PARAMETERS_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_CONNECTIONLESS_CTE_TRANSMIT_PARAMETERS post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_CONNECTIONLESS_CTE_TRANSMIT_PARAMETERS_POSTPROC
#define BLE_WRAP_HCI_LE_SET_CONNECTIONLESS_CTE_TRANSMIT_PARAMETERS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_CONNECTIONLESS_CTE_TRANSMIT_ENABLE pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_CONNECTIONLESS_CTE_TRANSMIT_ENABLE_PREPROC
#define BLE_WRAP_HCI_LE_SET_CONNECTIONLESS_CTE_TRANSMIT_ENABLE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_CONNECTIONLESS_CTE_TRANSMIT_ENABLE post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_CONNECTIONLESS_CTE_TRANSMIT_ENABLE_POSTPROC
#define BLE_WRAP_HCI_LE_SET_CONNECTIONLESS_CTE_TRANSMIT_ENABLE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_CONNECTIONLESS_IQ_SAMPLING_ENABLE pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_CONNECTIONLESS_IQ_SAMPLING_ENABLE_PREPROC
#define BLE_WRAP_HCI_LE_SET_CONNECTIONLESS_IQ_SAMPLING_ENABLE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_CONNECTIONLESS_IQ_SAMPLING_ENABLE post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_CONNECTIONLESS_IQ_SAMPLING_ENABLE_POSTPROC
#define BLE_WRAP_HCI_LE_SET_CONNECTIONLESS_IQ_SAMPLING_ENABLE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_CONNECTION_CTE_RECEIVE_PARAMETERS pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_CONNECTION_CTE_RECEIVE_PARAMETERS_PREPROC
#define BLE_WRAP_HCI_LE_SET_CONNECTION_CTE_RECEIVE_PARAMETERS_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_CONNECTION_CTE_RECEIVE_PARAMETERS post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_CONNECTION_CTE_RECEIVE_PARAMETERS_POSTPROC
#define BLE_WRAP_HCI_LE_SET_CONNECTION_CTE_RECEIVE_PARAMETERS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_CONNECTION_CTE_TRANSMIT_PARAMETERS pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_CONNECTION_CTE_TRANSMIT_PARAMETERS_PREPROC
#define BLE_WRAP_HCI_LE_SET_CONNECTION_CTE_TRANSMIT_PARAMETERS_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_CONNECTION_CTE_TRANSMIT_PARAMETERS post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_CONNECTION_CTE_TRANSMIT_PARAMETERS_POSTPROC
#define BLE_WRAP_HCI_LE_SET_CONNECTION_CTE_TRANSMIT_PARAMETERS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_CONNECTION_CTE_REQUEST_ENABLE pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_CONNECTION_CTE_REQUEST_ENABLE_PREPROC
#define BLE_WRAP_HCI_LE_CONNECTION_CTE_REQUEST_ENABLE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_CONNECTION_CTE_REQUEST_ENABLE post-processing macro */
#ifndef BLE_WRAP_HCI_LE_CONNECTION_CTE_REQUEST_ENABLE_POSTPROC
#define BLE_WRAP_HCI_LE_CONNECTION_CTE_REQUEST_ENABLE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_CONNECTION_CTE_RESPONSE_ENABLE pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_CONNECTION_CTE_RESPONSE_ENABLE_PREPROC
#define BLE_WRAP_HCI_LE_CONNECTION_CTE_RESPONSE_ENABLE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_CONNECTION_CTE_RESPONSE_ENABLE post-processing macro */
#ifndef BLE_WRAP_HCI_LE_CONNECTION_CTE_RESPONSE_ENABLE_POSTPROC
#define BLE_WRAP_HCI_LE_CONNECTION_CTE_RESPONSE_ENABLE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_ANTENNA_INFORMATION pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_ANTENNA_INFORMATION_PREPROC
#define BLE_WRAP_HCI_LE_READ_ANTENNA_INFORMATION_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_ANTENNA_INFORMATION post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_ANTENNA_INFORMATION_POSTPROC
#define BLE_WRAP_HCI_LE_READ_ANTENNA_INFORMATION_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_PERIODIC_ADVERTISING_RECEIVE_ENABLE pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_RECEIVE_ENABLE_PREPROC
#define BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_RECEIVE_ENABLE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_PERIODIC_ADVERTISING_RECEIVE_ENABLE post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_RECEIVE_ENABLE_POSTPROC
#define BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_RECEIVE_ENABLE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_PREPROC
#define BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER post-processing macro */
#ifndef BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_POSTPROC
#define BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_PERIODIC_ADVERTISING_SET_INFO_TRANSFER pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_SET_INFO_TRANSFER_PREPROC
#define BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_SET_INFO_TRANSFER_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_PERIODIC_ADVERTISING_SET_INFO_TRANSFER post-processing macro */
#ifndef BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_SET_INFO_TRANSFER_POSTPROC
#define BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_SET_INFO_TRANSFER_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_PERIODIC_ADVERTISING_SYNC_TRANSFER_PARAMETERS pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_SYNC_TRANSFER_PARAMETERS_PREPROC
#define BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_SYNC_TRANSFER_PARAMETERS_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_PERIODIC_ADVERTISING_SYNC_TRANSFER_PARAMETERS post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_SYNC_TRANSFER_PARAMETERS_POSTPROC
#define BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_SYNC_TRANSFER_PARAMETERS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_DEFAULT_PERIODIC_ADVERTISING_SYNC_TRANSFER_PARAMETERS pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_DEFAULT_PERIODIC_ADVERTISING_SYNC_TRANSFER_PARAMETERS_PREPROC
#define BLE_WRAP_HCI_LE_SET_DEFAULT_PERIODIC_ADVERTISING_SYNC_TRANSFER_PARAMETERS_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_DEFAULT_PERIODIC_ADVERTISING_SYNC_TRANSFER_PARAMETERS post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_DEFAULT_PERIODIC_ADVERTISING_SYNC_TRANSFER_PARAMETERS_POSTPROC
#define BLE_WRAP_HCI_LE_SET_DEFAULT_PERIODIC_ADVERTISING_SYNC_TRANSFER_PARAMETERS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_GENERATE_DHKEY_V2 pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_GENERATE_DHKEY_V2_PREPROC
#define BLE_WRAP_HCI_LE_GENERATE_DHKEY_V2_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_GENERATE_DHKEY_V2 post-processing macro */
#ifndef BLE_WRAP_HCI_LE_GENERATE_DHKEY_V2_POSTPROC
#define BLE_WRAP_HCI_LE_GENERATE_DHKEY_V2_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_BUFFER_SIZE_V2 pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_BUFFER_SIZE_V2_PREPROC
#define BLE_WRAP_HCI_LE_READ_BUFFER_SIZE_V2_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_BUFFER_SIZE_V2 post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_BUFFER_SIZE_V2_POSTPROC
#define BLE_WRAP_HCI_LE_READ_BUFFER_SIZE_V2_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_ISO_TX_SYNC pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_ISO_TX_SYNC_PREPROC
#define BLE_WRAP_HCI_LE_READ_ISO_TX_SYNC_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_ISO_TX_SYNC post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_ISO_TX_SYNC_POSTPROC
#define BLE_WRAP_HCI_LE_READ_ISO_TX_SYNC_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_CIG_PARAMETERS pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_CIG_PARAMETERS_PREPROC
#define BLE_WRAP_HCI_LE_SET_CIG_PARAMETERS_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_CIG_PARAMETERS post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_CIG_PARAMETERS_POSTPROC
#define BLE_WRAP_HCI_LE_SET_CIG_PARAMETERS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_CIG_PARAMETERS_TEST pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_CIG_PARAMETERS_TEST_PREPROC
#define BLE_WRAP_HCI_LE_SET_CIG_PARAMETERS_TEST_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_CIG_PARAMETERS_TEST post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_CIG_PARAMETERS_TEST_POSTPROC
#define BLE_WRAP_HCI_LE_SET_CIG_PARAMETERS_TEST_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_CREATE_CIS pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_CREATE_CIS_PREPROC
#define BLE_WRAP_HCI_LE_CREATE_CIS_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_CREATE_CIS post-processing macro */
#ifndef BLE_WRAP_HCI_LE_CREATE_CIS_POSTPROC
#define BLE_WRAP_HCI_LE_CREATE_CIS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_REMOVE_CIG pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_REMOVE_CIG_PREPROC
#define BLE_WRAP_HCI_LE_REMOVE_CIG_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_REMOVE_CIG post-processing macro */
#ifndef BLE_WRAP_HCI_LE_REMOVE_CIG_POSTPROC
#define BLE_WRAP_HCI_LE_REMOVE_CIG_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_ACCEPT_CIS_REQUEST pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_ACCEPT_CIS_REQUEST_PREPROC
#define BLE_WRAP_HCI_LE_ACCEPT_CIS_REQUEST_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_ACCEPT_CIS_REQUEST post-processing macro */
#ifndef BLE_WRAP_HCI_LE_ACCEPT_CIS_REQUEST_POSTPROC
#define BLE_WRAP_HCI_LE_ACCEPT_CIS_REQUEST_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_REJECT_CIS_REQUEST pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_REJECT_CIS_REQUEST_PREPROC
#define BLE_WRAP_HCI_LE_REJECT_CIS_REQUEST_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_REJECT_CIS_REQUEST post-processing macro */
#ifndef BLE_WRAP_HCI_LE_REJECT_CIS_REQUEST_POSTPROC
#define BLE_WRAP_HCI_LE_REJECT_CIS_REQUEST_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_CREATE_BIG pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_CREATE_BIG_PREPROC
#define BLE_WRAP_HCI_LE_CREATE_BIG_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_CREATE_BIG post-processing macro */
#ifndef BLE_WRAP_HCI_LE_CREATE_BIG_POSTPROC
#define BLE_WRAP_HCI_LE_CREATE_BIG_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_CREATE_BIG_TEST pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_CREATE_BIG_TEST_PREPROC
#define BLE_WRAP_HCI_LE_CREATE_BIG_TEST_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_CREATE_BIG_TEST post-processing macro */
#ifndef BLE_WRAP_HCI_LE_CREATE_BIG_TEST_POSTPROC
#define BLE_WRAP_HCI_LE_CREATE_BIG_TEST_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_TERMINATE_BIG pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_TERMINATE_BIG_PREPROC
#define BLE_WRAP_HCI_LE_TERMINATE_BIG_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_TERMINATE_BIG post-processing macro */
#ifndef BLE_WRAP_HCI_LE_TERMINATE_BIG_POSTPROC
#define BLE_WRAP_HCI_LE_TERMINATE_BIG_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_BIG_CREATE_SYNC pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_BIG_CREATE_SYNC_PREPROC
#define BLE_WRAP_HCI_LE_BIG_CREATE_SYNC_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_BIG_CREATE_SYNC post-processing macro */
#ifndef BLE_WRAP_HCI_LE_BIG_CREATE_SYNC_POSTPROC
#define BLE_WRAP_HCI_LE_BIG_CREATE_SYNC_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_BIG_TERMINATE_SYNC pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_BIG_TERMINATE_SYNC_PREPROC
#define BLE_WRAP_HCI_LE_BIG_TERMINATE_SYNC_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_BIG_TERMINATE_SYNC post-processing macro */
#ifndef BLE_WRAP_HCI_LE_BIG_TERMINATE_SYNC_POSTPROC
#define BLE_WRAP_HCI_LE_BIG_TERMINATE_SYNC_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_REQUEST_PEER_SCA pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_REQUEST_PEER_SCA_PREPROC
#define BLE_WRAP_HCI_LE_REQUEST_PEER_SCA_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_REQUEST_PEER_SCA post-processing macro */
#ifndef BLE_WRAP_HCI_LE_REQUEST_PEER_SCA_POSTPROC
#define BLE_WRAP_HCI_LE_REQUEST_PEER_SCA_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SETUP_ISO_DATA_PATH pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SETUP_ISO_DATA_PATH_PREPROC
#define BLE_WRAP_HCI_LE_SETUP_ISO_DATA_PATH_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SETUP_ISO_DATA_PATH post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SETUP_ISO_DATA_PATH_POSTPROC
#define BLE_WRAP_HCI_LE_SETUP_ISO_DATA_PATH_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_REMOVE_ISO_DATA_PATH pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_REMOVE_ISO_DATA_PATH_PREPROC
#define BLE_WRAP_HCI_LE_REMOVE_ISO_DATA_PATH_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_REMOVE_ISO_DATA_PATH post-processing macro */
#ifndef BLE_WRAP_HCI_LE_REMOVE_ISO_DATA_PATH_POSTPROC
#define BLE_WRAP_HCI_LE_REMOVE_ISO_DATA_PATH_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_ISO_TRANSMIT_TEST pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_ISO_TRANSMIT_TEST_PREPROC
#define BLE_WRAP_HCI_LE_ISO_TRANSMIT_TEST_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_ISO_TRANSMIT_TEST post-processing macro */
#ifndef BLE_WRAP_HCI_LE_ISO_TRANSMIT_TEST_POSTPROC
#define BLE_WRAP_HCI_LE_ISO_TRANSMIT_TEST_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_ISO_RECEIVE_TEST pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_ISO_RECEIVE_TEST_PREPROC
#define BLE_WRAP_HCI_LE_ISO_RECEIVE_TEST_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_ISO_RECEIVE_TEST post-processing macro */
#ifndef BLE_WRAP_HCI_LE_ISO_RECEIVE_TEST_POSTPROC
#define BLE_WRAP_HCI_LE_ISO_RECEIVE_TEST_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_ISO_READ_TEST_COUNTERS pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_ISO_READ_TEST_COUNTERS_PREPROC
#define BLE_WRAP_HCI_LE_ISO_READ_TEST_COUNTERS_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_ISO_READ_TEST_COUNTERS post-processing macro */
#ifndef BLE_WRAP_HCI_LE_ISO_READ_TEST_COUNTERS_POSTPROC
#define BLE_WRAP_HCI_LE_ISO_READ_TEST_COUNTERS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_ISO_TEST_END pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_ISO_TEST_END_PREPROC
#define BLE_WRAP_HCI_LE_ISO_TEST_END_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_ISO_TEST_END post-processing macro */
#ifndef BLE_WRAP_HCI_LE_ISO_TEST_END_POSTPROC
#define BLE_WRAP_HCI_LE_ISO_TEST_END_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_HOST_FEATURE pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_HOST_FEATURE_PREPROC
#define BLE_WRAP_HCI_LE_SET_HOST_FEATURE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_HOST_FEATURE post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_HOST_FEATURE_POSTPROC
#define BLE_WRAP_HCI_LE_SET_HOST_FEATURE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_ISO_LINK_QUALITY pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_ISO_LINK_QUALITY_PREPROC
#define BLE_WRAP_HCI_LE_READ_ISO_LINK_QUALITY_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_ISO_LINK_QUALITY post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_ISO_LINK_QUALITY_POSTPROC
#define BLE_WRAP_HCI_LE_READ_ISO_LINK_QUALITY_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_ENHANCED_READ_TRANSMIT_POWER_LEVEL pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_ENHANCED_READ_TRANSMIT_POWER_LEVEL_PREPROC
#define BLE_WRAP_HCI_LE_ENHANCED_READ_TRANSMIT_POWER_LEVEL_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_ENHANCED_READ_TRANSMIT_POWER_LEVEL post-processing macro */
#ifndef BLE_WRAP_HCI_LE_ENHANCED_READ_TRANSMIT_POWER_LEVEL_POSTPROC
#define BLE_WRAP_HCI_LE_ENHANCED_READ_TRANSMIT_POWER_LEVEL_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_READ_REMOTE_TRANSMIT_POWER_LEVEL pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_REMOTE_TRANSMIT_POWER_LEVEL_PREPROC
#define BLE_WRAP_HCI_LE_READ_REMOTE_TRANSMIT_POWER_LEVEL_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_READ_REMOTE_TRANSMIT_POWER_LEVEL post-processing macro */
#ifndef BLE_WRAP_HCI_LE_READ_REMOTE_TRANSMIT_POWER_LEVEL_POSTPROC
#define BLE_WRAP_HCI_LE_READ_REMOTE_TRANSMIT_POWER_LEVEL_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_PATH_LOSS_REPORTING_PARAMETERS pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_PATH_LOSS_REPORTING_PARAMETERS_PREPROC
#define BLE_WRAP_HCI_LE_SET_PATH_LOSS_REPORTING_PARAMETERS_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_PATH_LOSS_REPORTING_PARAMETERS post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_PATH_LOSS_REPORTING_PARAMETERS_POSTPROC
#define BLE_WRAP_HCI_LE_SET_PATH_LOSS_REPORTING_PARAMETERS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_PATH_LOSS_REPORTING_ENABLE pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_PATH_LOSS_REPORTING_ENABLE_PREPROC
#define BLE_WRAP_HCI_LE_SET_PATH_LOSS_REPORTING_ENABLE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_PATH_LOSS_REPORTING_ENABLE post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_PATH_LOSS_REPORTING_ENABLE_POSTPROC
#define BLE_WRAP_HCI_LE_SET_PATH_LOSS_REPORTING_ENABLE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_TRANSMIT_POWER_REPORTING_ENABLE pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_TRANSMIT_POWER_REPORTING_ENABLE_PREPROC
#define BLE_WRAP_HCI_LE_SET_TRANSMIT_POWER_REPORTING_ENABLE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_TRANSMIT_POWER_REPORTING_ENABLE post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_TRANSMIT_POWER_REPORTING_ENABLE_POSTPROC
#define BLE_WRAP_HCI_LE_SET_TRANSMIT_POWER_REPORTING_ENABLE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_TRANSMITTER_TEST_V4 pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_TRANSMITTER_TEST_V4_PREPROC
#define BLE_WRAP_HCI_LE_TRANSMITTER_TEST_V4_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_TRANSMITTER_TEST_V4 post-processing macro */
#ifndef BLE_WRAP_HCI_LE_TRANSMITTER_TEST_V4_POSTPROC
#define BLE_WRAP_HCI_LE_TRANSMITTER_TEST_V4_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_DATA_RELATED_ADDRESS_CHANGES pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_DATA_RELATED_ADDRESS_CHANGES_PREPROC
#define BLE_WRAP_HCI_LE_SET_DATA_RELATED_ADDRESS_CHANGES_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_DATA_RELATED_ADDRESS_CHANGES post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_DATA_RELATED_ADDRESS_CHANGES_POSTPROC
#define BLE_WRAP_HCI_LE_SET_DATA_RELATED_ADDRESS_CHANGES_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_DEFAULT_SUBRATE pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_DEFAULT_SUBRATE_PREPROC
#define BLE_WRAP_HCI_LE_SET_DEFAULT_SUBRATE_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_DEFAULT_SUBRATE post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_DEFAULT_SUBRATE_POSTPROC
#define BLE_WRAP_HCI_LE_SET_DEFAULT_SUBRATE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SUBRATE_REQUEST pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SUBRATE_REQUEST_PREPROC
#define BLE_WRAP_HCI_LE_SUBRATE_REQUEST_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SUBRATE_REQUEST post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SUBRATE_REQUEST_POSTPROC
#define BLE_WRAP_HCI_LE_SUBRATE_REQUEST_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS_V2 pre-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS_V2_PREPROC
#define BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS_V2_PREPROC BLE_WRAP_PREPROC
#endif

/* HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS_V2 post-processing macro */
#ifndef BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS_V2_POSTPROC
#define BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS_V2_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_HAL_GET_FW_BUILD_NUMBER pre-processing macro */
#ifndef BLE_WRAP_ACI_HAL_GET_FW_BUILD_NUMBER_PREPROC
#define BLE_WRAP_ACI_HAL_GET_FW_BUILD_NUMBER_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_HAL_GET_FW_BUILD_NUMBER post-processing macro */
#ifndef BLE_WRAP_ACI_HAL_GET_FW_BUILD_NUMBER_POSTPROC
#define BLE_WRAP_ACI_HAL_GET_FW_BUILD_NUMBER_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_HAL_WRITE_CONFIG_DATA pre-processing macro */
#ifndef BLE_WRAP_ACI_HAL_WRITE_CONFIG_DATA_PREPROC
#define BLE_WRAP_ACI_HAL_WRITE_CONFIG_DATA_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_HAL_WRITE_CONFIG_DATA post-processing macro */
#ifndef BLE_WRAP_ACI_HAL_WRITE_CONFIG_DATA_POSTPROC
#define BLE_WRAP_ACI_HAL_WRITE_CONFIG_DATA_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_HAL_READ_CONFIG_DATA pre-processing macro */
#ifndef BLE_WRAP_ACI_HAL_READ_CONFIG_DATA_PREPROC
#define BLE_WRAP_ACI_HAL_READ_CONFIG_DATA_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_HAL_READ_CONFIG_DATA post-processing macro */
#ifndef BLE_WRAP_ACI_HAL_READ_CONFIG_DATA_POSTPROC
#define BLE_WRAP_ACI_HAL_READ_CONFIG_DATA_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_HAL_SET_TX_POWER_LEVEL pre-processing macro */
#ifndef BLE_WRAP_ACI_HAL_SET_TX_POWER_LEVEL_PREPROC
#define BLE_WRAP_ACI_HAL_SET_TX_POWER_LEVEL_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_HAL_SET_TX_POWER_LEVEL post-processing macro */
#ifndef BLE_WRAP_ACI_HAL_SET_TX_POWER_LEVEL_POSTPROC
#define BLE_WRAP_ACI_HAL_SET_TX_POWER_LEVEL_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_HAL_LE_TX_TEST_PACKET_NUMBER pre-processing macro */
#ifndef BLE_WRAP_ACI_HAL_LE_TX_TEST_PACKET_NUMBER_PREPROC
#define BLE_WRAP_ACI_HAL_LE_TX_TEST_PACKET_NUMBER_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_HAL_LE_TX_TEST_PACKET_NUMBER post-processing macro */
#ifndef BLE_WRAP_ACI_HAL_LE_TX_TEST_PACKET_NUMBER_POSTPROC
#define BLE_WRAP_ACI_HAL_LE_TX_TEST_PACKET_NUMBER_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_HAL_TONE_START pre-processing macro */
#ifndef BLE_WRAP_ACI_HAL_TONE_START_PREPROC
#define BLE_WRAP_ACI_HAL_TONE_START_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_HAL_TONE_START post-processing macro */
#ifndef BLE_WRAP_ACI_HAL_TONE_START_POSTPROC
#define BLE_WRAP_ACI_HAL_TONE_START_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_HAL_TONE_STOP pre-processing macro */
#ifndef BLE_WRAP_ACI_HAL_TONE_STOP_PREPROC
#define BLE_WRAP_ACI_HAL_TONE_STOP_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_HAL_TONE_STOP post-processing macro */
#ifndef BLE_WRAP_ACI_HAL_TONE_STOP_POSTPROC
#define BLE_WRAP_ACI_HAL_TONE_STOP_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_HAL_SET_RADIO_ACTIVITY_MASK pre-processing macro */
#ifndef BLE_WRAP_ACI_HAL_SET_RADIO_ACTIVITY_MASK_PREPROC
#define BLE_WRAP_ACI_HAL_SET_RADIO_ACTIVITY_MASK_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_HAL_SET_RADIO_ACTIVITY_MASK post-processing macro */
#ifndef BLE_WRAP_ACI_HAL_SET_RADIO_ACTIVITY_MASK_POSTPROC
#define BLE_WRAP_ACI_HAL_SET_RADIO_ACTIVITY_MASK_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_HAL_SET_EVENT_MASK pre-processing macro */
#ifndef BLE_WRAP_ACI_HAL_SET_EVENT_MASK_PREPROC
#define BLE_WRAP_ACI_HAL_SET_EVENT_MASK_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_HAL_SET_EVENT_MASK post-processing macro */
#ifndef BLE_WRAP_ACI_HAL_SET_EVENT_MASK_POSTPROC
#define BLE_WRAP_ACI_HAL_SET_EVENT_MASK_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_HAL_GET_LINK_STATUS_V2 pre-processing macro */
#ifndef BLE_WRAP_ACI_HAL_GET_LINK_STATUS_V2_PREPROC
#define BLE_WRAP_ACI_HAL_GET_LINK_STATUS_V2_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_HAL_GET_LINK_STATUS_V2 post-processing macro */
#ifndef BLE_WRAP_ACI_HAL_GET_LINK_STATUS_V2_POSTPROC
#define BLE_WRAP_ACI_HAL_GET_LINK_STATUS_V2_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_HAL_GET_PM_DEBUG_INFO_V2 pre-processing macro */
#ifndef BLE_WRAP_ACI_HAL_GET_PM_DEBUG_INFO_V2_PREPROC
#define BLE_WRAP_ACI_HAL_GET_PM_DEBUG_INFO_V2_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_HAL_GET_PM_DEBUG_INFO_V2 post-processing macro */
#ifndef BLE_WRAP_ACI_HAL_GET_PM_DEBUG_INFO_V2_POSTPROC
#define BLE_WRAP_ACI_HAL_GET_PM_DEBUG_INFO_V2_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_HAL_SET_PERIPHERAL_LATENCY pre-processing macro */
#ifndef BLE_WRAP_ACI_HAL_SET_PERIPHERAL_LATENCY_PREPROC
#define BLE_WRAP_ACI_HAL_SET_PERIPHERAL_LATENCY_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_HAL_SET_PERIPHERAL_LATENCY post-processing macro */
#ifndef BLE_WRAP_ACI_HAL_SET_PERIPHERAL_LATENCY_POSTPROC
#define BLE_WRAP_ACI_HAL_SET_PERIPHERAL_LATENCY_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_HAL_SET_SYNC_EVENT_CONFIG pre-processing macro */
#ifndef BLE_WRAP_ACI_HAL_SET_SYNC_EVENT_CONFIG_PREPROC
#define BLE_WRAP_ACI_HAL_SET_SYNC_EVENT_CONFIG_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_HAL_SET_SYNC_EVENT_CONFIG post-processing macro */
#ifndef BLE_WRAP_ACI_HAL_SET_SYNC_EVENT_CONFIG_POSTPROC
#define BLE_WRAP_ACI_HAL_SET_SYNC_EVENT_CONFIG_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_HAL_READ_RSSI pre-processing macro */
#ifndef BLE_WRAP_ACI_HAL_READ_RSSI_PREPROC
#define BLE_WRAP_ACI_HAL_READ_RSSI_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_HAL_READ_RSSI post-processing macro */
#ifndef BLE_WRAP_ACI_HAL_READ_RSSI_POSTPROC
#define BLE_WRAP_ACI_HAL_READ_RSSI_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_HAL_CONTINUOUS_TX_START pre-processing macro */
#ifndef BLE_WRAP_ACI_HAL_CONTINUOUS_TX_START_PREPROC
#define BLE_WRAP_ACI_HAL_CONTINUOUS_TX_START_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_HAL_CONTINUOUS_TX_START post-processing macro */
#ifndef BLE_WRAP_ACI_HAL_CONTINUOUS_TX_START_POSTPROC
#define BLE_WRAP_ACI_HAL_CONTINUOUS_TX_START_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_HAL_EAD_ENCRYPT_DECRYPT pre-processing macro */
#ifndef BLE_WRAP_ACI_HAL_EAD_ENCRYPT_DECRYPT_PREPROC
#define BLE_WRAP_ACI_HAL_EAD_ENCRYPT_DECRYPT_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_HAL_EAD_ENCRYPT_DECRYPT post-processing macro */
#ifndef BLE_WRAP_ACI_HAL_EAD_ENCRYPT_DECRYPT_POSTPROC
#define BLE_WRAP_ACI_HAL_EAD_ENCRYPT_DECRYPT_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_SET_NON_DISCOVERABLE pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_NON_DISCOVERABLE_PREPROC
#define BLE_WRAP_ACI_GAP_SET_NON_DISCOVERABLE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_SET_NON_DISCOVERABLE post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_NON_DISCOVERABLE_POSTPROC
#define BLE_WRAP_ACI_GAP_SET_NON_DISCOVERABLE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_SET_LIMITED_DISCOVERABLE pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_LIMITED_DISCOVERABLE_PREPROC
#define BLE_WRAP_ACI_GAP_SET_LIMITED_DISCOVERABLE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_SET_LIMITED_DISCOVERABLE post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_LIMITED_DISCOVERABLE_POSTPROC
#define BLE_WRAP_ACI_GAP_SET_LIMITED_DISCOVERABLE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_SET_DISCOVERABLE pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_DISCOVERABLE_PREPROC
#define BLE_WRAP_ACI_GAP_SET_DISCOVERABLE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_SET_DISCOVERABLE post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_DISCOVERABLE_POSTPROC
#define BLE_WRAP_ACI_GAP_SET_DISCOVERABLE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_SET_DIRECT_CONNECTABLE pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_DIRECT_CONNECTABLE_PREPROC
#define BLE_WRAP_ACI_GAP_SET_DIRECT_CONNECTABLE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_SET_DIRECT_CONNECTABLE post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_DIRECT_CONNECTABLE_POSTPROC
#define BLE_WRAP_ACI_GAP_SET_DIRECT_CONNECTABLE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_SET_IO_CAPABILITY pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_IO_CAPABILITY_PREPROC
#define BLE_WRAP_ACI_GAP_SET_IO_CAPABILITY_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_SET_IO_CAPABILITY post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_IO_CAPABILITY_POSTPROC
#define BLE_WRAP_ACI_GAP_SET_IO_CAPABILITY_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_SET_AUTHENTICATION_REQUIREMENT pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_AUTHENTICATION_REQUIREMENT_PREPROC
#define BLE_WRAP_ACI_GAP_SET_AUTHENTICATION_REQUIREMENT_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_SET_AUTHENTICATION_REQUIREMENT post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_AUTHENTICATION_REQUIREMENT_POSTPROC
#define BLE_WRAP_ACI_GAP_SET_AUTHENTICATION_REQUIREMENT_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_SET_AUTHORIZATION_REQUIREMENT pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_AUTHORIZATION_REQUIREMENT_PREPROC
#define BLE_WRAP_ACI_GAP_SET_AUTHORIZATION_REQUIREMENT_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_SET_AUTHORIZATION_REQUIREMENT post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_AUTHORIZATION_REQUIREMENT_POSTPROC
#define BLE_WRAP_ACI_GAP_SET_AUTHORIZATION_REQUIREMENT_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_PASS_KEY_RESP pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_PASS_KEY_RESP_PREPROC
#define BLE_WRAP_ACI_GAP_PASS_KEY_RESP_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_PASS_KEY_RESP post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_PASS_KEY_RESP_POSTPROC
#define BLE_WRAP_ACI_GAP_PASS_KEY_RESP_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_AUTHORIZATION_RESP pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_AUTHORIZATION_RESP_PREPROC
#define BLE_WRAP_ACI_GAP_AUTHORIZATION_RESP_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_AUTHORIZATION_RESP post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_AUTHORIZATION_RESP_POSTPROC
#define BLE_WRAP_ACI_GAP_AUTHORIZATION_RESP_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_INIT pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_INIT_PREPROC
#define BLE_WRAP_ACI_GAP_INIT_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_INIT post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_INIT_POSTPROC
#define BLE_WRAP_ACI_GAP_INIT_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_SET_NON_CONNECTABLE pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_NON_CONNECTABLE_PREPROC
#define BLE_WRAP_ACI_GAP_SET_NON_CONNECTABLE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_SET_NON_CONNECTABLE post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_NON_CONNECTABLE_POSTPROC
#define BLE_WRAP_ACI_GAP_SET_NON_CONNECTABLE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_SET_UNDIRECTED_CONNECTABLE pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_UNDIRECTED_CONNECTABLE_PREPROC
#define BLE_WRAP_ACI_GAP_SET_UNDIRECTED_CONNECTABLE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_SET_UNDIRECTED_CONNECTABLE post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_UNDIRECTED_CONNECTABLE_POSTPROC
#define BLE_WRAP_ACI_GAP_SET_UNDIRECTED_CONNECTABLE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_PERIPHERAL_SECURITY_REQ pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_PERIPHERAL_SECURITY_REQ_PREPROC
#define BLE_WRAP_ACI_GAP_PERIPHERAL_SECURITY_REQ_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_PERIPHERAL_SECURITY_REQ post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_PERIPHERAL_SECURITY_REQ_POSTPROC
#define BLE_WRAP_ACI_GAP_PERIPHERAL_SECURITY_REQ_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_UPDATE_ADV_DATA pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_UPDATE_ADV_DATA_PREPROC
#define BLE_WRAP_ACI_GAP_UPDATE_ADV_DATA_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_UPDATE_ADV_DATA post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_UPDATE_ADV_DATA_POSTPROC
#define BLE_WRAP_ACI_GAP_UPDATE_ADV_DATA_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_DELETE_AD_TYPE pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_DELETE_AD_TYPE_PREPROC
#define BLE_WRAP_ACI_GAP_DELETE_AD_TYPE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_DELETE_AD_TYPE post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_DELETE_AD_TYPE_POSTPROC
#define BLE_WRAP_ACI_GAP_DELETE_AD_TYPE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_GET_SECURITY_LEVEL pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_GET_SECURITY_LEVEL_PREPROC
#define BLE_WRAP_ACI_GAP_GET_SECURITY_LEVEL_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_GET_SECURITY_LEVEL post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_GET_SECURITY_LEVEL_POSTPROC
#define BLE_WRAP_ACI_GAP_GET_SECURITY_LEVEL_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_SET_EVENT_MASK pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_EVENT_MASK_PREPROC
#define BLE_WRAP_ACI_GAP_SET_EVENT_MASK_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_SET_EVENT_MASK post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_EVENT_MASK_POSTPROC
#define BLE_WRAP_ACI_GAP_SET_EVENT_MASK_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_CONFIGURE_FILTER_ACCEPT_LIST pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_CONFIGURE_FILTER_ACCEPT_LIST_PREPROC
#define BLE_WRAP_ACI_GAP_CONFIGURE_FILTER_ACCEPT_LIST_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_CONFIGURE_FILTER_ACCEPT_LIST post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_CONFIGURE_FILTER_ACCEPT_LIST_POSTPROC
#define BLE_WRAP_ACI_GAP_CONFIGURE_FILTER_ACCEPT_LIST_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_TERMINATE pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_TERMINATE_PREPROC
#define BLE_WRAP_ACI_GAP_TERMINATE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_TERMINATE post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_TERMINATE_POSTPROC
#define BLE_WRAP_ACI_GAP_TERMINATE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_CLEAR_SECURITY_DB pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_CLEAR_SECURITY_DB_PREPROC
#define BLE_WRAP_ACI_GAP_CLEAR_SECURITY_DB_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_CLEAR_SECURITY_DB post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_CLEAR_SECURITY_DB_POSTPROC
#define BLE_WRAP_ACI_GAP_CLEAR_SECURITY_DB_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_ALLOW_REBOND pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ALLOW_REBOND_PREPROC
#define BLE_WRAP_ACI_GAP_ALLOW_REBOND_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_ALLOW_REBOND post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ALLOW_REBOND_POSTPROC
#define BLE_WRAP_ACI_GAP_ALLOW_REBOND_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_START_LIMITED_DISCOVERY_PROC pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_START_LIMITED_DISCOVERY_PROC_PREPROC
#define BLE_WRAP_ACI_GAP_START_LIMITED_DISCOVERY_PROC_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_START_LIMITED_DISCOVERY_PROC post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_START_LIMITED_DISCOVERY_PROC_POSTPROC
#define BLE_WRAP_ACI_GAP_START_LIMITED_DISCOVERY_PROC_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_START_GENERAL_DISCOVERY_PROC pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_START_GENERAL_DISCOVERY_PROC_PREPROC
#define BLE_WRAP_ACI_GAP_START_GENERAL_DISCOVERY_PROC_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_START_GENERAL_DISCOVERY_PROC post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_START_GENERAL_DISCOVERY_PROC_POSTPROC
#define BLE_WRAP_ACI_GAP_START_GENERAL_DISCOVERY_PROC_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_START_AUTO_CONNECTION_ESTABLISH_PROC pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_START_AUTO_CONNECTION_ESTABLISH_PROC_PREPROC
#define BLE_WRAP_ACI_GAP_START_AUTO_CONNECTION_ESTABLISH_PROC_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_START_AUTO_CONNECTION_ESTABLISH_PROC post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_START_AUTO_CONNECTION_ESTABLISH_PROC_POSTPROC
#define BLE_WRAP_ACI_GAP_START_AUTO_CONNECTION_ESTABLISH_PROC_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_START_GENERAL_CONNECTION_ESTABLISH_PROC pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_START_GENERAL_CONNECTION_ESTABLISH_PROC_PREPROC
#define BLE_WRAP_ACI_GAP_START_GENERAL_CONNECTION_ESTABLISH_PROC_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_START_GENERAL_CONNECTION_ESTABLISH_PROC post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_START_GENERAL_CONNECTION_ESTABLISH_PROC_POSTPROC
#define BLE_WRAP_ACI_GAP_START_GENERAL_CONNECTION_ESTABLISH_PROC_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_START_SELECTIVE_CONNECTION_ESTABLISH_PROC pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_START_SELECTIVE_CONNECTION_ESTABLISH_PROC_PREPROC
#define BLE_WRAP_ACI_GAP_START_SELECTIVE_CONNECTION_ESTABLISH_PROC_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_START_SELECTIVE_CONNECTION_ESTABLISH_PROC post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_START_SELECTIVE_CONNECTION_ESTABLISH_PROC_POSTPROC
#define BLE_WRAP_ACI_GAP_START_SELECTIVE_CONNECTION_ESTABLISH_PROC_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_CREATE_CONNECTION pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_CREATE_CONNECTION_PREPROC
#define BLE_WRAP_ACI_GAP_CREATE_CONNECTION_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_CREATE_CONNECTION post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_CREATE_CONNECTION_POSTPROC
#define BLE_WRAP_ACI_GAP_CREATE_CONNECTION_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_TERMINATE_GAP_PROC pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_TERMINATE_GAP_PROC_PREPROC
#define BLE_WRAP_ACI_GAP_TERMINATE_GAP_PROC_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_TERMINATE_GAP_PROC post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_TERMINATE_GAP_PROC_POSTPROC
#define BLE_WRAP_ACI_GAP_TERMINATE_GAP_PROC_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_START_CONNECTION_UPDATE pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_START_CONNECTION_UPDATE_PREPROC
#define BLE_WRAP_ACI_GAP_START_CONNECTION_UPDATE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_START_CONNECTION_UPDATE post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_START_CONNECTION_UPDATE_POSTPROC
#define BLE_WRAP_ACI_GAP_START_CONNECTION_UPDATE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_SEND_PAIRING_REQ pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SEND_PAIRING_REQ_PREPROC
#define BLE_WRAP_ACI_GAP_SEND_PAIRING_REQ_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_SEND_PAIRING_REQ post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SEND_PAIRING_REQ_POSTPROC
#define BLE_WRAP_ACI_GAP_SEND_PAIRING_REQ_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_SET_BROADCAST_MODE pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_BROADCAST_MODE_PREPROC
#define BLE_WRAP_ACI_GAP_SET_BROADCAST_MODE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_SET_BROADCAST_MODE post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_BROADCAST_MODE_POSTPROC
#define BLE_WRAP_ACI_GAP_SET_BROADCAST_MODE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_START_OBSERVATION_PROC pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_START_OBSERVATION_PROC_PREPROC
#define BLE_WRAP_ACI_GAP_START_OBSERVATION_PROC_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_START_OBSERVATION_PROC post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_START_OBSERVATION_PROC_POSTPROC
#define BLE_WRAP_ACI_GAP_START_OBSERVATION_PROC_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_GET_BONDED_DEVICES pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_GET_BONDED_DEVICES_PREPROC
#define BLE_WRAP_ACI_GAP_GET_BONDED_DEVICES_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_GET_BONDED_DEVICES post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_GET_BONDED_DEVICES_POSTPROC
#define BLE_WRAP_ACI_GAP_GET_BONDED_DEVICES_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_CHECK_BONDED_DEVICE pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_CHECK_BONDED_DEVICE_PREPROC
#define BLE_WRAP_ACI_GAP_CHECK_BONDED_DEVICE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_CHECK_BONDED_DEVICE post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_CHECK_BONDED_DEVICE_POSTPROC
#define BLE_WRAP_ACI_GAP_CHECK_BONDED_DEVICE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_NUMERIC_COMPARISON_VALUE_CONFIRM_YESNO pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_NUMERIC_COMPARISON_VALUE_CONFIRM_YESNO_PREPROC
#define BLE_WRAP_ACI_GAP_NUMERIC_COMPARISON_VALUE_CONFIRM_YESNO_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_NUMERIC_COMPARISON_VALUE_CONFIRM_YESNO post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_NUMERIC_COMPARISON_VALUE_CONFIRM_YESNO_POSTPROC
#define BLE_WRAP_ACI_GAP_NUMERIC_COMPARISON_VALUE_CONFIRM_YESNO_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_PASSKEY_INPUT pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_PASSKEY_INPUT_PREPROC
#define BLE_WRAP_ACI_GAP_PASSKEY_INPUT_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_PASSKEY_INPUT post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_PASSKEY_INPUT_POSTPROC
#define BLE_WRAP_ACI_GAP_PASSKEY_INPUT_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_GET_OOB_DATA pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_GET_OOB_DATA_PREPROC
#define BLE_WRAP_ACI_GAP_GET_OOB_DATA_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_GET_OOB_DATA post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_GET_OOB_DATA_POSTPROC
#define BLE_WRAP_ACI_GAP_GET_OOB_DATA_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_SET_OOB_DATA pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_OOB_DATA_PREPROC
#define BLE_WRAP_ACI_GAP_SET_OOB_DATA_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_SET_OOB_DATA post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_SET_OOB_DATA_POSTPROC
#define BLE_WRAP_ACI_GAP_SET_OOB_DATA_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_ADD_DEVICES_TO_RESOLVING_LIST pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADD_DEVICES_TO_RESOLVING_LIST_PREPROC
#define BLE_WRAP_ACI_GAP_ADD_DEVICES_TO_RESOLVING_LIST_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_ADD_DEVICES_TO_RESOLVING_LIST post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADD_DEVICES_TO_RESOLVING_LIST_POSTPROC
#define BLE_WRAP_ACI_GAP_ADD_DEVICES_TO_RESOLVING_LIST_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_REMOVE_BONDED_DEVICE pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_REMOVE_BONDED_DEVICE_PREPROC
#define BLE_WRAP_ACI_GAP_REMOVE_BONDED_DEVICE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_REMOVE_BONDED_DEVICE post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_REMOVE_BONDED_DEVICE_POSTPROC
#define BLE_WRAP_ACI_GAP_REMOVE_BONDED_DEVICE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_ADD_DEVICES_TO_LIST pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADD_DEVICES_TO_LIST_PREPROC
#define BLE_WRAP_ACI_GAP_ADD_DEVICES_TO_LIST_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_ADD_DEVICES_TO_LIST post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADD_DEVICES_TO_LIST_POSTPROC
#define BLE_WRAP_ACI_GAP_ADD_DEVICES_TO_LIST_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_PAIRING_REQUEST_REPLY pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_PAIRING_REQUEST_REPLY_PREPROC
#define BLE_WRAP_ACI_GAP_PAIRING_REQUEST_REPLY_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_PAIRING_REQUEST_REPLY post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_PAIRING_REQUEST_REPLY_POSTPROC
#define BLE_WRAP_ACI_GAP_PAIRING_REQUEST_REPLY_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_ADV_SET_CONFIGURATION pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADV_SET_CONFIGURATION_PREPROC
#define BLE_WRAP_ACI_GAP_ADV_SET_CONFIGURATION_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_ADV_SET_CONFIGURATION post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADV_SET_CONFIGURATION_POSTPROC
#define BLE_WRAP_ACI_GAP_ADV_SET_CONFIGURATION_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_ADV_SET_ENABLE pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADV_SET_ENABLE_PREPROC
#define BLE_WRAP_ACI_GAP_ADV_SET_ENABLE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_ADV_SET_ENABLE post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADV_SET_ENABLE_POSTPROC
#define BLE_WRAP_ACI_GAP_ADV_SET_ENABLE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_ADV_SET_ADV_DATA pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADV_SET_ADV_DATA_PREPROC
#define BLE_WRAP_ACI_GAP_ADV_SET_ADV_DATA_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_ADV_SET_ADV_DATA post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADV_SET_ADV_DATA_POSTPROC
#define BLE_WRAP_ACI_GAP_ADV_SET_ADV_DATA_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_ADV_SET_SCAN_RESP_DATA pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADV_SET_SCAN_RESP_DATA_PREPROC
#define BLE_WRAP_ACI_GAP_ADV_SET_SCAN_RESP_DATA_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_ADV_SET_SCAN_RESP_DATA post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADV_SET_SCAN_RESP_DATA_POSTPROC
#define BLE_WRAP_ACI_GAP_ADV_SET_SCAN_RESP_DATA_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_ADV_REMOVE_SET pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADV_REMOVE_SET_PREPROC
#define BLE_WRAP_ACI_GAP_ADV_REMOVE_SET_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_ADV_REMOVE_SET post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADV_REMOVE_SET_POSTPROC
#define BLE_WRAP_ACI_GAP_ADV_REMOVE_SET_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_ADV_CLEAR_SETS pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADV_CLEAR_SETS_PREPROC
#define BLE_WRAP_ACI_GAP_ADV_CLEAR_SETS_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_ADV_CLEAR_SETS post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADV_CLEAR_SETS_POSTPROC
#define BLE_WRAP_ACI_GAP_ADV_CLEAR_SETS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_ADV_SET_RANDOM_ADDRESS pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADV_SET_RANDOM_ADDRESS_PREPROC
#define BLE_WRAP_ACI_GAP_ADV_SET_RANDOM_ADDRESS_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_ADV_SET_RANDOM_ADDRESS post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADV_SET_RANDOM_ADDRESS_POSTPROC
#define BLE_WRAP_ACI_GAP_ADV_SET_RANDOM_ADDRESS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_ADV_SET_PERIODIC_PARAMETERS pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADV_SET_PERIODIC_PARAMETERS_PREPROC
#define BLE_WRAP_ACI_GAP_ADV_SET_PERIODIC_PARAMETERS_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_ADV_SET_PERIODIC_PARAMETERS post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADV_SET_PERIODIC_PARAMETERS_POSTPROC
#define BLE_WRAP_ACI_GAP_ADV_SET_PERIODIC_PARAMETERS_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_ADV_SET_PERIODIC_DATA pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADV_SET_PERIODIC_DATA_PREPROC
#define BLE_WRAP_ACI_GAP_ADV_SET_PERIODIC_DATA_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_ADV_SET_PERIODIC_DATA post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADV_SET_PERIODIC_DATA_POSTPROC
#define BLE_WRAP_ACI_GAP_ADV_SET_PERIODIC_DATA_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_ADV_SET_PERIODIC_ENABLE pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADV_SET_PERIODIC_ENABLE_PREPROC
#define BLE_WRAP_ACI_GAP_ADV_SET_PERIODIC_ENABLE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_ADV_SET_PERIODIC_ENABLE post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADV_SET_PERIODIC_ENABLE_POSTPROC
#define BLE_WRAP_ACI_GAP_ADV_SET_PERIODIC_ENABLE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_ADV_SET_CONFIGURATION_V2 pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADV_SET_CONFIGURATION_V2_PREPROC
#define BLE_WRAP_ACI_GAP_ADV_SET_CONFIGURATION_V2_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_ADV_SET_CONFIGURATION_V2 post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_ADV_SET_CONFIGURATION_V2_POSTPROC
#define BLE_WRAP_ACI_GAP_ADV_SET_CONFIGURATION_V2_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_EXT_START_SCAN pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_EXT_START_SCAN_PREPROC
#define BLE_WRAP_ACI_GAP_EXT_START_SCAN_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_EXT_START_SCAN post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_EXT_START_SCAN_POSTPROC
#define BLE_WRAP_ACI_GAP_EXT_START_SCAN_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GAP_EXT_CREATE_CONNECTION pre-processing macro */
#ifndef BLE_WRAP_ACI_GAP_EXT_CREATE_CONNECTION_PREPROC
#define BLE_WRAP_ACI_GAP_EXT_CREATE_CONNECTION_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GAP_EXT_CREATE_CONNECTION post-processing macro */
#ifndef BLE_WRAP_ACI_GAP_EXT_CREATE_CONNECTION_POSTPROC
#define BLE_WRAP_ACI_GAP_EXT_CREATE_CONNECTION_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_INIT pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_INIT_PREPROC
#define BLE_WRAP_ACI_GATT_INIT_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_INIT post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_INIT_POSTPROC
#define BLE_WRAP_ACI_GATT_INIT_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_ADD_SERVICE pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_ADD_SERVICE_PREPROC
#define BLE_WRAP_ACI_GATT_ADD_SERVICE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_ADD_SERVICE post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_ADD_SERVICE_POSTPROC
#define BLE_WRAP_ACI_GATT_ADD_SERVICE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_INCLUDE_SERVICE pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_INCLUDE_SERVICE_PREPROC
#define BLE_WRAP_ACI_GATT_INCLUDE_SERVICE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_INCLUDE_SERVICE post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_INCLUDE_SERVICE_POSTPROC
#define BLE_WRAP_ACI_GATT_INCLUDE_SERVICE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_ADD_CHAR pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_ADD_CHAR_PREPROC
#define BLE_WRAP_ACI_GATT_ADD_CHAR_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_ADD_CHAR post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_ADD_CHAR_POSTPROC
#define BLE_WRAP_ACI_GATT_ADD_CHAR_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_ADD_CHAR_DESC pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_ADD_CHAR_DESC_PREPROC
#define BLE_WRAP_ACI_GATT_ADD_CHAR_DESC_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_ADD_CHAR_DESC post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_ADD_CHAR_DESC_POSTPROC
#define BLE_WRAP_ACI_GATT_ADD_CHAR_DESC_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_UPDATE_CHAR_VALUE pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_UPDATE_CHAR_VALUE_PREPROC
#define BLE_WRAP_ACI_GATT_UPDATE_CHAR_VALUE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_UPDATE_CHAR_VALUE post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_UPDATE_CHAR_VALUE_POSTPROC
#define BLE_WRAP_ACI_GATT_UPDATE_CHAR_VALUE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_DEL_CHAR pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_DEL_CHAR_PREPROC
#define BLE_WRAP_ACI_GATT_DEL_CHAR_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_DEL_CHAR post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_DEL_CHAR_POSTPROC
#define BLE_WRAP_ACI_GATT_DEL_CHAR_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_DEL_SERVICE pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_DEL_SERVICE_PREPROC
#define BLE_WRAP_ACI_GATT_DEL_SERVICE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_DEL_SERVICE post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_DEL_SERVICE_POSTPROC
#define BLE_WRAP_ACI_GATT_DEL_SERVICE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_DEL_INCLUDE_SERVICE pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_DEL_INCLUDE_SERVICE_PREPROC
#define BLE_WRAP_ACI_GATT_DEL_INCLUDE_SERVICE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_DEL_INCLUDE_SERVICE post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_DEL_INCLUDE_SERVICE_POSTPROC
#define BLE_WRAP_ACI_GATT_DEL_INCLUDE_SERVICE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_SET_EVENT_MASK pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_SET_EVENT_MASK_PREPROC
#define BLE_WRAP_ACI_GATT_SET_EVENT_MASK_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_SET_EVENT_MASK post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_SET_EVENT_MASK_POSTPROC
#define BLE_WRAP_ACI_GATT_SET_EVENT_MASK_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_EXCHANGE_CONFIG pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_EXCHANGE_CONFIG_PREPROC
#define BLE_WRAP_ACI_GATT_EXCHANGE_CONFIG_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_EXCHANGE_CONFIG post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_EXCHANGE_CONFIG_POSTPROC
#define BLE_WRAP_ACI_GATT_EXCHANGE_CONFIG_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_ATT_FIND_INFO_REQ pre-processing macro */
#ifndef BLE_WRAP_ACI_ATT_FIND_INFO_REQ_PREPROC
#define BLE_WRAP_ACI_ATT_FIND_INFO_REQ_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_ATT_FIND_INFO_REQ post-processing macro */
#ifndef BLE_WRAP_ACI_ATT_FIND_INFO_REQ_POSTPROC
#define BLE_WRAP_ACI_ATT_FIND_INFO_REQ_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_ATT_FIND_BY_TYPE_VALUE_REQ pre-processing macro */
#ifndef BLE_WRAP_ACI_ATT_FIND_BY_TYPE_VALUE_REQ_PREPROC
#define BLE_WRAP_ACI_ATT_FIND_BY_TYPE_VALUE_REQ_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_ATT_FIND_BY_TYPE_VALUE_REQ post-processing macro */
#ifndef BLE_WRAP_ACI_ATT_FIND_BY_TYPE_VALUE_REQ_POSTPROC
#define BLE_WRAP_ACI_ATT_FIND_BY_TYPE_VALUE_REQ_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_ATT_READ_BY_TYPE_REQ pre-processing macro */
#ifndef BLE_WRAP_ACI_ATT_READ_BY_TYPE_REQ_PREPROC
#define BLE_WRAP_ACI_ATT_READ_BY_TYPE_REQ_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_ATT_READ_BY_TYPE_REQ post-processing macro */
#ifndef BLE_WRAP_ACI_ATT_READ_BY_TYPE_REQ_POSTPROC
#define BLE_WRAP_ACI_ATT_READ_BY_TYPE_REQ_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_ATT_READ_BY_GROUP_TYPE_REQ pre-processing macro */
#ifndef BLE_WRAP_ACI_ATT_READ_BY_GROUP_TYPE_REQ_PREPROC
#define BLE_WRAP_ACI_ATT_READ_BY_GROUP_TYPE_REQ_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_ATT_READ_BY_GROUP_TYPE_REQ post-processing macro */
#ifndef BLE_WRAP_ACI_ATT_READ_BY_GROUP_TYPE_REQ_POSTPROC
#define BLE_WRAP_ACI_ATT_READ_BY_GROUP_TYPE_REQ_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_ATT_PREPARE_WRITE_REQ pre-processing macro */
#ifndef BLE_WRAP_ACI_ATT_PREPARE_WRITE_REQ_PREPROC
#define BLE_WRAP_ACI_ATT_PREPARE_WRITE_REQ_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_ATT_PREPARE_WRITE_REQ post-processing macro */
#ifndef BLE_WRAP_ACI_ATT_PREPARE_WRITE_REQ_POSTPROC
#define BLE_WRAP_ACI_ATT_PREPARE_WRITE_REQ_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_ATT_EXECUTE_WRITE_REQ pre-processing macro */
#ifndef BLE_WRAP_ACI_ATT_EXECUTE_WRITE_REQ_PREPROC
#define BLE_WRAP_ACI_ATT_EXECUTE_WRITE_REQ_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_ATT_EXECUTE_WRITE_REQ post-processing macro */
#ifndef BLE_WRAP_ACI_ATT_EXECUTE_WRITE_REQ_POSTPROC
#define BLE_WRAP_ACI_ATT_EXECUTE_WRITE_REQ_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_DISC_ALL_PRIMARY_SERVICES pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_DISC_ALL_PRIMARY_SERVICES_PREPROC
#define BLE_WRAP_ACI_GATT_DISC_ALL_PRIMARY_SERVICES_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_DISC_ALL_PRIMARY_SERVICES post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_DISC_ALL_PRIMARY_SERVICES_POSTPROC
#define BLE_WRAP_ACI_GATT_DISC_ALL_PRIMARY_SERVICES_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_DISC_PRIMARY_SERVICE_BY_UUID pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_DISC_PRIMARY_SERVICE_BY_UUID_PREPROC
#define BLE_WRAP_ACI_GATT_DISC_PRIMARY_SERVICE_BY_UUID_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_DISC_PRIMARY_SERVICE_BY_UUID post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_DISC_PRIMARY_SERVICE_BY_UUID_POSTPROC
#define BLE_WRAP_ACI_GATT_DISC_PRIMARY_SERVICE_BY_UUID_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_FIND_INCLUDED_SERVICES pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_FIND_INCLUDED_SERVICES_PREPROC
#define BLE_WRAP_ACI_GATT_FIND_INCLUDED_SERVICES_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_FIND_INCLUDED_SERVICES post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_FIND_INCLUDED_SERVICES_POSTPROC
#define BLE_WRAP_ACI_GATT_FIND_INCLUDED_SERVICES_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_DISC_ALL_CHAR_OF_SERVICE pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_DISC_ALL_CHAR_OF_SERVICE_PREPROC
#define BLE_WRAP_ACI_GATT_DISC_ALL_CHAR_OF_SERVICE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_DISC_ALL_CHAR_OF_SERVICE post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_DISC_ALL_CHAR_OF_SERVICE_POSTPROC
#define BLE_WRAP_ACI_GATT_DISC_ALL_CHAR_OF_SERVICE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_DISC_CHAR_BY_UUID pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_DISC_CHAR_BY_UUID_PREPROC
#define BLE_WRAP_ACI_GATT_DISC_CHAR_BY_UUID_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_DISC_CHAR_BY_UUID post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_DISC_CHAR_BY_UUID_POSTPROC
#define BLE_WRAP_ACI_GATT_DISC_CHAR_BY_UUID_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_DISC_ALL_CHAR_DESC pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_DISC_ALL_CHAR_DESC_PREPROC
#define BLE_WRAP_ACI_GATT_DISC_ALL_CHAR_DESC_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_DISC_ALL_CHAR_DESC post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_DISC_ALL_CHAR_DESC_POSTPROC
#define BLE_WRAP_ACI_GATT_DISC_ALL_CHAR_DESC_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_READ_CHAR_VALUE pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_READ_CHAR_VALUE_PREPROC
#define BLE_WRAP_ACI_GATT_READ_CHAR_VALUE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_READ_CHAR_VALUE post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_READ_CHAR_VALUE_POSTPROC
#define BLE_WRAP_ACI_GATT_READ_CHAR_VALUE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_READ_USING_CHAR_UUID pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_READ_USING_CHAR_UUID_PREPROC
#define BLE_WRAP_ACI_GATT_READ_USING_CHAR_UUID_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_READ_USING_CHAR_UUID post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_READ_USING_CHAR_UUID_POSTPROC
#define BLE_WRAP_ACI_GATT_READ_USING_CHAR_UUID_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_READ_LONG_CHAR_VALUE pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_READ_LONG_CHAR_VALUE_PREPROC
#define BLE_WRAP_ACI_GATT_READ_LONG_CHAR_VALUE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_READ_LONG_CHAR_VALUE post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_READ_LONG_CHAR_VALUE_POSTPROC
#define BLE_WRAP_ACI_GATT_READ_LONG_CHAR_VALUE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_READ_MULTIPLE_CHAR_VALUE pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_READ_MULTIPLE_CHAR_VALUE_PREPROC
#define BLE_WRAP_ACI_GATT_READ_MULTIPLE_CHAR_VALUE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_READ_MULTIPLE_CHAR_VALUE post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_READ_MULTIPLE_CHAR_VALUE_POSTPROC
#define BLE_WRAP_ACI_GATT_READ_MULTIPLE_CHAR_VALUE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_WRITE_CHAR_VALUE pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_WRITE_CHAR_VALUE_PREPROC
#define BLE_WRAP_ACI_GATT_WRITE_CHAR_VALUE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_WRITE_CHAR_VALUE post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_WRITE_CHAR_VALUE_POSTPROC
#define BLE_WRAP_ACI_GATT_WRITE_CHAR_VALUE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_WRITE_LONG_CHAR_VALUE pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_WRITE_LONG_CHAR_VALUE_PREPROC
#define BLE_WRAP_ACI_GATT_WRITE_LONG_CHAR_VALUE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_WRITE_LONG_CHAR_VALUE post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_WRITE_LONG_CHAR_VALUE_POSTPROC
#define BLE_WRAP_ACI_GATT_WRITE_LONG_CHAR_VALUE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_WRITE_CHAR_RELIABLE pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_WRITE_CHAR_RELIABLE_PREPROC
#define BLE_WRAP_ACI_GATT_WRITE_CHAR_RELIABLE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_WRITE_CHAR_RELIABLE post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_WRITE_CHAR_RELIABLE_POSTPROC
#define BLE_WRAP_ACI_GATT_WRITE_CHAR_RELIABLE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_WRITE_LONG_CHAR_DESC pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_WRITE_LONG_CHAR_DESC_PREPROC
#define BLE_WRAP_ACI_GATT_WRITE_LONG_CHAR_DESC_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_WRITE_LONG_CHAR_DESC post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_WRITE_LONG_CHAR_DESC_POSTPROC
#define BLE_WRAP_ACI_GATT_WRITE_LONG_CHAR_DESC_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_READ_LONG_CHAR_DESC pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_READ_LONG_CHAR_DESC_PREPROC
#define BLE_WRAP_ACI_GATT_READ_LONG_CHAR_DESC_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_READ_LONG_CHAR_DESC post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_READ_LONG_CHAR_DESC_POSTPROC
#define BLE_WRAP_ACI_GATT_READ_LONG_CHAR_DESC_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_WRITE_CHAR_DESC pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_WRITE_CHAR_DESC_PREPROC
#define BLE_WRAP_ACI_GATT_WRITE_CHAR_DESC_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_WRITE_CHAR_DESC post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_WRITE_CHAR_DESC_POSTPROC
#define BLE_WRAP_ACI_GATT_WRITE_CHAR_DESC_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_READ_CHAR_DESC pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_READ_CHAR_DESC_PREPROC
#define BLE_WRAP_ACI_GATT_READ_CHAR_DESC_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_READ_CHAR_DESC post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_READ_CHAR_DESC_POSTPROC
#define BLE_WRAP_ACI_GATT_READ_CHAR_DESC_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_WRITE_WITHOUT_RESP pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_WRITE_WITHOUT_RESP_PREPROC
#define BLE_WRAP_ACI_GATT_WRITE_WITHOUT_RESP_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_WRITE_WITHOUT_RESP post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_WRITE_WITHOUT_RESP_POSTPROC
#define BLE_WRAP_ACI_GATT_WRITE_WITHOUT_RESP_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_SIGNED_WRITE_WITHOUT_RESP pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_SIGNED_WRITE_WITHOUT_RESP_PREPROC
#define BLE_WRAP_ACI_GATT_SIGNED_WRITE_WITHOUT_RESP_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_SIGNED_WRITE_WITHOUT_RESP post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_SIGNED_WRITE_WITHOUT_RESP_POSTPROC
#define BLE_WRAP_ACI_GATT_SIGNED_WRITE_WITHOUT_RESP_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_CONFIRM_INDICATION pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_CONFIRM_INDICATION_PREPROC
#define BLE_WRAP_ACI_GATT_CONFIRM_INDICATION_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_CONFIRM_INDICATION post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_CONFIRM_INDICATION_POSTPROC
#define BLE_WRAP_ACI_GATT_CONFIRM_INDICATION_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_WRITE_RESP pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_WRITE_RESP_PREPROC
#define BLE_WRAP_ACI_GATT_WRITE_RESP_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_WRITE_RESP post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_WRITE_RESP_POSTPROC
#define BLE_WRAP_ACI_GATT_WRITE_RESP_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_ALLOW_READ pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_ALLOW_READ_PREPROC
#define BLE_WRAP_ACI_GATT_ALLOW_READ_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_ALLOW_READ post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_ALLOW_READ_POSTPROC
#define BLE_WRAP_ACI_GATT_ALLOW_READ_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_SET_SECURITY_PERMISSION pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_SET_SECURITY_PERMISSION_PREPROC
#define BLE_WRAP_ACI_GATT_SET_SECURITY_PERMISSION_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_SET_SECURITY_PERMISSION post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_SET_SECURITY_PERMISSION_POSTPROC
#define BLE_WRAP_ACI_GATT_SET_SECURITY_PERMISSION_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_SET_DESC_VALUE pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_SET_DESC_VALUE_PREPROC
#define BLE_WRAP_ACI_GATT_SET_DESC_VALUE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_SET_DESC_VALUE post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_SET_DESC_VALUE_POSTPROC
#define BLE_WRAP_ACI_GATT_SET_DESC_VALUE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_READ_HANDLE_VALUE pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_READ_HANDLE_VALUE_PREPROC
#define BLE_WRAP_ACI_GATT_READ_HANDLE_VALUE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_READ_HANDLE_VALUE post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_READ_HANDLE_VALUE_POSTPROC
#define BLE_WRAP_ACI_GATT_READ_HANDLE_VALUE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_UPDATE_CHAR_VALUE_EXT pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_UPDATE_CHAR_VALUE_EXT_PREPROC
#define BLE_WRAP_ACI_GATT_UPDATE_CHAR_VALUE_EXT_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_UPDATE_CHAR_VALUE_EXT post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_UPDATE_CHAR_VALUE_EXT_POSTPROC
#define BLE_WRAP_ACI_GATT_UPDATE_CHAR_VALUE_EXT_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_DENY_READ pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_DENY_READ_PREPROC
#define BLE_WRAP_ACI_GATT_DENY_READ_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_DENY_READ post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_DENY_READ_POSTPROC
#define BLE_WRAP_ACI_GATT_DENY_READ_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_SET_ACCESS_PERMISSION pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_SET_ACCESS_PERMISSION_PREPROC
#define BLE_WRAP_ACI_GATT_SET_ACCESS_PERMISSION_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_SET_ACCESS_PERMISSION post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_SET_ACCESS_PERMISSION_POSTPROC
#define BLE_WRAP_ACI_GATT_SET_ACCESS_PERMISSION_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_STORE_DB pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_STORE_DB_PREPROC
#define BLE_WRAP_ACI_GATT_STORE_DB_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_STORE_DB post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_STORE_DB_POSTPROC
#define BLE_WRAP_ACI_GATT_STORE_DB_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_SEND_MULT_NOTIFICATION pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_SEND_MULT_NOTIFICATION_PREPROC
#define BLE_WRAP_ACI_GATT_SEND_MULT_NOTIFICATION_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_SEND_MULT_NOTIFICATION post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_SEND_MULT_NOTIFICATION_POSTPROC
#define BLE_WRAP_ACI_GATT_SEND_MULT_NOTIFICATION_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_GATT_READ_MULTIPLE_VAR_CHAR_VALUE pre-processing macro */
#ifndef BLE_WRAP_ACI_GATT_READ_MULTIPLE_VAR_CHAR_VALUE_PREPROC
#define BLE_WRAP_ACI_GATT_READ_MULTIPLE_VAR_CHAR_VALUE_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_GATT_READ_MULTIPLE_VAR_CHAR_VALUE post-processing macro */
#ifndef BLE_WRAP_ACI_GATT_READ_MULTIPLE_VAR_CHAR_VALUE_POSTPROC
#define BLE_WRAP_ACI_GATT_READ_MULTIPLE_VAR_CHAR_VALUE_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_REQ pre-processing macro */
#ifndef BLE_WRAP_ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_REQ_PREPROC
#define BLE_WRAP_ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_REQ_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_REQ post-processing macro */
#ifndef BLE_WRAP_ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_REQ_POSTPROC
#define BLE_WRAP_ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_REQ_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_RESP pre-processing macro */
#ifndef BLE_WRAP_ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_RESP_PREPROC
#define BLE_WRAP_ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_RESP_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_RESP post-processing macro */
#ifndef BLE_WRAP_ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_RESP_POSTPROC
#define BLE_WRAP_ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_RESP_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_L2CAP_COC_CONNECT pre-processing macro */
#ifndef BLE_WRAP_ACI_L2CAP_COC_CONNECT_PREPROC
#define BLE_WRAP_ACI_L2CAP_COC_CONNECT_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_L2CAP_COC_CONNECT post-processing macro */
#ifndef BLE_WRAP_ACI_L2CAP_COC_CONNECT_POSTPROC
#define BLE_WRAP_ACI_L2CAP_COC_CONNECT_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_L2CAP_COC_CONNECT_CONFIRM pre-processing macro */
#ifndef BLE_WRAP_ACI_L2CAP_COC_CONNECT_CONFIRM_PREPROC
#define BLE_WRAP_ACI_L2CAP_COC_CONNECT_CONFIRM_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_L2CAP_COC_CONNECT_CONFIRM post-processing macro */
#ifndef BLE_WRAP_ACI_L2CAP_COC_CONNECT_CONFIRM_POSTPROC
#define BLE_WRAP_ACI_L2CAP_COC_CONNECT_CONFIRM_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_L2CAP_COC_RECONF pre-processing macro */
#ifndef BLE_WRAP_ACI_L2CAP_COC_RECONF_PREPROC
#define BLE_WRAP_ACI_L2CAP_COC_RECONF_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_L2CAP_COC_RECONF post-processing macro */
#ifndef BLE_WRAP_ACI_L2CAP_COC_RECONF_POSTPROC
#define BLE_WRAP_ACI_L2CAP_COC_RECONF_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_L2CAP_COC_RECONF_CONFIRM pre-processing macro */
#ifndef BLE_WRAP_ACI_L2CAP_COC_RECONF_CONFIRM_PREPROC
#define BLE_WRAP_ACI_L2CAP_COC_RECONF_CONFIRM_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_L2CAP_COC_RECONF_CONFIRM post-processing macro */
#ifndef BLE_WRAP_ACI_L2CAP_COC_RECONF_CONFIRM_POSTPROC
#define BLE_WRAP_ACI_L2CAP_COC_RECONF_CONFIRM_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_L2CAP_COC_DISCONNECT pre-processing macro */
#ifndef BLE_WRAP_ACI_L2CAP_COC_DISCONNECT_PREPROC
#define BLE_WRAP_ACI_L2CAP_COC_DISCONNECT_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_L2CAP_COC_DISCONNECT post-processing macro */
#ifndef BLE_WRAP_ACI_L2CAP_COC_DISCONNECT_POSTPROC
#define BLE_WRAP_ACI_L2CAP_COC_DISCONNECT_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_L2CAP_COC_FLOW_CONTROL pre-processing macro */
#ifndef BLE_WRAP_ACI_L2CAP_COC_FLOW_CONTROL_PREPROC
#define BLE_WRAP_ACI_L2CAP_COC_FLOW_CONTROL_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_L2CAP_COC_FLOW_CONTROL post-processing macro */
#ifndef BLE_WRAP_ACI_L2CAP_COC_FLOW_CONTROL_POSTPROC
#define BLE_WRAP_ACI_L2CAP_COC_FLOW_CONTROL_POSTPROC BLE_WRAP_POSTPROC
#endif

/* ACI_L2CAP_COC_TX_DATA pre-processing macro */
#ifndef BLE_WRAP_ACI_L2CAP_COC_TX_DATA_PREPROC
#define BLE_WRAP_ACI_L2CAP_COC_TX_DATA_PREPROC BLE_WRAP_PREPROC
#endif

/* ACI_L2CAP_COC_TX_DATA post-processing macro */
#ifndef BLE_WRAP_ACI_L2CAP_COC_TX_DATA_POSTPROC
#define BLE_WRAP_ACI_L2CAP_COC_TX_DATA_POSTPROC BLE_WRAP_POSTPROC
#endif

/* HCI_DISCONNECT wrapper function */
tBleStatus hci_disconnect( uint16_t Connection_Handle,
                           uint8_t Reason )
{
  BLE_WRAP_HCI_DISCONNECT_PREPROC( );
  tBleStatus status = HCI_DISCONNECT( Connection_Handle,
                                      Reason );
  BLE_WRAP_HCI_DISCONNECT_POSTPROC( );
  return status;
}

/* HCI_READ_REMOTE_VERSION_INFORMATION wrapper function */
tBleStatus hci_read_remote_version_information( uint16_t Connection_Handle )
{
  BLE_WRAP_HCI_READ_REMOTE_VERSION_INFORMATION_PREPROC( );
  tBleStatus status = HCI_READ_REMOTE_VERSION_INFORMATION( Connection_Handle );
  BLE_WRAP_HCI_READ_REMOTE_VERSION_INFORMATION_POSTPROC( );
  return status;
}

/* HCI_SET_EVENT_MASK wrapper function */
tBleStatus hci_set_event_mask( const uint8_t* Event_Mask )
{
  BLE_WRAP_HCI_SET_EVENT_MASK_PREPROC( );
  tBleStatus status = HCI_SET_EVENT_MASK( Event_Mask );
  BLE_WRAP_HCI_SET_EVENT_MASK_POSTPROC( );
  return status;
}

/* HCI_RESET wrapper function */
tBleStatus hci_reset( void )
{
  BLE_WRAP_HCI_RESET_PREPROC( );
  tBleStatus status = HCI_RESET(  );
  BLE_WRAP_HCI_RESET_POSTPROC( );
  return status;
}

/* HCI_READ_CONNECTION_ACCEPT_TIMEOUT wrapper function */
tBleStatus hci_read_connection_accept_timeout( uint16_t* Connection_Accept_Timeout )
{
  BLE_WRAP_HCI_READ_CONNECTION_ACCEPT_TIMEOUT_PREPROC( );
  tBleStatus status = HCI_READ_CONNECTION_ACCEPT_TIMEOUT( Connection_Accept_Timeout );
  BLE_WRAP_HCI_READ_CONNECTION_ACCEPT_TIMEOUT_POSTPROC( );
  return status;
}

/* HCI_WRITE_CONNECTION_ACCEPT_TIMEOUT wrapper function */
tBleStatus hci_write_connection_accept_timeout( uint16_t Connection_Accept_Timeout )
{
  BLE_WRAP_HCI_WRITE_CONNECTION_ACCEPT_TIMEOUT_PREPROC( );
  tBleStatus status = HCI_WRITE_CONNECTION_ACCEPT_TIMEOUT( Connection_Accept_Timeout );
  BLE_WRAP_HCI_WRITE_CONNECTION_ACCEPT_TIMEOUT_POSTPROC( );
  return status;
}

/* HCI_READ_TRANSMIT_POWER_LEVEL wrapper function */
tBleStatus hci_read_transmit_power_level( uint16_t Connection_Handle,
                                          uint8_t Type,
                                          uint8_t* Transmit_Power_Level )
{
  BLE_WRAP_HCI_READ_TRANSMIT_POWER_LEVEL_PREPROC( );
  tBleStatus status = HCI_READ_TRANSMIT_POWER_LEVEL( Connection_Handle,
                                                     Type,
                                                     Transmit_Power_Level );
  BLE_WRAP_HCI_READ_TRANSMIT_POWER_LEVEL_POSTPROC( );
  return status;
}

/* HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL wrapper function */
tBleStatus hci_set_controller_to_host_flow_control( uint8_t Flow_Control_Enable )
{
  BLE_WRAP_HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL_PREPROC( );
  tBleStatus status = HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL( Flow_Control_Enable );
  BLE_WRAP_HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL_POSTPROC( );
  return status;
}

/* HCI_HOST_BUFFER_SIZE wrapper function */
tBleStatus hci_host_buffer_size( uint16_t Host_ACL_Data_Packet_Length,
                                 uint8_t Host_Synchronous_Data_Packet_Length,
                                 uint16_t Host_Total_Num_ACL_Data_Packets,
                                 uint16_t Host_Total_Num_Synchronous_Data_Packets )
{
  BLE_WRAP_HCI_HOST_BUFFER_SIZE_PREPROC( );
  tBleStatus status = HCI_HOST_BUFFER_SIZE( Host_ACL_Data_Packet_Length,
                                            Host_Synchronous_Data_Packet_Length,
                                            Host_Total_Num_ACL_Data_Packets,
                                            Host_Total_Num_Synchronous_Data_Packets );
  BLE_WRAP_HCI_HOST_BUFFER_SIZE_POSTPROC( );
  return status;
}

/* HCI_HOST_NUMBER_OF_COMPLETED_PACKETS wrapper function */
tBleStatus hci_host_number_of_completed_packets( uint8_t Number_Of_Handles,
                                                 const Host_Nb_Of_Completed_Pkt_Pair_t* Host_Nb_Of_Completed_Pkt_Pair )
{
  BLE_WRAP_HCI_HOST_NUMBER_OF_COMPLETED_PACKETS_PREPROC( );
  tBleStatus status = HCI_HOST_NUMBER_OF_COMPLETED_PACKETS( Number_Of_Handles,
                                                            Host_Nb_Of_Completed_Pkt_Pair );
  BLE_WRAP_HCI_HOST_NUMBER_OF_COMPLETED_PACKETS_POSTPROC( );
  return status;
}

/* HCI_READ_AFH_CHANNEL_ASSESSMENT_MODE wrapper function */
tBleStatus hci_read_afh_channel_assessment_mode( uint8_t* AFH_Channel_Assessment_Mode )
{
  BLE_WRAP_HCI_READ_AFH_CHANNEL_ASSESSMENT_MODE_PREPROC( );
  tBleStatus status = HCI_READ_AFH_CHANNEL_ASSESSMENT_MODE( AFH_Channel_Assessment_Mode );
  BLE_WRAP_HCI_READ_AFH_CHANNEL_ASSESSMENT_MODE_POSTPROC( );
  return status;
}

/* HCI_WRITE_AFH_CHANNEL_ASSESSMENT_MODE wrapper function */
tBleStatus hci_write_afh_channel_assessment_mode( uint8_t AFH_Channel_Assessment_Mode )
{
  BLE_WRAP_HCI_WRITE_AFH_CHANNEL_ASSESSMENT_MODE_PREPROC( );
  tBleStatus status = HCI_WRITE_AFH_CHANNEL_ASSESSMENT_MODE( AFH_Channel_Assessment_Mode );
  BLE_WRAP_HCI_WRITE_AFH_CHANNEL_ASSESSMENT_MODE_POSTPROC( );
  return status;
}

/* HCI_SET_EVENT_MASK_PAGE_2 wrapper function */
tBleStatus hci_set_event_mask_page_2( const uint8_t* Event_Mask_Page_2 )
{
  BLE_WRAP_HCI_SET_EVENT_MASK_PAGE_2_PREPROC( );
  tBleStatus status = HCI_SET_EVENT_MASK_PAGE_2( Event_Mask_Page_2 );
  BLE_WRAP_HCI_SET_EVENT_MASK_PAGE_2_POSTPROC( );
  return status;
}

/* HCI_READ_AUTHENTICATED_PAYLOAD_TIMEOUT wrapper function */
tBleStatus hci_read_authenticated_payload_timeout( uint16_t Connection_Handle,
                                                   uint16_t* Authenticated_Payload_Timeout )
{
  BLE_WRAP_HCI_READ_AUTHENTICATED_PAYLOAD_TIMEOUT_PREPROC( );
  tBleStatus status = HCI_READ_AUTHENTICATED_PAYLOAD_TIMEOUT( Connection_Handle,
                                                              Authenticated_Payload_Timeout );
  BLE_WRAP_HCI_READ_AUTHENTICATED_PAYLOAD_TIMEOUT_POSTPROC( );
  return status;
}

/* HCI_WRITE_AUTHENTICATED_PAYLOAD_TIMEOUT wrapper function */
tBleStatus hci_write_authenticated_payload_timeout( uint16_t Connection_Handle,
                                                    uint16_t Authenticated_Payload_Timeout )
{
  BLE_WRAP_HCI_WRITE_AUTHENTICATED_PAYLOAD_TIMEOUT_PREPROC( );
  tBleStatus status = HCI_WRITE_AUTHENTICATED_PAYLOAD_TIMEOUT( Connection_Handle,
                                                               Authenticated_Payload_Timeout );
  BLE_WRAP_HCI_WRITE_AUTHENTICATED_PAYLOAD_TIMEOUT_POSTPROC( );
  return status;
}

/* HCI_SET_ECOSYSTEM_BASE_INTERVAL wrapper function */
tBleStatus hci_set_ecosystem_base_interval( uint16_t Interval )
{
  BLE_WRAP_HCI_SET_ECOSYSTEM_BASE_INTERVAL_PREPROC( );
  tBleStatus status = HCI_SET_ECOSYSTEM_BASE_INTERVAL( Interval );
  BLE_WRAP_HCI_SET_ECOSYSTEM_BASE_INTERVAL_POSTPROC( );
  return status;
}

/* HCI_CONFIGURE_DATA_PATH wrapper function */
tBleStatus hci_configure_data_path( uint8_t Data_Path_Direction,
                                    uint8_t Data_Path_ID,
                                    uint8_t Vendor_Specific_Config_Length,
                                    const uint8_t* Vendor_Specific_Config )
{
  BLE_WRAP_HCI_CONFIGURE_DATA_PATH_PREPROC( );
  tBleStatus status = HCI_CONFIGURE_DATA_PATH( Data_Path_Direction,
                                               Data_Path_ID,
                                               Vendor_Specific_Config_Length,
                                               Vendor_Specific_Config );
  BLE_WRAP_HCI_CONFIGURE_DATA_PATH_POSTPROC( );
  return status;
}

/* HCI_READ_LOCAL_VERSION_INFORMATION wrapper function */
tBleStatus hci_read_local_version_information( uint8_t* HCI_Version,
                                               uint16_t* HCI_Subversion,
                                               uint8_t* LMP_Version,
                                               uint16_t* Company_Identifier,
                                               uint16_t* LMP_Subversion )
{
  BLE_WRAP_HCI_READ_LOCAL_VERSION_INFORMATION_PREPROC( );
  tBleStatus status = HCI_READ_LOCAL_VERSION_INFORMATION( HCI_Version,
                                                          HCI_Subversion,
                                                          LMP_Version,
                                                          Company_Identifier,
                                                          LMP_Subversion );
  BLE_WRAP_HCI_READ_LOCAL_VERSION_INFORMATION_POSTPROC( );
  return status;
}

/* HCI_READ_LOCAL_SUPPORTED_COMMANDS wrapper function */
tBleStatus hci_read_local_supported_commands( uint8_t* Supported_Commands )
{
  BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_COMMANDS_PREPROC( );
  tBleStatus status = HCI_READ_LOCAL_SUPPORTED_COMMANDS( Supported_Commands );
  BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_COMMANDS_POSTPROC( );
  return status;
}

/* HCI_READ_LOCAL_SUPPORTED_FEATURES wrapper function */
tBleStatus hci_read_local_supported_features( uint8_t* LMP_Features )
{
  BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_FEATURES_PREPROC( );
  tBleStatus status = HCI_READ_LOCAL_SUPPORTED_FEATURES( LMP_Features );
  BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_FEATURES_POSTPROC( );
  return status;
}

/* HCI_READ_BD_ADDR wrapper function */
tBleStatus hci_read_bd_addr( uint8_t* BD_ADDR )
{
  BLE_WRAP_HCI_READ_BD_ADDR_PREPROC( );
  tBleStatus status = HCI_READ_BD_ADDR( BD_ADDR );
  BLE_WRAP_HCI_READ_BD_ADDR_POSTPROC( );
  return status;
}

/* HCI_READ_LOCAL_SUPPORTED_CODECS_V2 wrapper function */
tBleStatus hci_read_local_supported_codecs_v2( uint8_t* Num_Supported_Standard_Codecs,
                                               uint8_t* Standard_Codec,
                                               uint8_t* Num_Supported_Vendor_Specific_Codecs,
                                               uint8_t* Vendor_Specific_Codec )
{
  BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_CODECS_V2_PREPROC( );
  tBleStatus status = HCI_READ_LOCAL_SUPPORTED_CODECS_V2( Num_Supported_Standard_Codecs,
                                                          Standard_Codec,
                                                          Num_Supported_Vendor_Specific_Codecs,
                                                          Vendor_Specific_Codec );
  BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_CODECS_V2_POSTPROC( );
  return status;
}

/* HCI_READ_LOCAL_SUPPORTED_CODEC_CAPABILITIES wrapper function */
tBleStatus hci_read_local_supported_codec_capabilities( const uint8_t* Codec_ID,
                                                        uint8_t Logical_Transport_Type,
                                                        uint8_t Direction,
                                                        uint8_t* Num_Codec_Capabilities,
                                                        uint8_t* Codec_Capabilities )
{
  BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_CODEC_CAPABILITIES_PREPROC( );
  tBleStatus status = HCI_READ_LOCAL_SUPPORTED_CODEC_CAPABILITIES( Codec_ID,
                                                                   Logical_Transport_Type,
                                                                   Direction,
                                                                   Num_Codec_Capabilities,
                                                                   Codec_Capabilities );
  BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_CODEC_CAPABILITIES_POSTPROC( );
  return status;
}

/* HCI_READ_LOCAL_SUPPORTED_CONTROLLER_DELAY wrapper function */
tBleStatus hci_read_local_supported_controller_delay( const uint8_t* Codec_ID,
                                                      uint8_t Logical_Transport_Type,
                                                      uint8_t Direction,
                                                      uint8_t Codec_Configuration_Length,
                                                      const uint8_t* Codec_Configuration,
                                                      uint8_t* Min_Controller_Delay,
                                                      uint8_t* Max_Controller_Delay )
{
  BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_CONTROLLER_DELAY_PREPROC( );
  tBleStatus status = HCI_READ_LOCAL_SUPPORTED_CONTROLLER_DELAY( Codec_ID,
                                                                 Logical_Transport_Type,
                                                                 Direction,
                                                                 Codec_Configuration_Length,
                                                                 Codec_Configuration,
                                                                 Min_Controller_Delay,
                                                                 Max_Controller_Delay );
  BLE_WRAP_HCI_READ_LOCAL_SUPPORTED_CONTROLLER_DELAY_POSTPROC( );
  return status;
}

/* HCI_READ_RSSI wrapper function */
tBleStatus hci_read_rssi( uint16_t Connection_Handle,
                          uint8_t* RSSI )
{
  BLE_WRAP_HCI_READ_RSSI_PREPROC( );
  tBleStatus status = HCI_READ_RSSI( Connection_Handle,
                                     RSSI );
  BLE_WRAP_HCI_READ_RSSI_POSTPROC( );
  return status;
}

/* HCI_LE_SET_EVENT_MASK wrapper function */
tBleStatus hci_le_set_event_mask( const uint8_t* LE_Event_Mask )
{
  BLE_WRAP_HCI_LE_SET_EVENT_MASK_PREPROC( );
  tBleStatus status = HCI_LE_SET_EVENT_MASK( LE_Event_Mask );
  BLE_WRAP_HCI_LE_SET_EVENT_MASK_POSTPROC( );
  return status;
}

/* HCI_LE_READ_BUFFER_SIZE wrapper function */
tBleStatus hci_le_read_buffer_size( uint16_t* HC_LE_ACL_Data_Packet_Length,
                                    uint8_t* HC_Total_Num_LE_ACL_Data_Packets )
{
  BLE_WRAP_HCI_LE_READ_BUFFER_SIZE_PREPROC( );
  tBleStatus status = HCI_LE_READ_BUFFER_SIZE( HC_LE_ACL_Data_Packet_Length,
                                               HC_Total_Num_LE_ACL_Data_Packets );
  BLE_WRAP_HCI_LE_READ_BUFFER_SIZE_POSTPROC( );
  return status;
}

/* HCI_LE_READ_LOCAL_SUPPORTED_FEATURES wrapper function */
tBleStatus hci_le_read_local_supported_features( uint8_t* LE_Features )
{
  BLE_WRAP_HCI_LE_READ_LOCAL_SUPPORTED_FEATURES_PREPROC( );
  tBleStatus status = HCI_LE_READ_LOCAL_SUPPORTED_FEATURES( LE_Features );
  BLE_WRAP_HCI_LE_READ_LOCAL_SUPPORTED_FEATURES_POSTPROC( );
  return status;
}

/* HCI_LE_SET_RANDOM_ADDRESS wrapper function */
tBleStatus hci_le_set_random_address( const uint8_t* Random_Address )
{
  BLE_WRAP_HCI_LE_SET_RANDOM_ADDRESS_PREPROC( );
  tBleStatus status = HCI_LE_SET_RANDOM_ADDRESS( Random_Address );
  BLE_WRAP_HCI_LE_SET_RANDOM_ADDRESS_POSTPROC( );
  return status;
}

/* HCI_LE_SET_ADVERTISING_PARAMETERS wrapper function */
tBleStatus hci_le_set_advertising_parameters( uint16_t Advertising_Interval_Min,
                                              uint16_t Advertising_Interval_Max,
                                              uint8_t Advertising_Type,
                                              uint8_t Own_Address_Type,
                                              uint8_t Peer_Address_Type,
                                              const uint8_t* Peer_Address,
                                              uint8_t Advertising_Channel_Map,
                                              uint8_t Advertising_Filter_Policy )
{
  BLE_WRAP_HCI_LE_SET_ADVERTISING_PARAMETERS_PREPROC( );
  tBleStatus status = HCI_LE_SET_ADVERTISING_PARAMETERS( Advertising_Interval_Min,
                                                         Advertising_Interval_Max,
                                                         Advertising_Type,
                                                         Own_Address_Type,
                                                         Peer_Address_Type,
                                                         Peer_Address,
                                                         Advertising_Channel_Map,
                                                         Advertising_Filter_Policy );
  BLE_WRAP_HCI_LE_SET_ADVERTISING_PARAMETERS_POSTPROC( );
  return status;
}

/* HCI_LE_READ_ADVERTISING_PHYSICAL_CHANNEL_TX_POWER wrapper function */
tBleStatus hci_le_read_advertising_physical_channel_tx_power( uint8_t* Transmit_Power_Level )
{
  BLE_WRAP_HCI_LE_READ_ADVERTISING_PHYSICAL_CHANNEL_TX_POWER_PREPROC( );
  tBleStatus status = HCI_LE_READ_ADVERTISING_PHYSICAL_CHANNEL_TX_POWER( Transmit_Power_Level );
  BLE_WRAP_HCI_LE_READ_ADVERTISING_PHYSICAL_CHANNEL_TX_POWER_POSTPROC( );
  return status;
}

/* HCI_LE_SET_ADVERTISING_DATA wrapper function */
tBleStatus hci_le_set_advertising_data( uint8_t Advertising_Data_Length,
                                        const uint8_t* Advertising_Data )
{
  BLE_WRAP_HCI_LE_SET_ADVERTISING_DATA_PREPROC( );
  tBleStatus status = HCI_LE_SET_ADVERTISING_DATA( Advertising_Data_Length,
                                                   Advertising_Data );
  BLE_WRAP_HCI_LE_SET_ADVERTISING_DATA_POSTPROC( );
  return status;
}

/* HCI_LE_SET_SCAN_RESPONSE_DATA wrapper function */
tBleStatus hci_le_set_scan_response_data( uint8_t Scan_Response_Data_Length,
                                          const uint8_t* Scan_Response_Data )
{
  BLE_WRAP_HCI_LE_SET_SCAN_RESPONSE_DATA_PREPROC( );
  tBleStatus status = HCI_LE_SET_SCAN_RESPONSE_DATA( Scan_Response_Data_Length,
                                                     Scan_Response_Data );
  BLE_WRAP_HCI_LE_SET_SCAN_RESPONSE_DATA_POSTPROC( );
  return status;
}

/* HCI_LE_SET_ADVERTISING_ENABLE wrapper function */
tBleStatus hci_le_set_advertising_enable( uint8_t Advertising_Enable )
{
  BLE_WRAP_HCI_LE_SET_ADVERTISING_ENABLE_PREPROC( );
  tBleStatus status = HCI_LE_SET_ADVERTISING_ENABLE( Advertising_Enable );
  BLE_WRAP_HCI_LE_SET_ADVERTISING_ENABLE_POSTPROC( );
  return status;
}

/* HCI_LE_SET_SCAN_PARAMETERS wrapper function */
tBleStatus hci_le_set_scan_parameters( uint8_t LE_Scan_Type,
                                       uint16_t LE_Scan_Interval,
                                       uint16_t LE_Scan_Window,
                                       uint8_t Own_Address_Type,
                                       uint8_t Scanning_Filter_Policy )
{
  BLE_WRAP_HCI_LE_SET_SCAN_PARAMETERS_PREPROC( );
  tBleStatus status = HCI_LE_SET_SCAN_PARAMETERS( LE_Scan_Type,
                                                  LE_Scan_Interval,
                                                  LE_Scan_Window,
                                                  Own_Address_Type,
                                                  Scanning_Filter_Policy );
  BLE_WRAP_HCI_LE_SET_SCAN_PARAMETERS_POSTPROC( );
  return status;
}

/* HCI_LE_SET_SCAN_ENABLE wrapper function */
tBleStatus hci_le_set_scan_enable( uint8_t LE_Scan_Enable,
                                   uint8_t Filter_Duplicates )
{
  BLE_WRAP_HCI_LE_SET_SCAN_ENABLE_PREPROC( );
  tBleStatus status = HCI_LE_SET_SCAN_ENABLE( LE_Scan_Enable,
                                              Filter_Duplicates );
  BLE_WRAP_HCI_LE_SET_SCAN_ENABLE_POSTPROC( );
  return status;
}

/* HCI_LE_CREATE_CONNECTION wrapper function */
tBleStatus hci_le_create_connection( uint16_t LE_Scan_Interval,
                                     uint16_t LE_Scan_Window,
                                     uint8_t Initiator_Filter_Policy,
                                     uint8_t Peer_Address_Type,
                                     const uint8_t* Peer_Address,
                                     uint8_t Own_Address_Type,
                                     uint16_t Conn_Interval_Min,
                                     uint16_t Conn_Interval_Max,
                                     uint16_t Conn_Latency,
                                     uint16_t Supervision_Timeout,
                                     uint16_t Minimum_CE_Length,
                                     uint16_t Maximum_CE_Length )
{
  BLE_WRAP_HCI_LE_CREATE_CONNECTION_PREPROC( );
  tBleStatus status = HCI_LE_CREATE_CONNECTION( LE_Scan_Interval,
                                                LE_Scan_Window,
                                                Initiator_Filter_Policy,
                                                Peer_Address_Type,
                                                Peer_Address,
                                                Own_Address_Type,
                                                Conn_Interval_Min,
                                                Conn_Interval_Max,
                                                Conn_Latency,
                                                Supervision_Timeout,
                                                Minimum_CE_Length,
                                                Maximum_CE_Length );
  BLE_WRAP_HCI_LE_CREATE_CONNECTION_POSTPROC( );
  return status;
}

/* HCI_LE_CREATE_CONNECTION_CANCEL wrapper function */
tBleStatus hci_le_create_connection_cancel( void )
{
  BLE_WRAP_HCI_LE_CREATE_CONNECTION_CANCEL_PREPROC( );
  tBleStatus status = HCI_LE_CREATE_CONNECTION_CANCEL(  );
  BLE_WRAP_HCI_LE_CREATE_CONNECTION_CANCEL_POSTPROC( );
  return status;
}

/* HCI_LE_READ_FILTER_ACCEPT_LIST_SIZE wrapper function */
tBleStatus hci_le_read_filter_accept_list_size( uint8_t* Filter_Accept_List_Size )
{
  BLE_WRAP_HCI_LE_READ_FILTER_ACCEPT_LIST_SIZE_PREPROC( );
  tBleStatus status = HCI_LE_READ_FILTER_ACCEPT_LIST_SIZE( Filter_Accept_List_Size );
  BLE_WRAP_HCI_LE_READ_FILTER_ACCEPT_LIST_SIZE_POSTPROC( );
  return status;
}

/* HCI_LE_CLEAR_FILTER_ACCEPT_LIST wrapper function */
tBleStatus hci_le_clear_filter_accept_list( void )
{
  BLE_WRAP_HCI_LE_CLEAR_FILTER_ACCEPT_LIST_PREPROC( );
  tBleStatus status = HCI_LE_CLEAR_FILTER_ACCEPT_LIST(  );
  BLE_WRAP_HCI_LE_CLEAR_FILTER_ACCEPT_LIST_POSTPROC( );
  return status;
}

/* HCI_LE_ADD_DEVICE_TO_FILTER_ACCEPT_LIST wrapper function */
tBleStatus hci_le_add_device_to_filter_accept_list( uint8_t Address_Type,
                                                    const uint8_t* Address )
{
  BLE_WRAP_HCI_LE_ADD_DEVICE_TO_FILTER_ACCEPT_LIST_PREPROC( );
  tBleStatus status = HCI_LE_ADD_DEVICE_TO_FILTER_ACCEPT_LIST( Address_Type,
                                                               Address );
  BLE_WRAP_HCI_LE_ADD_DEVICE_TO_FILTER_ACCEPT_LIST_POSTPROC( );
  return status;
}

/* HCI_LE_REMOVE_DEVICE_FROM_FILTER_ACCEPT_LIST wrapper function */
tBleStatus hci_le_remove_device_from_filter_accept_list( uint8_t Address_Type,
                                                         const uint8_t* Address )
{
  BLE_WRAP_HCI_LE_REMOVE_DEVICE_FROM_FILTER_ACCEPT_LIST_PREPROC( );
  tBleStatus status = HCI_LE_REMOVE_DEVICE_FROM_FILTER_ACCEPT_LIST( Address_Type,
                                                                    Address );
  BLE_WRAP_HCI_LE_REMOVE_DEVICE_FROM_FILTER_ACCEPT_LIST_POSTPROC( );
  return status;
}

/* HCI_LE_CONNECTION_UPDATE wrapper function */
tBleStatus hci_le_connection_update( uint16_t Connection_Handle,
                                     uint16_t Conn_Interval_Min,
                                     uint16_t Conn_Interval_Max,
                                     uint16_t Conn_Latency,
                                     uint16_t Supervision_Timeout,
                                     uint16_t Minimum_CE_Length,
                                     uint16_t Maximum_CE_Length )
{
  BLE_WRAP_HCI_LE_CONNECTION_UPDATE_PREPROC( );
  tBleStatus status = HCI_LE_CONNECTION_UPDATE( Connection_Handle,
                                                Conn_Interval_Min,
                                                Conn_Interval_Max,
                                                Conn_Latency,
                                                Supervision_Timeout,
                                                Minimum_CE_Length,
                                                Maximum_CE_Length );
  BLE_WRAP_HCI_LE_CONNECTION_UPDATE_POSTPROC( );
  return status;
}

/* HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION wrapper function */
tBleStatus hci_le_set_host_channel_classification( const uint8_t* LE_Channel_Map )
{
  BLE_WRAP_HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION_PREPROC( );
  tBleStatus status = HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION( LE_Channel_Map );
  BLE_WRAP_HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION_POSTPROC( );
  return status;
}

/* HCI_LE_READ_CHANNEL_MAP wrapper function */
tBleStatus hci_le_read_channel_map( uint16_t Connection_Handle,
                                    uint8_t* LE_Channel_Map )
{
  BLE_WRAP_HCI_LE_READ_CHANNEL_MAP_PREPROC( );
  tBleStatus status = HCI_LE_READ_CHANNEL_MAP( Connection_Handle,
                                               LE_Channel_Map );
  BLE_WRAP_HCI_LE_READ_CHANNEL_MAP_POSTPROC( );
  return status;
}

/* HCI_LE_READ_REMOTE_FEATURES wrapper function */
tBleStatus hci_le_read_remote_features( uint16_t Connection_Handle )
{
  BLE_WRAP_HCI_LE_READ_REMOTE_FEATURES_PREPROC( );
  tBleStatus status = HCI_LE_READ_REMOTE_FEATURES( Connection_Handle );
  BLE_WRAP_HCI_LE_READ_REMOTE_FEATURES_POSTPROC( );
  return status;
}

/* HCI_LE_ENCRYPT wrapper function */
tBleStatus hci_le_encrypt( const uint8_t* Key,
                           const uint8_t* Plaintext_Data,
                           uint8_t* Encrypted_Data )
{
  BLE_WRAP_HCI_LE_ENCRYPT_PREPROC( );
  tBleStatus status = HCI_LE_ENCRYPT( Key,
                                      Plaintext_Data,
                                      Encrypted_Data );
  BLE_WRAP_HCI_LE_ENCRYPT_POSTPROC( );
  return status;
}

/* HCI_LE_RAND wrapper function */
tBleStatus hci_le_rand( uint8_t* Random_Number )
{
  BLE_WRAP_HCI_LE_RAND_PREPROC( );
  tBleStatus status = HCI_LE_RAND( Random_Number );
  BLE_WRAP_HCI_LE_RAND_POSTPROC( );
  return status;
}

/* HCI_LE_ENABLE_ENCRYPTION wrapper function */
tBleStatus hci_le_enable_encryption( uint16_t Connection_Handle,
                                     const uint8_t* Random_Number,
                                     uint16_t Encrypted_Diversifier,
                                     const uint8_t* Long_Term_Key )
{
  BLE_WRAP_HCI_LE_ENABLE_ENCRYPTION_PREPROC( );
  tBleStatus status = HCI_LE_ENABLE_ENCRYPTION( Connection_Handle,
                                                Random_Number,
                                                Encrypted_Diversifier,
                                                Long_Term_Key );
  BLE_WRAP_HCI_LE_ENABLE_ENCRYPTION_POSTPROC( );
  return status;
}

/* HCI_LE_LONG_TERM_KEY_REQUEST_REPLY wrapper function */
tBleStatus hci_le_long_term_key_request_reply( uint16_t Connection_Handle,
                                               const uint8_t* Long_Term_Key )
{
  BLE_WRAP_HCI_LE_LONG_TERM_KEY_REQUEST_REPLY_PREPROC( );
  tBleStatus status = HCI_LE_LONG_TERM_KEY_REQUEST_REPLY( Connection_Handle,
                                                          Long_Term_Key );
  BLE_WRAP_HCI_LE_LONG_TERM_KEY_REQUEST_REPLY_POSTPROC( );
  return status;
}

/* HCI_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY wrapper function */
tBleStatus hci_le_long_term_key_request_negative_reply( uint16_t Connection_Handle )
{
  BLE_WRAP_HCI_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY_PREPROC( );
  tBleStatus status = HCI_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY( Connection_Handle );
  BLE_WRAP_HCI_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY_POSTPROC( );
  return status;
}

/* HCI_LE_READ_SUPPORTED_STATES wrapper function */
tBleStatus hci_le_read_supported_states( uint8_t* LE_States )
{
  BLE_WRAP_HCI_LE_READ_SUPPORTED_STATES_PREPROC( );
  tBleStatus status = HCI_LE_READ_SUPPORTED_STATES( LE_States );
  BLE_WRAP_HCI_LE_READ_SUPPORTED_STATES_POSTPROC( );
  return status;
}

/* HCI_LE_RECEIVER_TEST wrapper function */
tBleStatus hci_le_receiver_test( uint8_t RX_Frequency )
{
  BLE_WRAP_HCI_LE_RECEIVER_TEST_PREPROC( );
  tBleStatus status = HCI_LE_RECEIVER_TEST( RX_Frequency );
  BLE_WRAP_HCI_LE_RECEIVER_TEST_POSTPROC( );
  return status;
}

/* HCI_LE_TRANSMITTER_TEST wrapper function */
tBleStatus hci_le_transmitter_test( uint8_t TX_Frequency,
                                    uint8_t Length_Of_Test_Data,
                                    uint8_t Packet_Payload )
{
  BLE_WRAP_HCI_LE_TRANSMITTER_TEST_PREPROC( );
  tBleStatus status = HCI_LE_TRANSMITTER_TEST( TX_Frequency,
                                               Length_Of_Test_Data,
                                               Packet_Payload );
  BLE_WRAP_HCI_LE_TRANSMITTER_TEST_POSTPROC( );
  return status;
}

/* HCI_LE_TEST_END wrapper function */
tBleStatus hci_le_test_end( uint16_t* Number_Of_Packets )
{
  BLE_WRAP_HCI_LE_TEST_END_PREPROC( );
  tBleStatus status = HCI_LE_TEST_END( Number_Of_Packets );
  BLE_WRAP_HCI_LE_TEST_END_POSTPROC( );
  return status;
}

/* HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY wrapper function */
tBleStatus hci_le_remote_connection_parameter_request_reply( uint16_t Connection_Handle,
                                                             uint16_t Interval_Min,
                                                             uint16_t Interval_Max,
                                                             uint16_t Max_Latency,
                                                             uint16_t Timeout,
                                                             uint16_t Min_CE_Length,
                                                             uint16_t Max_CE_Length )
{
  BLE_WRAP_HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY_PREPROC( );
  tBleStatus status = HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY( Connection_Handle,
                                                                        Interval_Min,
                                                                        Interval_Max,
                                                                        Max_Latency,
                                                                        Timeout,
                                                                        Min_CE_Length,
                                                                        Max_CE_Length );
  BLE_WRAP_HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY_POSTPROC( );
  return status;
}

/* HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY wrapper function */
tBleStatus hci_le_remote_connection_parameter_request_negative_reply( uint16_t Connection_Handle,
                                                                      uint8_t Reason )
{
  BLE_WRAP_HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY_PREPROC( );
  tBleStatus status = HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY( Connection_Handle,
                                                                                 Reason );
  BLE_WRAP_HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY_POSTPROC( );
  return status;
}

/* HCI_LE_SET_DATA_LENGTH wrapper function */
tBleStatus hci_le_set_data_length( uint16_t Connection_Handle,
                                   uint16_t TxOctets,
                                   uint16_t TxTime )
{
  BLE_WRAP_HCI_LE_SET_DATA_LENGTH_PREPROC( );
  tBleStatus status = HCI_LE_SET_DATA_LENGTH( Connection_Handle,
                                              TxOctets,
                                              TxTime );
  BLE_WRAP_HCI_LE_SET_DATA_LENGTH_POSTPROC( );
  return status;
}

/* HCI_LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH wrapper function */
tBleStatus hci_le_read_suggested_default_data_length( uint16_t* SuggestedMaxTxOctets,
                                                      uint16_t* SuggestedMaxTxTime )
{
  BLE_WRAP_HCI_LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH_PREPROC( );
  tBleStatus status = HCI_LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH( SuggestedMaxTxOctets,
                                                                 SuggestedMaxTxTime );
  BLE_WRAP_HCI_LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH_POSTPROC( );
  return status;
}

/* HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH wrapper function */
tBleStatus hci_le_write_suggested_default_data_length( uint16_t SuggestedMaxTxOctets,
                                                       uint16_t SuggestedMaxTxTime )
{
  BLE_WRAP_HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH_PREPROC( );
  tBleStatus status = HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH( SuggestedMaxTxOctets,
                                                                  SuggestedMaxTxTime );
  BLE_WRAP_HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH_POSTPROC( );
  return status;
}

/* HCI_LE_READ_LOCAL_P256_PUBLIC_KEY wrapper function */
tBleStatus hci_le_read_local_p256_public_key( void )
{
  BLE_WRAP_HCI_LE_READ_LOCAL_P256_PUBLIC_KEY_PREPROC( );
  tBleStatus status = HCI_LE_READ_LOCAL_P256_PUBLIC_KEY(  );
  BLE_WRAP_HCI_LE_READ_LOCAL_P256_PUBLIC_KEY_POSTPROC( );
  return status;
}

/* HCI_LE_GENERATE_DHKEY wrapper function */
tBleStatus hci_le_generate_dhkey( const uint8_t* Remote_P256_Public_Key )
{
  BLE_WRAP_HCI_LE_GENERATE_DHKEY_PREPROC( );
  tBleStatus status = HCI_LE_GENERATE_DHKEY( Remote_P256_Public_Key );
  BLE_WRAP_HCI_LE_GENERATE_DHKEY_POSTPROC( );
  return status;
}

/* HCI_LE_ADD_DEVICE_TO_RESOLVING_LIST wrapper function */
tBleStatus hci_le_add_device_to_resolving_list( uint8_t Peer_Identity_Address_Type,
                                                const uint8_t* Peer_Identity_Address,
                                                const uint8_t* Peer_IRK,
                                                const uint8_t* Local_IRK )
{
  BLE_WRAP_HCI_LE_ADD_DEVICE_TO_RESOLVING_LIST_PREPROC( );
  tBleStatus status = HCI_LE_ADD_DEVICE_TO_RESOLVING_LIST( Peer_Identity_Address_Type,
                                                           Peer_Identity_Address,
                                                           Peer_IRK,
                                                           Local_IRK );
  BLE_WRAP_HCI_LE_ADD_DEVICE_TO_RESOLVING_LIST_POSTPROC( );
  return status;
}

/* HCI_LE_REMOVE_DEVICE_FROM_RESOLVING_LIST wrapper function */
tBleStatus hci_le_remove_device_from_resolving_list( uint8_t Peer_Identity_Address_Type,
                                                     const uint8_t* Peer_Identity_Address )
{
  BLE_WRAP_HCI_LE_REMOVE_DEVICE_FROM_RESOLVING_LIST_PREPROC( );
  tBleStatus status = HCI_LE_REMOVE_DEVICE_FROM_RESOLVING_LIST( Peer_Identity_Address_Type,
                                                                Peer_Identity_Address );
  BLE_WRAP_HCI_LE_REMOVE_DEVICE_FROM_RESOLVING_LIST_POSTPROC( );
  return status;
}

/* HCI_LE_CLEAR_RESOLVING_LIST wrapper function */
tBleStatus hci_le_clear_resolving_list( void )
{
  BLE_WRAP_HCI_LE_CLEAR_RESOLVING_LIST_PREPROC( );
  tBleStatus status = HCI_LE_CLEAR_RESOLVING_LIST(  );
  BLE_WRAP_HCI_LE_CLEAR_RESOLVING_LIST_POSTPROC( );
  return status;
}

/* HCI_LE_READ_RESOLVING_LIST_SIZE wrapper function */
tBleStatus hci_le_read_resolving_list_size( uint8_t* Resolving_List_Size )
{
  BLE_WRAP_HCI_LE_READ_RESOLVING_LIST_SIZE_PREPROC( );
  tBleStatus status = HCI_LE_READ_RESOLVING_LIST_SIZE( Resolving_List_Size );
  BLE_WRAP_HCI_LE_READ_RESOLVING_LIST_SIZE_POSTPROC( );
  return status;
}

/* HCI_LE_READ_PEER_RESOLVABLE_ADDRESS wrapper function */
tBleStatus hci_le_read_peer_resolvable_address( uint8_t Peer_Identity_Address_Type,
                                                const uint8_t* Peer_Identity_Address,
                                                uint8_t* Peer_Resolvable_Address )
{
  BLE_WRAP_HCI_LE_READ_PEER_RESOLVABLE_ADDRESS_PREPROC( );
  tBleStatus status = HCI_LE_READ_PEER_RESOLVABLE_ADDRESS( Peer_Identity_Address_Type,
                                                           Peer_Identity_Address,
                                                           Peer_Resolvable_Address );
  BLE_WRAP_HCI_LE_READ_PEER_RESOLVABLE_ADDRESS_POSTPROC( );
  return status;
}

/* HCI_LE_READ_LOCAL_RESOLVABLE_ADDRESS wrapper function */
tBleStatus hci_le_read_local_resolvable_address( uint8_t Peer_Identity_Address_Type,
                                                 const uint8_t* Peer_Identity_Address,
                                                 uint8_t* Local_Resolvable_Address )
{
  BLE_WRAP_HCI_LE_READ_LOCAL_RESOLVABLE_ADDRESS_PREPROC( );
  tBleStatus status = HCI_LE_READ_LOCAL_RESOLVABLE_ADDRESS( Peer_Identity_Address_Type,
                                                            Peer_Identity_Address,
                                                            Local_Resolvable_Address );
  BLE_WRAP_HCI_LE_READ_LOCAL_RESOLVABLE_ADDRESS_POSTPROC( );
  return status;
}

/* HCI_LE_SET_ADDRESS_RESOLUTION_ENABLE wrapper function */
tBleStatus hci_le_set_address_resolution_enable( uint8_t Address_Resolution_Enable )
{
  BLE_WRAP_HCI_LE_SET_ADDRESS_RESOLUTION_ENABLE_PREPROC( );
  tBleStatus status = HCI_LE_SET_ADDRESS_RESOLUTION_ENABLE( Address_Resolution_Enable );
  BLE_WRAP_HCI_LE_SET_ADDRESS_RESOLUTION_ENABLE_POSTPROC( );
  return status;
}

/* HCI_LE_SET_RESOLVABLE_PRIVATE_ADDRESS_TIMEOUT wrapper function */
tBleStatus hci_le_set_resolvable_private_address_timeout( uint16_t RPA_Timeout )
{
  BLE_WRAP_HCI_LE_SET_RESOLVABLE_PRIVATE_ADDRESS_TIMEOUT_PREPROC( );
  tBleStatus status = HCI_LE_SET_RESOLVABLE_PRIVATE_ADDRESS_TIMEOUT( RPA_Timeout );
  BLE_WRAP_HCI_LE_SET_RESOLVABLE_PRIVATE_ADDRESS_TIMEOUT_POSTPROC( );
  return status;
}

/* HCI_LE_READ_MAXIMUM_DATA_LENGTH wrapper function */
tBleStatus hci_le_read_maximum_data_length( uint16_t* supportedMaxTxOctets,
                                            uint16_t* supportedMaxTxTime,
                                            uint16_t* supportedMaxRxOctets,
                                            uint16_t* supportedMaxRxTime )
{
  BLE_WRAP_HCI_LE_READ_MAXIMUM_DATA_LENGTH_PREPROC( );
  tBleStatus status = HCI_LE_READ_MAXIMUM_DATA_LENGTH( supportedMaxTxOctets,
                                                       supportedMaxTxTime,
                                                       supportedMaxRxOctets,
                                                       supportedMaxRxTime );
  BLE_WRAP_HCI_LE_READ_MAXIMUM_DATA_LENGTH_POSTPROC( );
  return status;
}

/* HCI_LE_READ_PHY wrapper function */
tBleStatus hci_le_read_phy( uint16_t Connection_Handle,
                            uint8_t* TX_PHY,
                            uint8_t* RX_PHY )
{
  BLE_WRAP_HCI_LE_READ_PHY_PREPROC( );
  tBleStatus status = HCI_LE_READ_PHY( Connection_Handle,
                                       TX_PHY,
                                       RX_PHY );
  BLE_WRAP_HCI_LE_READ_PHY_POSTPROC( );
  return status;
}

/* HCI_LE_SET_DEFAULT_PHY wrapper function */
tBleStatus hci_le_set_default_phy( uint8_t ALL_PHYS,
                                   uint8_t TX_PHYS,
                                   uint8_t RX_PHYS )
{
  BLE_WRAP_HCI_LE_SET_DEFAULT_PHY_PREPROC( );
  tBleStatus status = HCI_LE_SET_DEFAULT_PHY( ALL_PHYS,
                                              TX_PHYS,
                                              RX_PHYS );
  BLE_WRAP_HCI_LE_SET_DEFAULT_PHY_POSTPROC( );
  return status;
}

/* HCI_LE_SET_PHY wrapper function */
tBleStatus hci_le_set_phy( uint16_t Connection_Handle,
                           uint8_t ALL_PHYS,
                           uint8_t TX_PHYS,
                           uint8_t RX_PHYS,
                           uint16_t PHY_options )
{
  BLE_WRAP_HCI_LE_SET_PHY_PREPROC( );
  tBleStatus status = HCI_LE_SET_PHY( Connection_Handle,
                                      ALL_PHYS,
                                      TX_PHYS,
                                      RX_PHYS,
                                      PHY_options );
  BLE_WRAP_HCI_LE_SET_PHY_POSTPROC( );
  return status;
}

/* HCI_LE_RECEIVER_TEST_V2 wrapper function */
tBleStatus hci_le_receiver_test_v2( uint8_t RX_Frequency,
                                    uint8_t PHY,
                                    uint8_t Modulation_Index )
{
  BLE_WRAP_HCI_LE_RECEIVER_TEST_V2_PREPROC( );
  tBleStatus status = HCI_LE_RECEIVER_TEST_V2( RX_Frequency,
                                               PHY,
                                               Modulation_Index );
  BLE_WRAP_HCI_LE_RECEIVER_TEST_V2_POSTPROC( );
  return status;
}

/* HCI_LE_TRANSMITTER_TEST_V2 wrapper function */
tBleStatus hci_le_transmitter_test_v2( uint8_t TX_Frequency,
                                       uint8_t Length_Of_Test_Data,
                                       uint8_t Packet_Payload,
                                       uint8_t PHY )
{
  BLE_WRAP_HCI_LE_TRANSMITTER_TEST_V2_PREPROC( );
  tBleStatus status = HCI_LE_TRANSMITTER_TEST_V2( TX_Frequency,
                                                  Length_Of_Test_Data,
                                                  Packet_Payload,
                                                  PHY );
  BLE_WRAP_HCI_LE_TRANSMITTER_TEST_V2_POSTPROC( );
  return status;
}

/* HCI_LE_SET_ADVERTISING_SET_RANDOM_ADDRESS wrapper function */
tBleStatus hci_le_set_advertising_set_random_address( uint8_t Advertising_Handle,
                                                      const uint8_t* Random_Address )
{
  BLE_WRAP_HCI_LE_SET_ADVERTISING_SET_RANDOM_ADDRESS_PREPROC( );
  tBleStatus status = HCI_LE_SET_ADVERTISING_SET_RANDOM_ADDRESS( Advertising_Handle,
                                                                 Random_Address );
  BLE_WRAP_HCI_LE_SET_ADVERTISING_SET_RANDOM_ADDRESS_POSTPROC( );
  return status;
}

/* HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS wrapper function */
tBleStatus hci_le_set_extended_advertising_parameters( uint8_t Advertising_Handle,
                                                       uint16_t Adv_Event_Properties,
                                                       const uint8_t* Primary_Adv_Interval_Min,
                                                       const uint8_t* Primary_Adv_Interval_Max,
                                                       uint8_t Primary_Adv_Channel_Map,
                                                       uint8_t Own_Address_Type,
                                                       uint8_t Peer_Address_Type,
                                                       const uint8_t* Peer_Address,
                                                       uint8_t Adv_Filter_Policy,
                                                       uint8_t Adv_TX_Power,
                                                       uint8_t Primary_Adv_PHY,
                                                       uint8_t Secondary_Adv_Max_Skip,
                                                       uint8_t Secondary_Adv_PHY,
                                                       uint8_t Adv_SID,
                                                       uint8_t Scan_Req_Notification_Enable,
                                                       uint8_t* Selected_TX_Power )
{
  BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS_PREPROC( );
  tBleStatus status = HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS( Advertising_Handle,
                                                                  Adv_Event_Properties,
                                                                  Primary_Adv_Interval_Min,
                                                                  Primary_Adv_Interval_Max,
                                                                  Primary_Adv_Channel_Map,
                                                                  Own_Address_Type,
                                                                  Peer_Address_Type,
                                                                  Peer_Address,
                                                                  Adv_Filter_Policy,
                                                                  Adv_TX_Power,
                                                                  Primary_Adv_PHY,
                                                                  Secondary_Adv_Max_Skip,
                                                                  Secondary_Adv_PHY,
                                                                  Adv_SID,
                                                                  Scan_Req_Notification_Enable,
                                                                  Selected_TX_Power );
  BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS_POSTPROC( );
  return status;
}

/* HCI_LE_SET_EXTENDED_ADVERTISING_DATA wrapper function */
tBleStatus hci_le_set_extended_advertising_data( uint8_t Advertising_Handle,
                                                 uint8_t Operation,
                                                 uint8_t Fragment_Preference,
                                                 uint8_t Advertising_Data_Length,
                                                 const uint8_t* Advertising_Data )
{
  BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_DATA_PREPROC( );
  tBleStatus status = HCI_LE_SET_EXTENDED_ADVERTISING_DATA( Advertising_Handle,
                                                            Operation,
                                                            Fragment_Preference,
                                                            Advertising_Data_Length,
                                                            Advertising_Data );
  BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_DATA_POSTPROC( );
  return status;
}

/* HCI_LE_SET_EXTENDED_SCAN_RESPONSE_DATA wrapper function */
tBleStatus hci_le_set_extended_scan_response_data( uint8_t Advertising_Handle,
                                                   uint8_t Operation,
                                                   uint8_t Fragment_Preference,
                                                   uint8_t Scan_Response_Data_Length,
                                                   const uint8_t* Scan_Response_Data )
{
  BLE_WRAP_HCI_LE_SET_EXTENDED_SCAN_RESPONSE_DATA_PREPROC( );
  tBleStatus status = HCI_LE_SET_EXTENDED_SCAN_RESPONSE_DATA( Advertising_Handle,
                                                              Operation,
                                                              Fragment_Preference,
                                                              Scan_Response_Data_Length,
                                                              Scan_Response_Data );
  BLE_WRAP_HCI_LE_SET_EXTENDED_SCAN_RESPONSE_DATA_POSTPROC( );
  return status;
}

/* HCI_LE_SET_EXTENDED_ADVERTISING_ENABLE wrapper function */
tBleStatus hci_le_set_extended_advertising_enable( uint8_t Enable,
                                                   uint8_t Num_Sets,
                                                   const Adv_Set_t* Adv_Set )
{
  BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_ENABLE_PREPROC( );
  tBleStatus status = HCI_LE_SET_EXTENDED_ADVERTISING_ENABLE( Enable,
                                                              Num_Sets,
                                                              Adv_Set );
  BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_ENABLE_POSTPROC( );
  return status;
}

/* HCI_LE_READ_MAXIMUM_ADVERTISING_DATA_LENGTH wrapper function */
tBleStatus hci_le_read_maximum_advertising_data_length( uint16_t* Max_Advertising_Data_Length )
{
  BLE_WRAP_HCI_LE_READ_MAXIMUM_ADVERTISING_DATA_LENGTH_PREPROC( );
  tBleStatus status = HCI_LE_READ_MAXIMUM_ADVERTISING_DATA_LENGTH( Max_Advertising_Data_Length );
  BLE_WRAP_HCI_LE_READ_MAXIMUM_ADVERTISING_DATA_LENGTH_POSTPROC( );
  return status;
}

/* HCI_LE_READ_NUMBER_OF_SUPPORTED_ADVERTISING_SETS wrapper function */
tBleStatus hci_le_read_number_of_supported_advertising_sets( uint8_t* Num_Supported_Advertising_Sets )
{
  BLE_WRAP_HCI_LE_READ_NUMBER_OF_SUPPORTED_ADVERTISING_SETS_PREPROC( );
  tBleStatus status = HCI_LE_READ_NUMBER_OF_SUPPORTED_ADVERTISING_SETS( Num_Supported_Advertising_Sets );
  BLE_WRAP_HCI_LE_READ_NUMBER_OF_SUPPORTED_ADVERTISING_SETS_POSTPROC( );
  return status;
}

/* HCI_LE_REMOVE_ADVERTISING_SET wrapper function */
tBleStatus hci_le_remove_advertising_set( uint8_t Advertising_Handle )
{
  BLE_WRAP_HCI_LE_REMOVE_ADVERTISING_SET_PREPROC( );
  tBleStatus status = HCI_LE_REMOVE_ADVERTISING_SET( Advertising_Handle );
  BLE_WRAP_HCI_LE_REMOVE_ADVERTISING_SET_POSTPROC( );
  return status;
}

/* HCI_LE_CLEAR_ADVERTISING_SETS wrapper function */
tBleStatus hci_le_clear_advertising_sets( void )
{
  BLE_WRAP_HCI_LE_CLEAR_ADVERTISING_SETS_PREPROC( );
  tBleStatus status = HCI_LE_CLEAR_ADVERTISING_SETS(  );
  BLE_WRAP_HCI_LE_CLEAR_ADVERTISING_SETS_POSTPROC( );
  return status;
}

/* HCI_LE_SET_PERIODIC_ADVERTISING_PARAMETERS wrapper function */
tBleStatus hci_le_set_periodic_advertising_parameters( uint8_t Advertising_Handle,
                                                       uint16_t Periodic_Adv_Interval_Min,
                                                       uint16_t Periodic_Adv_Interval_Max,
                                                       uint16_t Periodic_Adv_Properties )
{
  BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_PARAMETERS_PREPROC( );
  tBleStatus status = HCI_LE_SET_PERIODIC_ADVERTISING_PARAMETERS( Advertising_Handle,
                                                                  Periodic_Adv_Interval_Min,
                                                                  Periodic_Adv_Interval_Max,
                                                                  Periodic_Adv_Properties );
  BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_PARAMETERS_POSTPROC( );
  return status;
}

/* HCI_LE_SET_PERIODIC_ADVERTISING_DATA wrapper function */
tBleStatus hci_le_set_periodic_advertising_data( uint8_t Advertising_Handle,
                                                 uint8_t Operation,
                                                 uint8_t Advertising_Data_Length,
                                                 const uint8_t* Advertising_Data )
{
  BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_DATA_PREPROC( );
  tBleStatus status = HCI_LE_SET_PERIODIC_ADVERTISING_DATA( Advertising_Handle,
                                                            Operation,
                                                            Advertising_Data_Length,
                                                            Advertising_Data );
  BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_DATA_POSTPROC( );
  return status;
}

/* HCI_LE_SET_PERIODIC_ADVERTISING_ENABLE wrapper function */
tBleStatus hci_le_set_periodic_advertising_enable( uint8_t Enable,
                                                   uint8_t Advertising_Handle )
{
  BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_ENABLE_PREPROC( );
  tBleStatus status = HCI_LE_SET_PERIODIC_ADVERTISING_ENABLE( Enable,
                                                              Advertising_Handle );
  BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_ENABLE_POSTPROC( );
  return status;
}

/* HCI_LE_SET_EXTENDED_SCAN_PARAMETERS wrapper function */
tBleStatus hci_le_set_extended_scan_parameters( uint8_t Own_Address_Type,
                                                uint8_t Scanning_Filter_Policy,
                                                uint8_t Scanning_PHYs,
                                                const Scan_Param_Phy_t* Scan_Param_Phy )
{
  BLE_WRAP_HCI_LE_SET_EXTENDED_SCAN_PARAMETERS_PREPROC( );
  tBleStatus status = HCI_LE_SET_EXTENDED_SCAN_PARAMETERS( Own_Address_Type,
                                                           Scanning_Filter_Policy,
                                                           Scanning_PHYs,
                                                           Scan_Param_Phy );
  BLE_WRAP_HCI_LE_SET_EXTENDED_SCAN_PARAMETERS_POSTPROC( );
  return status;
}

/* HCI_LE_SET_EXTENDED_SCAN_ENABLE wrapper function */
tBleStatus hci_le_set_extended_scan_enable( uint8_t Enable,
                                            uint8_t Filter_Duplicates,
                                            uint16_t Duration,
                                            uint16_t Period )
{
  BLE_WRAP_HCI_LE_SET_EXTENDED_SCAN_ENABLE_PREPROC( );
  tBleStatus status = HCI_LE_SET_EXTENDED_SCAN_ENABLE( Enable,
                                                       Filter_Duplicates,
                                                       Duration,
                                                       Period );
  BLE_WRAP_HCI_LE_SET_EXTENDED_SCAN_ENABLE_POSTPROC( );
  return status;
}

/* HCI_LE_EXTENDED_CREATE_CONNECTION wrapper function */
tBleStatus hci_le_extended_create_connection( uint8_t Initiator_Filter_Policy,
                                              uint8_t Own_Address_Type,
                                              uint8_t Peer_Address_Type,
                                              const uint8_t* Peer_Address,
                                              uint8_t Initiating_PHYs,
                                              const Init_Param_Phy_t* Init_Param_Phy )
{
  BLE_WRAP_HCI_LE_EXTENDED_CREATE_CONNECTION_PREPROC( );
  tBleStatus status = HCI_LE_EXTENDED_CREATE_CONNECTION( Initiator_Filter_Policy,
                                                         Own_Address_Type,
                                                         Peer_Address_Type,
                                                         Peer_Address,
                                                         Initiating_PHYs,
                                                         Init_Param_Phy );
  BLE_WRAP_HCI_LE_EXTENDED_CREATE_CONNECTION_POSTPROC( );
  return status;
}

/* HCI_LE_PERIODIC_ADVERTISING_CREATE_SYNC wrapper function */
tBleStatus hci_le_periodic_advertising_create_sync( uint8_t Options,
                                                    uint8_t Advertising_SID,
                                                    uint8_t Advertiser_Address_Type,
                                                    const uint8_t* Advertiser_Address,
                                                    uint16_t Skip,
                                                    uint16_t Sync_Timeout,
                                                    uint8_t Sync_CTE_Type )
{
  BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_CREATE_SYNC_PREPROC( );
  tBleStatus status = HCI_LE_PERIODIC_ADVERTISING_CREATE_SYNC( Options,
                                                               Advertising_SID,
                                                               Advertiser_Address_Type,
                                                               Advertiser_Address,
                                                               Skip,
                                                               Sync_Timeout,
                                                               Sync_CTE_Type );
  BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_CREATE_SYNC_POSTPROC( );
  return status;
}

/* HCI_LE_PERIODIC_ADVERTISING_CREATE_SYNC_CANCEL wrapper function */
tBleStatus hci_le_periodic_advertising_create_sync_cancel( void )
{
  BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_CREATE_SYNC_CANCEL_PREPROC( );
  tBleStatus status = HCI_LE_PERIODIC_ADVERTISING_CREATE_SYNC_CANCEL(  );
  BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_CREATE_SYNC_CANCEL_POSTPROC( );
  return status;
}

/* HCI_LE_PERIODIC_ADVERTISING_TERMINATE_SYNC wrapper function */
tBleStatus hci_le_periodic_advertising_terminate_sync( uint16_t Sync_Handle )
{
  BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_TERMINATE_SYNC_PREPROC( );
  tBleStatus status = HCI_LE_PERIODIC_ADVERTISING_TERMINATE_SYNC( Sync_Handle );
  BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_TERMINATE_SYNC_POSTPROC( );
  return status;
}

/* HCI_LE_ADD_DEVICE_TO_PERIODIC_ADVERTISER_LIST wrapper function */
tBleStatus hci_le_add_device_to_periodic_advertiser_list( uint8_t Advertiser_Address_Type,
                                                          const uint8_t* Advertiser_Address,
                                                          uint8_t Advertising_SID )
{
  BLE_WRAP_HCI_LE_ADD_DEVICE_TO_PERIODIC_ADVERTISER_LIST_PREPROC( );
  tBleStatus status = HCI_LE_ADD_DEVICE_TO_PERIODIC_ADVERTISER_LIST( Advertiser_Address_Type,
                                                                     Advertiser_Address,
                                                                     Advertising_SID );
  BLE_WRAP_HCI_LE_ADD_DEVICE_TO_PERIODIC_ADVERTISER_LIST_POSTPROC( );
  return status;
}

/* HCI_LE_REMOVE_DEVICE_FROM_PERIODIC_ADVERTISER_LIST wrapper function */
tBleStatus hci_le_remove_device_from_periodic_advertiser_list( uint8_t Advertiser_Address_Type,
                                                               const uint8_t* Advertiser_Address,
                                                               uint8_t Advertising_SID )
{
  BLE_WRAP_HCI_LE_REMOVE_DEVICE_FROM_PERIODIC_ADVERTISER_LIST_PREPROC( );
  tBleStatus status = HCI_LE_REMOVE_DEVICE_FROM_PERIODIC_ADVERTISER_LIST( Advertiser_Address_Type,
                                                                          Advertiser_Address,
                                                                          Advertising_SID );
  BLE_WRAP_HCI_LE_REMOVE_DEVICE_FROM_PERIODIC_ADVERTISER_LIST_POSTPROC( );
  return status;
}

/* HCI_LE_CLEAR_PERIODIC_ADVERTISER_LIST wrapper function */
tBleStatus hci_le_clear_periodic_advertiser_list( void )
{
  BLE_WRAP_HCI_LE_CLEAR_PERIODIC_ADVERTISER_LIST_PREPROC( );
  tBleStatus status = HCI_LE_CLEAR_PERIODIC_ADVERTISER_LIST(  );
  BLE_WRAP_HCI_LE_CLEAR_PERIODIC_ADVERTISER_LIST_POSTPROC( );
  return status;
}

/* HCI_LE_READ_PERIODIC_ADVERTISER_LIST_SIZE wrapper function */
tBleStatus hci_le_read_periodic_advertiser_list_size( uint8_t* Periodic_Advertiser_List_Size )
{
  BLE_WRAP_HCI_LE_READ_PERIODIC_ADVERTISER_LIST_SIZE_PREPROC( );
  tBleStatus status = HCI_LE_READ_PERIODIC_ADVERTISER_LIST_SIZE( Periodic_Advertiser_List_Size );
  BLE_WRAP_HCI_LE_READ_PERIODIC_ADVERTISER_LIST_SIZE_POSTPROC( );
  return status;
}

/* HCI_LE_READ_TRANSMIT_POWER wrapper function */
tBleStatus hci_le_read_transmit_power( uint8_t* Min_TX_Power,
                                       uint8_t* Max_TX_Power )
{
  BLE_WRAP_HCI_LE_READ_TRANSMIT_POWER_PREPROC( );
  tBleStatus status = HCI_LE_READ_TRANSMIT_POWER( Min_TX_Power,
                                                  Max_TX_Power );
  BLE_WRAP_HCI_LE_READ_TRANSMIT_POWER_POSTPROC( );
  return status;
}

/* HCI_LE_READ_RF_PATH_COMPENSATION wrapper function */
tBleStatus hci_le_read_rf_path_compensation( uint16_t* RF_TX_Path_Compensation,
                                             uint16_t* RF_RX_Path_Compensation )
{
  BLE_WRAP_HCI_LE_READ_RF_PATH_COMPENSATION_PREPROC( );
  tBleStatus status = HCI_LE_READ_RF_PATH_COMPENSATION( RF_TX_Path_Compensation,
                                                        RF_RX_Path_Compensation );
  BLE_WRAP_HCI_LE_READ_RF_PATH_COMPENSATION_POSTPROC( );
  return status;
}

/* HCI_LE_WRITE_RF_PATH_COMPENSATION wrapper function */
tBleStatus hci_le_write_rf_path_compensation( uint16_t RF_TX_Path_Compensation,
                                              uint16_t RF_RX_Path_Compensation )
{
  BLE_WRAP_HCI_LE_WRITE_RF_PATH_COMPENSATION_PREPROC( );
  tBleStatus status = HCI_LE_WRITE_RF_PATH_COMPENSATION( RF_TX_Path_Compensation,
                                                         RF_RX_Path_Compensation );
  BLE_WRAP_HCI_LE_WRITE_RF_PATH_COMPENSATION_POSTPROC( );
  return status;
}

/* HCI_LE_SET_PRIVACY_MODE wrapper function */
tBleStatus hci_le_set_privacy_mode( uint8_t Peer_Identity_Address_Type,
                                    const uint8_t* Peer_Identity_Address,
                                    uint8_t Privacy_Mode )
{
  BLE_WRAP_HCI_LE_SET_PRIVACY_MODE_PREPROC( );
  tBleStatus status = HCI_LE_SET_PRIVACY_MODE( Peer_Identity_Address_Type,
                                               Peer_Identity_Address,
                                               Privacy_Mode );
  BLE_WRAP_HCI_LE_SET_PRIVACY_MODE_POSTPROC( );
  return status;
}

/* HCI_LE_RECEIVER_TEST_V3 wrapper function */
tBleStatus hci_le_receiver_test_v3( uint8_t RX_Frequency,
                                    uint8_t PHY,
                                    uint8_t Modulation_Index,
                                    uint8_t Expected_CTE_Length,
                                    uint8_t Expected_CTE_Type,
                                    uint8_t Slot_Durations,
                                    uint8_t Switching_Pattern_Length,
                                    const uint8_t* Antenna_IDs )
{
  BLE_WRAP_HCI_LE_RECEIVER_TEST_V3_PREPROC( );
  tBleStatus status = HCI_LE_RECEIVER_TEST_V3( RX_Frequency,
                                               PHY,
                                               Modulation_Index,
                                               Expected_CTE_Length,
                                               Expected_CTE_Type,
                                               Slot_Durations,
                                               Switching_Pattern_Length,
                                               Antenna_IDs );
  BLE_WRAP_HCI_LE_RECEIVER_TEST_V3_POSTPROC( );
  return status;
}

/* HCI_LE_TRANSMITTER_TEST_V3 wrapper function */
tBleStatus hci_le_transmitter_test_v3( uint8_t TX_Frequency,
                                       uint8_t Length_Of_Test_Data,
                                       uint8_t Packet_Payload,
                                       uint8_t PHY,
                                       uint8_t CTE_Length,
                                       uint8_t CTE_Type,
                                       uint8_t Switching_Pattern_Length,
                                       const uint8_t* Antenna_IDs )
{
  BLE_WRAP_HCI_LE_TRANSMITTER_TEST_V3_PREPROC( );
  tBleStatus status = HCI_LE_TRANSMITTER_TEST_V3( TX_Frequency,
                                                  Length_Of_Test_Data,
                                                  Packet_Payload,
                                                  PHY,
                                                  CTE_Length,
                                                  CTE_Type,
                                                  Switching_Pattern_Length,
                                                  Antenna_IDs );
  BLE_WRAP_HCI_LE_TRANSMITTER_TEST_V3_POSTPROC( );
  return status;
}

/* HCI_LE_SET_CONNECTIONLESS_CTE_TRANSMIT_PARAMETERS wrapper function */
tBleStatus hci_le_set_connectionless_cte_transmit_parameters( uint8_t Advertising_Handle,
                                                              uint8_t CTE_Length,
                                                              uint8_t CTE_Type,
                                                              uint8_t CTE_Count,
                                                              uint8_t Switching_Pattern_Length,
                                                              const uint8_t* Antenna_IDs )
{
  BLE_WRAP_HCI_LE_SET_CONNECTIONLESS_CTE_TRANSMIT_PARAMETERS_PREPROC( );
  tBleStatus status = HCI_LE_SET_CONNECTIONLESS_CTE_TRANSMIT_PARAMETERS( Advertising_Handle,
                                                                         CTE_Length,
                                                                         CTE_Type,
                                                                         CTE_Count,
                                                                         Switching_Pattern_Length,
                                                                         Antenna_IDs );
  BLE_WRAP_HCI_LE_SET_CONNECTIONLESS_CTE_TRANSMIT_PARAMETERS_POSTPROC( );
  return status;
}

/* HCI_LE_SET_CONNECTIONLESS_CTE_TRANSMIT_ENABLE wrapper function */
tBleStatus hci_le_set_connectionless_cte_transmit_enable( uint8_t Advertising_Handle,
                                                          uint8_t CTE_Enable )
{
  BLE_WRAP_HCI_LE_SET_CONNECTIONLESS_CTE_TRANSMIT_ENABLE_PREPROC( );
  tBleStatus status = HCI_LE_SET_CONNECTIONLESS_CTE_TRANSMIT_ENABLE( Advertising_Handle,
                                                                     CTE_Enable );
  BLE_WRAP_HCI_LE_SET_CONNECTIONLESS_CTE_TRANSMIT_ENABLE_POSTPROC( );
  return status;
}

/* HCI_LE_SET_CONNECTIONLESS_IQ_SAMPLING_ENABLE wrapper function */
tBleStatus hci_le_set_connectionless_iq_sampling_enable( uint16_t Sync_Handle,
                                                         uint8_t Sampling_Enable,
                                                         uint8_t Slot_Durations,
                                                         uint8_t Max_Sampled_CTEs,
                                                         uint8_t Switching_Pattern_Length,
                                                         const uint8_t* Antenna_IDs )
{
  BLE_WRAP_HCI_LE_SET_CONNECTIONLESS_IQ_SAMPLING_ENABLE_PREPROC( );
  tBleStatus status = HCI_LE_SET_CONNECTIONLESS_IQ_SAMPLING_ENABLE( Sync_Handle,
                                                                    Sampling_Enable,
                                                                    Slot_Durations,
                                                                    Max_Sampled_CTEs,
                                                                    Switching_Pattern_Length,
                                                                    Antenna_IDs );
  BLE_WRAP_HCI_LE_SET_CONNECTIONLESS_IQ_SAMPLING_ENABLE_POSTPROC( );
  return status;
}

/* HCI_LE_SET_CONNECTION_CTE_RECEIVE_PARAMETERS wrapper function */
tBleStatus hci_le_set_connection_cte_receive_parameters( uint16_t Connection_Handle,
                                                         uint8_t Sampling_Enable,
                                                         uint8_t Slot_Durations,
                                                         uint8_t Switching_Pattern_Length,
                                                         const uint8_t* Antenna_IDs )
{
  BLE_WRAP_HCI_LE_SET_CONNECTION_CTE_RECEIVE_PARAMETERS_PREPROC( );
  tBleStatus status = HCI_LE_SET_CONNECTION_CTE_RECEIVE_PARAMETERS( Connection_Handle,
                                                                    Sampling_Enable,
                                                                    Slot_Durations,
                                                                    Switching_Pattern_Length,
                                                                    Antenna_IDs );
  BLE_WRAP_HCI_LE_SET_CONNECTION_CTE_RECEIVE_PARAMETERS_POSTPROC( );
  return status;
}

/* HCI_LE_SET_CONNECTION_CTE_TRANSMIT_PARAMETERS wrapper function */
tBleStatus hci_le_set_connection_cte_transmit_parameters( uint16_t Connection_Handle,
                                                          uint8_t CTE_Types,
                                                          uint8_t Switching_Pattern_Length,
                                                          const uint8_t* Antenna_IDs )
{
  BLE_WRAP_HCI_LE_SET_CONNECTION_CTE_TRANSMIT_PARAMETERS_PREPROC( );
  tBleStatus status = HCI_LE_SET_CONNECTION_CTE_TRANSMIT_PARAMETERS( Connection_Handle,
                                                                     CTE_Types,
                                                                     Switching_Pattern_Length,
                                                                     Antenna_IDs );
  BLE_WRAP_HCI_LE_SET_CONNECTION_CTE_TRANSMIT_PARAMETERS_POSTPROC( );
  return status;
}

/* HCI_LE_CONNECTION_CTE_REQUEST_ENABLE wrapper function */
tBleStatus hci_le_connection_cte_request_enable( uint16_t Connection_Handle,
                                                 uint8_t Enable,
                                                 uint16_t CTE_Request_Interval,
                                                 uint8_t Requested_CTE_Length,
                                                 uint8_t Requested_CTE_Type )
{
  BLE_WRAP_HCI_LE_CONNECTION_CTE_REQUEST_ENABLE_PREPROC( );
  tBleStatus status = HCI_LE_CONNECTION_CTE_REQUEST_ENABLE( Connection_Handle,
                                                            Enable,
                                                            CTE_Request_Interval,
                                                            Requested_CTE_Length,
                                                            Requested_CTE_Type );
  BLE_WRAP_HCI_LE_CONNECTION_CTE_REQUEST_ENABLE_POSTPROC( );
  return status;
}

/* HCI_LE_CONNECTION_CTE_RESPONSE_ENABLE wrapper function */
tBleStatus hci_le_connection_cte_response_enable( uint16_t Connection_Handle,
                                                  uint8_t Enable )
{
  BLE_WRAP_HCI_LE_CONNECTION_CTE_RESPONSE_ENABLE_PREPROC( );
  tBleStatus status = HCI_LE_CONNECTION_CTE_RESPONSE_ENABLE( Connection_Handle,
                                                             Enable );
  BLE_WRAP_HCI_LE_CONNECTION_CTE_RESPONSE_ENABLE_POSTPROC( );
  return status;
}

/* HCI_LE_READ_ANTENNA_INFORMATION wrapper function */
tBleStatus hci_le_read_antenna_information( uint8_t* Supported_Switching_Sampling_Rates,
                                            uint8_t* Num_Antennae,
                                            uint8_t* Max_Switching_Pattern_Length,
                                            uint8_t* Max_CTE_Length )
{
  BLE_WRAP_HCI_LE_READ_ANTENNA_INFORMATION_PREPROC( );
  tBleStatus status = HCI_LE_READ_ANTENNA_INFORMATION( Supported_Switching_Sampling_Rates,
                                                       Num_Antennae,
                                                       Max_Switching_Pattern_Length,
                                                       Max_CTE_Length );
  BLE_WRAP_HCI_LE_READ_ANTENNA_INFORMATION_POSTPROC( );
  return status;
}

/* HCI_LE_SET_PERIODIC_ADVERTISING_RECEIVE_ENABLE wrapper function */
tBleStatus hci_le_set_periodic_advertising_receive_enable( uint16_t Sync_Handle,
                                                           uint8_t Enable )
{
  BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_RECEIVE_ENABLE_PREPROC( );
  tBleStatus status = HCI_LE_SET_PERIODIC_ADVERTISING_RECEIVE_ENABLE( Sync_Handle,
                                                                      Enable );
  BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_RECEIVE_ENABLE_POSTPROC( );
  return status;
}

/* HCI_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER wrapper function */
tBleStatus hci_le_periodic_advertising_sync_transfer( uint16_t Connection_Handle,
                                                      uint16_t Service_Data,
                                                      uint16_t Sync_Handle )
{
  BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_PREPROC( );
  tBleStatus status = HCI_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER( Connection_Handle,
                                                                 Service_Data,
                                                                 Sync_Handle );
  BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_POSTPROC( );
  return status;
}

/* HCI_LE_PERIODIC_ADVERTISING_SET_INFO_TRANSFER wrapper function */
tBleStatus hci_le_periodic_advertising_set_info_transfer( uint16_t Connection_Handle,
                                                          uint16_t Service_Data,
                                                          uint8_t Advertising_Handle )
{
  BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_SET_INFO_TRANSFER_PREPROC( );
  tBleStatus status = HCI_LE_PERIODIC_ADVERTISING_SET_INFO_TRANSFER( Connection_Handle,
                                                                     Service_Data,
                                                                     Advertising_Handle );
  BLE_WRAP_HCI_LE_PERIODIC_ADVERTISING_SET_INFO_TRANSFER_POSTPROC( );
  return status;
}

/* HCI_LE_SET_PERIODIC_ADVERTISING_SYNC_TRANSFER_PARAMETERS wrapper function */
tBleStatus hci_le_set_periodic_advertising_sync_transfer_parameters( uint16_t Connection_Handle,
                                                                     uint8_t Mode,
                                                                     uint16_t Skip,
                                                                     uint16_t Sync_Timeout,
                                                                     uint8_t CTE_Type )
{
  BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_SYNC_TRANSFER_PARAMETERS_PREPROC( );
  tBleStatus status = HCI_LE_SET_PERIODIC_ADVERTISING_SYNC_TRANSFER_PARAMETERS( Connection_Handle,
                                                                                Mode,
                                                                                Skip,
                                                                                Sync_Timeout,
                                                                                CTE_Type );
  BLE_WRAP_HCI_LE_SET_PERIODIC_ADVERTISING_SYNC_TRANSFER_PARAMETERS_POSTPROC( );
  return status;
}

/* HCI_LE_SET_DEFAULT_PERIODIC_ADVERTISING_SYNC_TRANSFER_PARAMETERS wrapper function */
tBleStatus hci_le_set_default_periodic_advertising_sync_transfer_parameters( uint8_t Mode,
                                                                             uint16_t Skip,
                                                                             uint16_t Sync_Timeout,
                                                                             uint8_t CTE_Type )
{
  BLE_WRAP_HCI_LE_SET_DEFAULT_PERIODIC_ADVERTISING_SYNC_TRANSFER_PARAMETERS_PREPROC( );
  tBleStatus status = HCI_LE_SET_DEFAULT_PERIODIC_ADVERTISING_SYNC_TRANSFER_PARAMETERS( Mode,
                                                                                        Skip,
                                                                                        Sync_Timeout,
                                                                                        CTE_Type );
  BLE_WRAP_HCI_LE_SET_DEFAULT_PERIODIC_ADVERTISING_SYNC_TRANSFER_PARAMETERS_POSTPROC( );
  return status;
}

/* HCI_LE_GENERATE_DHKEY_V2 wrapper function */
tBleStatus hci_le_generate_dhkey_v2( const uint8_t* Remote_P256_Public_Key,
                                     uint8_t Key_Type )
{
  BLE_WRAP_HCI_LE_GENERATE_DHKEY_V2_PREPROC( );
  tBleStatus status = HCI_LE_GENERATE_DHKEY_V2( Remote_P256_Public_Key,
                                                Key_Type );
  BLE_WRAP_HCI_LE_GENERATE_DHKEY_V2_POSTPROC( );
  return status;
}

/* HCI_LE_READ_BUFFER_SIZE_V2 wrapper function */
tBleStatus hci_le_read_buffer_size_v2( uint16_t* LE_ACL_Data_Packet_Length,
                                       uint8_t* Total_Num_LE_ACL_Data_Packets,
                                       uint16_t* ISO_Data_Packet_Length,
                                       uint8_t* Total_Num_ISO_Data_Packets )
{
  BLE_WRAP_HCI_LE_READ_BUFFER_SIZE_V2_PREPROC( );
  tBleStatus status = HCI_LE_READ_BUFFER_SIZE_V2( LE_ACL_Data_Packet_Length,
                                                  Total_Num_LE_ACL_Data_Packets,
                                                  ISO_Data_Packet_Length,
                                                  Total_Num_ISO_Data_Packets );
  BLE_WRAP_HCI_LE_READ_BUFFER_SIZE_V2_POSTPROC( );
  return status;
}

/* HCI_LE_READ_ISO_TX_SYNC wrapper function */
tBleStatus hci_le_read_iso_tx_sync( uint16_t Connection_Handle,
                                    uint16_t* Packet_Sequence_Number,
                                    uint32_t* TX_Time_Stamp,
                                    uint8_t* Time_Offset )
{
  BLE_WRAP_HCI_LE_READ_ISO_TX_SYNC_PREPROC( );
  tBleStatus status = HCI_LE_READ_ISO_TX_SYNC( Connection_Handle,
                                               Packet_Sequence_Number,
                                               TX_Time_Stamp,
                                               Time_Offset );
  BLE_WRAP_HCI_LE_READ_ISO_TX_SYNC_POSTPROC( );
  return status;
}

/* HCI_LE_SET_CIG_PARAMETERS wrapper function */
tBleStatus hci_le_set_cig_parameters( uint8_t CIG_ID,
                                      const uint8_t* SDU_Interval_C_To_P,
                                      const uint8_t* SDU_Interval_P_To_C,
                                      uint8_t Worst_Case_SCA,
                                      uint8_t Packing,
                                      uint8_t Framing,
                                      uint16_t Max_Transport_Latency_C_To_P,
                                      uint16_t Max_Transport_Latency_P_To_C,
                                      uint8_t CIS_Count,
                                      const CIS_cfg_t* CIS_cfg,
                                      uint8_t* CIS_Count_Ret,
                                      uint16_t* Connection_Handle )
{
  BLE_WRAP_HCI_LE_SET_CIG_PARAMETERS_PREPROC( );
  tBleStatus status = HCI_LE_SET_CIG_PARAMETERS( CIG_ID,
                                                 SDU_Interval_C_To_P,
                                                 SDU_Interval_P_To_C,
                                                 Worst_Case_SCA,
                                                 Packing,
                                                 Framing,
                                                 Max_Transport_Latency_C_To_P,
                                                 Max_Transport_Latency_P_To_C,
                                                 CIS_Count,
                                                 CIS_cfg,
                                                 CIS_Count_Ret,
                                                 Connection_Handle );
  BLE_WRAP_HCI_LE_SET_CIG_PARAMETERS_POSTPROC( );
  return status;
}

/* HCI_LE_SET_CIG_PARAMETERS_TEST wrapper function */
tBleStatus hci_le_set_cig_parameters_test( uint8_t CIG_ID,
                                           const uint8_t* SDU_Interval_C_To_P,
                                           const uint8_t* SDU_Interval_P_To_C,
                                           uint8_t FT_C_To_P,
                                           uint8_t FT_P_To_C,
                                           uint16_t ISO_Interval,
                                           uint8_t Worst_Case_SCA,
                                           uint8_t Packing,
                                           uint8_t Framing,
                                           uint8_t CIS_Count,
                                           const CIS_tst_cfg_t* CIS_tst_cfg,
                                           uint8_t* CIS_Count_Ret,
                                           uint16_t* Connection_Handle )
{
  BLE_WRAP_HCI_LE_SET_CIG_PARAMETERS_TEST_PREPROC( );
  tBleStatus status = HCI_LE_SET_CIG_PARAMETERS_TEST( CIG_ID,
                                                      SDU_Interval_C_To_P,
                                                      SDU_Interval_P_To_C,
                                                      FT_C_To_P,
                                                      FT_P_To_C,
                                                      ISO_Interval,
                                                      Worst_Case_SCA,
                                                      Packing,
                                                      Framing,
                                                      CIS_Count,
                                                      CIS_tst_cfg,
                                                      CIS_Count_Ret,
                                                      Connection_Handle );
  BLE_WRAP_HCI_LE_SET_CIG_PARAMETERS_TEST_POSTPROC( );
  return status;
}

/* HCI_LE_CREATE_CIS wrapper function */
tBleStatus hci_le_create_cis( uint8_t CIS_Count,
                              const CIS_create_t* CIS_create )
{
  BLE_WRAP_HCI_LE_CREATE_CIS_PREPROC( );
  tBleStatus status = HCI_LE_CREATE_CIS( CIS_Count,
                                         CIS_create );
  BLE_WRAP_HCI_LE_CREATE_CIS_POSTPROC( );
  return status;
}

/* HCI_LE_REMOVE_CIG wrapper function */
tBleStatus hci_le_remove_cig( uint8_t CIG_ID )
{
  BLE_WRAP_HCI_LE_REMOVE_CIG_PREPROC( );
  tBleStatus status = HCI_LE_REMOVE_CIG( CIG_ID );
  BLE_WRAP_HCI_LE_REMOVE_CIG_POSTPROC( );
  return status;
}

/* HCI_LE_ACCEPT_CIS_REQUEST wrapper function */
tBleStatus hci_le_accept_cis_request( uint16_t Connection_Handle )
{
  BLE_WRAP_HCI_LE_ACCEPT_CIS_REQUEST_PREPROC( );
  tBleStatus status = HCI_LE_ACCEPT_CIS_REQUEST( Connection_Handle );
  BLE_WRAP_HCI_LE_ACCEPT_CIS_REQUEST_POSTPROC( );
  return status;
}

/* HCI_LE_REJECT_CIS_REQUEST wrapper function */
tBleStatus hci_le_reject_cis_request( uint16_t Connection_Handle,
                                      uint8_t Reason )
{
  BLE_WRAP_HCI_LE_REJECT_CIS_REQUEST_PREPROC( );
  tBleStatus status = HCI_LE_REJECT_CIS_REQUEST( Connection_Handle,
                                                 Reason );
  BLE_WRAP_HCI_LE_REJECT_CIS_REQUEST_POSTPROC( );
  return status;
}

/* HCI_LE_CREATE_BIG wrapper function */
tBleStatus hci_le_create_big( uint8_t BIG_Handle,
                              uint8_t Advertising_Handle,
                              uint8_t Num_BIS,
                              const uint8_t* SDU_Interval,
                              uint16_t Max_SDU,
                              uint16_t Max_Transport_Latency,
                              uint8_t RTN,
                              uint8_t PHY,
                              uint8_t Packing,
                              uint8_t Framing,
                              uint8_t Encryption,
                              const uint8_t* Broadcast_Code )
{
  BLE_WRAP_HCI_LE_CREATE_BIG_PREPROC( );
  tBleStatus status = HCI_LE_CREATE_BIG( BIG_Handle,
                                         Advertising_Handle,
                                         Num_BIS,
                                         SDU_Interval,
                                         Max_SDU,
                                         Max_Transport_Latency,
                                         RTN,
                                         PHY,
                                         Packing,
                                         Framing,
                                         Encryption,
                                         Broadcast_Code );
  BLE_WRAP_HCI_LE_CREATE_BIG_POSTPROC( );
  return status;
}

/* HCI_LE_CREATE_BIG_TEST wrapper function */
tBleStatus hci_le_create_big_test( uint8_t BIG_Handle,
                                   uint8_t Advertising_Handle,
                                   uint8_t Num_BIS,
                                   const uint8_t* SDU_Interval,
                                   uint16_t ISO_Interval,
                                   uint8_t NSE,
                                   uint16_t Max_SDU,
                                   uint16_t Max_PDU,
                                   uint8_t PHY,
                                   uint8_t Packing,
                                   uint8_t Framing,
                                   uint8_t BN,
                                   uint8_t IRC,
                                   uint8_t PTO,
                                   uint8_t Encryption,
                                   const uint8_t* Broadcast_Code )
{
  BLE_WRAP_HCI_LE_CREATE_BIG_TEST_PREPROC( );
  tBleStatus status = HCI_LE_CREATE_BIG_TEST( BIG_Handle,
                                              Advertising_Handle,
                                              Num_BIS,
                                              SDU_Interval,
                                              ISO_Interval,
                                              NSE,
                                              Max_SDU,
                                              Max_PDU,
                                              PHY,
                                              Packing,
                                              Framing,
                                              BN,
                                              IRC,
                                              PTO,
                                              Encryption,
                                              Broadcast_Code );
  BLE_WRAP_HCI_LE_CREATE_BIG_TEST_POSTPROC( );
  return status;
}

/* HCI_LE_TERMINATE_BIG wrapper function */
tBleStatus hci_le_terminate_big( uint8_t BIG_Handle,
                                 uint8_t Reason )
{
  BLE_WRAP_HCI_LE_TERMINATE_BIG_PREPROC( );
  tBleStatus status = HCI_LE_TERMINATE_BIG( BIG_Handle,
                                            Reason );
  BLE_WRAP_HCI_LE_TERMINATE_BIG_POSTPROC( );
  return status;
}

/* HCI_LE_BIG_CREATE_SYNC wrapper function */
tBleStatus hci_le_big_create_sync( uint8_t BIG_Handle,
                                   uint16_t Sync_Handle,
                                   uint8_t Encryption,
                                   const uint8_t* Broadcast_Code,
                                   uint8_t MSE,
                                   uint16_t BIG_Sync_Timeout,
                                   uint8_t Num_BIS,
                                   const uint8_t* BIS )
{
  BLE_WRAP_HCI_LE_BIG_CREATE_SYNC_PREPROC( );
  tBleStatus status = HCI_LE_BIG_CREATE_SYNC( BIG_Handle,
                                              Sync_Handle,
                                              Encryption,
                                              Broadcast_Code,
                                              MSE,
                                              BIG_Sync_Timeout,
                                              Num_BIS,
                                              BIS );
  BLE_WRAP_HCI_LE_BIG_CREATE_SYNC_POSTPROC( );
  return status;
}

/* HCI_LE_BIG_TERMINATE_SYNC wrapper function */
tBleStatus hci_le_big_terminate_sync( uint8_t BIG_Handle )
{
  BLE_WRAP_HCI_LE_BIG_TERMINATE_SYNC_PREPROC( );
  tBleStatus status = HCI_LE_BIG_TERMINATE_SYNC( BIG_Handle );
  BLE_WRAP_HCI_LE_BIG_TERMINATE_SYNC_POSTPROC( );
  return status;
}

/* HCI_LE_REQUEST_PEER_SCA wrapper function */
tBleStatus hci_le_request_peer_sca( uint16_t Connection_Handle )
{
  BLE_WRAP_HCI_LE_REQUEST_PEER_SCA_PREPROC( );
  tBleStatus status = HCI_LE_REQUEST_PEER_SCA( Connection_Handle );
  BLE_WRAP_HCI_LE_REQUEST_PEER_SCA_POSTPROC( );
  return status;
}

/* HCI_LE_SETUP_ISO_DATA_PATH wrapper function */
tBleStatus hci_le_setup_iso_data_path( uint16_t Connection_Handle,
                                       uint8_t Data_Path_Direction,
                                       uint8_t Data_Path_ID,
                                       const uint8_t* Codec_ID,
                                       const uint8_t* Controller_Delay,
                                       uint8_t Codec_Configuration_Length,
                                       const uint8_t* Codec_Configuration )
{
  BLE_WRAP_HCI_LE_SETUP_ISO_DATA_PATH_PREPROC( );
  tBleStatus status = HCI_LE_SETUP_ISO_DATA_PATH( Connection_Handle,
                                                  Data_Path_Direction,
                                                  Data_Path_ID,
                                                  Codec_ID,
                                                  Controller_Delay,
                                                  Codec_Configuration_Length,
                                                  Codec_Configuration );
  BLE_WRAP_HCI_LE_SETUP_ISO_DATA_PATH_POSTPROC( );
  return status;
}

/* HCI_LE_REMOVE_ISO_DATA_PATH wrapper function */
tBleStatus hci_le_remove_iso_data_path( uint16_t Connection_Handle,
                                        uint8_t Data_Path_Direction )
{
  BLE_WRAP_HCI_LE_REMOVE_ISO_DATA_PATH_PREPROC( );
  tBleStatus status = HCI_LE_REMOVE_ISO_DATA_PATH( Connection_Handle,
                                                   Data_Path_Direction );
  BLE_WRAP_HCI_LE_REMOVE_ISO_DATA_PATH_POSTPROC( );
  return status;
}

/* HCI_LE_ISO_TRANSMIT_TEST wrapper function */
tBleStatus hci_le_iso_transmit_test( uint16_t Connection_Handle,
                                     uint8_t Payload_Type )
{
  BLE_WRAP_HCI_LE_ISO_TRANSMIT_TEST_PREPROC( );
  tBleStatus status = HCI_LE_ISO_TRANSMIT_TEST( Connection_Handle,
                                                Payload_Type );
  BLE_WRAP_HCI_LE_ISO_TRANSMIT_TEST_POSTPROC( );
  return status;
}

/* HCI_LE_ISO_RECEIVE_TEST wrapper function */
tBleStatus hci_le_iso_receive_test( uint16_t Connection_Handle,
                                    uint8_t Payload_Type )
{
  BLE_WRAP_HCI_LE_ISO_RECEIVE_TEST_PREPROC( );
  tBleStatus status = HCI_LE_ISO_RECEIVE_TEST( Connection_Handle,
                                               Payload_Type );
  BLE_WRAP_HCI_LE_ISO_RECEIVE_TEST_POSTPROC( );
  return status;
}

/* HCI_LE_ISO_READ_TEST_COUNTERS wrapper function */
tBleStatus hci_le_iso_read_test_counters( uint16_t Connection_Handle,
                                          uint32_t* Received_SDU_Count,
                                          uint32_t* Missed_SDU_Count,
                                          uint32_t* Failed_SDU_Count )
{
  BLE_WRAP_HCI_LE_ISO_READ_TEST_COUNTERS_PREPROC( );
  tBleStatus status = HCI_LE_ISO_READ_TEST_COUNTERS( Connection_Handle,
                                                     Received_SDU_Count,
                                                     Missed_SDU_Count,
                                                     Failed_SDU_Count );
  BLE_WRAP_HCI_LE_ISO_READ_TEST_COUNTERS_POSTPROC( );
  return status;
}

/* HCI_LE_ISO_TEST_END wrapper function */
tBleStatus hci_le_iso_test_end( uint16_t Connection_Handle,
                                uint32_t* Received_SDU_Count,
                                uint32_t* Missed_SDU_Count,
                                uint32_t* Failed_SDU_Count )
{
  BLE_WRAP_HCI_LE_ISO_TEST_END_PREPROC( );
  tBleStatus status = HCI_LE_ISO_TEST_END( Connection_Handle,
                                           Received_SDU_Count,
                                           Missed_SDU_Count,
                                           Failed_SDU_Count );
  BLE_WRAP_HCI_LE_ISO_TEST_END_POSTPROC( );
  return status;
}

/* HCI_LE_SET_HOST_FEATURE wrapper function */
tBleStatus hci_le_set_host_feature( uint8_t Bit_Number,
                                    uint8_t Bit_Value )
{
  BLE_WRAP_HCI_LE_SET_HOST_FEATURE_PREPROC( );
  tBleStatus status = HCI_LE_SET_HOST_FEATURE( Bit_Number,
                                               Bit_Value );
  BLE_WRAP_HCI_LE_SET_HOST_FEATURE_POSTPROC( );
  return status;
}

/* HCI_LE_READ_ISO_LINK_QUALITY wrapper function */
tBleStatus hci_le_read_iso_link_quality( uint16_t Connection_Handle,
                                         uint32_t* TX_UnACKed_Packets,
                                         uint32_t* TX_Flushed_Packets,
                                         uint32_t* TX_Last_Subevent_Packets,
                                         uint32_t* Retransmitted_Packets,
                                         uint32_t* CRC_Error_Packets,
                                         uint32_t* RX_Unreceived_Packets,
                                         uint32_t* Duplicate_Packets )
{
  BLE_WRAP_HCI_LE_READ_ISO_LINK_QUALITY_PREPROC( );
  tBleStatus status = HCI_LE_READ_ISO_LINK_QUALITY( Connection_Handle,
                                                    TX_UnACKed_Packets,
                                                    TX_Flushed_Packets,
                                                    TX_Last_Subevent_Packets,
                                                    Retransmitted_Packets,
                                                    CRC_Error_Packets,
                                                    RX_Unreceived_Packets,
                                                    Duplicate_Packets );
  BLE_WRAP_HCI_LE_READ_ISO_LINK_QUALITY_POSTPROC( );
  return status;
}

/* HCI_LE_ENHANCED_READ_TRANSMIT_POWER_LEVEL wrapper function */
tBleStatus hci_le_enhanced_read_transmit_power_level( uint16_t Connection_Handle,
                                                      uint8_t PHY,
                                                      uint8_t* Current_TX_Power_Level,
                                                      uint8_t* Max_TX_Power_Level )
{
  BLE_WRAP_HCI_LE_ENHANCED_READ_TRANSMIT_POWER_LEVEL_PREPROC( );
  tBleStatus status = HCI_LE_ENHANCED_READ_TRANSMIT_POWER_LEVEL( Connection_Handle,
                                                                 PHY,
                                                                 Current_TX_Power_Level,
                                                                 Max_TX_Power_Level );
  BLE_WRAP_HCI_LE_ENHANCED_READ_TRANSMIT_POWER_LEVEL_POSTPROC( );
  return status;
}

/* HCI_LE_READ_REMOTE_TRANSMIT_POWER_LEVEL wrapper function */
tBleStatus hci_le_read_remote_transmit_power_level( uint16_t Connection_Handle,
                                                    uint8_t PHY )
{
  BLE_WRAP_HCI_LE_READ_REMOTE_TRANSMIT_POWER_LEVEL_PREPROC( );
  tBleStatus status = HCI_LE_READ_REMOTE_TRANSMIT_POWER_LEVEL( Connection_Handle,
                                                               PHY );
  BLE_WRAP_HCI_LE_READ_REMOTE_TRANSMIT_POWER_LEVEL_POSTPROC( );
  return status;
}

/* HCI_LE_SET_PATH_LOSS_REPORTING_PARAMETERS wrapper function */
tBleStatus hci_le_set_path_loss_reporting_parameters( uint16_t Connection_Handle,
                                                      uint8_t High_Threshold,
                                                      uint8_t High_Hysteresis,
                                                      uint8_t Low_Threshold,
                                                      uint8_t Low_Hysteresis,
                                                      uint16_t Min_Time_Spent )
{
  BLE_WRAP_HCI_LE_SET_PATH_LOSS_REPORTING_PARAMETERS_PREPROC( );
  tBleStatus status = HCI_LE_SET_PATH_LOSS_REPORTING_PARAMETERS( Connection_Handle,
                                                                 High_Threshold,
                                                                 High_Hysteresis,
                                                                 Low_Threshold,
                                                                 Low_Hysteresis,
                                                                 Min_Time_Spent );
  BLE_WRAP_HCI_LE_SET_PATH_LOSS_REPORTING_PARAMETERS_POSTPROC( );
  return status;
}

/* HCI_LE_SET_PATH_LOSS_REPORTING_ENABLE wrapper function */
tBleStatus hci_le_set_path_loss_reporting_enable( uint16_t Connection_Handle,
                                                  uint8_t Enable )
{
  BLE_WRAP_HCI_LE_SET_PATH_LOSS_REPORTING_ENABLE_PREPROC( );
  tBleStatus status = HCI_LE_SET_PATH_LOSS_REPORTING_ENABLE( Connection_Handle,
                                                             Enable );
  BLE_WRAP_HCI_LE_SET_PATH_LOSS_REPORTING_ENABLE_POSTPROC( );
  return status;
}

/* HCI_LE_SET_TRANSMIT_POWER_REPORTING_ENABLE wrapper function */
tBleStatus hci_le_set_transmit_power_reporting_enable( uint16_t Connection_Handle,
                                                       uint8_t Local_Enable,
                                                       uint8_t Remote_Enable )
{
  BLE_WRAP_HCI_LE_SET_TRANSMIT_POWER_REPORTING_ENABLE_PREPROC( );
  tBleStatus status = HCI_LE_SET_TRANSMIT_POWER_REPORTING_ENABLE( Connection_Handle,
                                                                  Local_Enable,
                                                                  Remote_Enable );
  BLE_WRAP_HCI_LE_SET_TRANSMIT_POWER_REPORTING_ENABLE_POSTPROC( );
  return status;
}

/* HCI_LE_TRANSMITTER_TEST_V4 wrapper function */
tBleStatus hci_le_transmitter_test_v4( uint8_t TX_Frequency,
                                       uint8_t Length_Of_Test_Data,
                                       uint8_t Packet_Payload,
                                       uint8_t PHY,
                                       uint8_t CTE_Length,
                                       uint8_t CTE_Type,
                                       uint8_t Switching_Pattern_Length,
                                       const uint8_t* Antenna_IDs,
                                       uint8_t TX_Power_Level )
{
  BLE_WRAP_HCI_LE_TRANSMITTER_TEST_V4_PREPROC( );
  tBleStatus status = HCI_LE_TRANSMITTER_TEST_V4( TX_Frequency,
                                                  Length_Of_Test_Data,
                                                  Packet_Payload,
                                                  PHY,
                                                  CTE_Length,
                                                  CTE_Type,
                                                  Switching_Pattern_Length,
                                                  Antenna_IDs,
                                                  TX_Power_Level );
  BLE_WRAP_HCI_LE_TRANSMITTER_TEST_V4_POSTPROC( );
  return status;
}

/* HCI_LE_SET_DATA_RELATED_ADDRESS_CHANGES wrapper function */
tBleStatus hci_le_set_data_related_address_changes( uint8_t Advertising_Handle,
                                                    uint8_t Change_Reasons )
{
  BLE_WRAP_HCI_LE_SET_DATA_RELATED_ADDRESS_CHANGES_PREPROC( );
  tBleStatus status = HCI_LE_SET_DATA_RELATED_ADDRESS_CHANGES( Advertising_Handle,
                                                               Change_Reasons );
  BLE_WRAP_HCI_LE_SET_DATA_RELATED_ADDRESS_CHANGES_POSTPROC( );
  return status;
}

/* HCI_LE_SET_DEFAULT_SUBRATE wrapper function */
tBleStatus hci_le_set_default_subrate( uint16_t Subrate_Min,
                                       uint16_t Subrate_Max,
                                       uint16_t Max_Latency,
                                       uint16_t Continuation_Number,
                                       uint16_t Supervision_Timeout )
{
  BLE_WRAP_HCI_LE_SET_DEFAULT_SUBRATE_PREPROC( );
  tBleStatus status = HCI_LE_SET_DEFAULT_SUBRATE( Subrate_Min,
                                                  Subrate_Max,
                                                  Max_Latency,
                                                  Continuation_Number,
                                                  Supervision_Timeout );
  BLE_WRAP_HCI_LE_SET_DEFAULT_SUBRATE_POSTPROC( );
  return status;
}

/* HCI_LE_SUBRATE_REQUEST wrapper function */
tBleStatus hci_le_subrate_request( uint16_t Connection_Handle,
                                   uint16_t Subrate_Min,
                                   uint16_t Subrate_Max,
                                   uint16_t Max_Latency,
                                   uint16_t Continuation_Number,
                                   uint16_t Supervision_Timeout )
{
  BLE_WRAP_HCI_LE_SUBRATE_REQUEST_PREPROC( );
  tBleStatus status = HCI_LE_SUBRATE_REQUEST( Connection_Handle,
                                              Subrate_Min,
                                              Subrate_Max,
                                              Max_Latency,
                                              Continuation_Number,
                                              Supervision_Timeout );
  BLE_WRAP_HCI_LE_SUBRATE_REQUEST_POSTPROC( );
  return status;
}

/* HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS_V2 wrapper function */
tBleStatus hci_le_set_extended_advertising_parameters_v2( uint8_t Advertising_Handle,
                                                          uint16_t Adv_Event_Properties,
                                                          const uint8_t* Primary_Adv_Interval_Min,
                                                          const uint8_t* Primary_Adv_Interval_Max,
                                                          uint8_t Primary_Adv_Channel_Map,
                                                          uint8_t Own_Address_Type,
                                                          uint8_t Peer_Address_Type,
                                                          const uint8_t* Peer_Address,
                                                          uint8_t Adv_Filter_Policy,
                                                          uint8_t Adv_TX_Power,
                                                          uint8_t Primary_Adv_PHY,
                                                          uint8_t Secondary_Adv_Max_Skip,
                                                          uint8_t Secondary_Adv_PHY,
                                                          uint8_t Adv_SID,
                                                          uint8_t Scan_Req_Notification_Enable,
                                                          uint8_t Primary_Adv_PHY_Options,
                                                          uint8_t Secondary_Adv_PHY_Options,
                                                          uint8_t* Selected_TX_Power )
{
  BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS_V2_PREPROC( );
  tBleStatus status = HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS_V2( Advertising_Handle,
                                                                     Adv_Event_Properties,
                                                                     Primary_Adv_Interval_Min,
                                                                     Primary_Adv_Interval_Max,
                                                                     Primary_Adv_Channel_Map,
                                                                     Own_Address_Type,
                                                                     Peer_Address_Type,
                                                                     Peer_Address,
                                                                     Adv_Filter_Policy,
                                                                     Adv_TX_Power,
                                                                     Primary_Adv_PHY,
                                                                     Secondary_Adv_Max_Skip,
                                                                     Secondary_Adv_PHY,
                                                                     Adv_SID,
                                                                     Scan_Req_Notification_Enable,
                                                                     Primary_Adv_PHY_Options,
                                                                     Secondary_Adv_PHY_Options,
                                                                     Selected_TX_Power );
  BLE_WRAP_HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS_V2_POSTPROC( );
  return status;
}

/* ACI_HAL_GET_FW_BUILD_NUMBER wrapper function */
tBleStatus aci_hal_get_fw_build_number( uint16_t* Build_Number )
{
  BLE_WRAP_ACI_HAL_GET_FW_BUILD_NUMBER_PREPROC( );
  tBleStatus status = ACI_HAL_GET_FW_BUILD_NUMBER( Build_Number );
  BLE_WRAP_ACI_HAL_GET_FW_BUILD_NUMBER_POSTPROC( );
  return status;
}

/* ACI_HAL_WRITE_CONFIG_DATA wrapper function */
tBleStatus aci_hal_write_config_data( uint8_t Offset,
                                      uint8_t Length,
                                      const uint8_t* Value )
{
  BLE_WRAP_ACI_HAL_WRITE_CONFIG_DATA_PREPROC( );
  tBleStatus status = ACI_HAL_WRITE_CONFIG_DATA( Offset,
                                                 Length,
                                                 Value );
  BLE_WRAP_ACI_HAL_WRITE_CONFIG_DATA_POSTPROC( );
  return status;
}

/* ACI_HAL_READ_CONFIG_DATA wrapper function */
tBleStatus aci_hal_read_config_data( uint8_t Offset,
                                     uint8_t* Data_Length,
                                     uint8_t* Data )
{
  BLE_WRAP_ACI_HAL_READ_CONFIG_DATA_PREPROC( );
  tBleStatus status = ACI_HAL_READ_CONFIG_DATA( Offset,
                                                Data_Length,
                                                Data );
  BLE_WRAP_ACI_HAL_READ_CONFIG_DATA_POSTPROC( );
  return status;
}

/* ACI_HAL_SET_TX_POWER_LEVEL wrapper function */
tBleStatus aci_hal_set_tx_power_level( uint8_t En_High_Power,
                                       uint8_t PA_Level )
{
  BLE_WRAP_ACI_HAL_SET_TX_POWER_LEVEL_PREPROC( );
  tBleStatus status = ACI_HAL_SET_TX_POWER_LEVEL( En_High_Power,
                                                  PA_Level );
  BLE_WRAP_ACI_HAL_SET_TX_POWER_LEVEL_POSTPROC( );
  return status;
}

/* ACI_HAL_LE_TX_TEST_PACKET_NUMBER wrapper function */
tBleStatus aci_hal_le_tx_test_packet_number( uint32_t* Number_Of_Packets )
{
  BLE_WRAP_ACI_HAL_LE_TX_TEST_PACKET_NUMBER_PREPROC( );
  tBleStatus status = ACI_HAL_LE_TX_TEST_PACKET_NUMBER( Number_Of_Packets );
  BLE_WRAP_ACI_HAL_LE_TX_TEST_PACKET_NUMBER_POSTPROC( );
  return status;
}

/* ACI_HAL_TONE_START wrapper function */
tBleStatus aci_hal_tone_start( uint8_t RF_Channel,
                               uint8_t Freq_offset )
{
  BLE_WRAP_ACI_HAL_TONE_START_PREPROC( );
  tBleStatus status = ACI_HAL_TONE_START( RF_Channel,
                                          Freq_offset );
  BLE_WRAP_ACI_HAL_TONE_START_POSTPROC( );
  return status;
}

/* ACI_HAL_TONE_STOP wrapper function */
tBleStatus aci_hal_tone_stop( void )
{
  BLE_WRAP_ACI_HAL_TONE_STOP_PREPROC( );
  tBleStatus status = ACI_HAL_TONE_STOP(  );
  BLE_WRAP_ACI_HAL_TONE_STOP_POSTPROC( );
  return status;
}

/* ACI_HAL_SET_RADIO_ACTIVITY_MASK wrapper function */
tBleStatus aci_hal_set_radio_activity_mask( uint16_t Radio_Activity_Mask )
{
  BLE_WRAP_ACI_HAL_SET_RADIO_ACTIVITY_MASK_PREPROC( );
  tBleStatus status = ACI_HAL_SET_RADIO_ACTIVITY_MASK( Radio_Activity_Mask );
  BLE_WRAP_ACI_HAL_SET_RADIO_ACTIVITY_MASK_POSTPROC( );
  return status;
}

/* ACI_HAL_SET_EVENT_MASK wrapper function */
tBleStatus aci_hal_set_event_mask( uint32_t Event_Mask )
{
  BLE_WRAP_ACI_HAL_SET_EVENT_MASK_PREPROC( );
  tBleStatus status = ACI_HAL_SET_EVENT_MASK( Event_Mask );
  BLE_WRAP_ACI_HAL_SET_EVENT_MASK_POSTPROC( );
  return status;
}

/* ACI_HAL_GET_LINK_STATUS_V2 wrapper function */
tBleStatus aci_hal_get_link_status_v2( uint8_t* Link_Status,
                                       uint16_t* Link_Connection_Handle )
{
  BLE_WRAP_ACI_HAL_GET_LINK_STATUS_V2_PREPROC( );
  tBleStatus status = ACI_HAL_GET_LINK_STATUS_V2( Link_Status,
                                                  Link_Connection_Handle );
  BLE_WRAP_ACI_HAL_GET_LINK_STATUS_V2_POSTPROC( );
  return status;
}

/* ACI_HAL_GET_PM_DEBUG_INFO_V2 wrapper function */
tBleStatus aci_hal_get_pm_debug_info_v2( uint16_t* Allocated_For_TX,
                                         uint16_t* Allocated_For_RX,
                                         uint16_t* Allocated_MBlocks )
{
  BLE_WRAP_ACI_HAL_GET_PM_DEBUG_INFO_V2_PREPROC( );
  tBleStatus status = ACI_HAL_GET_PM_DEBUG_INFO_V2( Allocated_For_TX,
                                                    Allocated_For_RX,
                                                    Allocated_MBlocks );
  BLE_WRAP_ACI_HAL_GET_PM_DEBUG_INFO_V2_POSTPROC( );
  return status;
}

/* ACI_HAL_SET_PERIPHERAL_LATENCY wrapper function */
tBleStatus aci_hal_set_peripheral_latency( uint8_t Enable )
{
  BLE_WRAP_ACI_HAL_SET_PERIPHERAL_LATENCY_PREPROC( );
  tBleStatus status = ACI_HAL_SET_PERIPHERAL_LATENCY( Enable );
  BLE_WRAP_ACI_HAL_SET_PERIPHERAL_LATENCY_POSTPROC( );
  return status;
}

/* ACI_HAL_SET_SYNC_EVENT_CONFIG wrapper function */
tBleStatus aci_hal_set_sync_event_config( uint8_t Group_Id,
                                          uint8_t Enable_Sync,
                                          uint8_t Enable_Cb_Trigger,
                                          uint8_t Trigger_Source )
{
  BLE_WRAP_ACI_HAL_SET_SYNC_EVENT_CONFIG_PREPROC( );
  tBleStatus status = ACI_HAL_SET_SYNC_EVENT_CONFIG( Group_Id,
                                                     Enable_Sync,
                                                     Enable_Cb_Trigger,
                                                     Trigger_Source );
  BLE_WRAP_ACI_HAL_SET_SYNC_EVENT_CONFIG_POSTPROC( );
  return status;
}

/* ACI_HAL_READ_RSSI wrapper function */
tBleStatus aci_hal_read_rssi( uint8_t* RSSI )
{
  BLE_WRAP_ACI_HAL_READ_RSSI_PREPROC( );
  tBleStatus status = ACI_HAL_READ_RSSI( RSSI );
  BLE_WRAP_ACI_HAL_READ_RSSI_POSTPROC( );
  return status;
}

/* ACI_HAL_CONTINUOUS_TX_START wrapper function */
tBleStatus aci_hal_continuous_tx_start( uint8_t RF_Channel,
                                        uint8_t PHY,
                                        uint8_t Pattern )
{
  BLE_WRAP_ACI_HAL_CONTINUOUS_TX_START_PREPROC( );
  tBleStatus status = ACI_HAL_CONTINUOUS_TX_START( RF_Channel,
                                                   PHY,
                                                   Pattern );
  BLE_WRAP_ACI_HAL_CONTINUOUS_TX_START_POSTPROC( );
  return status;
}

/* ACI_HAL_EAD_ENCRYPT_DECRYPT wrapper function */
tBleStatus aci_hal_ead_encrypt_decrypt( uint8_t Mode,
                                        const uint8_t* Key,
                                        const uint8_t* IV,
                                        uint16_t In_Data_Length,
                                        const uint8_t* In_Data,
                                        uint16_t* Out_Data_Length,
                                        uint8_t* Out_Data )
{
  BLE_WRAP_ACI_HAL_EAD_ENCRYPT_DECRYPT_PREPROC( );
  tBleStatus status = ACI_HAL_EAD_ENCRYPT_DECRYPT( Mode,
                                                   Key,
                                                   IV,
                                                   In_Data_Length,
                                                   In_Data,
                                                   Out_Data_Length,
                                                   Out_Data );
  BLE_WRAP_ACI_HAL_EAD_ENCRYPT_DECRYPT_POSTPROC( );
  return status;
}

/* ACI_GAP_SET_NON_DISCOVERABLE wrapper function */
tBleStatus aci_gap_set_non_discoverable( void )
{
  BLE_WRAP_ACI_GAP_SET_NON_DISCOVERABLE_PREPROC( );
  tBleStatus status = ACI_GAP_SET_NON_DISCOVERABLE(  );
  BLE_WRAP_ACI_GAP_SET_NON_DISCOVERABLE_POSTPROC( );
  return status;
}

/* ACI_GAP_SET_LIMITED_DISCOVERABLE wrapper function */
tBleStatus aci_gap_set_limited_discoverable( uint8_t Advertising_Type,
                                             uint16_t Advertising_Interval_Min,
                                             uint16_t Advertising_Interval_Max,
                                             uint8_t Own_Address_Type,
                                             uint8_t Advertising_Filter_Policy,
                                             uint8_t Local_Name_Length,
                                             const uint8_t* Local_Name,
                                             uint8_t Service_Uuid_length,
                                             const uint8_t* Service_Uuid_List,
                                             uint16_t Conn_Interval_Min,
                                             uint16_t Conn_Interval_Max )
{
  BLE_WRAP_ACI_GAP_SET_LIMITED_DISCOVERABLE_PREPROC( );
  tBleStatus status = ACI_GAP_SET_LIMITED_DISCOVERABLE( Advertising_Type,
                                                        Advertising_Interval_Min,
                                                        Advertising_Interval_Max,
                                                        Own_Address_Type,
                                                        Advertising_Filter_Policy,
                                                        Local_Name_Length,
                                                        Local_Name,
                                                        Service_Uuid_length,
                                                        Service_Uuid_List,
                                                        Conn_Interval_Min,
                                                        Conn_Interval_Max );
  BLE_WRAP_ACI_GAP_SET_LIMITED_DISCOVERABLE_POSTPROC( );
  return status;
}

/* ACI_GAP_SET_DISCOVERABLE wrapper function */
tBleStatus aci_gap_set_discoverable( uint8_t Advertising_Type,
                                     uint16_t Advertising_Interval_Min,
                                     uint16_t Advertising_Interval_Max,
                                     uint8_t Own_Address_Type,
                                     uint8_t Advertising_Filter_Policy,
                                     uint8_t Local_Name_Length,
                                     const uint8_t* Local_Name,
                                     uint8_t Service_Uuid_length,
                                     const uint8_t* Service_Uuid_List,
                                     uint16_t Conn_Interval_Min,
                                     uint16_t Conn_Interval_Max )
{
  BLE_WRAP_ACI_GAP_SET_DISCOVERABLE_PREPROC( );
  tBleStatus status = ACI_GAP_SET_DISCOVERABLE( Advertising_Type,
                                                Advertising_Interval_Min,
                                                Advertising_Interval_Max,
                                                Own_Address_Type,
                                                Advertising_Filter_Policy,
                                                Local_Name_Length,
                                                Local_Name,
                                                Service_Uuid_length,
                                                Service_Uuid_List,
                                                Conn_Interval_Min,
                                                Conn_Interval_Max );
  BLE_WRAP_ACI_GAP_SET_DISCOVERABLE_POSTPROC( );
  return status;
}

/* ACI_GAP_SET_DIRECT_CONNECTABLE wrapper function */
tBleStatus aci_gap_set_direct_connectable( uint8_t Own_Address_Type,
                                           uint8_t Directed_Advertising_Type,
                                           uint8_t Direct_Address_Type,
                                           const uint8_t* Direct_Address,
                                           uint16_t Advertising_Interval_Min,
                                           uint16_t Advertising_Interval_Max )
{
  BLE_WRAP_ACI_GAP_SET_DIRECT_CONNECTABLE_PREPROC( );
  tBleStatus status = ACI_GAP_SET_DIRECT_CONNECTABLE( Own_Address_Type,
                                                      Directed_Advertising_Type,
                                                      Direct_Address_Type,
                                                      Direct_Address,
                                                      Advertising_Interval_Min,
                                                      Advertising_Interval_Max );
  BLE_WRAP_ACI_GAP_SET_DIRECT_CONNECTABLE_POSTPROC( );
  return status;
}

/* ACI_GAP_SET_IO_CAPABILITY wrapper function */
tBleStatus aci_gap_set_io_capability( uint8_t IO_Capability )
{
  BLE_WRAP_ACI_GAP_SET_IO_CAPABILITY_PREPROC( );
  tBleStatus status = ACI_GAP_SET_IO_CAPABILITY( IO_Capability );
  BLE_WRAP_ACI_GAP_SET_IO_CAPABILITY_POSTPROC( );
  return status;
}

/* ACI_GAP_SET_AUTHENTICATION_REQUIREMENT wrapper function */
tBleStatus aci_gap_set_authentication_requirement( uint8_t Bonding_Mode,
                                                   uint8_t MITM_Mode,
                                                   uint8_t SC_Support,
                                                   uint8_t KeyPress_Notification_Support,
                                                   uint8_t Min_Encryption_Key_Size,
                                                   uint8_t Max_Encryption_Key_Size,
                                                   uint8_t Use_Fixed_Pin,
                                                   uint32_t Fixed_Pin,
                                                   uint8_t Identity_Address_Type )
{
  BLE_WRAP_ACI_GAP_SET_AUTHENTICATION_REQUIREMENT_PREPROC( );
  tBleStatus status = ACI_GAP_SET_AUTHENTICATION_REQUIREMENT( Bonding_Mode,
                                                              MITM_Mode,
                                                              SC_Support,
                                                              KeyPress_Notification_Support,
                                                              Min_Encryption_Key_Size,
                                                              Max_Encryption_Key_Size,
                                                              Use_Fixed_Pin,
                                                              Fixed_Pin,
                                                              Identity_Address_Type );
  BLE_WRAP_ACI_GAP_SET_AUTHENTICATION_REQUIREMENT_POSTPROC( );
  return status;
}

/* ACI_GAP_SET_AUTHORIZATION_REQUIREMENT wrapper function */
tBleStatus aci_gap_set_authorization_requirement( uint16_t Connection_Handle,
                                                  uint8_t Authorization_Enable )
{
  BLE_WRAP_ACI_GAP_SET_AUTHORIZATION_REQUIREMENT_PREPROC( );
  tBleStatus status = ACI_GAP_SET_AUTHORIZATION_REQUIREMENT( Connection_Handle,
                                                             Authorization_Enable );
  BLE_WRAP_ACI_GAP_SET_AUTHORIZATION_REQUIREMENT_POSTPROC( );
  return status;
}

/* ACI_GAP_PASS_KEY_RESP wrapper function */
tBleStatus aci_gap_pass_key_resp( uint16_t Connection_Handle,
                                  uint32_t Pass_Key )
{
  BLE_WRAP_ACI_GAP_PASS_KEY_RESP_PREPROC( );
  tBleStatus status = ACI_GAP_PASS_KEY_RESP( Connection_Handle,
                                             Pass_Key );
  BLE_WRAP_ACI_GAP_PASS_KEY_RESP_POSTPROC( );
  return status;
}

/* ACI_GAP_AUTHORIZATION_RESP wrapper function */
tBleStatus aci_gap_authorization_resp( uint16_t Connection_Handle,
                                       uint8_t Authorize )
{
  BLE_WRAP_ACI_GAP_AUTHORIZATION_RESP_PREPROC( );
  tBleStatus status = ACI_GAP_AUTHORIZATION_RESP( Connection_Handle,
                                                  Authorize );
  BLE_WRAP_ACI_GAP_AUTHORIZATION_RESP_POSTPROC( );
  return status;
}

/* ACI_GAP_INIT wrapper function */
tBleStatus aci_gap_init( uint8_t Role,
                         uint8_t privacy_enabled,
                         uint8_t device_name_char_len,
                         uint16_t* Service_Handle,
                         uint16_t* Dev_Name_Char_Handle,
                         uint16_t* Appearance_Char_Handle )
{
  BLE_WRAP_ACI_GAP_INIT_PREPROC( );
  tBleStatus status = ACI_GAP_INIT( Role,
                                    privacy_enabled,
                                    device_name_char_len,
                                    Service_Handle,
                                    Dev_Name_Char_Handle,
                                    Appearance_Char_Handle );
  BLE_WRAP_ACI_GAP_INIT_POSTPROC( );
  return status;
}

/* ACI_GAP_SET_NON_CONNECTABLE wrapper function */
tBleStatus aci_gap_set_non_connectable( uint8_t Advertising_Event_Type,
                                        uint8_t Own_Address_Type )
{
  BLE_WRAP_ACI_GAP_SET_NON_CONNECTABLE_PREPROC( );
  tBleStatus status = ACI_GAP_SET_NON_CONNECTABLE( Advertising_Event_Type,
                                                   Own_Address_Type );
  BLE_WRAP_ACI_GAP_SET_NON_CONNECTABLE_POSTPROC( );
  return status;
}

/* ACI_GAP_SET_UNDIRECTED_CONNECTABLE wrapper function */
tBleStatus aci_gap_set_undirected_connectable( uint16_t Advertising_Interval_Min,
                                               uint16_t Advertising_Interval_Max,
                                               uint8_t Own_Address_Type,
                                               uint8_t Adv_Filter_Policy )
{
  BLE_WRAP_ACI_GAP_SET_UNDIRECTED_CONNECTABLE_PREPROC( );
  tBleStatus status = ACI_GAP_SET_UNDIRECTED_CONNECTABLE( Advertising_Interval_Min,
                                                          Advertising_Interval_Max,
                                                          Own_Address_Type,
                                                          Adv_Filter_Policy );
  BLE_WRAP_ACI_GAP_SET_UNDIRECTED_CONNECTABLE_POSTPROC( );
  return status;
}

/* ACI_GAP_PERIPHERAL_SECURITY_REQ wrapper function */
tBleStatus aci_gap_peripheral_security_req( uint16_t Connection_Handle )
{
  BLE_WRAP_ACI_GAP_PERIPHERAL_SECURITY_REQ_PREPROC( );
  tBleStatus status = ACI_GAP_PERIPHERAL_SECURITY_REQ( Connection_Handle );
  BLE_WRAP_ACI_GAP_PERIPHERAL_SECURITY_REQ_POSTPROC( );
  return status;
}

/* ACI_GAP_UPDATE_ADV_DATA wrapper function */
tBleStatus aci_gap_update_adv_data( uint8_t AdvDataLen,
                                    const uint8_t* AdvData )
{
  BLE_WRAP_ACI_GAP_UPDATE_ADV_DATA_PREPROC( );
  tBleStatus status = ACI_GAP_UPDATE_ADV_DATA( AdvDataLen,
                                               AdvData );
  BLE_WRAP_ACI_GAP_UPDATE_ADV_DATA_POSTPROC( );
  return status;
}

/* ACI_GAP_DELETE_AD_TYPE wrapper function */
tBleStatus aci_gap_delete_ad_type( uint8_t ADType )
{
  BLE_WRAP_ACI_GAP_DELETE_AD_TYPE_PREPROC( );
  tBleStatus status = ACI_GAP_DELETE_AD_TYPE( ADType );
  BLE_WRAP_ACI_GAP_DELETE_AD_TYPE_POSTPROC( );
  return status;
}

/* ACI_GAP_GET_SECURITY_LEVEL wrapper function */
tBleStatus aci_gap_get_security_level( uint16_t Connection_Handle,
                                       uint8_t* Security_Mode,
                                       uint8_t* Security_Level )
{
  BLE_WRAP_ACI_GAP_GET_SECURITY_LEVEL_PREPROC( );
  tBleStatus status = ACI_GAP_GET_SECURITY_LEVEL( Connection_Handle,
                                                  Security_Mode,
                                                  Security_Level );
  BLE_WRAP_ACI_GAP_GET_SECURITY_LEVEL_POSTPROC( );
  return status;
}

/* ACI_GAP_SET_EVENT_MASK wrapper function */
tBleStatus aci_gap_set_event_mask( uint16_t GAP_Evt_Mask )
{
  BLE_WRAP_ACI_GAP_SET_EVENT_MASK_PREPROC( );
  tBleStatus status = ACI_GAP_SET_EVENT_MASK( GAP_Evt_Mask );
  BLE_WRAP_ACI_GAP_SET_EVENT_MASK_POSTPROC( );
  return status;
}

/* ACI_GAP_CONFIGURE_FILTER_ACCEPT_LIST wrapper function */
tBleStatus aci_gap_configure_filter_accept_list( void )
{
  BLE_WRAP_ACI_GAP_CONFIGURE_FILTER_ACCEPT_LIST_PREPROC( );
  tBleStatus status = ACI_GAP_CONFIGURE_FILTER_ACCEPT_LIST(  );
  BLE_WRAP_ACI_GAP_CONFIGURE_FILTER_ACCEPT_LIST_POSTPROC( );
  return status;
}

/* ACI_GAP_TERMINATE wrapper function */
tBleStatus aci_gap_terminate( uint16_t Connection_Handle,
                              uint8_t Reason )
{
  BLE_WRAP_ACI_GAP_TERMINATE_PREPROC( );
  tBleStatus status = ACI_GAP_TERMINATE( Connection_Handle,
                                         Reason );
  BLE_WRAP_ACI_GAP_TERMINATE_POSTPROC( );
  return status;
}

/* ACI_GAP_CLEAR_SECURITY_DB wrapper function */
tBleStatus aci_gap_clear_security_db( void )
{
  BLE_WRAP_ACI_GAP_CLEAR_SECURITY_DB_PREPROC( );
  tBleStatus status = ACI_GAP_CLEAR_SECURITY_DB(  );
  BLE_WRAP_ACI_GAP_CLEAR_SECURITY_DB_POSTPROC( );
  return status;
}

/* ACI_GAP_ALLOW_REBOND wrapper function */
tBleStatus aci_gap_allow_rebond( uint16_t Connection_Handle )
{
  BLE_WRAP_ACI_GAP_ALLOW_REBOND_PREPROC( );
  tBleStatus status = ACI_GAP_ALLOW_REBOND( Connection_Handle );
  BLE_WRAP_ACI_GAP_ALLOW_REBOND_POSTPROC( );
  return status;
}

/* ACI_GAP_START_LIMITED_DISCOVERY_PROC wrapper function */
tBleStatus aci_gap_start_limited_discovery_proc( uint16_t LE_Scan_Interval,
                                                 uint16_t LE_Scan_Window,
                                                 uint8_t Own_Address_Type,
                                                 uint8_t Filter_Duplicates )
{
  BLE_WRAP_ACI_GAP_START_LIMITED_DISCOVERY_PROC_PREPROC( );
  tBleStatus status = ACI_GAP_START_LIMITED_DISCOVERY_PROC( LE_Scan_Interval,
                                                            LE_Scan_Window,
                                                            Own_Address_Type,
                                                            Filter_Duplicates );
  BLE_WRAP_ACI_GAP_START_LIMITED_DISCOVERY_PROC_POSTPROC( );
  return status;
}

/* ACI_GAP_START_GENERAL_DISCOVERY_PROC wrapper function */
tBleStatus aci_gap_start_general_discovery_proc( uint16_t LE_Scan_Interval,
                                                 uint16_t LE_Scan_Window,
                                                 uint8_t Own_Address_Type,
                                                 uint8_t Filter_Duplicates )
{
  BLE_WRAP_ACI_GAP_START_GENERAL_DISCOVERY_PROC_PREPROC( );
  tBleStatus status = ACI_GAP_START_GENERAL_DISCOVERY_PROC( LE_Scan_Interval,
                                                            LE_Scan_Window,
                                                            Own_Address_Type,
                                                            Filter_Duplicates );
  BLE_WRAP_ACI_GAP_START_GENERAL_DISCOVERY_PROC_POSTPROC( );
  return status;
}

/* ACI_GAP_START_AUTO_CONNECTION_ESTABLISH_PROC wrapper function */
tBleStatus aci_gap_start_auto_connection_establish_proc( uint16_t LE_Scan_Interval,
                                                         uint16_t LE_Scan_Window,
                                                         uint8_t Own_Address_Type,
                                                         uint16_t Conn_Interval_Min,
                                                         uint16_t Conn_Interval_Max,
                                                         uint16_t Conn_Latency,
                                                         uint16_t Supervision_Timeout,
                                                         uint16_t Minimum_CE_Length,
                                                         uint16_t Maximum_CE_Length,
                                                         uint8_t Num_of_Peer_Entries,
                                                         const Peer_Entry_t* Peer_Entry )
{
  BLE_WRAP_ACI_GAP_START_AUTO_CONNECTION_ESTABLISH_PROC_PREPROC( );
  tBleStatus status = ACI_GAP_START_AUTO_CONNECTION_ESTABLISH_PROC( LE_Scan_Interval,
                                                                    LE_Scan_Window,
                                                                    Own_Address_Type,
                                                                    Conn_Interval_Min,
                                                                    Conn_Interval_Max,
                                                                    Conn_Latency,
                                                                    Supervision_Timeout,
                                                                    Minimum_CE_Length,
                                                                    Maximum_CE_Length,
                                                                    Num_of_Peer_Entries,
                                                                    Peer_Entry );
  BLE_WRAP_ACI_GAP_START_AUTO_CONNECTION_ESTABLISH_PROC_POSTPROC( );
  return status;
}

/* ACI_GAP_START_GENERAL_CONNECTION_ESTABLISH_PROC wrapper function */
tBleStatus aci_gap_start_general_connection_establish_proc( uint8_t LE_Scan_Type,
                                                            uint16_t LE_Scan_Interval,
                                                            uint16_t LE_Scan_Window,
                                                            uint8_t Own_Address_Type,
                                                            uint8_t Scanning_Filter_Policy,
                                                            uint8_t Filter_Duplicates )
{
  BLE_WRAP_ACI_GAP_START_GENERAL_CONNECTION_ESTABLISH_PROC_PREPROC( );
  tBleStatus status = ACI_GAP_START_GENERAL_CONNECTION_ESTABLISH_PROC( LE_Scan_Type,
                                                                       LE_Scan_Interval,
                                                                       LE_Scan_Window,
                                                                       Own_Address_Type,
                                                                       Scanning_Filter_Policy,
                                                                       Filter_Duplicates );
  BLE_WRAP_ACI_GAP_START_GENERAL_CONNECTION_ESTABLISH_PROC_POSTPROC( );
  return status;
}

/* ACI_GAP_START_SELECTIVE_CONNECTION_ESTABLISH_PROC wrapper function */
tBleStatus aci_gap_start_selective_connection_establish_proc( uint8_t LE_Scan_Type,
                                                              uint16_t LE_Scan_Interval,
                                                              uint16_t LE_Scan_Window,
                                                              uint8_t Own_Address_Type,
                                                              uint8_t Scanning_Filter_Policy,
                                                              uint8_t Filter_Duplicates,
                                                              uint8_t Num_of_Peer_Entries,
                                                              const Peer_Entry_t* Peer_Entry )
{
  BLE_WRAP_ACI_GAP_START_SELECTIVE_CONNECTION_ESTABLISH_PROC_PREPROC( );
  tBleStatus status = ACI_GAP_START_SELECTIVE_CONNECTION_ESTABLISH_PROC( LE_Scan_Type,
                                                                         LE_Scan_Interval,
                                                                         LE_Scan_Window,
                                                                         Own_Address_Type,
                                                                         Scanning_Filter_Policy,
                                                                         Filter_Duplicates,
                                                                         Num_of_Peer_Entries,
                                                                         Peer_Entry );
  BLE_WRAP_ACI_GAP_START_SELECTIVE_CONNECTION_ESTABLISH_PROC_POSTPROC( );
  return status;
}

/* ACI_GAP_CREATE_CONNECTION wrapper function */
tBleStatus aci_gap_create_connection( uint16_t LE_Scan_Interval,
                                      uint16_t LE_Scan_Window,
                                      uint8_t Peer_Address_Type,
                                      const uint8_t* Peer_Address,
                                      uint8_t Own_Address_Type,
                                      uint16_t Conn_Interval_Min,
                                      uint16_t Conn_Interval_Max,
                                      uint16_t Conn_Latency,
                                      uint16_t Supervision_Timeout,
                                      uint16_t Minimum_CE_Length,
                                      uint16_t Maximum_CE_Length )
{
  BLE_WRAP_ACI_GAP_CREATE_CONNECTION_PREPROC( );
  tBleStatus status = ACI_GAP_CREATE_CONNECTION( LE_Scan_Interval,
                                                 LE_Scan_Window,
                                                 Peer_Address_Type,
                                                 Peer_Address,
                                                 Own_Address_Type,
                                                 Conn_Interval_Min,
                                                 Conn_Interval_Max,
                                                 Conn_Latency,
                                                 Supervision_Timeout,
                                                 Minimum_CE_Length,
                                                 Maximum_CE_Length );
  BLE_WRAP_ACI_GAP_CREATE_CONNECTION_POSTPROC( );
  return status;
}

/* ACI_GAP_TERMINATE_GAP_PROC wrapper function */
tBleStatus aci_gap_terminate_gap_proc( uint8_t Procedure_Code )
{
  BLE_WRAP_ACI_GAP_TERMINATE_GAP_PROC_PREPROC( );
  tBleStatus status = ACI_GAP_TERMINATE_GAP_PROC( Procedure_Code );
  BLE_WRAP_ACI_GAP_TERMINATE_GAP_PROC_POSTPROC( );
  return status;
}

/* ACI_GAP_START_CONNECTION_UPDATE wrapper function */
tBleStatus aci_gap_start_connection_update( uint16_t Connection_Handle,
                                            uint16_t Conn_Interval_Min,
                                            uint16_t Conn_Interval_Max,
                                            uint16_t Conn_Latency,
                                            uint16_t Supervision_Timeout,
                                            uint16_t Minimum_CE_Length,
                                            uint16_t Maximum_CE_Length )
{
  BLE_WRAP_ACI_GAP_START_CONNECTION_UPDATE_PREPROC( );
  tBleStatus status = ACI_GAP_START_CONNECTION_UPDATE( Connection_Handle,
                                                       Conn_Interval_Min,
                                                       Conn_Interval_Max,
                                                       Conn_Latency,
                                                       Supervision_Timeout,
                                                       Minimum_CE_Length,
                                                       Maximum_CE_Length );
  BLE_WRAP_ACI_GAP_START_CONNECTION_UPDATE_POSTPROC( );
  return status;
}

/* ACI_GAP_SEND_PAIRING_REQ wrapper function */
tBleStatus aci_gap_send_pairing_req( uint16_t Connection_Handle,
                                     uint8_t Force_Rebond )
{
  BLE_WRAP_ACI_GAP_SEND_PAIRING_REQ_PREPROC( );
  tBleStatus status = ACI_GAP_SEND_PAIRING_REQ( Connection_Handle,
                                                Force_Rebond );
  BLE_WRAP_ACI_GAP_SEND_PAIRING_REQ_POSTPROC( );
  return status;
}

/* ACI_GAP_SET_BROADCAST_MODE wrapper function */
tBleStatus aci_gap_set_broadcast_mode( uint16_t Advertising_Interval_Min,
                                       uint16_t Advertising_Interval_Max,
                                       uint8_t Advertising_Type,
                                       uint8_t Own_Address_Type,
                                       uint8_t Adv_Data_Length,
                                       const uint8_t* Adv_Data,
                                       uint8_t Num_of_Peer_Entries,
                                       const Peer_Entry_t* Peer_Entry )
{
  BLE_WRAP_ACI_GAP_SET_BROADCAST_MODE_PREPROC( );
  tBleStatus status = ACI_GAP_SET_BROADCAST_MODE( Advertising_Interval_Min,
                                                  Advertising_Interval_Max,
                                                  Advertising_Type,
                                                  Own_Address_Type,
                                                  Adv_Data_Length,
                                                  Adv_Data,
                                                  Num_of_Peer_Entries,
                                                  Peer_Entry );
  BLE_WRAP_ACI_GAP_SET_BROADCAST_MODE_POSTPROC( );
  return status;
}

/* ACI_GAP_START_OBSERVATION_PROC wrapper function */
tBleStatus aci_gap_start_observation_proc( uint16_t LE_Scan_Interval,
                                           uint16_t LE_Scan_Window,
                                           uint8_t LE_Scan_Type,
                                           uint8_t Own_Address_Type,
                                           uint8_t Filter_Duplicates,
                                           uint8_t Scanning_Filter_Policy )
{
  BLE_WRAP_ACI_GAP_START_OBSERVATION_PROC_PREPROC( );
  tBleStatus status = ACI_GAP_START_OBSERVATION_PROC( LE_Scan_Interval,
                                                      LE_Scan_Window,
                                                      LE_Scan_Type,
                                                      Own_Address_Type,
                                                      Filter_Duplicates,
                                                      Scanning_Filter_Policy );
  BLE_WRAP_ACI_GAP_START_OBSERVATION_PROC_POSTPROC( );
  return status;
}

/* ACI_GAP_GET_BONDED_DEVICES wrapper function */
tBleStatus aci_gap_get_bonded_devices( uint8_t* Num_of_Addresses,
                                       Bonded_Device_Entry_t* Bonded_Device_Entry )
{
  BLE_WRAP_ACI_GAP_GET_BONDED_DEVICES_PREPROC( );
  tBleStatus status = ACI_GAP_GET_BONDED_DEVICES( Num_of_Addresses,
                                                  Bonded_Device_Entry );
  BLE_WRAP_ACI_GAP_GET_BONDED_DEVICES_POSTPROC( );
  return status;
}

/* ACI_GAP_CHECK_BONDED_DEVICE wrapper function */
tBleStatus aci_gap_check_bonded_device( uint8_t Peer_Address_Type,
                                        const uint8_t* Peer_Address,
                                        uint8_t* Id_Address_Type,
                                        uint8_t* Id_Address )
{
  BLE_WRAP_ACI_GAP_CHECK_BONDED_DEVICE_PREPROC( );
  tBleStatus status = ACI_GAP_CHECK_BONDED_DEVICE( Peer_Address_Type,
                                                   Peer_Address,
                                                   Id_Address_Type,
                                                   Id_Address );
  BLE_WRAP_ACI_GAP_CHECK_BONDED_DEVICE_POSTPROC( );
  return status;
}

/* ACI_GAP_NUMERIC_COMPARISON_VALUE_CONFIRM_YESNO wrapper function */
tBleStatus aci_gap_numeric_comparison_value_confirm_yesno( uint16_t Connection_Handle,
                                                           uint8_t Confirm_Yes_No )
{
  BLE_WRAP_ACI_GAP_NUMERIC_COMPARISON_VALUE_CONFIRM_YESNO_PREPROC( );
  tBleStatus status = ACI_GAP_NUMERIC_COMPARISON_VALUE_CONFIRM_YESNO( Connection_Handle,
                                                                      Confirm_Yes_No );
  BLE_WRAP_ACI_GAP_NUMERIC_COMPARISON_VALUE_CONFIRM_YESNO_POSTPROC( );
  return status;
}

/* ACI_GAP_PASSKEY_INPUT wrapper function */
tBleStatus aci_gap_passkey_input( uint16_t Connection_Handle,
                                  uint8_t Input_Type )
{
  BLE_WRAP_ACI_GAP_PASSKEY_INPUT_PREPROC( );
  tBleStatus status = ACI_GAP_PASSKEY_INPUT( Connection_Handle,
                                             Input_Type );
  BLE_WRAP_ACI_GAP_PASSKEY_INPUT_POSTPROC( );
  return status;
}

/* ACI_GAP_GET_OOB_DATA wrapper function */
tBleStatus aci_gap_get_oob_data( uint8_t OOB_Data_Type,
                                 uint8_t* Address_Type,
                                 uint8_t* Address,
                                 uint8_t* OOB_Data_Len,
                                 uint8_t* OOB_Data )
{
  BLE_WRAP_ACI_GAP_GET_OOB_DATA_PREPROC( );
  tBleStatus status = ACI_GAP_GET_OOB_DATA( OOB_Data_Type,
                                            Address_Type,
                                            Address,
                                            OOB_Data_Len,
                                            OOB_Data );
  BLE_WRAP_ACI_GAP_GET_OOB_DATA_POSTPROC( );
  return status;
}

/* ACI_GAP_SET_OOB_DATA wrapper function */
tBleStatus aci_gap_set_oob_data( uint8_t Device_Type,
                                 uint8_t Address_Type,
                                 const uint8_t* Address,
                                 uint8_t OOB_Data_Type,
                                 uint8_t OOB_Data_Len,
                                 const uint8_t* OOB_Data )
{
  BLE_WRAP_ACI_GAP_SET_OOB_DATA_PREPROC( );
  tBleStatus status = ACI_GAP_SET_OOB_DATA( Device_Type,
                                            Address_Type,
                                            Address,
                                            OOB_Data_Type,
                                            OOB_Data_Len,
                                            OOB_Data );
  BLE_WRAP_ACI_GAP_SET_OOB_DATA_POSTPROC( );
  return status;
}

/* ACI_GAP_ADD_DEVICES_TO_RESOLVING_LIST wrapper function */
tBleStatus aci_gap_add_devices_to_resolving_list( uint8_t Num_of_Resolving_list_Entries,
                                                  const Identity_Entry_t* Identity_Entry,
                                                  uint8_t Clear_Resolving_List )
{
  BLE_WRAP_ACI_GAP_ADD_DEVICES_TO_RESOLVING_LIST_PREPROC( );
  tBleStatus status = ACI_GAP_ADD_DEVICES_TO_RESOLVING_LIST( Num_of_Resolving_list_Entries,
                                                             Identity_Entry,
                                                             Clear_Resolving_List );
  BLE_WRAP_ACI_GAP_ADD_DEVICES_TO_RESOLVING_LIST_POSTPROC( );
  return status;
}

/* ACI_GAP_REMOVE_BONDED_DEVICE wrapper function */
tBleStatus aci_gap_remove_bonded_device( uint8_t Peer_Identity_Address_Type,
                                         const uint8_t* Peer_Identity_Address )
{
  BLE_WRAP_ACI_GAP_REMOVE_BONDED_DEVICE_PREPROC( );
  tBleStatus status = ACI_GAP_REMOVE_BONDED_DEVICE( Peer_Identity_Address_Type,
                                                    Peer_Identity_Address );
  BLE_WRAP_ACI_GAP_REMOVE_BONDED_DEVICE_POSTPROC( );
  return status;
}

/* ACI_GAP_ADD_DEVICES_TO_LIST wrapper function */
tBleStatus aci_gap_add_devices_to_list( uint8_t Num_of_List_Entries,
                                        const List_Entry_t* List_Entry,
                                        uint8_t Mode )
{
  BLE_WRAP_ACI_GAP_ADD_DEVICES_TO_LIST_PREPROC( );
  tBleStatus status = ACI_GAP_ADD_DEVICES_TO_LIST( Num_of_List_Entries,
                                                   List_Entry,
                                                   Mode );
  BLE_WRAP_ACI_GAP_ADD_DEVICES_TO_LIST_POSTPROC( );
  return status;
}

/* ACI_GAP_PAIRING_REQUEST_REPLY wrapper function */
tBleStatus aci_gap_pairing_request_reply( uint16_t Connection_Handle,
                                          uint8_t Accept )
{
  BLE_WRAP_ACI_GAP_PAIRING_REQUEST_REPLY_PREPROC( );
  tBleStatus status = ACI_GAP_PAIRING_REQUEST_REPLY( Connection_Handle,
                                                     Accept );
  BLE_WRAP_ACI_GAP_PAIRING_REQUEST_REPLY_POSTPROC( );
  return status;
}

/* ACI_GAP_ADV_SET_CONFIGURATION wrapper function */
tBleStatus aci_gap_adv_set_configuration( uint8_t Adv_Mode,
                                          uint8_t Advertising_Handle,
                                          uint16_t Adv_Event_Properties,
                                          uint32_t Primary_Adv_Interval_Min,
                                          uint32_t Primary_Adv_Interval_Max,
                                          uint8_t Primary_Adv_Channel_Map,
                                          uint8_t Own_Address_Type,
                                          uint8_t Peer_Address_Type,
                                          const uint8_t* Peer_Address,
                                          uint8_t Adv_Filter_Policy,
                                          uint8_t Adv_TX_Power,
                                          uint8_t Secondary_Adv_Max_Skip,
                                          uint8_t Secondary_Adv_PHY,
                                          uint8_t Adv_SID,
                                          uint8_t Scan_Req_Notification_Enable )
{
  BLE_WRAP_ACI_GAP_ADV_SET_CONFIGURATION_PREPROC( );
  tBleStatus status = ACI_GAP_ADV_SET_CONFIGURATION( Adv_Mode,
                                                     Advertising_Handle,
                                                     Adv_Event_Properties,
                                                     Primary_Adv_Interval_Min,
                                                     Primary_Adv_Interval_Max,
                                                     Primary_Adv_Channel_Map,
                                                     Own_Address_Type,
                                                     Peer_Address_Type,
                                                     Peer_Address,
                                                     Adv_Filter_Policy,
                                                     Adv_TX_Power,
                                                     Secondary_Adv_Max_Skip,
                                                     Secondary_Adv_PHY,
                                                     Adv_SID,
                                                     Scan_Req_Notification_Enable );
  BLE_WRAP_ACI_GAP_ADV_SET_CONFIGURATION_POSTPROC( );
  return status;
}

/* ACI_GAP_ADV_SET_ENABLE wrapper function */
tBleStatus aci_gap_adv_set_enable( uint8_t Enable,
                                   uint8_t Num_Sets,
                                   const Adv_Set_t* Adv_Set )
{
  BLE_WRAP_ACI_GAP_ADV_SET_ENABLE_PREPROC( );
  tBleStatus status = ACI_GAP_ADV_SET_ENABLE( Enable,
                                              Num_Sets,
                                              Adv_Set );
  BLE_WRAP_ACI_GAP_ADV_SET_ENABLE_POSTPROC( );
  return status;
}

/* ACI_GAP_ADV_SET_ADV_DATA wrapper function */
tBleStatus aci_gap_adv_set_adv_data( uint8_t Advertising_Handle,
                                     uint8_t Operation,
                                     uint8_t Fragment_Preference,
                                     uint8_t Advertising_Data_Length,
                                     const uint8_t* Advertising_Data )
{
  BLE_WRAP_ACI_GAP_ADV_SET_ADV_DATA_PREPROC( );
  tBleStatus status = ACI_GAP_ADV_SET_ADV_DATA( Advertising_Handle,
                                                Operation,
                                                Fragment_Preference,
                                                Advertising_Data_Length,
                                                Advertising_Data );
  BLE_WRAP_ACI_GAP_ADV_SET_ADV_DATA_POSTPROC( );
  return status;
}

/* ACI_GAP_ADV_SET_SCAN_RESP_DATA wrapper function */
tBleStatus aci_gap_adv_set_scan_resp_data( uint8_t Advertising_Handle,
                                           uint8_t Operation,
                                           uint8_t Fragment_Preference,
                                           uint8_t Scan_Response_Data_Length,
                                           const uint8_t* Scan_Response_Data )
{
  BLE_WRAP_ACI_GAP_ADV_SET_SCAN_RESP_DATA_PREPROC( );
  tBleStatus status = ACI_GAP_ADV_SET_SCAN_RESP_DATA( Advertising_Handle,
                                                      Operation,
                                                      Fragment_Preference,
                                                      Scan_Response_Data_Length,
                                                      Scan_Response_Data );
  BLE_WRAP_ACI_GAP_ADV_SET_SCAN_RESP_DATA_POSTPROC( );
  return status;
}

/* ACI_GAP_ADV_REMOVE_SET wrapper function */
tBleStatus aci_gap_adv_remove_set( uint8_t Advertising_Handle )
{
  BLE_WRAP_ACI_GAP_ADV_REMOVE_SET_PREPROC( );
  tBleStatus status = ACI_GAP_ADV_REMOVE_SET( Advertising_Handle );
  BLE_WRAP_ACI_GAP_ADV_REMOVE_SET_POSTPROC( );
  return status;
}

/* ACI_GAP_ADV_CLEAR_SETS wrapper function */
tBleStatus aci_gap_adv_clear_sets( void )
{
  BLE_WRAP_ACI_GAP_ADV_CLEAR_SETS_PREPROC( );
  tBleStatus status = ACI_GAP_ADV_CLEAR_SETS(  );
  BLE_WRAP_ACI_GAP_ADV_CLEAR_SETS_POSTPROC( );
  return status;
}

/* ACI_GAP_ADV_SET_RANDOM_ADDRESS wrapper function */
tBleStatus aci_gap_adv_set_random_address( uint8_t Advertising_Handle,
                                           const uint8_t* Random_Address )
{
  BLE_WRAP_ACI_GAP_ADV_SET_RANDOM_ADDRESS_PREPROC( );
  tBleStatus status = ACI_GAP_ADV_SET_RANDOM_ADDRESS( Advertising_Handle,
                                                      Random_Address );
  BLE_WRAP_ACI_GAP_ADV_SET_RANDOM_ADDRESS_POSTPROC( );
  return status;
}

/* ACI_GAP_ADV_SET_PERIODIC_PARAMETERS wrapper function */
tBleStatus aci_gap_adv_set_periodic_parameters( uint8_t Advertising_Handle,
                                                uint16_t Periodic_Adv_Interval_Min,
                                                uint16_t Periodic_Adv_Interval_Max,
                                                uint16_t Periodic_Adv_Properties,
                                                uint8_t Num_Subevents,
                                                uint8_t Subevent_Interval,
                                                uint8_t Response_Slot_Delay,
                                                uint8_t Response_Slot_Spacing,
                                                uint8_t Num_Response_Slots )
{
  BLE_WRAP_ACI_GAP_ADV_SET_PERIODIC_PARAMETERS_PREPROC( );
  tBleStatus status = ACI_GAP_ADV_SET_PERIODIC_PARAMETERS( Advertising_Handle,
                                                           Periodic_Adv_Interval_Min,
                                                           Periodic_Adv_Interval_Max,
                                                           Periodic_Adv_Properties,
                                                           Num_Subevents,
                                                           Subevent_Interval,
                                                           Response_Slot_Delay,
                                                           Response_Slot_Spacing,
                                                           Num_Response_Slots );
  BLE_WRAP_ACI_GAP_ADV_SET_PERIODIC_PARAMETERS_POSTPROC( );
  return status;
}

/* ACI_GAP_ADV_SET_PERIODIC_DATA wrapper function */
tBleStatus aci_gap_adv_set_periodic_data( uint8_t Advertising_Handle,
                                          uint8_t Operation,
                                          uint8_t Advertising_Data_Length,
                                          const uint8_t* Advertising_Data )
{
  BLE_WRAP_ACI_GAP_ADV_SET_PERIODIC_DATA_PREPROC( );
  tBleStatus status = ACI_GAP_ADV_SET_PERIODIC_DATA( Advertising_Handle,
                                                     Operation,
                                                     Advertising_Data_Length,
                                                     Advertising_Data );
  BLE_WRAP_ACI_GAP_ADV_SET_PERIODIC_DATA_POSTPROC( );
  return status;
}

/* ACI_GAP_ADV_SET_PERIODIC_ENABLE wrapper function */
tBleStatus aci_gap_adv_set_periodic_enable( uint8_t Enable,
                                            uint8_t Advertising_Handle )
{
  BLE_WRAP_ACI_GAP_ADV_SET_PERIODIC_ENABLE_PREPROC( );
  tBleStatus status = ACI_GAP_ADV_SET_PERIODIC_ENABLE( Enable,
                                                       Advertising_Handle );
  BLE_WRAP_ACI_GAP_ADV_SET_PERIODIC_ENABLE_POSTPROC( );
  return status;
}

/* ACI_GAP_ADV_SET_CONFIGURATION_V2 wrapper function */
tBleStatus aci_gap_adv_set_configuration_v2( uint8_t Adv_Mode,
                                             uint8_t Advertising_Handle,
                                             uint16_t Adv_Event_Properties,
                                             uint32_t Primary_Adv_Interval_Min,
                                             uint32_t Primary_Adv_Interval_Max,
                                             uint8_t Primary_Adv_Channel_Map,
                                             uint8_t Own_Address_Type,
                                             uint8_t Peer_Address_Type,
                                             const uint8_t* Peer_Address,
                                             uint8_t Adv_Filter_Policy,
                                             uint8_t Adv_TX_Power,
                                             uint8_t Primary_Adv_PHY,
                                             uint8_t Secondary_Adv_Max_Skip,
                                             uint8_t Secondary_Adv_PHY,
                                             uint8_t Adv_SID,
                                             uint8_t Scan_Req_Notification_Enable,
                                             uint8_t Primary_Adv_PHY_Options,
                                             uint8_t Secondary_Adv_PHY_Options )
{
  BLE_WRAP_ACI_GAP_ADV_SET_CONFIGURATION_V2_PREPROC( );
  tBleStatus status = ACI_GAP_ADV_SET_CONFIGURATION_V2( Adv_Mode,
                                                        Advertising_Handle,
                                                        Adv_Event_Properties,
                                                        Primary_Adv_Interval_Min,
                                                        Primary_Adv_Interval_Max,
                                                        Primary_Adv_Channel_Map,
                                                        Own_Address_Type,
                                                        Peer_Address_Type,
                                                        Peer_Address,
                                                        Adv_Filter_Policy,
                                                        Adv_TX_Power,
                                                        Primary_Adv_PHY,
                                                        Secondary_Adv_Max_Skip,
                                                        Secondary_Adv_PHY,
                                                        Adv_SID,
                                                        Scan_Req_Notification_Enable,
                                                        Primary_Adv_PHY_Options,
                                                        Secondary_Adv_PHY_Options );
  BLE_WRAP_ACI_GAP_ADV_SET_CONFIGURATION_V2_POSTPROC( );
  return status;
}

/* ACI_GAP_EXT_START_SCAN wrapper function */
tBleStatus aci_gap_ext_start_scan( uint8_t Scan_Mode,
                                   uint8_t Procedure,
                                   uint8_t Own_Address_Type,
                                   uint8_t Filter_Duplicates,
                                   uint16_t Duration,
                                   uint16_t Period,
                                   uint8_t Scanning_Filter_Policy,
                                   uint8_t Scanning_PHYs,
                                   const Scan_Param_Phy_t* Scan_Param_Phy )
{
  BLE_WRAP_ACI_GAP_EXT_START_SCAN_PREPROC( );
  tBleStatus status = ACI_GAP_EXT_START_SCAN( Scan_Mode,
                                              Procedure,
                                              Own_Address_Type,
                                              Filter_Duplicates,
                                              Duration,
                                              Period,
                                              Scanning_Filter_Policy,
                                              Scanning_PHYs,
                                              Scan_Param_Phy );
  BLE_WRAP_ACI_GAP_EXT_START_SCAN_POSTPROC( );
  return status;
}

/* ACI_GAP_EXT_CREATE_CONNECTION wrapper function */
tBleStatus aci_gap_ext_create_connection( uint8_t Initiating_Mode,
                                          uint8_t Procedure,
                                          uint8_t Own_Address_Type,
                                          uint8_t Peer_Address_Type,
                                          const uint8_t* Peer_Address,
                                          uint8_t Advertising_Handle,
                                          uint8_t Subevent,
                                          uint8_t Initiator_Filter_Policy,
                                          uint8_t Initiating_PHYs,
                                          const Init_Param_Phy_t* Init_Param_Phy )
{
  BLE_WRAP_ACI_GAP_EXT_CREATE_CONNECTION_PREPROC( );
  tBleStatus status = ACI_GAP_EXT_CREATE_CONNECTION( Initiating_Mode,
                                                     Procedure,
                                                     Own_Address_Type,
                                                     Peer_Address_Type,
                                                     Peer_Address,
                                                     Advertising_Handle,
                                                     Subevent,
                                                     Initiator_Filter_Policy,
                                                     Initiating_PHYs,
                                                     Init_Param_Phy );
  BLE_WRAP_ACI_GAP_EXT_CREATE_CONNECTION_POSTPROC( );
  return status;
}

/* ACI_GATT_INIT wrapper function */
tBleStatus aci_gatt_init( void )
{
  BLE_WRAP_ACI_GATT_INIT_PREPROC( );
  tBleStatus status = ACI_GATT_INIT(  );
  BLE_WRAP_ACI_GATT_INIT_POSTPROC( );
  return status;
}

/* ACI_GATT_ADD_SERVICE wrapper function */
tBleStatus aci_gatt_add_service( uint8_t Service_UUID_Type,
                                 const Service_UUID_t* Service_UUID,
                                 uint8_t Service_Type,
                                 uint8_t Max_Attribute_Records,
                                 uint16_t* Service_Handle )
{
  BLE_WRAP_ACI_GATT_ADD_SERVICE_PREPROC( );
  tBleStatus status = ACI_GATT_ADD_SERVICE( Service_UUID_Type,
                                            Service_UUID,
                                            Service_Type,
                                            Max_Attribute_Records,
                                            Service_Handle );
  BLE_WRAP_ACI_GATT_ADD_SERVICE_POSTPROC( );
  return status;
}

/* ACI_GATT_INCLUDE_SERVICE wrapper function */
tBleStatus aci_gatt_include_service( uint16_t Service_Handle,
                                     uint16_t Include_Start_Handle,
                                     uint16_t Include_End_Handle,
                                     uint8_t Include_UUID_Type,
                                     const Include_UUID_t* Include_UUID,
                                     uint16_t* Include_Handle )
{
  BLE_WRAP_ACI_GATT_INCLUDE_SERVICE_PREPROC( );
  tBleStatus status = ACI_GATT_INCLUDE_SERVICE( Service_Handle,
                                                Include_Start_Handle,
                                                Include_End_Handle,
                                                Include_UUID_Type,
                                                Include_UUID,
                                                Include_Handle );
  BLE_WRAP_ACI_GATT_INCLUDE_SERVICE_POSTPROC( );
  return status;
}

/* ACI_GATT_ADD_CHAR wrapper function */
tBleStatus aci_gatt_add_char( uint16_t Service_Handle,
                              uint8_t Char_UUID_Type,
                              const Char_UUID_t* Char_UUID,
                              uint16_t Char_Value_Length,
                              uint8_t Char_Properties,
                              uint8_t Security_Permissions,
                              uint8_t GATT_Evt_Mask,
                              uint8_t Enc_Key_Size,
                              uint8_t Is_Variable,
                              uint16_t* Char_Handle )
{
  BLE_WRAP_ACI_GATT_ADD_CHAR_PREPROC( );
  tBleStatus status = ACI_GATT_ADD_CHAR( Service_Handle,
                                         Char_UUID_Type,
                                         Char_UUID,
                                         Char_Value_Length,
                                         Char_Properties,
                                         Security_Permissions,
                                         GATT_Evt_Mask,
                                         Enc_Key_Size,
                                         Is_Variable,
                                         Char_Handle );
  BLE_WRAP_ACI_GATT_ADD_CHAR_POSTPROC( );
  return status;
}

/* ACI_GATT_ADD_CHAR_DESC wrapper function */
tBleStatus aci_gatt_add_char_desc( uint16_t Service_Handle,
                                   uint16_t Char_Handle,
                                   uint8_t Char_Desc_Uuid_Type,
                                   const Char_Desc_Uuid_t* Char_Desc_Uuid,
                                   uint8_t Char_Desc_Value_Max_Len,
                                   uint8_t Char_Desc_Value_Length,
                                   const uint8_t* Char_Desc_Value,
                                   uint8_t Security_Permissions,
                                   uint8_t Access_Permissions,
                                   uint8_t GATT_Evt_Mask,
                                   uint8_t Enc_Key_Size,
                                   uint8_t Is_Variable,
                                   uint16_t* Char_Desc_Handle )
{
  BLE_WRAP_ACI_GATT_ADD_CHAR_DESC_PREPROC( );
  tBleStatus status = ACI_GATT_ADD_CHAR_DESC( Service_Handle,
                                              Char_Handle,
                                              Char_Desc_Uuid_Type,
                                              Char_Desc_Uuid,
                                              Char_Desc_Value_Max_Len,
                                              Char_Desc_Value_Length,
                                              Char_Desc_Value,
                                              Security_Permissions,
                                              Access_Permissions,
                                              GATT_Evt_Mask,
                                              Enc_Key_Size,
                                              Is_Variable,
                                              Char_Desc_Handle );
  BLE_WRAP_ACI_GATT_ADD_CHAR_DESC_POSTPROC( );
  return status;
}

/* ACI_GATT_UPDATE_CHAR_VALUE wrapper function */
tBleStatus aci_gatt_update_char_value( uint16_t Service_Handle,
                                       uint16_t Char_Handle,
                                       uint8_t Val_Offset,
                                       uint8_t Char_Value_Length,
                                       const uint8_t* Char_Value )
{
  BLE_WRAP_ACI_GATT_UPDATE_CHAR_VALUE_PREPROC( );
  tBleStatus status = ACI_GATT_UPDATE_CHAR_VALUE( Service_Handle,
                                                  Char_Handle,
                                                  Val_Offset,
                                                  Char_Value_Length,
                                                  Char_Value );
  BLE_WRAP_ACI_GATT_UPDATE_CHAR_VALUE_POSTPROC( );
  return status;
}

/* ACI_GATT_DEL_CHAR wrapper function */
tBleStatus aci_gatt_del_char( uint16_t Serv_Handle,
                              uint16_t Char_Handle )
{
  BLE_WRAP_ACI_GATT_DEL_CHAR_PREPROC( );
  tBleStatus status = ACI_GATT_DEL_CHAR( Serv_Handle,
                                         Char_Handle );
  BLE_WRAP_ACI_GATT_DEL_CHAR_POSTPROC( );
  return status;
}

/* ACI_GATT_DEL_SERVICE wrapper function */
tBleStatus aci_gatt_del_service( uint16_t Serv_Handle )
{
  BLE_WRAP_ACI_GATT_DEL_SERVICE_PREPROC( );
  tBleStatus status = ACI_GATT_DEL_SERVICE( Serv_Handle );
  BLE_WRAP_ACI_GATT_DEL_SERVICE_POSTPROC( );
  return status;
}

/* ACI_GATT_DEL_INCLUDE_SERVICE wrapper function */
tBleStatus aci_gatt_del_include_service( uint16_t Serv_Handle,
                                         uint16_t Include_Handle )
{
  BLE_WRAP_ACI_GATT_DEL_INCLUDE_SERVICE_PREPROC( );
  tBleStatus status = ACI_GATT_DEL_INCLUDE_SERVICE( Serv_Handle,
                                                    Include_Handle );
  BLE_WRAP_ACI_GATT_DEL_INCLUDE_SERVICE_POSTPROC( );
  return status;
}

/* ACI_GATT_SET_EVENT_MASK wrapper function */
tBleStatus aci_gatt_set_event_mask( uint32_t GATT_Evt_Mask )
{
  BLE_WRAP_ACI_GATT_SET_EVENT_MASK_PREPROC( );
  tBleStatus status = ACI_GATT_SET_EVENT_MASK( GATT_Evt_Mask );
  BLE_WRAP_ACI_GATT_SET_EVENT_MASK_POSTPROC( );
  return status;
}

/* ACI_GATT_EXCHANGE_CONFIG wrapper function */
tBleStatus aci_gatt_exchange_config( uint16_t Connection_Handle )
{
  BLE_WRAP_ACI_GATT_EXCHANGE_CONFIG_PREPROC( );
  tBleStatus status = ACI_GATT_EXCHANGE_CONFIG( Connection_Handle );
  BLE_WRAP_ACI_GATT_EXCHANGE_CONFIG_POSTPROC( );
  return status;
}

/* ACI_ATT_FIND_INFO_REQ wrapper function */
tBleStatus aci_att_find_info_req( uint16_t Connection_Handle,
                                  uint16_t Start_Handle,
                                  uint16_t End_Handle )
{
  BLE_WRAP_ACI_ATT_FIND_INFO_REQ_PREPROC( );
  tBleStatus status = ACI_ATT_FIND_INFO_REQ( Connection_Handle,
                                             Start_Handle,
                                             End_Handle );
  BLE_WRAP_ACI_ATT_FIND_INFO_REQ_POSTPROC( );
  return status;
}

/* ACI_ATT_FIND_BY_TYPE_VALUE_REQ wrapper function */
tBleStatus aci_att_find_by_type_value_req( uint16_t Connection_Handle,
                                           uint16_t Start_Handle,
                                           uint16_t End_Handle,
                                           uint16_t UUID,
                                           uint8_t Attribute_Val_Length,
                                           const uint8_t* Attribute_Val )
{
  BLE_WRAP_ACI_ATT_FIND_BY_TYPE_VALUE_REQ_PREPROC( );
  tBleStatus status = ACI_ATT_FIND_BY_TYPE_VALUE_REQ( Connection_Handle,
                                                      Start_Handle,
                                                      End_Handle,
                                                      UUID,
                                                      Attribute_Val_Length,
                                                      Attribute_Val );
  BLE_WRAP_ACI_ATT_FIND_BY_TYPE_VALUE_REQ_POSTPROC( );
  return status;
}

/* ACI_ATT_READ_BY_TYPE_REQ wrapper function */
tBleStatus aci_att_read_by_type_req( uint16_t Connection_Handle,
                                     uint16_t Start_Handle,
                                     uint16_t End_Handle,
                                     uint8_t UUID_Type,
                                     const UUID_t* UUID )
{
  BLE_WRAP_ACI_ATT_READ_BY_TYPE_REQ_PREPROC( );
  tBleStatus status = ACI_ATT_READ_BY_TYPE_REQ( Connection_Handle,
                                                Start_Handle,
                                                End_Handle,
                                                UUID_Type,
                                                UUID );
  BLE_WRAP_ACI_ATT_READ_BY_TYPE_REQ_POSTPROC( );
  return status;
}

/* ACI_ATT_READ_BY_GROUP_TYPE_REQ wrapper function */
tBleStatus aci_att_read_by_group_type_req( uint16_t Connection_Handle,
                                           uint16_t Start_Handle,
                                           uint16_t End_Handle,
                                           uint8_t UUID_Type,
                                           const UUID_t* UUID )
{
  BLE_WRAP_ACI_ATT_READ_BY_GROUP_TYPE_REQ_PREPROC( );
  tBleStatus status = ACI_ATT_READ_BY_GROUP_TYPE_REQ( Connection_Handle,
                                                      Start_Handle,
                                                      End_Handle,
                                                      UUID_Type,
                                                      UUID );
  BLE_WRAP_ACI_ATT_READ_BY_GROUP_TYPE_REQ_POSTPROC( );
  return status;
}

/* ACI_ATT_PREPARE_WRITE_REQ wrapper function */
tBleStatus aci_att_prepare_write_req( uint16_t Connection_Handle,
                                      uint16_t Attr_Handle,
                                      uint16_t Val_Offset,
                                      uint8_t Attribute_Val_Length,
                                      const uint8_t* Attribute_Val )
{
  BLE_WRAP_ACI_ATT_PREPARE_WRITE_REQ_PREPROC( );
  tBleStatus status = ACI_ATT_PREPARE_WRITE_REQ( Connection_Handle,
                                                 Attr_Handle,
                                                 Val_Offset,
                                                 Attribute_Val_Length,
                                                 Attribute_Val );
  BLE_WRAP_ACI_ATT_PREPARE_WRITE_REQ_POSTPROC( );
  return status;
}

/* ACI_ATT_EXECUTE_WRITE_REQ wrapper function */
tBleStatus aci_att_execute_write_req( uint16_t Connection_Handle,
                                      uint8_t Execute )
{
  BLE_WRAP_ACI_ATT_EXECUTE_WRITE_REQ_PREPROC( );
  tBleStatus status = ACI_ATT_EXECUTE_WRITE_REQ( Connection_Handle,
                                                 Execute );
  BLE_WRAP_ACI_ATT_EXECUTE_WRITE_REQ_POSTPROC( );
  return status;
}

/* ACI_GATT_DISC_ALL_PRIMARY_SERVICES wrapper function */
tBleStatus aci_gatt_disc_all_primary_services( uint16_t Connection_Handle )
{
  BLE_WRAP_ACI_GATT_DISC_ALL_PRIMARY_SERVICES_PREPROC( );
  tBleStatus status = ACI_GATT_DISC_ALL_PRIMARY_SERVICES( Connection_Handle );
  BLE_WRAP_ACI_GATT_DISC_ALL_PRIMARY_SERVICES_POSTPROC( );
  return status;
}

/* ACI_GATT_DISC_PRIMARY_SERVICE_BY_UUID wrapper function */
tBleStatus aci_gatt_disc_primary_service_by_uuid( uint16_t Connection_Handle,
                                                  uint8_t UUID_Type,
                                                  const UUID_t* UUID )
{
  BLE_WRAP_ACI_GATT_DISC_PRIMARY_SERVICE_BY_UUID_PREPROC( );
  tBleStatus status = ACI_GATT_DISC_PRIMARY_SERVICE_BY_UUID( Connection_Handle,
                                                             UUID_Type,
                                                             UUID );
  BLE_WRAP_ACI_GATT_DISC_PRIMARY_SERVICE_BY_UUID_POSTPROC( );
  return status;
}

/* ACI_GATT_FIND_INCLUDED_SERVICES wrapper function */
tBleStatus aci_gatt_find_included_services( uint16_t Connection_Handle,
                                            uint16_t Start_Handle,
                                            uint16_t End_Handle )
{
  BLE_WRAP_ACI_GATT_FIND_INCLUDED_SERVICES_PREPROC( );
  tBleStatus status = ACI_GATT_FIND_INCLUDED_SERVICES( Connection_Handle,
                                                       Start_Handle,
                                                       End_Handle );
  BLE_WRAP_ACI_GATT_FIND_INCLUDED_SERVICES_POSTPROC( );
  return status;
}

/* ACI_GATT_DISC_ALL_CHAR_OF_SERVICE wrapper function */
tBleStatus aci_gatt_disc_all_char_of_service( uint16_t Connection_Handle,
                                              uint16_t Start_Handle,
                                              uint16_t End_Handle )
{
  BLE_WRAP_ACI_GATT_DISC_ALL_CHAR_OF_SERVICE_PREPROC( );
  tBleStatus status = ACI_GATT_DISC_ALL_CHAR_OF_SERVICE( Connection_Handle,
                                                         Start_Handle,
                                                         End_Handle );
  BLE_WRAP_ACI_GATT_DISC_ALL_CHAR_OF_SERVICE_POSTPROC( );
  return status;
}

/* ACI_GATT_DISC_CHAR_BY_UUID wrapper function */
tBleStatus aci_gatt_disc_char_by_uuid( uint16_t Connection_Handle,
                                       uint16_t Start_Handle,
                                       uint16_t End_Handle,
                                       uint8_t UUID_Type,
                                       const UUID_t* UUID )
{
  BLE_WRAP_ACI_GATT_DISC_CHAR_BY_UUID_PREPROC( );
  tBleStatus status = ACI_GATT_DISC_CHAR_BY_UUID( Connection_Handle,
                                                  Start_Handle,
                                                  End_Handle,
                                                  UUID_Type,
                                                  UUID );
  BLE_WRAP_ACI_GATT_DISC_CHAR_BY_UUID_POSTPROC( );
  return status;
}

/* ACI_GATT_DISC_ALL_CHAR_DESC wrapper function */
tBleStatus aci_gatt_disc_all_char_desc( uint16_t Connection_Handle,
                                        uint16_t Char_Handle,
                                        uint16_t End_Handle )
{
  BLE_WRAP_ACI_GATT_DISC_ALL_CHAR_DESC_PREPROC( );
  tBleStatus status = ACI_GATT_DISC_ALL_CHAR_DESC( Connection_Handle,
                                                   Char_Handle,
                                                   End_Handle );
  BLE_WRAP_ACI_GATT_DISC_ALL_CHAR_DESC_POSTPROC( );
  return status;
}

/* ACI_GATT_READ_CHAR_VALUE wrapper function */
tBleStatus aci_gatt_read_char_value( uint16_t Connection_Handle,
                                     uint16_t Attr_Handle )
{
  BLE_WRAP_ACI_GATT_READ_CHAR_VALUE_PREPROC( );
  tBleStatus status = ACI_GATT_READ_CHAR_VALUE( Connection_Handle,
                                                Attr_Handle );
  BLE_WRAP_ACI_GATT_READ_CHAR_VALUE_POSTPROC( );
  return status;
}

/* ACI_GATT_READ_USING_CHAR_UUID wrapper function */
tBleStatus aci_gatt_read_using_char_uuid( uint16_t Connection_Handle,
                                          uint16_t Start_Handle,
                                          uint16_t End_Handle,
                                          uint8_t UUID_Type,
                                          const UUID_t* UUID )
{
  BLE_WRAP_ACI_GATT_READ_USING_CHAR_UUID_PREPROC( );
  tBleStatus status = ACI_GATT_READ_USING_CHAR_UUID( Connection_Handle,
                                                     Start_Handle,
                                                     End_Handle,
                                                     UUID_Type,
                                                     UUID );
  BLE_WRAP_ACI_GATT_READ_USING_CHAR_UUID_POSTPROC( );
  return status;
}

/* ACI_GATT_READ_LONG_CHAR_VALUE wrapper function */
tBleStatus aci_gatt_read_long_char_value( uint16_t Connection_Handle,
                                          uint16_t Attr_Handle,
                                          uint16_t Val_Offset )
{
  BLE_WRAP_ACI_GATT_READ_LONG_CHAR_VALUE_PREPROC( );
  tBleStatus status = ACI_GATT_READ_LONG_CHAR_VALUE( Connection_Handle,
                                                     Attr_Handle,
                                                     Val_Offset );
  BLE_WRAP_ACI_GATT_READ_LONG_CHAR_VALUE_POSTPROC( );
  return status;
}

/* ACI_GATT_READ_MULTIPLE_CHAR_VALUE wrapper function */
tBleStatus aci_gatt_read_multiple_char_value( uint16_t Connection_Handle,
                                              uint8_t Number_of_Handles,
                                              const Handle_Entry_t* Handle_Entry )
{
  BLE_WRAP_ACI_GATT_READ_MULTIPLE_CHAR_VALUE_PREPROC( );
  tBleStatus status = ACI_GATT_READ_MULTIPLE_CHAR_VALUE( Connection_Handle,
                                                         Number_of_Handles,
                                                         Handle_Entry );
  BLE_WRAP_ACI_GATT_READ_MULTIPLE_CHAR_VALUE_POSTPROC( );
  return status;
}

/* ACI_GATT_WRITE_CHAR_VALUE wrapper function */
tBleStatus aci_gatt_write_char_value( uint16_t Connection_Handle,
                                      uint16_t Attr_Handle,
                                      uint8_t Attribute_Val_Length,
                                      const uint8_t* Attribute_Val )
{
  BLE_WRAP_ACI_GATT_WRITE_CHAR_VALUE_PREPROC( );
  tBleStatus status = ACI_GATT_WRITE_CHAR_VALUE( Connection_Handle,
                                                 Attr_Handle,
                                                 Attribute_Val_Length,
                                                 Attribute_Val );
  BLE_WRAP_ACI_GATT_WRITE_CHAR_VALUE_POSTPROC( );
  return status;
}

/* ACI_GATT_WRITE_LONG_CHAR_VALUE wrapper function */
tBleStatus aci_gatt_write_long_char_value( uint16_t Connection_Handle,
                                           uint16_t Attr_Handle,
                                           uint16_t Val_Offset,
                                           uint8_t Attribute_Val_Length,
                                           const uint8_t* Attribute_Val )
{
  BLE_WRAP_ACI_GATT_WRITE_LONG_CHAR_VALUE_PREPROC( );
  tBleStatus status = ACI_GATT_WRITE_LONG_CHAR_VALUE( Connection_Handle,
                                                      Attr_Handle,
                                                      Val_Offset,
                                                      Attribute_Val_Length,
                                                      Attribute_Val );
  BLE_WRAP_ACI_GATT_WRITE_LONG_CHAR_VALUE_POSTPROC( );
  return status;
}

/* ACI_GATT_WRITE_CHAR_RELIABLE wrapper function */
tBleStatus aci_gatt_write_char_reliable( uint16_t Connection_Handle,
                                         uint16_t Attr_Handle,
                                         uint16_t Val_Offset,
                                         uint8_t Attribute_Val_Length,
                                         const uint8_t* Attribute_Val )
{
  BLE_WRAP_ACI_GATT_WRITE_CHAR_RELIABLE_PREPROC( );
  tBleStatus status = ACI_GATT_WRITE_CHAR_RELIABLE( Connection_Handle,
                                                    Attr_Handle,
                                                    Val_Offset,
                                                    Attribute_Val_Length,
                                                    Attribute_Val );
  BLE_WRAP_ACI_GATT_WRITE_CHAR_RELIABLE_POSTPROC( );
  return status;
}

/* ACI_GATT_WRITE_LONG_CHAR_DESC wrapper function */
tBleStatus aci_gatt_write_long_char_desc( uint16_t Connection_Handle,
                                          uint16_t Attr_Handle,
                                          uint16_t Val_Offset,
                                          uint8_t Attribute_Val_Length,
                                          const uint8_t* Attribute_Val )
{
  BLE_WRAP_ACI_GATT_WRITE_LONG_CHAR_DESC_PREPROC( );
  tBleStatus status = ACI_GATT_WRITE_LONG_CHAR_DESC( Connection_Handle,
                                                     Attr_Handle,
                                                     Val_Offset,
                                                     Attribute_Val_Length,
                                                     Attribute_Val );
  BLE_WRAP_ACI_GATT_WRITE_LONG_CHAR_DESC_POSTPROC( );
  return status;
}

/* ACI_GATT_READ_LONG_CHAR_DESC wrapper function */
tBleStatus aci_gatt_read_long_char_desc( uint16_t Connection_Handle,
                                         uint16_t Attr_Handle,
                                         uint16_t Val_Offset )
{
  BLE_WRAP_ACI_GATT_READ_LONG_CHAR_DESC_PREPROC( );
  tBleStatus status = ACI_GATT_READ_LONG_CHAR_DESC( Connection_Handle,
                                                    Attr_Handle,
                                                    Val_Offset );
  BLE_WRAP_ACI_GATT_READ_LONG_CHAR_DESC_POSTPROC( );
  return status;
}

/* ACI_GATT_WRITE_CHAR_DESC wrapper function */
tBleStatus aci_gatt_write_char_desc( uint16_t Connection_Handle,
                                     uint16_t Attr_Handle,
                                     uint8_t Attribute_Val_Length,
                                     const uint8_t* Attribute_Val )
{
  BLE_WRAP_ACI_GATT_WRITE_CHAR_DESC_PREPROC( );
  tBleStatus status = ACI_GATT_WRITE_CHAR_DESC( Connection_Handle,
                                                Attr_Handle,
                                                Attribute_Val_Length,
                                                Attribute_Val );
  BLE_WRAP_ACI_GATT_WRITE_CHAR_DESC_POSTPROC( );
  return status;
}

/* ACI_GATT_READ_CHAR_DESC wrapper function */
tBleStatus aci_gatt_read_char_desc( uint16_t Connection_Handle,
                                    uint16_t Attr_Handle )
{
  BLE_WRAP_ACI_GATT_READ_CHAR_DESC_PREPROC( );
  tBleStatus status = ACI_GATT_READ_CHAR_DESC( Connection_Handle,
                                               Attr_Handle );
  BLE_WRAP_ACI_GATT_READ_CHAR_DESC_POSTPROC( );
  return status;
}

/* ACI_GATT_WRITE_WITHOUT_RESP wrapper function */
tBleStatus aci_gatt_write_without_resp( uint16_t Connection_Handle,
                                        uint16_t Attr_Handle,
                                        uint8_t Attribute_Val_Length,
                                        const uint8_t* Attribute_Val )
{
  BLE_WRAP_ACI_GATT_WRITE_WITHOUT_RESP_PREPROC( );
  tBleStatus status = ACI_GATT_WRITE_WITHOUT_RESP( Connection_Handle,
                                                   Attr_Handle,
                                                   Attribute_Val_Length,
                                                   Attribute_Val );
  BLE_WRAP_ACI_GATT_WRITE_WITHOUT_RESP_POSTPROC( );
  return status;
}

/* ACI_GATT_SIGNED_WRITE_WITHOUT_RESP wrapper function */
tBleStatus aci_gatt_signed_write_without_resp( uint16_t Connection_Handle,
                                               uint16_t Attr_Handle,
                                               uint8_t Attribute_Val_Length,
                                               const uint8_t* Attribute_Val )
{
  BLE_WRAP_ACI_GATT_SIGNED_WRITE_WITHOUT_RESP_PREPROC( );
  tBleStatus status = ACI_GATT_SIGNED_WRITE_WITHOUT_RESP( Connection_Handle,
                                                          Attr_Handle,
                                                          Attribute_Val_Length,
                                                          Attribute_Val );
  BLE_WRAP_ACI_GATT_SIGNED_WRITE_WITHOUT_RESP_POSTPROC( );
  return status;
}

/* ACI_GATT_CONFIRM_INDICATION wrapper function */
tBleStatus aci_gatt_confirm_indication( uint16_t Connection_Handle )
{
  BLE_WRAP_ACI_GATT_CONFIRM_INDICATION_PREPROC( );
  tBleStatus status = ACI_GATT_CONFIRM_INDICATION( Connection_Handle );
  BLE_WRAP_ACI_GATT_CONFIRM_INDICATION_POSTPROC( );
  return status;
}

/* ACI_GATT_WRITE_RESP wrapper function */
tBleStatus aci_gatt_write_resp( uint16_t Connection_Handle,
                                uint16_t Attr_Handle,
                                uint8_t Write_status,
                                uint8_t Error_Code,
                                uint8_t Attribute_Val_Length,
                                const uint8_t* Attribute_Val )
{
  BLE_WRAP_ACI_GATT_WRITE_RESP_PREPROC( );
  tBleStatus status = ACI_GATT_WRITE_RESP( Connection_Handle,
                                           Attr_Handle,
                                           Write_status,
                                           Error_Code,
                                           Attribute_Val_Length,
                                           Attribute_Val );
  BLE_WRAP_ACI_GATT_WRITE_RESP_POSTPROC( );
  return status;
}

/* ACI_GATT_ALLOW_READ wrapper function */
tBleStatus aci_gatt_allow_read( uint16_t Connection_Handle )
{
  BLE_WRAP_ACI_GATT_ALLOW_READ_PREPROC( );
  tBleStatus status = ACI_GATT_ALLOW_READ( Connection_Handle );
  BLE_WRAP_ACI_GATT_ALLOW_READ_POSTPROC( );
  return status;
}

/* ACI_GATT_SET_SECURITY_PERMISSION wrapper function */
tBleStatus aci_gatt_set_security_permission( uint16_t Serv_Handle,
                                             uint16_t Attr_Handle,
                                             uint8_t Security_Permissions )
{
  BLE_WRAP_ACI_GATT_SET_SECURITY_PERMISSION_PREPROC( );
  tBleStatus status = ACI_GATT_SET_SECURITY_PERMISSION( Serv_Handle,
                                                        Attr_Handle,
                                                        Security_Permissions );
  BLE_WRAP_ACI_GATT_SET_SECURITY_PERMISSION_POSTPROC( );
  return status;
}

/* ACI_GATT_SET_DESC_VALUE wrapper function */
tBleStatus aci_gatt_set_desc_value( uint16_t Serv_Handle,
                                    uint16_t Char_Handle,
                                    uint16_t Char_Desc_Handle,
                                    uint16_t Val_Offset,
                                    uint8_t Char_Desc_Value_Length,
                                    const uint8_t* Char_Desc_Value )
{
  BLE_WRAP_ACI_GATT_SET_DESC_VALUE_PREPROC( );
  tBleStatus status = ACI_GATT_SET_DESC_VALUE( Serv_Handle,
                                               Char_Handle,
                                               Char_Desc_Handle,
                                               Val_Offset,
                                               Char_Desc_Value_Length,
                                               Char_Desc_Value );
  BLE_WRAP_ACI_GATT_SET_DESC_VALUE_POSTPROC( );
  return status;
}

/* ACI_GATT_READ_HANDLE_VALUE wrapper function */
tBleStatus aci_gatt_read_handle_value( uint16_t Attr_Handle,
                                       uint16_t Offset,
                                       uint16_t Value_Length_Requested,
                                       uint16_t* Length,
                                       uint16_t* Value_Length,
                                       uint8_t* Value )
{
  BLE_WRAP_ACI_GATT_READ_HANDLE_VALUE_PREPROC( );
  tBleStatus status = ACI_GATT_READ_HANDLE_VALUE( Attr_Handle,
                                                  Offset,
                                                  Value_Length_Requested,
                                                  Length,
                                                  Value_Length,
                                                  Value );
  BLE_WRAP_ACI_GATT_READ_HANDLE_VALUE_POSTPROC( );
  return status;
}

/* ACI_GATT_UPDATE_CHAR_VALUE_EXT wrapper function */
tBleStatus aci_gatt_update_char_value_ext( uint16_t Conn_Handle_To_Notify,
                                           uint16_t Service_Handle,
                                           uint16_t Char_Handle,
                                           uint8_t Update_Type,
                                           uint16_t Char_Length,
                                           uint16_t Value_Offset,
                                           uint8_t Value_Length,
                                           const uint8_t* Value )
{
  BLE_WRAP_ACI_GATT_UPDATE_CHAR_VALUE_EXT_PREPROC( );
  tBleStatus status = ACI_GATT_UPDATE_CHAR_VALUE_EXT( Conn_Handle_To_Notify,
                                                      Service_Handle,
                                                      Char_Handle,
                                                      Update_Type,
                                                      Char_Length,
                                                      Value_Offset,
                                                      Value_Length,
                                                      Value );
  BLE_WRAP_ACI_GATT_UPDATE_CHAR_VALUE_EXT_POSTPROC( );
  return status;
}

/* ACI_GATT_DENY_READ wrapper function */
tBleStatus aci_gatt_deny_read( uint16_t Connection_Handle,
                               uint8_t Error_Code )
{
  BLE_WRAP_ACI_GATT_DENY_READ_PREPROC( );
  tBleStatus status = ACI_GATT_DENY_READ( Connection_Handle,
                                          Error_Code );
  BLE_WRAP_ACI_GATT_DENY_READ_POSTPROC( );
  return status;
}

/* ACI_GATT_SET_ACCESS_PERMISSION wrapper function */
tBleStatus aci_gatt_set_access_permission( uint16_t Serv_Handle,
                                           uint16_t Attr_Handle,
                                           uint8_t Access_Permissions )
{
  BLE_WRAP_ACI_GATT_SET_ACCESS_PERMISSION_PREPROC( );
  tBleStatus status = ACI_GATT_SET_ACCESS_PERMISSION( Serv_Handle,
                                                      Attr_Handle,
                                                      Access_Permissions );
  BLE_WRAP_ACI_GATT_SET_ACCESS_PERMISSION_POSTPROC( );
  return status;
}

/* ACI_GATT_STORE_DB wrapper function */
tBleStatus aci_gatt_store_db( void )
{
  BLE_WRAP_ACI_GATT_STORE_DB_PREPROC( );
  tBleStatus status = ACI_GATT_STORE_DB(  );
  BLE_WRAP_ACI_GATT_STORE_DB_POSTPROC( );
  return status;
}

/* ACI_GATT_SEND_MULT_NOTIFICATION wrapper function */
tBleStatus aci_gatt_send_mult_notification( uint16_t Connection_Handle,
                                            uint8_t Number_of_Handles,
                                            const Handle_Entry_t* Handle_Entry )
{
  BLE_WRAP_ACI_GATT_SEND_MULT_NOTIFICATION_PREPROC( );
  tBleStatus status = ACI_GATT_SEND_MULT_NOTIFICATION( Connection_Handle,
                                                       Number_of_Handles,
                                                       Handle_Entry );
  BLE_WRAP_ACI_GATT_SEND_MULT_NOTIFICATION_POSTPROC( );
  return status;
}

/* ACI_GATT_READ_MULTIPLE_VAR_CHAR_VALUE wrapper function */
tBleStatus aci_gatt_read_multiple_var_char_value( uint16_t Connection_Handle,
                                                  uint8_t Number_of_Handles,
                                                  const Handle_Entry_t* Handle_Entry )
{
  BLE_WRAP_ACI_GATT_READ_MULTIPLE_VAR_CHAR_VALUE_PREPROC( );
  tBleStatus status = ACI_GATT_READ_MULTIPLE_VAR_CHAR_VALUE( Connection_Handle,
                                                             Number_of_Handles,
                                                             Handle_Entry );
  BLE_WRAP_ACI_GATT_READ_MULTIPLE_VAR_CHAR_VALUE_POSTPROC( );
  return status;
}

/* ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_REQ wrapper function */
tBleStatus aci_l2cap_connection_parameter_update_req( uint16_t Connection_Handle,
                                                      uint16_t Conn_Interval_Min,
                                                      uint16_t Conn_Interval_Max,
                                                      uint16_t Latency,
                                                      uint16_t Timeout_Multiplier )
{
  BLE_WRAP_ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_REQ_PREPROC( );
  tBleStatus status = ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_REQ( Connection_Handle,
                                                                 Conn_Interval_Min,
                                                                 Conn_Interval_Max,
                                                                 Latency,
                                                                 Timeout_Multiplier );
  BLE_WRAP_ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_REQ_POSTPROC( );
  return status;
}

/* ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_RESP wrapper function */
tBleStatus aci_l2cap_connection_parameter_update_resp( uint16_t Connection_Handle,
                                                       uint16_t Conn_Interval_Min,
                                                       uint16_t Conn_Interval_Max,
                                                       uint16_t Latency,
                                                       uint16_t Timeout_Multiplier,
                                                       uint16_t Minimum_CE_Length,
                                                       uint16_t Maximum_CE_Length,
                                                       uint8_t Identifier,
                                                       uint8_t Accept )
{
  BLE_WRAP_ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_RESP_PREPROC( );
  tBleStatus status = ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_RESP( Connection_Handle,
                                                                  Conn_Interval_Min,
                                                                  Conn_Interval_Max,
                                                                  Latency,
                                                                  Timeout_Multiplier,
                                                                  Minimum_CE_Length,
                                                                  Maximum_CE_Length,
                                                                  Identifier,
                                                                  Accept );
  BLE_WRAP_ACI_L2CAP_CONNECTION_PARAMETER_UPDATE_RESP_POSTPROC( );
  return status;
}

/* ACI_L2CAP_COC_CONNECT wrapper function */
tBleStatus aci_l2cap_coc_connect( uint16_t Connection_Handle,
                                  uint16_t SPSM,
                                  uint16_t MTU,
                                  uint16_t MPS,
                                  uint16_t Initial_Credits,
                                  uint8_t Channel_Number )
{
  BLE_WRAP_ACI_L2CAP_COC_CONNECT_PREPROC( );
  tBleStatus status = ACI_L2CAP_COC_CONNECT( Connection_Handle,
                                             SPSM,
                                             MTU,
                                             MPS,
                                             Initial_Credits,
                                             Channel_Number );
  BLE_WRAP_ACI_L2CAP_COC_CONNECT_POSTPROC( );
  return status;
}

/* ACI_L2CAP_COC_CONNECT_CONFIRM wrapper function */
tBleStatus aci_l2cap_coc_connect_confirm( uint16_t Connection_Handle,
                                          uint16_t MTU,
                                          uint16_t MPS,
                                          uint16_t Initial_Credits,
                                          uint16_t Result,
                                          uint8_t* Channel_Number,
                                          uint8_t* Channel_Index_List )
{
  BLE_WRAP_ACI_L2CAP_COC_CONNECT_CONFIRM_PREPROC( );
  tBleStatus status = ACI_L2CAP_COC_CONNECT_CONFIRM( Connection_Handle,
                                                     MTU,
                                                     MPS,
                                                     Initial_Credits,
                                                     Result,
                                                     Channel_Number,
                                                     Channel_Index_List );
  BLE_WRAP_ACI_L2CAP_COC_CONNECT_CONFIRM_POSTPROC( );
  return status;
}

/* ACI_L2CAP_COC_RECONF wrapper function */
tBleStatus aci_l2cap_coc_reconf( uint16_t Connection_Handle,
                                 uint16_t MTU,
                                 uint16_t MPS,
                                 uint8_t Channel_Number,
                                 const uint8_t* Channel_Index_List )
{
  BLE_WRAP_ACI_L2CAP_COC_RECONF_PREPROC( );
  tBleStatus status = ACI_L2CAP_COC_RECONF( Connection_Handle,
                                            MTU,
                                            MPS,
                                            Channel_Number,
                                            Channel_Index_List );
  BLE_WRAP_ACI_L2CAP_COC_RECONF_POSTPROC( );
  return status;
}

/* ACI_L2CAP_COC_RECONF_CONFIRM wrapper function */
tBleStatus aci_l2cap_coc_reconf_confirm( uint16_t Connection_Handle,
                                         uint16_t Result )
{
  BLE_WRAP_ACI_L2CAP_COC_RECONF_CONFIRM_PREPROC( );
  tBleStatus status = ACI_L2CAP_COC_RECONF_CONFIRM( Connection_Handle,
                                                    Result );
  BLE_WRAP_ACI_L2CAP_COC_RECONF_CONFIRM_POSTPROC( );
  return status;
}

/* ACI_L2CAP_COC_DISCONNECT wrapper function */
tBleStatus aci_l2cap_coc_disconnect( uint8_t Channel_Index )
{
  BLE_WRAP_ACI_L2CAP_COC_DISCONNECT_PREPROC( );
  tBleStatus status = ACI_L2CAP_COC_DISCONNECT( Channel_Index );
  BLE_WRAP_ACI_L2CAP_COC_DISCONNECT_POSTPROC( );
  return status;
}

/* ACI_L2CAP_COC_FLOW_CONTROL wrapper function */
tBleStatus aci_l2cap_coc_flow_control( uint8_t Channel_Index,
                                       uint16_t Credits )
{
  BLE_WRAP_ACI_L2CAP_COC_FLOW_CONTROL_PREPROC( );
  tBleStatus status = ACI_L2CAP_COC_FLOW_CONTROL( Channel_Index,
                                                  Credits );
  BLE_WRAP_ACI_L2CAP_COC_FLOW_CONTROL_POSTPROC( );
  return status;
}

/* ACI_L2CAP_COC_TX_DATA wrapper function */
tBleStatus aci_l2cap_coc_tx_data( uint8_t Channel_Index,
                                  uint16_t Length,
                                  const uint8_t* Data )
{
  BLE_WRAP_ACI_L2CAP_COC_TX_DATA_PREPROC( );
  tBleStatus status = ACI_L2CAP_COC_TX_DATA( Channel_Index,
                                             Length,
                                             Data );
  BLE_WRAP_ACI_L2CAP_COC_TX_DATA_POSTPROC( );
  return status;
}

/* Event tables */

#define HCI_EVENT_TABLE_SIZE 8
#define HCI_LE_EVENT_TABLE_SIZE 36
#define HCI_VS_EVENT_TABLE_SIZE 54

typedef struct
{
  uint16_t evt_code;
  tBleStatus (*process)( const uint8_t* in );
} hci_event_table_t;

/* Event process functions declaration */
static tBleStatus hci_disconnection_complete_event_process( const uint8_t* in );
static tBleStatus hci_encryption_change_event_process( const uint8_t* in );
static tBleStatus hci_read_remote_version_information_complete_event_process( const uint8_t* in );
static tBleStatus hci_hardware_error_event_process( const uint8_t* in );
static tBleStatus hci_number_of_completed_packets_event_process( const uint8_t* in );
static tBleStatus hci_data_buffer_overflow_event_process( const uint8_t* in );
static tBleStatus hci_encryption_key_refresh_complete_event_process( const uint8_t* in );
static tBleStatus hci_authenticated_payload_timeout_expired_event_process( const uint8_t* in );
static tBleStatus hci_le_connection_complete_event_process( const uint8_t* in );
static tBleStatus hci_le_advertising_report_event_process( const uint8_t* in );
static tBleStatus hci_le_connection_update_complete_event_process( const uint8_t* in );
static tBleStatus hci_le_read_remote_features_complete_event_process( const uint8_t* in );
static tBleStatus hci_le_long_term_key_request_event_process( const uint8_t* in );
static tBleStatus hci_le_remote_connection_parameter_request_event_process( const uint8_t* in );
static tBleStatus hci_le_data_length_change_event_process( const uint8_t* in );
static tBleStatus hci_le_read_local_p256_public_key_complete_event_process( const uint8_t* in );
static tBleStatus hci_le_generate_dhkey_complete_event_process( const uint8_t* in );
static tBleStatus hci_le_enhanced_connection_complete_event_process( const uint8_t* in );
static tBleStatus hci_le_directed_advertising_report_event_process( const uint8_t* in );
static tBleStatus hci_le_phy_update_complete_event_process( const uint8_t* in );
static tBleStatus hci_le_extended_advertising_report_event_process( const uint8_t* in );
static tBleStatus hci_le_periodic_advertising_sync_established_event_process( const uint8_t* in );
static tBleStatus hci_le_periodic_advertising_report_event_process( const uint8_t* in );
static tBleStatus hci_le_periodic_advertising_sync_lost_event_process( const uint8_t* in );
static tBleStatus hci_le_scan_timeout_event_process( const uint8_t* in );
static tBleStatus hci_le_advertising_set_terminated_event_process( const uint8_t* in );
static tBleStatus hci_le_scan_request_received_event_process( const uint8_t* in );
static tBleStatus hci_le_channel_selection_algorithm_event_process( const uint8_t* in );
static tBleStatus hci_le_connectionless_iq_report_event_process( const uint8_t* in );
static tBleStatus hci_le_connection_iq_report_event_process( const uint8_t* in );
static tBleStatus hci_le_cte_request_failed_event_process( const uint8_t* in );
static tBleStatus hci_le_periodic_advertising_sync_transfer_received_event_process( const uint8_t* in );
static tBleStatus hci_le_cis_established_event_process( const uint8_t* in );
static tBleStatus hci_le_cis_request_event_process( const uint8_t* in );
static tBleStatus hci_le_create_big_complete_event_process( const uint8_t* in );
static tBleStatus hci_le_terminate_big_complete_event_process( const uint8_t* in );
static tBleStatus hci_le_big_sync_established_event_process( const uint8_t* in );
static tBleStatus hci_le_big_sync_lost_event_process( const uint8_t* in );
static tBleStatus hci_le_request_peer_sca_complete_event_process( const uint8_t* in );
static tBleStatus hci_le_path_loss_threshold_event_process( const uint8_t* in );
static tBleStatus hci_le_transmit_power_reporting_event_process( const uint8_t* in );
static tBleStatus hci_le_biginfo_advertising_report_event_process( const uint8_t* in );
static tBleStatus hci_le_subrate_change_event_process( const uint8_t* in );
static tBleStatus hci_le_cis_established_v2_event_process( const uint8_t* in );
static tBleStatus aci_hal_end_of_radio_activity_event_process( const uint8_t* in );
static tBleStatus aci_hal_warning_event_process( const uint8_t* in );
static tBleStatus aci_hal_sync_event_process( const uint8_t* in );
static tBleStatus aci_gap_limited_discoverable_event_process( const uint8_t* in );
static tBleStatus aci_gap_pairing_complete_event_process( const uint8_t* in );
static tBleStatus aci_gap_pass_key_req_event_process( const uint8_t* in );
static tBleStatus aci_gap_authorization_req_event_process( const uint8_t* in );
static tBleStatus aci_gap_bond_lost_event_process( const uint8_t* in );
static tBleStatus aci_gap_proc_complete_event_process( const uint8_t* in );
static tBleStatus aci_gap_addr_not_resolved_event_process( const uint8_t* in );
static tBleStatus aci_gap_numeric_comparison_value_event_process( const uint8_t* in );
static tBleStatus aci_gap_keypress_notification_event_process( const uint8_t* in );
static tBleStatus aci_gap_pairing_request_event_process( const uint8_t* in );
static tBleStatus aci_l2cap_connection_update_resp_event_process( const uint8_t* in );
static tBleStatus aci_l2cap_proc_timeout_event_process( const uint8_t* in );
static tBleStatus aci_l2cap_connection_update_req_event_process( const uint8_t* in );
static tBleStatus aci_l2cap_command_reject_event_process( const uint8_t* in );
static tBleStatus aci_l2cap_coc_connect_event_process( const uint8_t* in );
static tBleStatus aci_l2cap_coc_connect_confirm_event_process( const uint8_t* in );
static tBleStatus aci_l2cap_coc_reconf_event_process( const uint8_t* in );
static tBleStatus aci_l2cap_coc_reconf_confirm_event_process( const uint8_t* in );
static tBleStatus aci_l2cap_coc_disconnect_event_process( const uint8_t* in );
static tBleStatus aci_l2cap_coc_flow_control_event_process( const uint8_t* in );
static tBleStatus aci_l2cap_coc_rx_data_event_process( const uint8_t* in );
static tBleStatus aci_l2cap_coc_tx_pool_available_event_process( const uint8_t* in );
static tBleStatus aci_gatt_attribute_modified_event_process( const uint8_t* in );
static tBleStatus aci_gatt_proc_timeout_event_process( const uint8_t* in );
static tBleStatus aci_att_exchange_mtu_resp_event_process( const uint8_t* in );
static tBleStatus aci_att_find_info_resp_event_process( const uint8_t* in );
static tBleStatus aci_att_find_by_type_value_resp_event_process( const uint8_t* in );
static tBleStatus aci_att_read_by_type_resp_event_process( const uint8_t* in );
static tBleStatus aci_att_read_resp_event_process( const uint8_t* in );
static tBleStatus aci_att_read_blob_resp_event_process( const uint8_t* in );
static tBleStatus aci_att_read_multiple_resp_event_process( const uint8_t* in );
static tBleStatus aci_att_read_by_group_type_resp_event_process( const uint8_t* in );
static tBleStatus aci_att_prepare_write_resp_event_process( const uint8_t* in );
static tBleStatus aci_att_exec_write_resp_event_process( const uint8_t* in );
static tBleStatus aci_gatt_indication_event_process( const uint8_t* in );
static tBleStatus aci_gatt_notification_event_process( const uint8_t* in );
static tBleStatus aci_gatt_proc_complete_event_process( const uint8_t* in );
static tBleStatus aci_gatt_error_resp_event_process( const uint8_t* in );
static tBleStatus aci_gatt_disc_read_char_by_uuid_resp_event_process( const uint8_t* in );
static tBleStatus aci_gatt_write_permit_req_event_process( const uint8_t* in );
static tBleStatus aci_gatt_read_permit_req_event_process( const uint8_t* in );
static tBleStatus aci_gatt_read_multi_permit_req_event_process( const uint8_t* in );
static tBleStatus aci_gatt_tx_pool_available_event_process( const uint8_t* in );
static tBleStatus aci_gatt_server_confirmation_event_process( const uint8_t* in );
static tBleStatus aci_gatt_prepare_write_permit_req_event_process( const uint8_t* in );
static tBleStatus aci_gatt_eatt_bearer_event_process( const uint8_t* in );
static tBleStatus aci_gatt_mult_notification_event_process( const uint8_t* in );
static tBleStatus aci_gatt_notification_complete_event_process( const uint8_t* in );
static tBleStatus aci_gatt_read_ext_event_process( const uint8_t* in );
static tBleStatus aci_gatt_indication_ext_event_process( const uint8_t* in );
static tBleStatus aci_gatt_notification_ext_event_process( const uint8_t* in );

/* HCI event process functions table */
static const hci_event_table_t hci_event_table[HCI_EVENT_TABLE_SIZE] =
{
  { 0x0005U, hci_disconnection_complete_event_process },
  { 0x0008U, hci_encryption_change_event_process },
  { 0x000CU, hci_read_remote_version_information_complete_event_process },
  { 0x0010U, hci_hardware_error_event_process },
  { 0x0013U, hci_number_of_completed_packets_event_process },
  { 0x001AU, hci_data_buffer_overflow_event_process },
  { 0x0030U, hci_encryption_key_refresh_complete_event_process },
  { 0x0057U, hci_authenticated_payload_timeout_expired_event_process },
};

/* HCI LE event process functions table */
static const hci_event_table_t hci_le_event_table[HCI_LE_EVENT_TABLE_SIZE] =
{
  { 0x0001U, hci_le_connection_complete_event_process },
  { 0x0002U, hci_le_advertising_report_event_process },
  { 0x0003U, hci_le_connection_update_complete_event_process },
  { 0x0004U, hci_le_read_remote_features_complete_event_process },
  { 0x0005U, hci_le_long_term_key_request_event_process },
  { 0x0006U, hci_le_remote_connection_parameter_request_event_process },
  { 0x0007U, hci_le_data_length_change_event_process },
  { 0x0008U, hci_le_read_local_p256_public_key_complete_event_process },
  { 0x0009U, hci_le_generate_dhkey_complete_event_process },
  { 0x000AU, hci_le_enhanced_connection_complete_event_process },
  { 0x000BU, hci_le_directed_advertising_report_event_process },
  { 0x000CU, hci_le_phy_update_complete_event_process },
  { 0x000DU, hci_le_extended_advertising_report_event_process },
  { 0x000EU, hci_le_periodic_advertising_sync_established_event_process },
  { 0x000FU, hci_le_periodic_advertising_report_event_process },
  { 0x0010U, hci_le_periodic_advertising_sync_lost_event_process },
  { 0x0011U, hci_le_scan_timeout_event_process },
  { 0x0012U, hci_le_advertising_set_terminated_event_process },
  { 0x0013U, hci_le_scan_request_received_event_process },
  { 0x0014U, hci_le_channel_selection_algorithm_event_process },
  { 0x0015U, hci_le_connectionless_iq_report_event_process },
  { 0x0016U, hci_le_connection_iq_report_event_process },
  { 0x0017U, hci_le_cte_request_failed_event_process },
  { 0x0018U, hci_le_periodic_advertising_sync_transfer_received_event_process },
  { 0x0019U, hci_le_cis_established_event_process },
  { 0x001AU, hci_le_cis_request_event_process },
  { 0x001BU, hci_le_create_big_complete_event_process },
  { 0x001CU, hci_le_terminate_big_complete_event_process },
  { 0x001DU, hci_le_big_sync_established_event_process },
  { 0x001EU, hci_le_big_sync_lost_event_process },
  { 0x001FU, hci_le_request_peer_sca_complete_event_process },
  { 0x0020U, hci_le_path_loss_threshold_event_process },
  { 0x0021U, hci_le_transmit_power_reporting_event_process },
  { 0x0022U, hci_le_biginfo_advertising_report_event_process },
  { 0x0023U, hci_le_subrate_change_event_process },
  { 0x002AU, hci_le_cis_established_v2_event_process },
};

/* HCI VS event process functions table */
static const hci_event_table_t hci_vs_event_table[HCI_VS_EVENT_TABLE_SIZE] =
{
  { 0x0004U, aci_hal_end_of_radio_activity_event_process },
  { 0x0006U, aci_hal_warning_event_process },
  { 0x0008U, aci_hal_sync_event_process },
  { 0x0400U, aci_gap_limited_discoverable_event_process },
  { 0x0401U, aci_gap_pairing_complete_event_process },
  { 0x0402U, aci_gap_pass_key_req_event_process },
  { 0x0403U, aci_gap_authorization_req_event_process },
  { 0x0405U, aci_gap_bond_lost_event_process },
  { 0x0407U, aci_gap_proc_complete_event_process },
  { 0x0408U, aci_gap_addr_not_resolved_event_process },
  { 0x0409U, aci_gap_numeric_comparison_value_event_process },
  { 0x040AU, aci_gap_keypress_notification_event_process },
  { 0x040BU, aci_gap_pairing_request_event_process },
  { 0x0800U, aci_l2cap_connection_update_resp_event_process },
  { 0x0801U, aci_l2cap_proc_timeout_event_process },
  { 0x0802U, aci_l2cap_connection_update_req_event_process },
  { 0x080AU, aci_l2cap_command_reject_event_process },
  { 0x0810U, aci_l2cap_coc_connect_event_process },
  { 0x0811U, aci_l2cap_coc_connect_confirm_event_process },
  { 0x0812U, aci_l2cap_coc_reconf_event_process },
  { 0x0813U, aci_l2cap_coc_reconf_confirm_event_process },
  { 0x0814U, aci_l2cap_coc_disconnect_event_process },
  { 0x0815U, aci_l2cap_coc_flow_control_event_process },
  { 0x0816U, aci_l2cap_coc_rx_data_event_process },
  { 0x0817U, aci_l2cap_coc_tx_pool_available_event_process },
  { 0x0C01U, aci_gatt_attribute_modified_event_process },
  { 0x0C02U, aci_gatt_proc_timeout_event_process },
  { 0x0C03U, aci_att_exchange_mtu_resp_event_process },
  { 0x0C04U, aci_att_find_info_resp_event_process },
  { 0x0C05U, aci_att_find_by_type_value_resp_event_process },
  { 0x0C06U, aci_att_read_by_type_resp_event_process },
  { 0x0C07U, aci_att_read_resp_event_process },
  { 0x0C08U, aci_att_read_blob_resp_event_process },
  { 0x0C09U, aci_att_read_multiple_resp_event_process },
  { 0x0C0AU, aci_att_read_by_group_type_resp_event_process },
  { 0x0C0CU, aci_att_prepare_write_resp_event_process },
  { 0x0C0DU, aci_att_exec_write_resp_event_process },
  { 0x0C0EU, aci_gatt_indication_event_process },
  { 0x0C0FU, aci_gatt_notification_event_process },
  { 0x0C10U, aci_gatt_proc_complete_event_process },
  { 0x0C11U, aci_gatt_error_resp_event_process },
  { 0x0C12U, aci_gatt_disc_read_char_by_uuid_resp_event_process },
  { 0x0C13U, aci_gatt_write_permit_req_event_process },
  { 0x0C14U, aci_gatt_read_permit_req_event_process },
  { 0x0C15U, aci_gatt_read_multi_permit_req_event_process },
  { 0x0C16U, aci_gatt_tx_pool_available_event_process },
  { 0x0C17U, aci_gatt_server_confirmation_event_process },
  { 0x0C18U, aci_gatt_prepare_write_permit_req_event_process },
  { 0x0C19U, aci_gatt_eatt_bearer_event_process },
  { 0x0C1AU, aci_gatt_mult_notification_event_process },
  { 0x0C1BU, aci_gatt_notification_complete_event_process },
  { 0x0C1DU, aci_gatt_read_ext_event_process },
  { 0x0C1EU, aci_gatt_indication_ext_event_process },
  { 0x0C1FU, aci_gatt_notification_ext_event_process },
};

/* HCI_DISCONNECTION_COMPLETE_EVENT callback function */
__WEAK tBleStatus hci_disconnection_complete_event( uint8_t Status,
                                                    uint16_t Connection_Handle,
                                                    uint8_t Reason )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_DISCONNECTION_COMPLETE_EVENT process function */
static tBleStatus hci_disconnection_complete_event_process( const uint8_t* in )
{
  hci_disconnection_complete_event_rp0 *rp0 = (void*)in;
  return hci_disconnection_complete_event( rp0->Status,
                                           rp0->Connection_Handle,
                                           rp0->Reason );
}

/* HCI_ENCRYPTION_CHANGE_EVENT callback function */
__WEAK tBleStatus hci_encryption_change_event( uint8_t Status,
                                               uint16_t Connection_Handle,
                                               uint8_t Encryption_Enabled )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_ENCRYPTION_CHANGE_EVENT process function */
static tBleStatus hci_encryption_change_event_process( const uint8_t* in )
{
  hci_encryption_change_event_rp0 *rp0 = (void*)in;
  return hci_encryption_change_event( rp0->Status,
                                      rp0->Connection_Handle,
                                      rp0->Encryption_Enabled );
}

/* HCI_READ_REMOTE_VERSION_INFORMATION_COMPLETE_EVENT callback function */
__WEAK tBleStatus hci_read_remote_version_information_complete_event( uint8_t Status,
                                                                      uint16_t Connection_Handle,
                                                                      uint8_t Version,
                                                                      uint16_t Manufacturer_Name,
                                                                      uint16_t Subversion )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_READ_REMOTE_VERSION_INFORMATION_COMPLETE_EVENT process function */
static tBleStatus hci_read_remote_version_information_complete_event_process( const uint8_t* in )
{
  hci_read_remote_version_information_complete_event_rp0 *rp0 = (void*)in;
  return hci_read_remote_version_information_complete_event( rp0->Status,
                                                             rp0->Connection_Handle,
                                                             rp0->Version,
                                                             rp0->Manufacturer_Name,
                                                             rp0->Subversion );
}

/* HCI_HARDWARE_ERROR_EVENT callback function */
__WEAK tBleStatus hci_hardware_error_event( uint8_t Hardware_Code )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_HARDWARE_ERROR_EVENT process function */
static tBleStatus hci_hardware_error_event_process( const uint8_t* in )
{
  hci_hardware_error_event_rp0 *rp0 = (void*)in;
  return hci_hardware_error_event( rp0->Hardware_Code );
}

/* HCI_NUMBER_OF_COMPLETED_PACKETS_EVENT callback function */
__WEAK tBleStatus hci_number_of_completed_packets_event( uint8_t Number_of_Handles,
                                                         const Handle_Packets_Pair_Entry_t* Handle_Packets_Pair_Entry )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_NUMBER_OF_COMPLETED_PACKETS_EVENT process function */
static tBleStatus hci_number_of_completed_packets_event_process( const uint8_t* in )
{
  hci_number_of_completed_packets_event_rp0 *rp0 = (void*)in;
  return hci_number_of_completed_packets_event( rp0->Number_of_Handles,
                                                rp0->Handle_Packets_Pair_Entry );
}

/* HCI_DATA_BUFFER_OVERFLOW_EVENT callback function */
__WEAK tBleStatus hci_data_buffer_overflow_event( uint8_t Link_Type )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_DATA_BUFFER_OVERFLOW_EVENT process function */
static tBleStatus hci_data_buffer_overflow_event_process( const uint8_t* in )
{
  hci_data_buffer_overflow_event_rp0 *rp0 = (void*)in;
  return hci_data_buffer_overflow_event( rp0->Link_Type );
}

/* HCI_ENCRYPTION_KEY_REFRESH_COMPLETE_EVENT callback function */
__WEAK tBleStatus hci_encryption_key_refresh_complete_event( uint8_t Status,
                                                             uint16_t Connection_Handle )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_ENCRYPTION_KEY_REFRESH_COMPLETE_EVENT process function */
static tBleStatus hci_encryption_key_refresh_complete_event_process( const uint8_t* in )
{
  hci_encryption_key_refresh_complete_event_rp0 *rp0 = (void*)in;
  return hci_encryption_key_refresh_complete_event( rp0->Status,
                                                    rp0->Connection_Handle );
}

/* HCI_AUTHENTICATED_PAYLOAD_TIMEOUT_EXPIRED_EVENT callback function */
__WEAK tBleStatus hci_authenticated_payload_timeout_expired_event( uint16_t Connection_Handle )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_AUTHENTICATED_PAYLOAD_TIMEOUT_EXPIRED_EVENT process function */
static tBleStatus hci_authenticated_payload_timeout_expired_event_process( const uint8_t* in )
{
  hci_authenticated_payload_timeout_expired_event_rp0 *rp0 = (void*)in;
  return hci_authenticated_payload_timeout_expired_event( rp0->Connection_Handle );
}

/* HCI_LE_CONNECTION_COMPLETE_EVENT callback function */
__WEAK tBleStatus hci_le_connection_complete_event( uint8_t Status,
                                                    uint16_t Connection_Handle,
                                                    uint8_t Role,
                                                    uint8_t Peer_Address_Type,
                                                    const uint8_t* Peer_Address,
                                                    uint16_t Conn_Interval,
                                                    uint16_t Conn_Latency,
                                                    uint16_t Supervision_Timeout,
                                                    uint8_t Central_Clock_Accuracy )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_CONNECTION_COMPLETE_EVENT process function */
static tBleStatus hci_le_connection_complete_event_process( const uint8_t* in )
{
  hci_le_connection_complete_event_rp0 *rp0 = (void*)in;
  return hci_le_connection_complete_event( rp0->Status,
                                           rp0->Connection_Handle,
                                           rp0->Role,
                                           rp0->Peer_Address_Type,
                                           rp0->Peer_Address,
                                           rp0->Conn_Interval,
                                           rp0->Conn_Latency,
                                           rp0->Supervision_Timeout,
                                           rp0->Central_Clock_Accuracy );
}

/* HCI_LE_ADVERTISING_REPORT_EVENT callback function */
__WEAK tBleStatus hci_le_advertising_report_event( uint8_t Num_Reports,
                                                   const Advertising_Report_t* Advertising_Report )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_ADVERTISING_REPORT_EVENT process function */
static tBleStatus hci_le_advertising_report_event_process( const uint8_t* in )
{
  hci_le_advertising_report_event_rp0 *rp0 = (void*)in;
  Advertising_Report_t Advertising_Report[1];
  int i;
  for ( i = 0; i < rp0->Num_Reports; i++ )
  {
    in += 1;
    memcpy( (void*)&Advertising_Report[0], (const void*)in, 9 );
    Advertising_Report[0].Data = &in[9];
    in += 9 + in[8];
    Advertising_Report[0].RSSI = in[0];
    (void)hci_le_advertising_report_event( 1, Advertising_Report );
  }
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_CONNECTION_UPDATE_COMPLETE_EVENT callback function */
__WEAK tBleStatus hci_le_connection_update_complete_event( uint8_t Status,
                                                           uint16_t Connection_Handle,
                                                           uint16_t Conn_Interval,
                                                           uint16_t Conn_Latency,
                                                           uint16_t Supervision_Timeout )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_CONNECTION_UPDATE_COMPLETE_EVENT process function */
static tBleStatus hci_le_connection_update_complete_event_process( const uint8_t* in )
{
  hci_le_connection_update_complete_event_rp0 *rp0 = (void*)in;
  return hci_le_connection_update_complete_event( rp0->Status,
                                                  rp0->Connection_Handle,
                                                  rp0->Conn_Interval,
                                                  rp0->Conn_Latency,
                                                  rp0->Supervision_Timeout );
}

/* HCI_LE_READ_REMOTE_FEATURES_COMPLETE_EVENT callback function */
__WEAK tBleStatus hci_le_read_remote_features_complete_event( uint8_t Status,
                                                              uint16_t Connection_Handle,
                                                              const uint8_t* LE_Features )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_READ_REMOTE_FEATURES_COMPLETE_EVENT process function */
static tBleStatus hci_le_read_remote_features_complete_event_process( const uint8_t* in )
{
  hci_le_read_remote_features_complete_event_rp0 *rp0 = (void*)in;
  return hci_le_read_remote_features_complete_event( rp0->Status,
                                                     rp0->Connection_Handle,
                                                     rp0->LE_Features );
}

/* HCI_LE_LONG_TERM_KEY_REQUEST_EVENT callback function */
__WEAK tBleStatus hci_le_long_term_key_request_event( uint16_t Connection_Handle,
                                                      const uint8_t* Random_Number,
                                                      uint16_t Encrypted_Diversifier )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_LONG_TERM_KEY_REQUEST_EVENT process function */
static tBleStatus hci_le_long_term_key_request_event_process( const uint8_t* in )
{
  hci_le_long_term_key_request_event_rp0 *rp0 = (void*)in;
  return hci_le_long_term_key_request_event( rp0->Connection_Handle,
                                             rp0->Random_Number,
                                             rp0->Encrypted_Diversifier );
}

/* HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_EVENT callback function */
__WEAK tBleStatus hci_le_remote_connection_parameter_request_event( uint16_t Connection_Handle,
                                                                    uint16_t Interval_Min,
                                                                    uint16_t Interval_Max,
                                                                    uint16_t Max_Latency,
                                                                    uint16_t Timeout )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_EVENT process function */
static tBleStatus hci_le_remote_connection_parameter_request_event_process( const uint8_t* in )
{
  hci_le_remote_connection_parameter_request_event_rp0 *rp0 = (void*)in;
  return hci_le_remote_connection_parameter_request_event( rp0->Connection_Handle,
                                                           rp0->Interval_Min,
                                                           rp0->Interval_Max,
                                                           rp0->Max_Latency,
                                                           rp0->Timeout );
}

/* HCI_LE_DATA_LENGTH_CHANGE_EVENT callback function */
__WEAK tBleStatus hci_le_data_length_change_event( uint16_t Connection_Handle,
                                                   uint16_t MaxTxOctets,
                                                   uint16_t MaxTxTime,
                                                   uint16_t MaxRxOctets,
                                                   uint16_t MaxRxTime )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_DATA_LENGTH_CHANGE_EVENT process function */
static tBleStatus hci_le_data_length_change_event_process( const uint8_t* in )
{
  hci_le_data_length_change_event_rp0 *rp0 = (void*)in;
  return hci_le_data_length_change_event( rp0->Connection_Handle,
                                          rp0->MaxTxOctets,
                                          rp0->MaxTxTime,
                                          rp0->MaxRxOctets,
                                          rp0->MaxRxTime );
}

/* HCI_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE_EVENT callback function */
__WEAK tBleStatus hci_le_read_local_p256_public_key_complete_event( uint8_t Status,
                                                                    const uint8_t* Local_P256_Public_Key )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE_EVENT process function */
static tBleStatus hci_le_read_local_p256_public_key_complete_event_process( const uint8_t* in )
{
  hci_le_read_local_p256_public_key_complete_event_rp0 *rp0 = (void*)in;
  return hci_le_read_local_p256_public_key_complete_event( rp0->Status,
                                                           rp0->Local_P256_Public_Key );
}

/* HCI_LE_GENERATE_DHKEY_COMPLETE_EVENT callback function */
__WEAK tBleStatus hci_le_generate_dhkey_complete_event( uint8_t Status,
                                                        const uint8_t* DHKey )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_GENERATE_DHKEY_COMPLETE_EVENT process function */
static tBleStatus hci_le_generate_dhkey_complete_event_process( const uint8_t* in )
{
  hci_le_generate_dhkey_complete_event_rp0 *rp0 = (void*)in;
  return hci_le_generate_dhkey_complete_event( rp0->Status,
                                               rp0->DHKey );
}

/* HCI_LE_ENHANCED_CONNECTION_COMPLETE_EVENT callback function */
__WEAK tBleStatus hci_le_enhanced_connection_complete_event( uint8_t Status,
                                                             uint16_t Connection_Handle,
                                                             uint8_t Role,
                                                             uint8_t Peer_Address_Type,
                                                             const uint8_t* Peer_Address,
                                                             const uint8_t* Local_Resolvable_Private_Address,
                                                             const uint8_t* Peer_Resolvable_Private_Address,
                                                             uint16_t Conn_Interval,
                                                             uint16_t Conn_Latency,
                                                             uint16_t Supervision_Timeout,
                                                             uint8_t Central_Clock_Accuracy )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_ENHANCED_CONNECTION_COMPLETE_EVENT process function */
static tBleStatus hci_le_enhanced_connection_complete_event_process( const uint8_t* in )
{
  hci_le_enhanced_connection_complete_event_rp0 *rp0 = (void*)in;
  return hci_le_enhanced_connection_complete_event( rp0->Status,
                                                    rp0->Connection_Handle,
                                                    rp0->Role,
                                                    rp0->Peer_Address_Type,
                                                    rp0->Peer_Address,
                                                    rp0->Local_Resolvable_Private_Address,
                                                    rp0->Peer_Resolvable_Private_Address,
                                                    rp0->Conn_Interval,
                                                    rp0->Conn_Latency,
                                                    rp0->Supervision_Timeout,
                                                    rp0->Central_Clock_Accuracy );
}

/* HCI_LE_DIRECTED_ADVERTISING_REPORT_EVENT callback function */
__WEAK tBleStatus hci_le_directed_advertising_report_event( uint8_t Num_Reports,
                                                            const Direct_Advertising_Report_t* Direct_Advertising_Report )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_DIRECTED_ADVERTISING_REPORT_EVENT process function */
static tBleStatus hci_le_directed_advertising_report_event_process( const uint8_t* in )
{
  hci_le_directed_advertising_report_event_rp0 *rp0 = (void*)in;
  return hci_le_directed_advertising_report_event( rp0->Num_Reports,
                                                   rp0->Direct_Advertising_Report );
}

/* HCI_LE_PHY_UPDATE_COMPLETE_EVENT callback function */
__WEAK tBleStatus hci_le_phy_update_complete_event( uint8_t Status,
                                                    uint16_t Connection_Handle,
                                                    uint8_t TX_PHY,
                                                    uint8_t RX_PHY )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_PHY_UPDATE_COMPLETE_EVENT process function */
static tBleStatus hci_le_phy_update_complete_event_process( const uint8_t* in )
{
  hci_le_phy_update_complete_event_rp0 *rp0 = (void*)in;
  return hci_le_phy_update_complete_event( rp0->Status,
                                           rp0->Connection_Handle,
                                           rp0->TX_PHY,
                                           rp0->RX_PHY );
}

/* HCI_LE_EXTENDED_ADVERTISING_REPORT_EVENT callback function */
__WEAK tBleStatus hci_le_extended_advertising_report_event( uint8_t Num_Reports,
                                                            uint16_t Event_Type,
                                                            uint8_t Address_Type,
                                                            const uint8_t* Address,
                                                            uint8_t Primary_PHY,
                                                            uint8_t Secondary_PHY,
                                                            uint8_t Advertising_SID,
                                                            uint8_t TX_Power,
                                                            uint8_t RSSI,
                                                            uint16_t Periodic_Adv_Interval,
                                                            uint8_t Direct_Address_Type,
                                                            const uint8_t* Direct_Address,
                                                            uint8_t Data_Length,
                                                            const uint8_t* Data )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_EXTENDED_ADVERTISING_REPORT_EVENT process function */
static tBleStatus hci_le_extended_advertising_report_event_process( const uint8_t* in )
{
  hci_le_extended_advertising_report_event_rp0 *rp0 = (void*)in;
  return hci_le_extended_advertising_report_event( rp0->Num_Reports,
                                                   rp0->Event_Type,
                                                   rp0->Address_Type,
                                                   rp0->Address,
                                                   rp0->Primary_PHY,
                                                   rp0->Secondary_PHY,
                                                   rp0->Advertising_SID,
                                                   rp0->TX_Power,
                                                   rp0->RSSI,
                                                   rp0->Periodic_Adv_Interval,
                                                   rp0->Direct_Address_Type,
                                                   rp0->Direct_Address,
                                                   rp0->Data_Length,
                                                   rp0->Data );
}

/* HCI_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHED_EVENT callback function */
__WEAK tBleStatus hci_le_periodic_advertising_sync_established_event( uint8_t Status,
                                                                      uint16_t Sync_Handle,
                                                                      uint8_t Advertising_SID,
                                                                      uint8_t Advertiser_Address_Type,
                                                                      const uint8_t* Advertiser_Address,
                                                                      uint8_t Advertiser_PHY,
                                                                      uint16_t Periodic_Advertising_Interval,
                                                                      uint8_t Advertiser_Clock_Accuracy )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHED_EVENT process function */
static tBleStatus hci_le_periodic_advertising_sync_established_event_process( const uint8_t* in )
{
  hci_le_periodic_advertising_sync_established_event_rp0 *rp0 = (void*)in;
  return hci_le_periodic_advertising_sync_established_event( rp0->Status,
                                                             rp0->Sync_Handle,
                                                             rp0->Advertising_SID,
                                                             rp0->Advertiser_Address_Type,
                                                             rp0->Advertiser_Address,
                                                             rp0->Advertiser_PHY,
                                                             rp0->Periodic_Advertising_Interval,
                                                             rp0->Advertiser_Clock_Accuracy );
}

/* HCI_LE_PERIODIC_ADVERTISING_REPORT_EVENT callback function */
__WEAK tBleStatus hci_le_periodic_advertising_report_event( uint16_t Sync_Handle,
                                                            uint8_t TX_Power,
                                                            uint8_t RSSI,
                                                            uint8_t CTE_Type,
                                                            uint8_t Data_Status,
                                                            uint8_t Data_Length,
                                                            const uint8_t* Data )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_PERIODIC_ADVERTISING_REPORT_EVENT process function */
static tBleStatus hci_le_periodic_advertising_report_event_process( const uint8_t* in )
{
  hci_le_periodic_advertising_report_event_rp0 *rp0 = (void*)in;
  return hci_le_periodic_advertising_report_event( rp0->Sync_Handle,
                                                   rp0->TX_Power,
                                                   rp0->RSSI,
                                                   rp0->CTE_Type,
                                                   rp0->Data_Status,
                                                   rp0->Data_Length,
                                                   rp0->Data );
}

/* HCI_LE_PERIODIC_ADVERTISING_SYNC_LOST_EVENT callback function */
__WEAK tBleStatus hci_le_periodic_advertising_sync_lost_event( uint16_t Sync_Handle )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_PERIODIC_ADVERTISING_SYNC_LOST_EVENT process function */
static tBleStatus hci_le_periodic_advertising_sync_lost_event_process( const uint8_t* in )
{
  hci_le_periodic_advertising_sync_lost_event_rp0 *rp0 = (void*)in;
  return hci_le_periodic_advertising_sync_lost_event( rp0->Sync_Handle );
}

/* HCI_LE_SCAN_TIMEOUT_EVENT callback function */
__WEAK tBleStatus hci_le_scan_timeout_event( void )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_SCAN_TIMEOUT_EVENT process function */
static tBleStatus hci_le_scan_timeout_event_process( const uint8_t* in )
{
  return hci_le_scan_timeout_event( );
}

/* HCI_LE_ADVERTISING_SET_TERMINATED_EVENT callback function */
__WEAK tBleStatus hci_le_advertising_set_terminated_event( uint8_t Status,
                                                           uint8_t Advertising_Handle,
                                                           uint16_t Connection_Handle,
                                                           uint8_t Num_Completed_Ext_Adv_Events )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_ADVERTISING_SET_TERMINATED_EVENT process function */
static tBleStatus hci_le_advertising_set_terminated_event_process( const uint8_t* in )
{
  hci_le_advertising_set_terminated_event_rp0 *rp0 = (void*)in;
  return hci_le_advertising_set_terminated_event( rp0->Status,
                                                  rp0->Advertising_Handle,
                                                  rp0->Connection_Handle,
                                                  rp0->Num_Completed_Ext_Adv_Events );
}

/* HCI_LE_SCAN_REQUEST_RECEIVED_EVENT callback function */
__WEAK tBleStatus hci_le_scan_request_received_event( uint8_t Advertising_Handle,
                                                      uint8_t Scanner_Address_Type,
                                                      const uint8_t* Scanner_Address )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_SCAN_REQUEST_RECEIVED_EVENT process function */
static tBleStatus hci_le_scan_request_received_event_process( const uint8_t* in )
{
  hci_le_scan_request_received_event_rp0 *rp0 = (void*)in;
  return hci_le_scan_request_received_event( rp0->Advertising_Handle,
                                             rp0->Scanner_Address_Type,
                                             rp0->Scanner_Address );
}

/* HCI_LE_CHANNEL_SELECTION_ALGORITHM_EVENT callback function */
__WEAK tBleStatus hci_le_channel_selection_algorithm_event( uint16_t Connection_Handle,
                                                            uint8_t Channel_Selection_Algorithm )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_CHANNEL_SELECTION_ALGORITHM_EVENT process function */
static tBleStatus hci_le_channel_selection_algorithm_event_process( const uint8_t* in )
{
  hci_le_channel_selection_algorithm_event_rp0 *rp0 = (void*)in;
  return hci_le_channel_selection_algorithm_event( rp0->Connection_Handle,
                                                   rp0->Channel_Selection_Algorithm );
}

/* HCI_LE_CONNECTIONLESS_IQ_REPORT_EVENT callback function */
__WEAK tBleStatus hci_le_connectionless_iq_report_event( uint16_t Sync_Handle,
                                                         uint8_t Channel_Index,
                                                         uint16_t RSSI,
                                                         uint8_t RSSI_Antenna_ID,
                                                         uint8_t CTE_Type,
                                                         uint8_t Slot_Durations,
                                                         uint8_t Packet_Status,
                                                         uint16_t Periodic_Event_Counter,
                                                         uint8_t Sample_Count,
                                                         const IQ_Sample_t* IQ_Sample )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_CONNECTIONLESS_IQ_REPORT_EVENT process function */
static tBleStatus hci_le_connectionless_iq_report_event_process( const uint8_t* in )
{
  hci_le_connectionless_iq_report_event_rp0 *rp0 = (void*)in;
  return hci_le_connectionless_iq_report_event( rp0->Sync_Handle,
                                                rp0->Channel_Index,
                                                rp0->RSSI,
                                                rp0->RSSI_Antenna_ID,
                                                rp0->CTE_Type,
                                                rp0->Slot_Durations,
                                                rp0->Packet_Status,
                                                rp0->Periodic_Event_Counter,
                                                rp0->Sample_Count,
                                                rp0->IQ_Sample );
}

/* HCI_LE_CONNECTION_IQ_REPORT_EVENT callback function */
__WEAK tBleStatus hci_le_connection_iq_report_event( uint16_t Connection_Handle,
                                                     uint8_t RX_PHY,
                                                     uint8_t Data_Channel_Index,
                                                     uint16_t RSSI,
                                                     uint8_t RSSI_Antenna_ID,
                                                     uint8_t CTE_Type,
                                                     uint8_t Slot_Durations,
                                                     uint8_t Packet_Status,
                                                     uint16_t Connection_Event_Counter,
                                                     uint8_t Sample_Count,
                                                     const IQ_Sample_t* IQ_Sample )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_CONNECTION_IQ_REPORT_EVENT process function */
static tBleStatus hci_le_connection_iq_report_event_process( const uint8_t* in )
{
  hci_le_connection_iq_report_event_rp0 *rp0 = (void*)in;
  return hci_le_connection_iq_report_event( rp0->Connection_Handle,
                                            rp0->RX_PHY,
                                            rp0->Data_Channel_Index,
                                            rp0->RSSI,
                                            rp0->RSSI_Antenna_ID,
                                            rp0->CTE_Type,
                                            rp0->Slot_Durations,
                                            rp0->Packet_Status,
                                            rp0->Connection_Event_Counter,
                                            rp0->Sample_Count,
                                            rp0->IQ_Sample );
}

/* HCI_LE_CTE_REQUEST_FAILED_EVENT callback function */
__WEAK tBleStatus hci_le_cte_request_failed_event( uint8_t Status,
                                                   uint16_t Connection_Handle )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_CTE_REQUEST_FAILED_EVENT process function */
static tBleStatus hci_le_cte_request_failed_event_process( const uint8_t* in )
{
  hci_le_cte_request_failed_event_rp0 *rp0 = (void*)in;
  return hci_le_cte_request_failed_event( rp0->Status,
                                          rp0->Connection_Handle );
}

/* HCI_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED_EVENT callback function */
__WEAK tBleStatus hci_le_periodic_advertising_sync_transfer_received_event( uint8_t Status,
                                                                            uint16_t Connection_Handle,
                                                                            uint16_t Service_Data,
                                                                            uint16_t Sync_Handle,
                                                                            uint8_t Advertising_SID,
                                                                            uint8_t Advertiser_Address_Type,
                                                                            const uint8_t* Advertiser_Address,
                                                                            uint8_t Advertiser_PHY,
                                                                            uint16_t Periodic_Advertising_Interval,
                                                                            uint8_t Advertiser_Clock_Accuracy )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECEIVED_EVENT process function */
static tBleStatus hci_le_periodic_advertising_sync_transfer_received_event_process( const uint8_t* in )
{
  hci_le_periodic_advertising_sync_transfer_received_event_rp0 *rp0 = (void*)in;
  return hci_le_periodic_advertising_sync_transfer_received_event( rp0->Status,
                                                                   rp0->Connection_Handle,
                                                                   rp0->Service_Data,
                                                                   rp0->Sync_Handle,
                                                                   rp0->Advertising_SID,
                                                                   rp0->Advertiser_Address_Type,
                                                                   rp0->Advertiser_Address,
                                                                   rp0->Advertiser_PHY,
                                                                   rp0->Periodic_Advertising_Interval,
                                                                   rp0->Advertiser_Clock_Accuracy );
}

/* HCI_LE_CIS_ESTABLISHED_EVENT callback function */
__WEAK tBleStatus hci_le_cis_established_event( uint8_t Status,
                                                uint16_t Connection_Handle,
                                                const uint8_t* CIG_Sync_Delay,
                                                const uint8_t* CIS_Sync_Delay,
                                                const uint8_t* Transport_Latency_C_To_P,
                                                const uint8_t* Transport_Latency_P_To_C,
                                                uint8_t PHY_C_To_P,
                                                uint8_t PHY_P_To_C,
                                                uint8_t NSE,
                                                uint8_t BN_C_To_P,
                                                uint8_t BN_P_To_C,
                                                uint8_t FT_C_To_P,
                                                uint8_t FT_P_To_C,
                                                uint16_t Max_PDU_C_To_P,
                                                uint16_t Max_PDU_P_To_C,
                                                uint16_t ISO_Interval )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_CIS_ESTABLISHED_EVENT process function */
static tBleStatus hci_le_cis_established_event_process( const uint8_t* in )
{
  hci_le_cis_established_event_rp0 *rp0 = (void*)in;
  return hci_le_cis_established_event( rp0->Status,
                                       rp0->Connection_Handle,
                                       rp0->CIG_Sync_Delay,
                                       rp0->CIS_Sync_Delay,
                                       rp0->Transport_Latency_C_To_P,
                                       rp0->Transport_Latency_P_To_C,
                                       rp0->PHY_C_To_P,
                                       rp0->PHY_P_To_C,
                                       rp0->NSE,
                                       rp0->BN_C_To_P,
                                       rp0->BN_P_To_C,
                                       rp0->FT_C_To_P,
                                       rp0->FT_P_To_C,
                                       rp0->Max_PDU_C_To_P,
                                       rp0->Max_PDU_P_To_C,
                                       rp0->ISO_Interval );
}

/* HCI_LE_CIS_REQUEST_EVENT callback function */
__WEAK tBleStatus hci_le_cis_request_event( uint16_t ACL_Connection_Handle,
                                            uint16_t CIS_Connection_Handle,
                                            uint8_t CIG_ID,
                                            uint8_t CIS_ID )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_CIS_REQUEST_EVENT process function */
static tBleStatus hci_le_cis_request_event_process( const uint8_t* in )
{
  hci_le_cis_request_event_rp0 *rp0 = (void*)in;
  return hci_le_cis_request_event( rp0->ACL_Connection_Handle,
                                   rp0->CIS_Connection_Handle,
                                   rp0->CIG_ID,
                                   rp0->CIS_ID );
}

/* HCI_LE_CREATE_BIG_COMPLETE_EVENT callback function */
__WEAK tBleStatus hci_le_create_big_complete_event( uint8_t Status,
                                                    uint8_t BIG_Handle,
                                                    const uint8_t* BIG_Sync_Delay,
                                                    const uint8_t* Transport_Latency_BIG,
                                                    uint8_t PHY,
                                                    uint8_t NSE,
                                                    uint8_t BN,
                                                    uint8_t PTO,
                                                    uint8_t IRC,
                                                    uint16_t Max_PDU,
                                                    uint16_t ISO_Interval,
                                                    uint8_t Num_BIS,
                                                    const Connection_Handle_t* Connection_Handle )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_CREATE_BIG_COMPLETE_EVENT process function */
static tBleStatus hci_le_create_big_complete_event_process( const uint8_t* in )
{
  hci_le_create_big_complete_event_rp0 *rp0 = (void*)in;
  return hci_le_create_big_complete_event( rp0->Status,
                                           rp0->BIG_Handle,
                                           rp0->BIG_Sync_Delay,
                                           rp0->Transport_Latency_BIG,
                                           rp0->PHY,
                                           rp0->NSE,
                                           rp0->BN,
                                           rp0->PTO,
                                           rp0->IRC,
                                           rp0->Max_PDU,
                                           rp0->ISO_Interval,
                                           rp0->Num_BIS,
                                           rp0->Connection_Handle );
}

/* HCI_LE_TERMINATE_BIG_COMPLETE_EVENT callback function */
__WEAK tBleStatus hci_le_terminate_big_complete_event( uint8_t BIG_Handle,
                                                       uint8_t Reason )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_TERMINATE_BIG_COMPLETE_EVENT process function */
static tBleStatus hci_le_terminate_big_complete_event_process( const uint8_t* in )
{
  hci_le_terminate_big_complete_event_rp0 *rp0 = (void*)in;
  return hci_le_terminate_big_complete_event( rp0->BIG_Handle,
                                              rp0->Reason );
}

/* HCI_LE_BIG_SYNC_ESTABLISHED_EVENT callback function */
__WEAK tBleStatus hci_le_big_sync_established_event( uint8_t Status,
                                                     uint8_t BIG_Handle,
                                                     const uint8_t* Transport_Latency_BIG,
                                                     uint8_t NSE,
                                                     uint8_t BN,
                                                     uint8_t PTO,
                                                     uint8_t IRC,
                                                     uint16_t Max_PDU,
                                                     uint16_t ISO_Interval,
                                                     uint8_t Num_BIS,
                                                     const Connection_Handle_t* Connection_Handle )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_BIG_SYNC_ESTABLISHED_EVENT process function */
static tBleStatus hci_le_big_sync_established_event_process( const uint8_t* in )
{
  hci_le_big_sync_established_event_rp0 *rp0 = (void*)in;
  return hci_le_big_sync_established_event( rp0->Status,
                                            rp0->BIG_Handle,
                                            rp0->Transport_Latency_BIG,
                                            rp0->NSE,
                                            rp0->BN,
                                            rp0->PTO,
                                            rp0->IRC,
                                            rp0->Max_PDU,
                                            rp0->ISO_Interval,
                                            rp0->Num_BIS,
                                            rp0->Connection_Handle );
}

/* HCI_LE_BIG_SYNC_LOST_EVENT callback function */
__WEAK tBleStatus hci_le_big_sync_lost_event( uint8_t BIG_Handle,
                                              uint8_t Reason )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_BIG_SYNC_LOST_EVENT process function */
static tBleStatus hci_le_big_sync_lost_event_process( const uint8_t* in )
{
  hci_le_big_sync_lost_event_rp0 *rp0 = (void*)in;
  return hci_le_big_sync_lost_event( rp0->BIG_Handle,
                                     rp0->Reason );
}

/* HCI_LE_REQUEST_PEER_SCA_COMPLETE_EVENT callback function */
__WEAK tBleStatus hci_le_request_peer_sca_complete_event( uint8_t Status,
                                                          uint16_t Connection_Handle,
                                                          uint8_t Peer_Clock_Accuracy )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_REQUEST_PEER_SCA_COMPLETE_EVENT process function */
static tBleStatus hci_le_request_peer_sca_complete_event_process( const uint8_t* in )
{
  hci_le_request_peer_sca_complete_event_rp0 *rp0 = (void*)in;
  return hci_le_request_peer_sca_complete_event( rp0->Status,
                                                 rp0->Connection_Handle,
                                                 rp0->Peer_Clock_Accuracy );
}

/* HCI_LE_PATH_LOSS_THRESHOLD_EVENT callback function */
__WEAK tBleStatus hci_le_path_loss_threshold_event( uint16_t Connection_Handle,
                                                    uint8_t Current_Path_Loss,
                                                    uint8_t Zone_Entered )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_PATH_LOSS_THRESHOLD_EVENT process function */
static tBleStatus hci_le_path_loss_threshold_event_process( const uint8_t* in )
{
  hci_le_path_loss_threshold_event_rp0 *rp0 = (void*)in;
  return hci_le_path_loss_threshold_event( rp0->Connection_Handle,
                                           rp0->Current_Path_Loss,
                                           rp0->Zone_Entered );
}

/* HCI_LE_TRANSMIT_POWER_REPORTING_EVENT callback function */
__WEAK tBleStatus hci_le_transmit_power_reporting_event( uint8_t Status,
                                                         uint16_t Connection_Handle,
                                                         uint8_t Reason,
                                                         uint8_t PHY,
                                                         uint8_t TX_Power_Level,
                                                         uint8_t TX_Power_Level_Flag,
                                                         uint8_t Delta )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_TRANSMIT_POWER_REPORTING_EVENT process function */
static tBleStatus hci_le_transmit_power_reporting_event_process( const uint8_t* in )
{
  hci_le_transmit_power_reporting_event_rp0 *rp0 = (void*)in;
  return hci_le_transmit_power_reporting_event( rp0->Status,
                                                rp0->Connection_Handle,
                                                rp0->Reason,
                                                rp0->PHY,
                                                rp0->TX_Power_Level,
                                                rp0->TX_Power_Level_Flag,
                                                rp0->Delta );
}

/* HCI_LE_BIGINFO_ADVERTISING_REPORT_EVENT callback function */
__WEAK tBleStatus hci_le_biginfo_advertising_report_event( uint16_t Sync_Handle,
                                                           uint8_t Num_BIS,
                                                           uint8_t NSE,
                                                           uint16_t ISO_Interval,
                                                           uint8_t BN,
                                                           uint8_t PTO,
                                                           uint8_t IRC,
                                                           uint16_t Max_PDU,
                                                           const uint8_t* SDU_Interval,
                                                           uint16_t Max_SDU,
                                                           uint8_t PHY,
                                                           uint8_t Framing,
                                                           uint8_t Encryption )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_BIGINFO_ADVERTISING_REPORT_EVENT process function */
static tBleStatus hci_le_biginfo_advertising_report_event_process( const uint8_t* in )
{
  hci_le_biginfo_advertising_report_event_rp0 *rp0 = (void*)in;
  return hci_le_biginfo_advertising_report_event( rp0->Sync_Handle,
                                                  rp0->Num_BIS,
                                                  rp0->NSE,
                                                  rp0->ISO_Interval,
                                                  rp0->BN,
                                                  rp0->PTO,
                                                  rp0->IRC,
                                                  rp0->Max_PDU,
                                                  rp0->SDU_Interval,
                                                  rp0->Max_SDU,
                                                  rp0->PHY,
                                                  rp0->Framing,
                                                  rp0->Encryption );
}

/* HCI_LE_SUBRATE_CHANGE_EVENT callback function */
__WEAK tBleStatus hci_le_subrate_change_event( uint8_t Status,
                                               uint16_t Connection_Handle,
                                               uint16_t Subrate_Factor,
                                               uint16_t Peripheral_Latency,
                                               uint16_t Continuation_Number,
                                               uint16_t Supervision_Timeout )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_SUBRATE_CHANGE_EVENT process function */
static tBleStatus hci_le_subrate_change_event_process( const uint8_t* in )
{
  hci_le_subrate_change_event_rp0 *rp0 = (void*)in;
  return hci_le_subrate_change_event( rp0->Status,
                                      rp0->Connection_Handle,
                                      rp0->Subrate_Factor,
                                      rp0->Peripheral_Latency,
                                      rp0->Continuation_Number,
                                      rp0->Supervision_Timeout );
}

/* HCI_LE_CIS_ESTABLISHED_V2_EVENT callback function */
__WEAK tBleStatus hci_le_cis_established_v2_event( uint8_t Status,
                                                   uint16_t Connection_Handle,
                                                   const uint8_t* CIG_Sync_Delay,
                                                   const uint8_t* CIS_Sync_Delay,
                                                   const uint8_t* Transport_Latency_C_To_P,
                                                   const uint8_t* Transport_Latency_P_To_C,
                                                   uint8_t PHY_C_To_P,
                                                   uint8_t PHY_P_To_C,
                                                   uint8_t NSE,
                                                   uint8_t BN_C_To_P,
                                                   uint8_t BN_P_To_C,
                                                   uint8_t FT_C_To_P,
                                                   uint8_t FT_P_To_C,
                                                   uint16_t Max_PDU_C_To_P,
                                                   uint16_t Max_PDU_P_To_C,
                                                   uint16_t ISO_Interval,
                                                   const uint8_t* Sub_Interval,
                                                   uint16_t Max_SDU_C_To_P,
                                                   uint16_t Max_SDU_P_To_C,
                                                   const uint8_t* SDU_Interval_C_To_P,
                                                   const uint8_t* SDU_Interval_P_To_C,
                                                   uint8_t Framing )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* HCI_LE_CIS_ESTABLISHED_V2_EVENT process function */
static tBleStatus hci_le_cis_established_v2_event_process( const uint8_t* in )
{
  hci_le_cis_established_v2_event_rp0 *rp0 = (void*)in;
  return hci_le_cis_established_v2_event( rp0->Status,
                                          rp0->Connection_Handle,
                                          rp0->CIG_Sync_Delay,
                                          rp0->CIS_Sync_Delay,
                                          rp0->Transport_Latency_C_To_P,
                                          rp0->Transport_Latency_P_To_C,
                                          rp0->PHY_C_To_P,
                                          rp0->PHY_P_To_C,
                                          rp0->NSE,
                                          rp0->BN_C_To_P,
                                          rp0->BN_P_To_C,
                                          rp0->FT_C_To_P,
                                          rp0->FT_P_To_C,
                                          rp0->Max_PDU_C_To_P,
                                          rp0->Max_PDU_P_To_C,
                                          rp0->ISO_Interval,
                                          rp0->Sub_Interval,
                                          rp0->Max_SDU_C_To_P,
                                          rp0->Max_SDU_P_To_C,
                                          rp0->SDU_Interval_C_To_P,
                                          rp0->SDU_Interval_P_To_C,
                                          rp0->Framing );
}

/* ACI_HAL_END_OF_RADIO_ACTIVITY_EVENT callback function */
__WEAK tBleStatus aci_hal_end_of_radio_activity_event( uint8_t Last_State,
                                                       uint8_t Next_State,
                                                       uint32_t Next_State_SysTime,
                                                       uint8_t Last_State_Slot,
                                                       uint8_t Next_State_Slot )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_HAL_END_OF_RADIO_ACTIVITY_EVENT process function */
static tBleStatus aci_hal_end_of_radio_activity_event_process( const uint8_t* in )
{
  aci_hal_end_of_radio_activity_event_rp0 *rp0 = (void*)in;
  return aci_hal_end_of_radio_activity_event( rp0->Last_State,
                                              rp0->Next_State,
                                              rp0->Next_State_SysTime,
                                              rp0->Last_State_Slot,
                                              rp0->Next_State_Slot );
}

/* ACI_HAL_WARNING_EVENT callback function */
__WEAK tBleStatus aci_hal_warning_event( uint8_t Warning_Type,
                                         uint8_t Data_Length,
                                         const uint8_t* Data )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_HAL_WARNING_EVENT process function */
static tBleStatus aci_hal_warning_event_process( const uint8_t* in )
{
  aci_hal_warning_event_rp0 *rp0 = (void*)in;
  return aci_hal_warning_event( rp0->Warning_Type,
                                rp0->Data_Length,
                                rp0->Data );
}

/* ACI_HAL_SYNC_EVENT callback function */
__WEAK tBleStatus aci_hal_sync_event( uint8_t Group_Id,
                                      uint32_t Next_Anchor_Point,
                                      uint32_t Time_Stamp,
                                      uint32_t Next_Sdu_Delivery_Timeout )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_HAL_SYNC_EVENT process function */
static tBleStatus aci_hal_sync_event_process( const uint8_t* in )
{
  aci_hal_sync_event_rp0 *rp0 = (void*)in;
  return aci_hal_sync_event( rp0->Group_Id,
                             rp0->Next_Anchor_Point,
                             rp0->Time_Stamp,
                             rp0->Next_Sdu_Delivery_Timeout );
}

/* ACI_GAP_LIMITED_DISCOVERABLE_EVENT callback function */
__WEAK tBleStatus aci_gap_limited_discoverable_event( void )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GAP_LIMITED_DISCOVERABLE_EVENT process function */
static tBleStatus aci_gap_limited_discoverable_event_process( const uint8_t* in )
{
  return aci_gap_limited_discoverable_event( );
}

/* ACI_GAP_PAIRING_COMPLETE_EVENT callback function */
__WEAK tBleStatus aci_gap_pairing_complete_event( uint16_t Connection_Handle,
                                                  uint8_t Status,
                                                  uint8_t Reason )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GAP_PAIRING_COMPLETE_EVENT process function */
static tBleStatus aci_gap_pairing_complete_event_process( const uint8_t* in )
{
  aci_gap_pairing_complete_event_rp0 *rp0 = (void*)in;
  return aci_gap_pairing_complete_event( rp0->Connection_Handle,
                                         rp0->Status,
                                         rp0->Reason );
}

/* ACI_GAP_PASS_KEY_REQ_EVENT callback function */
__WEAK tBleStatus aci_gap_pass_key_req_event( uint16_t Connection_Handle )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GAP_PASS_KEY_REQ_EVENT process function */
static tBleStatus aci_gap_pass_key_req_event_process( const uint8_t* in )
{
  aci_gap_pass_key_req_event_rp0 *rp0 = (void*)in;
  return aci_gap_pass_key_req_event( rp0->Connection_Handle );
}

/* ACI_GAP_AUTHORIZATION_REQ_EVENT callback function */
__WEAK tBleStatus aci_gap_authorization_req_event( uint16_t Connection_Handle )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GAP_AUTHORIZATION_REQ_EVENT process function */
static tBleStatus aci_gap_authorization_req_event_process( const uint8_t* in )
{
  aci_gap_authorization_req_event_rp0 *rp0 = (void*)in;
  return aci_gap_authorization_req_event( rp0->Connection_Handle );
}

/* ACI_GAP_BOND_LOST_EVENT callback function */
__WEAK tBleStatus aci_gap_bond_lost_event( uint16_t Connection_Handle )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GAP_BOND_LOST_EVENT process function */
static tBleStatus aci_gap_bond_lost_event_process( const uint8_t* in )
{
  aci_gap_bond_lost_event_rp0 *rp0 = (void*)in;
  return aci_gap_bond_lost_event( rp0->Connection_Handle );
}

/* ACI_GAP_PROC_COMPLETE_EVENT callback function */
__WEAK tBleStatus aci_gap_proc_complete_event( uint8_t Procedure_Code,
                                               uint8_t Status,
                                               uint8_t Data_Length,
                                               const uint8_t* Data )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GAP_PROC_COMPLETE_EVENT process function */
static tBleStatus aci_gap_proc_complete_event_process( const uint8_t* in )
{
  aci_gap_proc_complete_event_rp0 *rp0 = (void*)in;
  return aci_gap_proc_complete_event( rp0->Procedure_Code,
                                      rp0->Status,
                                      rp0->Data_Length,
                                      rp0->Data );
}

/* ACI_GAP_ADDR_NOT_RESOLVED_EVENT callback function */
__WEAK tBleStatus aci_gap_addr_not_resolved_event( uint16_t Connection_Handle )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GAP_ADDR_NOT_RESOLVED_EVENT process function */
static tBleStatus aci_gap_addr_not_resolved_event_process( const uint8_t* in )
{
  aci_gap_addr_not_resolved_event_rp0 *rp0 = (void*)in;
  return aci_gap_addr_not_resolved_event( rp0->Connection_Handle );
}

/* ACI_GAP_NUMERIC_COMPARISON_VALUE_EVENT callback function */
__WEAK tBleStatus aci_gap_numeric_comparison_value_event( uint16_t Connection_Handle,
                                                          uint32_t Numeric_Value )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GAP_NUMERIC_COMPARISON_VALUE_EVENT process function */
static tBleStatus aci_gap_numeric_comparison_value_event_process( const uint8_t* in )
{
  aci_gap_numeric_comparison_value_event_rp0 *rp0 = (void*)in;
  return aci_gap_numeric_comparison_value_event( rp0->Connection_Handle,
                                                 rp0->Numeric_Value );
}

/* ACI_GAP_KEYPRESS_NOTIFICATION_EVENT callback function */
__WEAK tBleStatus aci_gap_keypress_notification_event( uint16_t Connection_Handle,
                                                       uint8_t Notification_Type )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GAP_KEYPRESS_NOTIFICATION_EVENT process function */
static tBleStatus aci_gap_keypress_notification_event_process( const uint8_t* in )
{
  aci_gap_keypress_notification_event_rp0 *rp0 = (void*)in;
  return aci_gap_keypress_notification_event( rp0->Connection_Handle,
                                              rp0->Notification_Type );
}

/* ACI_GAP_PAIRING_REQUEST_EVENT callback function */
__WEAK tBleStatus aci_gap_pairing_request_event( uint16_t Connection_Handle,
                                                 uint8_t Bonded,
                                                 uint8_t Auth_Req )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GAP_PAIRING_REQUEST_EVENT process function */
static tBleStatus aci_gap_pairing_request_event_process( const uint8_t* in )
{
  aci_gap_pairing_request_event_rp0 *rp0 = (void*)in;
  return aci_gap_pairing_request_event( rp0->Connection_Handle,
                                        rp0->Bonded,
                                        rp0->Auth_Req );
}

/* ACI_L2CAP_CONNECTION_UPDATE_RESP_EVENT callback function */
__WEAK tBleStatus aci_l2cap_connection_update_resp_event( uint16_t Connection_Handle,
                                                          uint16_t Result )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_L2CAP_CONNECTION_UPDATE_RESP_EVENT process function */
static tBleStatus aci_l2cap_connection_update_resp_event_process( const uint8_t* in )
{
  aci_l2cap_connection_update_resp_event_rp0 *rp0 = (void*)in;
  return aci_l2cap_connection_update_resp_event( rp0->Connection_Handle,
                                                 rp0->Result );
}

/* ACI_L2CAP_PROC_TIMEOUT_EVENT callback function */
__WEAK tBleStatus aci_l2cap_proc_timeout_event( uint16_t Connection_Handle,
                                                uint8_t Data_Length,
                                                const uint8_t* Data )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_L2CAP_PROC_TIMEOUT_EVENT process function */
static tBleStatus aci_l2cap_proc_timeout_event_process( const uint8_t* in )
{
  aci_l2cap_proc_timeout_event_rp0 *rp0 = (void*)in;
  return aci_l2cap_proc_timeout_event( rp0->Connection_Handle,
                                       rp0->Data_Length,
                                       rp0->Data );
}

/* ACI_L2CAP_CONNECTION_UPDATE_REQ_EVENT callback function */
__WEAK tBleStatus aci_l2cap_connection_update_req_event( uint16_t Connection_Handle,
                                                         uint8_t Identifier,
                                                         uint16_t L2CAP_Length,
                                                         uint16_t Interval_Min,
                                                         uint16_t Interval_Max,
                                                         uint16_t Latency,
                                                         uint16_t Timeout_Multiplier )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_L2CAP_CONNECTION_UPDATE_REQ_EVENT process function */
static tBleStatus aci_l2cap_connection_update_req_event_process( const uint8_t* in )
{
  aci_l2cap_connection_update_req_event_rp0 *rp0 = (void*)in;
  return aci_l2cap_connection_update_req_event( rp0->Connection_Handle,
                                                rp0->Identifier,
                                                rp0->L2CAP_Length,
                                                rp0->Interval_Min,
                                                rp0->Interval_Max,
                                                rp0->Latency,
                                                rp0->Timeout_Multiplier );
}

/* ACI_L2CAP_COMMAND_REJECT_EVENT callback function */
__WEAK tBleStatus aci_l2cap_command_reject_event( uint16_t Connection_Handle,
                                                  uint8_t Identifier,
                                                  uint16_t Reason,
                                                  uint8_t Data_Length,
                                                  const uint8_t* Data )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_L2CAP_COMMAND_REJECT_EVENT process function */
static tBleStatus aci_l2cap_command_reject_event_process( const uint8_t* in )
{
  aci_l2cap_command_reject_event_rp0 *rp0 = (void*)in;
  return aci_l2cap_command_reject_event( rp0->Connection_Handle,
                                         rp0->Identifier,
                                         rp0->Reason,
                                         rp0->Data_Length,
                                         rp0->Data );
}

/* ACI_L2CAP_COC_CONNECT_EVENT callback function */
__WEAK tBleStatus aci_l2cap_coc_connect_event( uint16_t Connection_Handle,
                                               uint16_t SPSM,
                                               uint16_t MTU,
                                               uint16_t MPS,
                                               uint16_t Initial_Credits,
                                               uint8_t Channel_Number )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_L2CAP_COC_CONNECT_EVENT process function */
static tBleStatus aci_l2cap_coc_connect_event_process( const uint8_t* in )
{
  aci_l2cap_coc_connect_event_rp0 *rp0 = (void*)in;
  return aci_l2cap_coc_connect_event( rp0->Connection_Handle,
                                      rp0->SPSM,
                                      rp0->MTU,
                                      rp0->MPS,
                                      rp0->Initial_Credits,
                                      rp0->Channel_Number );
}

/* ACI_L2CAP_COC_CONNECT_CONFIRM_EVENT callback function */
__WEAK tBleStatus aci_l2cap_coc_connect_confirm_event( uint16_t Connection_Handle,
                                                       uint16_t MTU,
                                                       uint16_t MPS,
                                                       uint16_t Initial_Credits,
                                                       uint16_t Result,
                                                       uint8_t Channel_Number,
                                                       const uint8_t* Channel_Index_List )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_L2CAP_COC_CONNECT_CONFIRM_EVENT process function */
static tBleStatus aci_l2cap_coc_connect_confirm_event_process( const uint8_t* in )
{
  aci_l2cap_coc_connect_confirm_event_rp0 *rp0 = (void*)in;
  return aci_l2cap_coc_connect_confirm_event( rp0->Connection_Handle,
                                              rp0->MTU,
                                              rp0->MPS,
                                              rp0->Initial_Credits,
                                              rp0->Result,
                                              rp0->Channel_Number,
                                              rp0->Channel_Index_List );
}

/* ACI_L2CAP_COC_RECONF_EVENT callback function */
__WEAK tBleStatus aci_l2cap_coc_reconf_event( uint16_t Connection_Handle,
                                              uint16_t MTU,
                                              uint16_t MPS,
                                              uint8_t Channel_Number,
                                              const uint8_t* Channel_Index_List )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_L2CAP_COC_RECONF_EVENT process function */
static tBleStatus aci_l2cap_coc_reconf_event_process( const uint8_t* in )
{
  aci_l2cap_coc_reconf_event_rp0 *rp0 = (void*)in;
  return aci_l2cap_coc_reconf_event( rp0->Connection_Handle,
                                     rp0->MTU,
                                     rp0->MPS,
                                     rp0->Channel_Number,
                                     rp0->Channel_Index_List );
}

/* ACI_L2CAP_COC_RECONF_CONFIRM_EVENT callback function */
__WEAK tBleStatus aci_l2cap_coc_reconf_confirm_event( uint16_t Connection_Handle,
                                                      uint16_t Result )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_L2CAP_COC_RECONF_CONFIRM_EVENT process function */
static tBleStatus aci_l2cap_coc_reconf_confirm_event_process( const uint8_t* in )
{
  aci_l2cap_coc_reconf_confirm_event_rp0 *rp0 = (void*)in;
  return aci_l2cap_coc_reconf_confirm_event( rp0->Connection_Handle,
                                             rp0->Result );
}

/* ACI_L2CAP_COC_DISCONNECT_EVENT callback function */
__WEAK tBleStatus aci_l2cap_coc_disconnect_event( uint8_t Channel_Index )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_L2CAP_COC_DISCONNECT_EVENT process function */
static tBleStatus aci_l2cap_coc_disconnect_event_process( const uint8_t* in )
{
  aci_l2cap_coc_disconnect_event_rp0 *rp0 = (void*)in;
  return aci_l2cap_coc_disconnect_event( rp0->Channel_Index );
}

/* ACI_L2CAP_COC_FLOW_CONTROL_EVENT callback function */
__WEAK tBleStatus aci_l2cap_coc_flow_control_event( uint8_t Channel_Index,
                                                    uint16_t Credits )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_L2CAP_COC_FLOW_CONTROL_EVENT process function */
static tBleStatus aci_l2cap_coc_flow_control_event_process( const uint8_t* in )
{
  aci_l2cap_coc_flow_control_event_rp0 *rp0 = (void*)in;
  return aci_l2cap_coc_flow_control_event( rp0->Channel_Index,
                                           rp0->Credits );
}

/* ACI_L2CAP_COC_RX_DATA_EVENT callback function */
__WEAK tBleStatus aci_l2cap_coc_rx_data_event( uint8_t Channel_Index,
                                               uint16_t Length,
                                               const uint8_t* Data )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_L2CAP_COC_RX_DATA_EVENT process function */
static tBleStatus aci_l2cap_coc_rx_data_event_process( const uint8_t* in )
{
  aci_l2cap_coc_rx_data_event_rp0 *rp0 = (void*)in;
  return aci_l2cap_coc_rx_data_event( rp0->Channel_Index,
                                      rp0->Length,
                                      rp0->Data );
}

/* ACI_L2CAP_COC_TX_POOL_AVAILABLE_EVENT callback function */
__WEAK tBleStatus aci_l2cap_coc_tx_pool_available_event( void )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_L2CAP_COC_TX_POOL_AVAILABLE_EVENT process function */
static tBleStatus aci_l2cap_coc_tx_pool_available_event_process( const uint8_t* in )
{
  return aci_l2cap_coc_tx_pool_available_event( );
}

/* ACI_GATT_ATTRIBUTE_MODIFIED_EVENT callback function */
__WEAK tBleStatus aci_gatt_attribute_modified_event( uint16_t Connection_Handle,
                                                     uint16_t Attr_Handle,
                                                     uint16_t Offset,
                                                     uint16_t Attr_Data_Length,
                                                     const uint8_t* Attr_Data )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GATT_ATTRIBUTE_MODIFIED_EVENT process function */
static tBleStatus aci_gatt_attribute_modified_event_process( const uint8_t* in )
{
  aci_gatt_attribute_modified_event_rp0 *rp0 = (void*)in;
  return aci_gatt_attribute_modified_event( rp0->Connection_Handle,
                                            rp0->Attr_Handle,
                                            rp0->Offset,
                                            rp0->Attr_Data_Length,
                                            rp0->Attr_Data );
}

/* ACI_GATT_PROC_TIMEOUT_EVENT callback function */
__WEAK tBleStatus aci_gatt_proc_timeout_event( uint16_t Connection_Handle )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GATT_PROC_TIMEOUT_EVENT process function */
static tBleStatus aci_gatt_proc_timeout_event_process( const uint8_t* in )
{
  aci_gatt_proc_timeout_event_rp0 *rp0 = (void*)in;
  return aci_gatt_proc_timeout_event( rp0->Connection_Handle );
}

/* ACI_ATT_EXCHANGE_MTU_RESP_EVENT callback function */
__WEAK tBleStatus aci_att_exchange_mtu_resp_event( uint16_t Connection_Handle,
                                                   uint16_t Server_RX_MTU )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_ATT_EXCHANGE_MTU_RESP_EVENT process function */
static tBleStatus aci_att_exchange_mtu_resp_event_process( const uint8_t* in )
{
  aci_att_exchange_mtu_resp_event_rp0 *rp0 = (void*)in;
  return aci_att_exchange_mtu_resp_event( rp0->Connection_Handle,
                                          rp0->Server_RX_MTU );
}

/* ACI_ATT_FIND_INFO_RESP_EVENT callback function */
__WEAK tBleStatus aci_att_find_info_resp_event( uint16_t Connection_Handle,
                                                uint8_t Format,
                                                uint8_t Event_Data_Length,
                                                const uint8_t* Handle_UUID_Pair )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_ATT_FIND_INFO_RESP_EVENT process function */
static tBleStatus aci_att_find_info_resp_event_process( const uint8_t* in )
{
  aci_att_find_info_resp_event_rp0 *rp0 = (void*)in;
  return aci_att_find_info_resp_event( rp0->Connection_Handle,
                                       rp0->Format,
                                       rp0->Event_Data_Length,
                                       rp0->Handle_UUID_Pair );
}

/* ACI_ATT_FIND_BY_TYPE_VALUE_RESP_EVENT callback function */
__WEAK tBleStatus aci_att_find_by_type_value_resp_event( uint16_t Connection_Handle,
                                                         uint8_t Num_of_Handle_Pair,
                                                         const Attribute_Group_Handle_Pair_t* Attribute_Group_Handle_Pair )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_ATT_FIND_BY_TYPE_VALUE_RESP_EVENT process function */
static tBleStatus aci_att_find_by_type_value_resp_event_process( const uint8_t* in )
{
  aci_att_find_by_type_value_resp_event_rp0 *rp0 = (void*)in;
  return aci_att_find_by_type_value_resp_event( rp0->Connection_Handle,
                                                rp0->Num_of_Handle_Pair,
                                                rp0->Attribute_Group_Handle_Pair );
}

/* ACI_ATT_READ_BY_TYPE_RESP_EVENT callback function */
__WEAK tBleStatus aci_att_read_by_type_resp_event( uint16_t Connection_Handle,
                                                   uint8_t Handle_Value_Pair_Length,
                                                   uint8_t Data_Length,
                                                   const uint8_t* Handle_Value_Pair_Data )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_ATT_READ_BY_TYPE_RESP_EVENT process function */
static tBleStatus aci_att_read_by_type_resp_event_process( const uint8_t* in )
{
  aci_att_read_by_type_resp_event_rp0 *rp0 = (void*)in;
  return aci_att_read_by_type_resp_event( rp0->Connection_Handle,
                                          rp0->Handle_Value_Pair_Length,
                                          rp0->Data_Length,
                                          rp0->Handle_Value_Pair_Data );
}

/* ACI_ATT_READ_RESP_EVENT callback function */
__WEAK tBleStatus aci_att_read_resp_event( uint16_t Connection_Handle,
                                           uint8_t Event_Data_Length,
                                           const uint8_t* Attribute_Value )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_ATT_READ_RESP_EVENT process function */
static tBleStatus aci_att_read_resp_event_process( const uint8_t* in )
{
  aci_att_read_resp_event_rp0 *rp0 = (void*)in;
  return aci_att_read_resp_event( rp0->Connection_Handle,
                                  rp0->Event_Data_Length,
                                  rp0->Attribute_Value );
}

/* ACI_ATT_READ_BLOB_RESP_EVENT callback function */
__WEAK tBleStatus aci_att_read_blob_resp_event( uint16_t Connection_Handle,
                                                uint8_t Event_Data_Length,
                                                const uint8_t* Attribute_Value )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_ATT_READ_BLOB_RESP_EVENT process function */
static tBleStatus aci_att_read_blob_resp_event_process( const uint8_t* in )
{
  aci_att_read_blob_resp_event_rp0 *rp0 = (void*)in;
  return aci_att_read_blob_resp_event( rp0->Connection_Handle,
                                       rp0->Event_Data_Length,
                                       rp0->Attribute_Value );
}

/* ACI_ATT_READ_MULTIPLE_RESP_EVENT callback function */
__WEAK tBleStatus aci_att_read_multiple_resp_event( uint16_t Connection_Handle,
                                                    uint8_t Event_Data_Length,
                                                    const uint8_t* Set_Of_Values )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_ATT_READ_MULTIPLE_RESP_EVENT process function */
static tBleStatus aci_att_read_multiple_resp_event_process( const uint8_t* in )
{
  aci_att_read_multiple_resp_event_rp0 *rp0 = (void*)in;
  return aci_att_read_multiple_resp_event( rp0->Connection_Handle,
                                           rp0->Event_Data_Length,
                                           rp0->Set_Of_Values );
}

/* ACI_ATT_READ_BY_GROUP_TYPE_RESP_EVENT callback function */
__WEAK tBleStatus aci_att_read_by_group_type_resp_event( uint16_t Connection_Handle,
                                                         uint8_t Attribute_Data_Length,
                                                         uint8_t Data_Length,
                                                         const uint8_t* Attribute_Data_List )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_ATT_READ_BY_GROUP_TYPE_RESP_EVENT process function */
static tBleStatus aci_att_read_by_group_type_resp_event_process( const uint8_t* in )
{
  aci_att_read_by_group_type_resp_event_rp0 *rp0 = (void*)in;
  return aci_att_read_by_group_type_resp_event( rp0->Connection_Handle,
                                                rp0->Attribute_Data_Length,
                                                rp0->Data_Length,
                                                rp0->Attribute_Data_List );
}

/* ACI_ATT_PREPARE_WRITE_RESP_EVENT callback function */
__WEAK tBleStatus aci_att_prepare_write_resp_event( uint16_t Connection_Handle,
                                                    uint16_t Attribute_Handle,
                                                    uint16_t Offset,
                                                    uint8_t Part_Attribute_Value_Length,
                                                    const uint8_t* Part_Attribute_Value )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_ATT_PREPARE_WRITE_RESP_EVENT process function */
static tBleStatus aci_att_prepare_write_resp_event_process( const uint8_t* in )
{
  aci_att_prepare_write_resp_event_rp0 *rp0 = (void*)in;
  return aci_att_prepare_write_resp_event( rp0->Connection_Handle,
                                           rp0->Attribute_Handle,
                                           rp0->Offset,
                                           rp0->Part_Attribute_Value_Length,
                                           rp0->Part_Attribute_Value );
}

/* ACI_ATT_EXEC_WRITE_RESP_EVENT callback function */
__WEAK tBleStatus aci_att_exec_write_resp_event( uint16_t Connection_Handle )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_ATT_EXEC_WRITE_RESP_EVENT process function */
static tBleStatus aci_att_exec_write_resp_event_process( const uint8_t* in )
{
  aci_att_exec_write_resp_event_rp0 *rp0 = (void*)in;
  return aci_att_exec_write_resp_event( rp0->Connection_Handle );
}

/* ACI_GATT_INDICATION_EVENT callback function */
__WEAK tBleStatus aci_gatt_indication_event( uint16_t Connection_Handle,
                                             uint16_t Attribute_Handle,
                                             uint8_t Attribute_Value_Length,
                                             const uint8_t* Attribute_Value )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GATT_INDICATION_EVENT process function */
static tBleStatus aci_gatt_indication_event_process( const uint8_t* in )
{
  aci_gatt_indication_event_rp0 *rp0 = (void*)in;
  return aci_gatt_indication_event( rp0->Connection_Handle,
                                    rp0->Attribute_Handle,
                                    rp0->Attribute_Value_Length,
                                    rp0->Attribute_Value );
}

/* ACI_GATT_NOTIFICATION_EVENT callback function */
__WEAK tBleStatus aci_gatt_notification_event( uint16_t Connection_Handle,
                                               uint16_t Attribute_Handle,
                                               uint8_t Attribute_Value_Length,
                                               const uint8_t* Attribute_Value )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GATT_NOTIFICATION_EVENT process function */
static tBleStatus aci_gatt_notification_event_process( const uint8_t* in )
{
  aci_gatt_notification_event_rp0 *rp0 = (void*)in;
  return aci_gatt_notification_event( rp0->Connection_Handle,
                                      rp0->Attribute_Handle,
                                      rp0->Attribute_Value_Length,
                                      rp0->Attribute_Value );
}

/* ACI_GATT_PROC_COMPLETE_EVENT callback function */
__WEAK tBleStatus aci_gatt_proc_complete_event( uint16_t Connection_Handle,
                                                uint8_t Error_Code )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GATT_PROC_COMPLETE_EVENT process function */
static tBleStatus aci_gatt_proc_complete_event_process( const uint8_t* in )
{
  aci_gatt_proc_complete_event_rp0 *rp0 = (void*)in;
  return aci_gatt_proc_complete_event( rp0->Connection_Handle,
                                       rp0->Error_Code );
}

/* ACI_GATT_ERROR_RESP_EVENT callback function */
__WEAK tBleStatus aci_gatt_error_resp_event( uint16_t Connection_Handle,
                                             uint8_t Req_Opcode,
                                             uint16_t Attribute_Handle,
                                             uint8_t Error_Code )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GATT_ERROR_RESP_EVENT process function */
static tBleStatus aci_gatt_error_resp_event_process( const uint8_t* in )
{
  aci_gatt_error_resp_event_rp0 *rp0 = (void*)in;
  return aci_gatt_error_resp_event( rp0->Connection_Handle,
                                    rp0->Req_Opcode,
                                    rp0->Attribute_Handle,
                                    rp0->Error_Code );
}

/* ACI_GATT_DISC_READ_CHAR_BY_UUID_RESP_EVENT callback function */
__WEAK tBleStatus aci_gatt_disc_read_char_by_uuid_resp_event( uint16_t Connection_Handle,
                                                              uint16_t Attribute_Handle,
                                                              uint8_t Attribute_Value_Length,
                                                              const uint8_t* Attribute_Value )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GATT_DISC_READ_CHAR_BY_UUID_RESP_EVENT process function */
static tBleStatus aci_gatt_disc_read_char_by_uuid_resp_event_process( const uint8_t* in )
{
  aci_gatt_disc_read_char_by_uuid_resp_event_rp0 *rp0 = (void*)in;
  return aci_gatt_disc_read_char_by_uuid_resp_event( rp0->Connection_Handle,
                                                     rp0->Attribute_Handle,
                                                     rp0->Attribute_Value_Length,
                                                     rp0->Attribute_Value );
}

/* ACI_GATT_WRITE_PERMIT_REQ_EVENT callback function */
__WEAK tBleStatus aci_gatt_write_permit_req_event( uint16_t Connection_Handle,
                                                   uint16_t Attribute_Handle,
                                                   uint8_t Data_Length,
                                                   const uint8_t* Data )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GATT_WRITE_PERMIT_REQ_EVENT process function */
static tBleStatus aci_gatt_write_permit_req_event_process( const uint8_t* in )
{
  aci_gatt_write_permit_req_event_rp0 *rp0 = (void*)in;
  return aci_gatt_write_permit_req_event( rp0->Connection_Handle,
                                          rp0->Attribute_Handle,
                                          rp0->Data_Length,
                                          rp0->Data );
}

/* ACI_GATT_READ_PERMIT_REQ_EVENT callback function */
__WEAK tBleStatus aci_gatt_read_permit_req_event( uint16_t Connection_Handle,
                                                  uint16_t Attribute_Handle,
                                                  uint16_t Offset )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GATT_READ_PERMIT_REQ_EVENT process function */
static tBleStatus aci_gatt_read_permit_req_event_process( const uint8_t* in )
{
  aci_gatt_read_permit_req_event_rp0 *rp0 = (void*)in;
  return aci_gatt_read_permit_req_event( rp0->Connection_Handle,
                                         rp0->Attribute_Handle,
                                         rp0->Offset );
}

/* ACI_GATT_READ_MULTI_PERMIT_REQ_EVENT callback function */
__WEAK tBleStatus aci_gatt_read_multi_permit_req_event( uint16_t Connection_Handle,
                                                        uint8_t Number_of_Handles,
                                                        const Handle_Item_t* Handle_Item )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GATT_READ_MULTI_PERMIT_REQ_EVENT process function */
static tBleStatus aci_gatt_read_multi_permit_req_event_process( const uint8_t* in )
{
  aci_gatt_read_multi_permit_req_event_rp0 *rp0 = (void*)in;
  return aci_gatt_read_multi_permit_req_event( rp0->Connection_Handle,
                                               rp0->Number_of_Handles,
                                               rp0->Handle_Item );
}

/* ACI_GATT_TX_POOL_AVAILABLE_EVENT callback function */
__WEAK tBleStatus aci_gatt_tx_pool_available_event( uint16_t Connection_Handle,
                                                    uint16_t Available_Buffers )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GATT_TX_POOL_AVAILABLE_EVENT process function */
static tBleStatus aci_gatt_tx_pool_available_event_process( const uint8_t* in )
{
  aci_gatt_tx_pool_available_event_rp0 *rp0 = (void*)in;
  return aci_gatt_tx_pool_available_event( rp0->Connection_Handle,
                                           rp0->Available_Buffers );
}

/* ACI_GATT_SERVER_CONFIRMATION_EVENT callback function */
__WEAK tBleStatus aci_gatt_server_confirmation_event( uint16_t Connection_Handle )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GATT_SERVER_CONFIRMATION_EVENT process function */
static tBleStatus aci_gatt_server_confirmation_event_process( const uint8_t* in )
{
  aci_gatt_server_confirmation_event_rp0 *rp0 = (void*)in;
  return aci_gatt_server_confirmation_event( rp0->Connection_Handle );
}

/* ACI_GATT_PREPARE_WRITE_PERMIT_REQ_EVENT callback function */
__WEAK tBleStatus aci_gatt_prepare_write_permit_req_event( uint16_t Connection_Handle,
                                                           uint16_t Attribute_Handle,
                                                           uint16_t Offset,
                                                           uint8_t Data_Length,
                                                           const uint8_t* Data )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GATT_PREPARE_WRITE_PERMIT_REQ_EVENT process function */
static tBleStatus aci_gatt_prepare_write_permit_req_event_process( const uint8_t* in )
{
  aci_gatt_prepare_write_permit_req_event_rp0 *rp0 = (void*)in;
  return aci_gatt_prepare_write_permit_req_event( rp0->Connection_Handle,
                                                  rp0->Attribute_Handle,
                                                  rp0->Offset,
                                                  rp0->Data_Length,
                                                  rp0->Data );
}

/* ACI_GATT_EATT_BEARER_EVENT callback function */
__WEAK tBleStatus aci_gatt_eatt_bearer_event( uint8_t Channel_Index,
                                              uint8_t EAB_State,
                                              uint8_t Status )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GATT_EATT_BEARER_EVENT process function */
static tBleStatus aci_gatt_eatt_bearer_event_process( const uint8_t* in )
{
  aci_gatt_eatt_bearer_event_rp0 *rp0 = (void*)in;
  return aci_gatt_eatt_bearer_event( rp0->Channel_Index,
                                     rp0->EAB_State,
                                     rp0->Status );
}

/* ACI_GATT_MULT_NOTIFICATION_EVENT callback function */
__WEAK tBleStatus aci_gatt_mult_notification_event( uint16_t Connection_Handle,
                                                    uint16_t Offset,
                                                    uint16_t Data_Length,
                                                    const uint8_t* Data )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GATT_MULT_NOTIFICATION_EVENT process function */
static tBleStatus aci_gatt_mult_notification_event_process( const uint8_t* in )
{
  aci_gatt_mult_notification_event_rp0 *rp0 = (void*)in;
  return aci_gatt_mult_notification_event( rp0->Connection_Handle,
                                           rp0->Offset,
                                           rp0->Data_Length,
                                           rp0->Data );
}

/* ACI_GATT_NOTIFICATION_COMPLETE_EVENT callback function */
__WEAK tBleStatus aci_gatt_notification_complete_event( uint16_t Attr_Handle )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GATT_NOTIFICATION_COMPLETE_EVENT process function */
static tBleStatus aci_gatt_notification_complete_event_process( const uint8_t* in )
{
  aci_gatt_notification_complete_event_rp0 *rp0 = (void*)in;
  return aci_gatt_notification_complete_event( rp0->Attr_Handle );
}

/* ACI_GATT_READ_EXT_EVENT callback function */
__WEAK tBleStatus aci_gatt_read_ext_event( uint16_t Connection_Handle,
                                           uint16_t Offset,
                                           uint16_t Event_Data_Length,
                                           const uint8_t* Attribute_Value )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GATT_READ_EXT_EVENT process function */
static tBleStatus aci_gatt_read_ext_event_process( const uint8_t* in )
{
  aci_gatt_read_ext_event_rp0 *rp0 = (void*)in;
  return aci_gatt_read_ext_event( rp0->Connection_Handle,
                                  rp0->Offset,
                                  rp0->Event_Data_Length,
                                  rp0->Attribute_Value );
}

/* ACI_GATT_INDICATION_EXT_EVENT callback function */
__WEAK tBleStatus aci_gatt_indication_ext_event( uint16_t Connection_Handle,
                                                 uint16_t Attribute_Handle,
                                                 uint16_t Offset,
                                                 uint16_t Attribute_Value_Length,
                                                 const uint8_t* Attribute_Value )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GATT_INDICATION_EXT_EVENT process function */
static tBleStatus aci_gatt_indication_ext_event_process( const uint8_t* in )
{
  aci_gatt_indication_ext_event_rp0 *rp0 = (void*)in;
  return aci_gatt_indication_ext_event( rp0->Connection_Handle,
                                        rp0->Attribute_Handle,
                                        rp0->Offset,
                                        rp0->Attribute_Value_Length,
                                        rp0->Attribute_Value );
}

/* ACI_GATT_NOTIFICATION_EXT_EVENT callback function */
__WEAK tBleStatus aci_gatt_notification_ext_event( uint16_t Connection_Handle,
                                                   uint16_t Attribute_Handle,
                                                   uint16_t Offset,
                                                   uint16_t Attribute_Value_Length,
                                                   const uint8_t* Attribute_Value )
{
  return HCI_SUCCESS_ERR_CODE;
}

/* ACI_GATT_NOTIFICATION_EXT_EVENT process function */
static tBleStatus aci_gatt_notification_ext_event_process( const uint8_t* in )
{
  aci_gatt_notification_ext_event_rp0 *rp0 = (void*)in;
  return aci_gatt_notification_ext_event( rp0->Connection_Handle,
                                          rp0->Attribute_Handle,
                                          rp0->Offset,
                                          rp0->Attribute_Value_Length,
                                          rp0->Attribute_Value );
}

/* ACI/HCI events processing */
uint8_t BLE_EventProcess( const uint8_t* buffer )
{
  uint16_t code;

  /* Check packet type */
  if ( buffer[0] == HCI_EVENT_PKT_TYPE )
  {
    /* Get event code */
    code = buffer[1];

    switch ( code )
    {
    case HCI_LE_META_EVT_CODE:
      code = buffer[3];
      for ( int i = 0; i < HCI_LE_EVENT_TABLE_SIZE; i++ )
        if ( code == hci_le_event_table[i].evt_code )
        {
          return hci_le_event_table[i].process( buffer + 4 );
        }
      break;

    case HCI_VENDOR_SPECIFIC_DEBUG_EVT_CODE:
      code = (((uint16_t)(buffer[4])) <<  8) | buffer[3];
      for ( int i = 0; i < HCI_VS_EVENT_TABLE_SIZE; i++ )
        if ( code == hci_vs_event_table[i].evt_code )
        {
          return hci_vs_event_table[i].process( buffer + 5 );
        }
      break;

    default:
      for ( int i = 0; i < HCI_EVENT_TABLE_SIZE; i++ )
        if ( code == hci_event_table[i].evt_code )
        {
          return hci_event_table[i].process( buffer + 3 );
        }
      break;
    }
  }

  return HCI_UNSPECIFIED_ERROR_ERR_CODE;
}
