hci.c (eaf85bc852f2a6344f4fe375cf0132252d98077c) hci.c (a391128d2f0c50039b123f696dc94c6c0df5a8a8)
1/*
2 * Copyright (C) 2014 BlueKitchen GmbH
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright

--- 136 unchanged lines hidden (view full) ---

145 X( SUPPORTED_HCI_COMMAND_READ_BUFFER_SIZE , 14, 7) \
146 X( SUPPORTED_HCI_COMMAND_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING, 18, 3) \
147 X( SUPPORTED_HCI_COMMAND_READ_ENCRYPTION_KEY_SIZE , 20, 4) \
148 X( SUPPORTED_HCI_COMMAND_WRITE_LE_HOST_SUPPORTED , 24, 6) \
149 X( SUPPORTED_HCI_COMMAND_REMOTE_OOB_EXTENDED_DATA_REQUEST_REPLY, 32, 1) \
150 X( SUPPORTED_HCI_COMMAND_WRITE_SECURE_CONNECTIONS_HOST , 32, 3) \
151 X( SUPPORTED_HCI_COMMAND_READ_LOCAL_OOB_EXTENDED_DATA_COMMAND , 32, 6) \
152 X( SUPPORTED_HCI_COMMAND_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH, 34, 0) \
1/*
2 * Copyright (C) 2014 BlueKitchen GmbH
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright

--- 136 unchanged lines hidden (view full) ---

145 X( SUPPORTED_HCI_COMMAND_READ_BUFFER_SIZE , 14, 7) \
146 X( SUPPORTED_HCI_COMMAND_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING, 18, 3) \
147 X( SUPPORTED_HCI_COMMAND_READ_ENCRYPTION_KEY_SIZE , 20, 4) \
148 X( SUPPORTED_HCI_COMMAND_WRITE_LE_HOST_SUPPORTED , 24, 6) \
149 X( SUPPORTED_HCI_COMMAND_REMOTE_OOB_EXTENDED_DATA_REQUEST_REPLY, 32, 1) \
150 X( SUPPORTED_HCI_COMMAND_WRITE_SECURE_CONNECTIONS_HOST , 32, 3) \
151 X( SUPPORTED_HCI_COMMAND_READ_LOCAL_OOB_EXTENDED_DATA_COMMAND , 32, 6) \
152 X( SUPPORTED_HCI_COMMAND_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH, 34, 0) \
153 X( SUPPORTED_HCI_COMMAND_LE_READ_MAXIMUM_DATA_LENGTH , 35, 3) \
154 X( SUPPORTED_HCI_COMMAND_LE_SET_ADDRESS_RESOLUTION_ENABLE , 35, 1) \
153 X( SUPPORTED_HCI_COMMAND_LE_SET_ADDRESS_RESOLUTION_ENABLE , 35, 1) \
154 X( SUPPORTED_HCI_COMMAND_LE_READ_MAXIMUM_DATA_LENGTH , 35, 3) \
155 X( SUPPORTED_HCI_COMMAND_LE_SET_DEFAULT_PHY , 35, 5) \
156 X( SUPPORTED_HCI_COMMAND_LE_SET_EXTENDED_ADVERTISING_ENABLE , 36, 6) \
157 X( SUPPORTED_HCI_COMMAND_LE_READ_BUFFER_SIZE_V2 , 41, 5) \
155 X( SUPPORTED_HCI_COMMAND_LE_SET_DEFAULT_PHY , 35, 5) \
156 X( SUPPORTED_HCI_COMMAND_LE_SET_EXTENDED_ADVERTISING_ENABLE , 36, 6) \
157 X( SUPPORTED_HCI_COMMAND_LE_READ_BUFFER_SIZE_V2 , 41, 5) \
158 X( SUPPORTED_HCI_COMMAND_SET_MIN_ENCRYPTION_KEY_SIZE , 45, 7) \
158
159// enumerate supported commands
160#define X(name, offset, bit) name,
161enum {
162 SUPPORTED_HCI_COMMANDS
163 SUPPORTED_HCI_COMMANDS_COUNT
164};
165#undef X

--- 1635 unchanged lines hidden (view full) ---

1801 if (hci_classic_supported() && hci_stack->secure_connections_enable
1802 && hci_command_supported(SUPPORTED_HCI_COMMAND_WRITE_SECURE_CONNECTIONS_HOST)) {
1803 hci_stack->secure_connections_active = true;
1804 hci_stack->substate = HCI_INIT_W4_WRITE_SECURE_CONNECTIONS_HOST_ENABLE;
1805 hci_send_cmd(&hci_write_secure_connections_host_support, 1);
1806 break;
1807 }
1808
159
160// enumerate supported commands
161#define X(name, offset, bit) name,
162enum {
163 SUPPORTED_HCI_COMMANDS
164 SUPPORTED_HCI_COMMANDS_COUNT
165};
166#undef X

--- 1635 unchanged lines hidden (view full) ---

1802 if (hci_classic_supported() && hci_stack->secure_connections_enable
1803 && hci_command_supported(SUPPORTED_HCI_COMMAND_WRITE_SECURE_CONNECTIONS_HOST)) {
1804 hci_stack->secure_connections_active = true;
1805 hci_stack->substate = HCI_INIT_W4_WRITE_SECURE_CONNECTIONS_HOST_ENABLE;
1806 hci_send_cmd(&hci_write_secure_connections_host_support, 1);
1807 break;
1808 }
1809
1810 /* fall through */
1811
1812 case HCI_INIT_SET_MIN_ENCRYPTION_KEY_SIZE:
1813 // skip set min encryption key size
1814 if (hci_classic_supported() && hci_command_supported(SUPPORTED_HCI_COMMAND_SET_MIN_ENCRYPTION_KEY_SIZE)) {
1815 hci_stack->substate = HCI_INIT_W4_SET_MIN_ENCRYPTION_KEY_SIZE;
1816 hci_send_cmd(&hci_set_min_encryption_key_size, hci_stack->gap_required_encyrption_key_size);
1817 break;
1818 }
1819
1809#ifdef ENABLE_SCO_OVER_HCI
1810 /* fall through */
1811
1812 // only sent if ENABLE_SCO_OVER_HCI is defined
1813 case HCI_INIT_WRITE_SYNCHRONOUS_FLOW_CONTROL_ENABLE:
1814 // skip write synchronous flow control if not supported
1815 if (hci_classic_supported()
1816 && hci_command_supported(SUPPORTED_HCI_COMMAND_WRITE_SYNCHRONOUS_FLOW_CONTROL_ENABLE)) {

--- 6102 unchanged lines hidden ---
1820#ifdef ENABLE_SCO_OVER_HCI
1821 /* fall through */
1822
1823 // only sent if ENABLE_SCO_OVER_HCI is defined
1824 case HCI_INIT_WRITE_SYNCHRONOUS_FLOW_CONTROL_ENABLE:
1825 // skip write synchronous flow control if not supported
1826 if (hci_classic_supported()
1827 && hci_command_supported(SUPPORTED_HCI_COMMAND_WRITE_SYNCHRONOUS_FLOW_CONTROL_ENABLE)) {

--- 6102 unchanged lines hidden ---