12531c97eSMatthias Ringwald /* 22531c97eSMatthias Ringwald * Copyright (C) 2014 BlueKitchen GmbH 32531c97eSMatthias Ringwald * 42531c97eSMatthias Ringwald * Redistribution and use in source and binary forms, with or without 52531c97eSMatthias Ringwald * modification, are permitted provided that the following conditions 62531c97eSMatthias Ringwald * are met: 72531c97eSMatthias Ringwald * 82531c97eSMatthias Ringwald * 1. Redistributions of source code must retain the above copyright 92531c97eSMatthias Ringwald * notice, this list of conditions and the following disclaimer. 102531c97eSMatthias Ringwald * 2. Redistributions in binary form must reproduce the above copyright 112531c97eSMatthias Ringwald * notice, this list of conditions and the following disclaimer in the 122531c97eSMatthias Ringwald * documentation and/or other materials provided with the distribution. 132531c97eSMatthias Ringwald * 3. Neither the name of the copyright holders nor the names of 142531c97eSMatthias Ringwald * contributors may be used to endorse or promote products derived 152531c97eSMatthias Ringwald * from this software without specific prior written permission. 162531c97eSMatthias Ringwald * 4. Any redistribution, use, or modification is done solely for 172531c97eSMatthias Ringwald * personal benefit and not for any commercial purpose or for 182531c97eSMatthias Ringwald * monetary gain. 192531c97eSMatthias Ringwald * 202531c97eSMatthias Ringwald * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS 212531c97eSMatthias Ringwald * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 222531c97eSMatthias Ringwald * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 232fca4dadSMilanka Ringwald * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BLUEKITCHEN 242fca4dadSMilanka Ringwald * GMBH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 252531c97eSMatthias Ringwald * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 262531c97eSMatthias Ringwald * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 272531c97eSMatthias Ringwald * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 282531c97eSMatthias Ringwald * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 292531c97eSMatthias Ringwald * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 302531c97eSMatthias Ringwald * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 312531c97eSMatthias Ringwald * SUCH DAMAGE. 322531c97eSMatthias Ringwald * 332531c97eSMatthias Ringwald * Please inquire about commercial licensing options at 342531c97eSMatthias Ringwald * [email protected] 352531c97eSMatthias Ringwald * 362531c97eSMatthias Ringwald */ 372531c97eSMatthias Ringwald 382531c97eSMatthias Ringwald /* 392531c97eSMatthias Ringwald * daemon_cmds.h 402531c97eSMatthias Ringwald */ 412531c97eSMatthias Ringwald 4280e33422SMatthias Ringwald #ifndef DAEMON_CMDS_H 4380e33422SMatthias Ringwald #define DAEMON_CMDS_H 442531c97eSMatthias Ringwald 452531c97eSMatthias Ringwald #include <stdint.h> 462531c97eSMatthias Ringwald 472531c97eSMatthias Ringwald #include "bluetooth.h" 482531c97eSMatthias Ringwald #include "hci_cmd.h" 492531c97eSMatthias Ringwald 502531c97eSMatthias Ringwald #if defined __cplusplus 512531c97eSMatthias Ringwald extern "C" { 522531c97eSMatthias Ringwald #endif 532531c97eSMatthias Ringwald 54ea5cc3a8SMatthias Ringwald // calculate daemon (hci) opcode for ocf value 55ea5cc3a8SMatthias Ringwald #define DAEMON_OPCODE(ocf) ((ocf) | ((OGF_BTSTACK) << 10)) 56ea5cc3a8SMatthias Ringwald 57ea5cc3a8SMatthias Ringwald typedef enum { 58ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_BTSTACK_GET_STATE = DAEMON_OPCODE(BTSTACK_GET_STATE), 59ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_BTSTACK_SET_POWER_MODE = DAEMON_OPCODE(BTSTACK_SET_POWER_MODE), 60ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_BTSTACK_SET_ACL_CAPTURE_MODE = DAEMON_OPCODE(BTSTACK_SET_ACL_CAPTURE_MODE), 61ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_BTSTACK_GET_VERSION = DAEMON_OPCODE(BTSTACK_GET_VERSION), 62ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_BTSTACK_GET_SYSTEM_BLUETOOTH_ENABLED = DAEMON_OPCODE(BTSTACK_GET_SYSTEM_BLUETOOTH_ENABLED), 63ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_BTSTACK_SET_SYSTEM_BLUETOOTH_ENABLED = DAEMON_OPCODE(BTSTACK_SET_SYSTEM_BLUETOOTH_ENABLED), 64ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_BTSTACK_SET_DISCOVERABLE = DAEMON_OPCODE(BTSTACK_SET_DISCOVERABLE), 65ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_BTSTACK_SET_BLUETOOTH_ENABLED = DAEMON_OPCODE(BTSTACK_SET_BLUETOOTH_ENABLED), 66ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_L2CAP_CREATE_CHANNEL = DAEMON_OPCODE(L2CAP_CREATE_CHANNEL), 67ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_L2CAP_CREATE_CHANNEL_MTU = DAEMON_OPCODE(L2CAP_CREATE_CHANNEL_MTU), 68ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_L2CAP_DISCONNECT = DAEMON_OPCODE(L2CAP_DISCONNECT), 69ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_L2CAP_REGISTER_SERVICE = DAEMON_OPCODE(L2CAP_REGISTER_SERVICE), 70ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_L2CAP_UNREGISTER_SERVICE = DAEMON_OPCODE(L2CAP_UNREGISTER_SERVICE), 71ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_L2CAP_ACCEPT_CONNECTION = DAEMON_OPCODE(L2CAP_ACCEPT_CONNECTION), 72ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_L2CAP_DECLINE_CONNECTION = DAEMON_OPCODE(L2CAP_DECLINE_CONNECTION), 73*6e753354SMatthias Ringwald DAEMON_OPCODE_L2CAP_REQUEST_CAN_SEND_NOW = DAEMON_OPCODE(L2CAP_REQUEST_CAN_SEND_NOW), 74ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_SDP_REGISTER_SERVICE_RECORD = DAEMON_OPCODE(SDP_REGISTER_SERVICE_RECORD), 75ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_SDP_UNREGISTER_SERVICE_RECORD = DAEMON_OPCODE(SDP_UNREGISTER_SERVICE_RECORD), 76ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_SDP_CLIENT_QUERY_RFCOMM_SERVICES = DAEMON_OPCODE(SDP_CLIENT_QUERY_RFCOMM_SERVICES), 77ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_SDP_CLIENT_QUERY_SERVICES = DAEMON_OPCODE(SDP_CLIENT_QUERY_SERVICES), 78ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_RFCOMM_CREATE_CHANNEL = DAEMON_OPCODE(RFCOMM_CREATE_CHANNEL), 79ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_RFCOMM_CREATE_CHANNEL_WITH_INITIAL_CREDITS = DAEMON_OPCODE(RFCOMM_CREATE_CHANNEL_WITH_CREDITS), 80ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_RFCOMM_GRANTS_CREDITS = DAEMON_OPCODE(RFCOMM_GRANT_CREDITS), 81ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_RFCOMM_DISCONNECT = DAEMON_OPCODE(RFCOMM_DISCONNECT), 82ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_RFCOMM_REGISTER_SERVICE = DAEMON_OPCODE(RFCOMM_REGISTER_SERVICE), 83ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_RFCOMM_REGISTER_SERVICE_WITH_INITIAL_CREDITS = DAEMON_OPCODE(RFCOMM_REGISTER_SERVICE_WITH_CREDITS), 84ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_RFCOMM_UNREGISTER_SERVICE = DAEMON_OPCODE(RFCOMM_UNREGISTER_SERVICE), 85ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_RFCOMM_ACCEPT_CONNECTION = DAEMON_OPCODE(RFCOMM_ACCEPT_CONNECTION), 86ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_RFCOMM_DECLINE_CONNECTION = DAEMON_OPCODE(RFCOMM_DECLINE_CONNECTION), 87ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_RFCOMM_PERSISTENT_CHANNEL_FOR_SERVICE = DAEMON_OPCODE(RFCOMM_PERSISTENT_CHANNEL), 88*6e753354SMatthias Ringwald DAEMON_OPCODE_RFCOMM_REQUEST_CAN_SEND_NOW = DAEMON_OPCODE(RFCOMM_REQUEST_CAN_SEND_NOW), 89ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GAP_DISCONNECT = DAEMON_OPCODE(GAP_DISCONNECT), 90a512b228SMatthias Ringwald DAEMON_OPCODE_GAP_INQUIRY_START = DAEMON_OPCODE(GAP_INQUIRY_START), 91a512b228SMatthias Ringwald DAEMON_OPCODE_GAP_INQUIRY_STOP = DAEMON_OPCODE(GAP_INQUIRY_STOP), 92a512b228SMatthias Ringwald DAEMON_OPCODE_GAP_REMOTE_NAME_REQUEST = DAEMON_OPCODE(GAP_REMOTE_NAME_REQUEST), 93a512b228SMatthias Ringwald DAEMON_OPCODE_GAP_DROP_LINK_KEY_FOR_BD_ADDR = DAEMON_OPCODE(GAP_DROP_LINK_KEY_FOR_BD_ADDR), 94a512b228SMatthias Ringwald DAEMON_OPCODE_GAP_DELETE_ALL_LINK_KEYS = DAEMON_OPCODE(GAP_DELETE_ALL_LINK_KEYS), 95bb2a499aSMatthias Ringwald DAEMON_OPCODE_GAP_PIN_CODE_RESPONSE = DAEMON_OPCODE(GAP_PIN_CODE_RESPONSE), 96bb2a499aSMatthias Ringwald DAEMON_OPCODE_GAP_PIN_CODE_NEGATIVE = DAEMON_OPCODE(GAP_PIN_CODE_NEGATIVE), 97ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GAP_LE_SCAN_START = DAEMON_OPCODE(GAP_LE_SCAN_START), 98ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GAP_LE_SCAN_STOP = DAEMON_OPCODE(GAP_LE_SCAN_STOP), 99ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GAP_LE_SET_SCAN_PARAMETERS = DAEMON_OPCODE(GAP_LE_SET_SCAN_PARAMETERS), 100ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GAP_LE_CONNECT = DAEMON_OPCODE(GAP_LE_CONNECT), 101ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GAP_LE_CONNECT_CANCEL = DAEMON_OPCODE(GAP_LE_CONNECT_CANCEL), 102ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GATT_DISCOVER_PRIMARY_SERVICES = DAEMON_OPCODE(GATT_DISCOVER_ALL_PRIMARY_SERVICES), 103ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID16 = DAEMON_OPCODE(GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID16), 104ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID128 = DAEMON_OPCODE(GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID128), 105ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GATT_FIND_INCLUDED_SERVICES_FOR_SERVICE = DAEMON_OPCODE(GATT_FIND_INCLUDED_SERVICES_FOR_SERVICE), 106ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE = DAEMON_OPCODE(GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE), 107ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE_BY_UUID128 = DAEMON_OPCODE(GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE_BY_UUID128), 108ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GATT_DISCOVER_CHARACTERISTIC_DESCRIPTORS = DAEMON_OPCODE(GATT_DISCOVER_CHARACTERISTIC_DESCRIPTORS), 109ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GATT_READ_VALUE_OF_CHARACTERISTIC = DAEMON_OPCODE(GATT_READ_VALUE_OF_CHARACTERISTIC), 110ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GATT_READ_LONG_VALUE_OF_CHARACTERISTIC = DAEMON_OPCODE(GATT_READ_LONG_VALUE_OF_CHARACTERISTIC), 111ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GATT_WRITE_VALUE_OF_CHARACTERISTIC_WITHOUT_RESPONSE = DAEMON_OPCODE(GATT_WRITE_VALUE_OF_CHARACTERISTIC_WITHOUT_RESPONSE), 112ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GATT_WRITE_VALUE_OF_CHARACTERISTIC = DAEMON_OPCODE(GATT_WRITE_VALUE_OF_CHARACTERISTIC), 113ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GATT_WRITE_LONG_VALUE_OF_CHARACTERISTIC = DAEMON_OPCODE(GATT_WRITE_LONG_VALUE_OF_CHARACTERISTIC), 114ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GATT_RELIABLE_WRITE_LONG_VALUE_OF_CHARACTERISTIC = DAEMON_OPCODE(GATT_RELIABLE_WRITE_LONG_VALUE_OF_CHARACTERISTIC), 115ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GATT_READ_CHARACTERISTIC_DESCRIPTOR = DAEMON_OPCODE(GATT_READ_CHARACTERISTIC_DESCRIPTOR), 116ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GATT_READ_LONG_CHARACTERISTIC_DESCRIPTOR = DAEMON_OPCODE(GATT_READ_LONG_CHARACTERISTIC_DESCRIPTOR), 117ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GATT_WRITE_CHARACTERISTIC_DESCRIPTOR = DAEMON_OPCODE(GATT_WRITE_CHARACTERISTIC_DESCRIPTOR), 118ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GATT_WRITE_LONG_CHARACTERISTIC_DESCRIPTOR = DAEMON_OPCODE(GATT_WRITE_LONG_CHARACTERISTIC_DESCRIPTOR), 119ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GATT_WRITE_CLIENT_CHARACTERISTIC_CONFIGURATION = DAEMON_OPCODE(GATT_WRITE_CLIENT_CHARACTERISTIC_CONFIGURATION), 120ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_GATT_GET_MTU = DAEMON_OPCODE(GATT_GET_MTU), 121ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_SM_SET_AUTHENTICATION_REQUIREMENTS = DAEMON_OPCODE(SM_SET_AUTHENTICATION_REQUIREMENTS), 122ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_SM_SET_IO_CAPABILITIES = DAEMON_OPCODE(SM_SET_IO_CAPABILITIES), 123ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_SM_BONDING_DECLINE = DAEMON_OPCODE(SM_BONDING_DECLINE), 124ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_SM_JUST_WORKS_CONFIRM = DAEMON_OPCODE(SM_JUST_WORKS_CONFIRM), 125ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_SM_NUMERIC_COMPARISON_CONFIRM = DAEMON_OPCODE(SM_NUMERIC_COMPARISON_CONFIRM), 126ea5cc3a8SMatthias Ringwald DAEMON_OPCODE_SM_PASSKEY_INPUT = DAEMON_OPCODE(SM_PASSKEY_INPUT), 127ea5cc3a8SMatthias Ringwald } daemon_opcode_t; 128ea5cc3a8SMatthias Ringwald 1292531c97eSMatthias Ringwald extern const hci_cmd_t btstack_get_state; 1302531c97eSMatthias Ringwald extern const hci_cmd_t btstack_set_power_mode; 1312531c97eSMatthias Ringwald extern const hci_cmd_t btstack_set_acl_capture_mode; 1322531c97eSMatthias Ringwald extern const hci_cmd_t btstack_get_version; 1332531c97eSMatthias Ringwald extern const hci_cmd_t btstack_get_system_bluetooth_enabled; 1342531c97eSMatthias Ringwald extern const hci_cmd_t btstack_set_system_bluetooth_enabled; 1352531c97eSMatthias Ringwald extern const hci_cmd_t btstack_set_discoverable; 1362531c97eSMatthias Ringwald extern const hci_cmd_t btstack_set_bluetooth_enabled; // only used by btstack config 1372531c97eSMatthias Ringwald 1382531c97eSMatthias Ringwald extern const hci_cmd_t l2cap_accept_connection_cmd; 1392531c97eSMatthias Ringwald extern const hci_cmd_t l2cap_create_channel_cmd; 1402531c97eSMatthias Ringwald extern const hci_cmd_t l2cap_create_channel_mtu_cmd; 1412531c97eSMatthias Ringwald extern const hci_cmd_t l2cap_decline_connection_cmd; 1422531c97eSMatthias Ringwald extern const hci_cmd_t l2cap_disconnect_cmd; 1432531c97eSMatthias Ringwald extern const hci_cmd_t l2cap_register_service_cmd; 1442531c97eSMatthias Ringwald extern const hci_cmd_t l2cap_unregister_service_cmd; 145*6e753354SMatthias Ringwald extern const hci_cmd_t l2cap_request_can_send_now_cmd; 1462531c97eSMatthias Ringwald 1472531c97eSMatthias Ringwald extern const hci_cmd_t sdp_register_service_record_cmd; 1482531c97eSMatthias Ringwald extern const hci_cmd_t sdp_unregister_service_record_cmd; 1492531c97eSMatthias Ringwald extern const hci_cmd_t sdp_client_query_rfcomm_services_cmd; 1502531c97eSMatthias Ringwald extern const hci_cmd_t sdp_client_query_services_cmd; 1512531c97eSMatthias Ringwald 1522531c97eSMatthias Ringwald // accept connection @param bd_addr(48), rfcomm_cid (16) 1532531c97eSMatthias Ringwald extern const hci_cmd_t rfcomm_accept_connection_cmd; 1542531c97eSMatthias Ringwald // create rfcomm channel: @param bd_addr(48), channel (8) 1552531c97eSMatthias Ringwald extern const hci_cmd_t rfcomm_create_channel_cmd; 1562531c97eSMatthias Ringwald // create rfcomm channel: @param bd_addr(48), channel (8), mtu (16), credits (8) 1572531c97eSMatthias Ringwald extern const hci_cmd_t rfcomm_create_channel_with_initial_credits_cmd; 1582531c97eSMatthias Ringwald // decline rfcomm disconnect,@param bd_addr(48), rfcomm cid (16), reason(8) 1592531c97eSMatthias Ringwald extern const hci_cmd_t rfcomm_decline_connection_cmd; 1602531c97eSMatthias Ringwald // disconnect rfcomm disconnect, @param rfcomm_cid(8), reason(8) 1612531c97eSMatthias Ringwald extern const hci_cmd_t rfcomm_disconnect_cmd; 1622531c97eSMatthias Ringwald // register rfcomm service: @param channel(8), mtu (16) 1632531c97eSMatthias Ringwald extern const hci_cmd_t rfcomm_register_service_cmd; 1642531c97eSMatthias Ringwald // register rfcomm service: @param channel(8), mtu (16), initial credits (8) 1652531c97eSMatthias Ringwald extern const hci_cmd_t rfcomm_register_service_with_initial_credits_cmd; 1662531c97eSMatthias Ringwald // unregister rfcomm service, @param service_channel(16) 1672531c97eSMatthias Ringwald extern const hci_cmd_t rfcomm_unregister_service_cmd; 1682531c97eSMatthias Ringwald // request persisten rfcomm channel for service name: serive name (char*) 1692531c97eSMatthias Ringwald extern const hci_cmd_t rfcomm_persistent_channel_for_service_cmd; 1702531c97eSMatthias Ringwald extern const hci_cmd_t rfcomm_grants_credits_cmd; 171*6e753354SMatthias Ringwald extern const hci_cmd_t rfcomm_request_can_send_now_cmd; 1722531c97eSMatthias Ringwald 173a512b228SMatthias Ringwald extern const hci_cmd_t gap_delete_all_link_keys_cmd; 1742531c97eSMatthias Ringwald extern const hci_cmd_t gap_disconnect_cmd; 175a512b228SMatthias Ringwald extern const hci_cmd_t gap_drop_link_key_for_bd_addr_cmd; 176a512b228SMatthias Ringwald extern const hci_cmd_t gap_inquiry_start_cmd; 177a512b228SMatthias Ringwald extern const hci_cmd_t gap_inquiry_stop_cmd; 178a512b228SMatthias Ringwald extern const hci_cmd_t gap_remote_name_request_cmd; 179bb2a499aSMatthias Ringwald extern const hci_cmd_t gap_pin_code_response_cmd; 180bb2a499aSMatthias Ringwald extern const hci_cmd_t gap_pin_code_response_cmd; 181a512b228SMatthias Ringwald 1822531c97eSMatthias Ringwald extern const hci_cmd_t gap_le_scan_start; 1832531c97eSMatthias Ringwald extern const hci_cmd_t gap_le_scan_stop; 1842531c97eSMatthias Ringwald extern const hci_cmd_t gap_le_set_scan_parameters; 1852531c97eSMatthias Ringwald extern const hci_cmd_t gap_le_connect_cmd; 1862531c97eSMatthias Ringwald extern const hci_cmd_t gap_le_connect_cancel_cmd; 1872531c97eSMatthias Ringwald extern const hci_cmd_t gatt_discover_primary_services_cmd; 1882531c97eSMatthias Ringwald 1892531c97eSMatthias Ringwald extern const hci_cmd_t gatt_discover_primary_services_by_uuid16_cmd; 1902531c97eSMatthias Ringwald extern const hci_cmd_t gatt_discover_primary_services_by_uuid128_cmd; 1912531c97eSMatthias Ringwald extern const hci_cmd_t gatt_find_included_services_for_service_cmd; 1922531c97eSMatthias Ringwald extern const hci_cmd_t gatt_discover_characteristics_for_service_cmd; 1932531c97eSMatthias Ringwald extern const hci_cmd_t gatt_discover_characteristics_for_service_by_uuid128_cmd; 1942531c97eSMatthias Ringwald extern const hci_cmd_t gatt_discover_characteristic_descriptors_cmd; 1952531c97eSMatthias Ringwald extern const hci_cmd_t gatt_read_value_of_characteristic_cmd; 1962531c97eSMatthias Ringwald extern const hci_cmd_t gatt_read_long_value_of_characteristic_cmd; 1972531c97eSMatthias Ringwald extern const hci_cmd_t gatt_write_value_of_characteristic_without_response_cmd; 1982531c97eSMatthias Ringwald extern const hci_cmd_t gatt_write_value_of_characteristic_cmd; 1992531c97eSMatthias Ringwald extern const hci_cmd_t gatt_write_long_value_of_characteristic_cmd; 2002531c97eSMatthias Ringwald extern const hci_cmd_t gatt_reliable_write_long_value_of_characteristic_cmd; 2012531c97eSMatthias Ringwald extern const hci_cmd_t gatt_read_characteristic_descriptor_cmd; 2022531c97eSMatthias Ringwald extern const hci_cmd_t gatt_read_long_characteristic_descriptor_cmd; 2032531c97eSMatthias Ringwald extern const hci_cmd_t gatt_write_characteristic_descriptor_cmd; 2042531c97eSMatthias Ringwald extern const hci_cmd_t gatt_write_long_characteristic_descriptor_cmd; 2052531c97eSMatthias Ringwald extern const hci_cmd_t gatt_write_client_characteristic_configuration_cmd; 2062531c97eSMatthias Ringwald extern const hci_cmd_t gatt_get_mtu; 2072531c97eSMatthias Ringwald 2081edc4fc7SMatthias Ringwald extern const hci_cmd_t sm_set_authentication_requirements_cmd; 2091edc4fc7SMatthias Ringwald extern const hci_cmd_t sm_set_io_capabilities_cmd; 2101edc4fc7SMatthias Ringwald extern const hci_cmd_t sm_bonding_decline_cmd; 2111edc4fc7SMatthias Ringwald extern const hci_cmd_t sm_just_works_confirm_cmd; 2121edc4fc7SMatthias Ringwald extern const hci_cmd_t sm_numeric_comparison_confirm_cmd; 2131edc4fc7SMatthias Ringwald extern const hci_cmd_t sm_passkey_input_cmd; 2142531c97eSMatthias Ringwald 2152531c97eSMatthias Ringwald #if defined __cplusplus 2162531c97eSMatthias Ringwald } 2172531c97eSMatthias Ringwald #endif 2182531c97eSMatthias Ringwald 21980e33422SMatthias Ringwald #endif // DAEMON_CMDS_H 220