--- /dev/null
+/*******************************************************************\r
+ bluetooth library\r
+\r
+ hci_event.h - list of Event packet structures + list of event fce\r
+\r
+ Copyright (C) 2006 by Petr Kovacik petr_kovacik@gmail.com\r
+\r
+ *******************************************************************/\r
+\r
+#ifndef HCI_EVENT_H\r
+#define HCI_EVENT_H\r
+\r
+/* ---- HCI Events ---- */\r
+\r
+#define EVT_INQUIRY_COMPLETE 0x01\r
+\r
+#define EVT_INQUIRY_RESULT 0x02\r
+/*--------------------------------*/\r
+typedef struct {\r
+ bdaddr_t bdaddr;\r
+ uint8_t pscan_rep_mode;\r
+ uint8_t pscan_period_mode;\r
+ uint8_t pscan_mode;\r
+ uint8_t dev_class[3];\r
+ uint16_t clock_offset;\r
+}inquiry_info;\r
+ #define INQUIRY_INFO____bdaddr 0\r
+ #define INQUIRY_INFO____pscan_rep_mode 6\r
+ #define INQUIRY_INFO____pscan_period_mode 7\r
+ #define INQUIRY_INFO____pscan_mode 8\r
+ #define INQUIRY_INFO____dev_class 9\r
+ #define INQUIRY_INFO____clock_offset 10\r
+/*--------------------------------*/\r
+#define INQUIRY_INFO_SIZE 14\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+\r
+#define EVT_CONN_COMPLETE 0x03\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint16_t handle;\r
+ bdaddr_t bdaddr;\r
+ uint8_t link_type;\r
+ uint8_t encr_mode;\r
+} evt_conn_complete;\r
+ #define EVT_CONN_COMPLETE____status 0\r
+ #define EVT_CONN_COMPLETE____handle 1\r
+ #define EVT_CONN_COMPLETE____bdaddr 3\r
+ #define EVT_CONN_COMPLETE____link_type 9\r
+ #define EVT_CONN_COMPLETE____encr_mode 10\r
+/*--------------------------------*/\r
+#define EVT_CONN_COMPLETE_SIZE 11 //puvodne 13 asi jejich chyba\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_CONN_REQUEST 0x04\r
+/*--------------------------------*/\r
+typedef struct {\r
+ bdaddr_t bdaddr;\r
+ uint8_t dev_class[3];\r
+ uint8_t link_type;\r
+} evt_conn_request;\r
+ #define EVT_CONN_REQUEST____bdaddr 0\r
+ #define EVT_CONN_REQUEST____dev_class 6\r
+ #define EVT_CONN_REQUEST____link_type 9\r
+/*--------------------------------*/\r
+#define EVT_CONN_REQUEST_SIZE 10\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_DISCONN_COMPLETE 0x05\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint16_t handle;\r
+ uint8_t reason;\r
+} evt_disconn_complete;\r
+ #define EVT_DISCONN_COMPLETE____status 0\r
+ #define EVT_DISCONN_COMPLETE____handle 1\r
+ #define EVT_DISCONN_COMPLETE____reason 3\r
+/*--------------------------------*/\r
+#define EVT_DISCONN_COMPLETE_SIZE 4\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_AUTH_COMPLETE 0x06\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint16_t handle;\r
+} evt_auth_complete;\r
+ #define EVT_AUTH_COMPLETE____status 0\r
+ #define EVT_AUTH_COMPLETE____handle 1\r
+/*--------------------------------*/\r
+#define EVT_AUTH_COMPLETE_SIZE 3\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+\r
+#define EVT_REMOTE_NAME_REQ_COMPLETE 0x07\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ bdaddr_t bdaddr;\r
+ uint8_t name[248];\r
+} evt_remote_name_req_complete;\r
+ #define EVT_REMOTE_NAME_REQ_COMPLETE____status 0\r
+ #define EVT_REMOTE_NAME_REQ_COMPLETE____bdaddr 1\r
+ #define EVT_REMOTE_NAME_REQ_COMPLETE____name 7\r
+/*--------------------------------*/\r
+#define EVT_REMOTE_NAME_REQ_COMPLETE_SIZE 255\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_ENCRYPT_CHANGE 0x08\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint16_t handle;\r
+ uint8_t encrypt;\r
+} evt_encrypt_change;\r
+ #define EVT_ENCRYPT_CHANGE____status 0\r
+ #define EVT_ENCRYPT_CHANGE____handle 1\r
+ #define EVT_ENCRYPT_CHANGE____encrypt 3\r
+/*--------------------------------*/\r
+#define EVT_ENCRYPT_CHANGE_SIZE 5\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_CHANGE_CONN_LINK_KEY_COMPLETE 0x09\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint16_t handle;\r
+} evt_change_conn_link_key_complete;\r
+ #define EVT_CHANGE_CONN_LINK_KEY_COMPLETE____status 0\r
+ #define EVT_CHANGE_CONN_LINK_KEY_COMPLETE____handle 1\r
+/*--------------------------------*/\r
+#define EVT_CHANGE_CONN_LINK_KEY_COMPLETE_SIZE 3\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_MASTER_LINK_KEY_COMPLETE 0x0A\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint16_t handle;\r
+ uint8_t key_flag;\r
+} evt_master_link_key_complete;\r
+ #define EVT_MASTER_LINK_KEY_COMPLETE____status 0\r
+ #define EVT_MASTER_LINK_KEY_COMPLETE____handle 1\r
+ #define EVT_MASTER_LINK_KEY_COMPLETE____key_flag 3\r
+/*--------------------------------*/\r
+#define EVT_MASTER_LINK_KEY_COMPLETE_SIZE 4\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_READ_REMOTE_FEATURES_COMPLETE 0x0B\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint16_t handle;\r
+ uint8_t features[8];\r
+} evt_read_remote_features_complete;\r
+ #define EVT_READ_REMOTE_FEATURES_COMPLETE____status 0\r
+ #define EVT_READ_REMOTE_FEATURES_COMPLETE____handle 1\r
+ #define EVT_READ_REMOTE_FEATURES_COMPLETE____features 3\r
+/*--------------------------------*/\r
+#define EVT_READ_REMOTE_FEATURES_COMPLETE_SIZE 11\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_READ_REMOTE_VERSION_COMPLETE 0x0C\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint16_t handle;\r
+ uint8_t lmp_ver;\r
+ uint16_t manufacturer;\r
+ uint16_t lmp_subver;\r
+} evt_read_remote_version_complete;\r
+ #define EVT_READ_REMOTE_VERSION_COMPLETE____status 0\r
+ #define EVT_READ_REMOTE_VERSION_COMPLETE____handle 1\r
+ #define EVT_READ_REMOTE_VERSION_COMPLETE____lmp_ver 3\r
+ #define EVT_READ_REMOTE_VERSION_COMPLETE____manufacturer 4\r
+ #define EVT_READ_REMOTE_VERSION_COMPLETE____lmp_subver 6\r
+/*--------------------------------*/\r
+#define EVT_READ_REMOTE_VERSION_COMPLETE_SIZE 8\r
+\r
+//#define EVT_QOS_SETUP_COMPLETE 0x0D\r
+//typedef struct {\r
+// uint8_t status;\r
+// uint16_t handle;\r
+// uint8_t flags; /* Reserved */\r
+// hci_qos qos;\r
+//}evt_qos_setup_complete;\r
+ #define EVT_QOS_SETUP_COMPLETE____status 0\r
+ #define EVT_QOS_SETUP_COMPLETE____handle 1\r
+ #define EVT_QOS_SETUP_COMPLETE____flags 3\r
+ #define EVT_QOS_SETUP_COMPLETE____qos 4\r
+/*--------------------------------*/\r
+//#define EVT_QOS_SETUP_COMPLETE_SIZE (4 + HCI_QOS_CP_SIZE)\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_CMD_COMPLETE 0x0E\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t ncmd;\r
+ uint16_t opcode;\r
+} evt_cmd_complete;\r
+ #define EVT_CMD_COMPLETE____ncmd 0\r
+ #define EVT_CMD_COMPLETE____opcode 1\r
+/*--------------------------------*/\r
+/*--------------------------------*/\r
+#define EVT_CMD_COMPLETE_SIZE 3\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_CMD_STATUS 0x0F\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint8_t ncmd;\r
+ uint16_t opcode;\r
+} evt_cmd_status;\r
+ #define EVT_CMD_STATUS____status 0\r
+ #define EVT_CMD_STATUS____ncmd 1\r
+ #define EVT_CMD_STATUS____opcode 2\r
+/*--------------------------------*/\r
+#define EVT_CMD_STATUS_SIZE 4\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_HARDWARE_ERROR 0x10\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t code;\r
+} evt_hardware_error;\r
+ #define EVT_HARDWARE_ERROR____code 0\r
+/*--------------------------------*/\r
+#define EVT_HARDWARE_ERROR_SIZE 1\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_FLUSH_OCCURRED 0x11\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint16_t handle;\r
+} evt_flush_occured;\r
+ #define EVT_FLUSH_OCCURED____handle 0\r
+/*--------------------------------*/\r
+#define EVT_FLUSH_OCCURRED_SIZE 2\r
+\r
+#define EVT_ROLE_CHANGE 0x12\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ bdaddr_t bdaddr;\r
+ uint8_t role;\r
+} evt_role_change;\r
+ #define EVT_ROLE_CHANGE____status 0\r
+ #define EVT_ROLE_CHANGE____bdaddr 1\r
+ #define EVT_ROLE_CHANGE____role 7\r
+/*--------------------------------*/\r
+#define EVT_ROLE_CHANGE_SIZE 8\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_NUM_COMP_PKTS 0x13\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t num_hndl;\r
+ /* variable length part */\r
+} evt_num_comp_pkts;\r
+ #define EVT_NUM_COMP_PKTS____num_hndl 0\r
+/*--------------------------------*/\r
+#define EVT_NUM_COMP_PKTS_SIZE 1\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_MODE_CHANGE 0x14\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint16_t handle;\r
+ uint8_t mode;\r
+ uint16_t interval;\r
+} evt_mode_change;\r
+ #define EVT_MODE_CHANGE____status 0\r
+ #define EVT_MODE_CHANGE____handle 1\r
+ #define EVT_MODE_CHANGE____mode 3\r
+ #define EVT_MODE_CHANGE____interval 4\r
+/*--------------------------------*/\r
+#define EVT_MODE_CHANGE_SIZE 6\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_RETURN_LINK_KEYS 0x15\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t num_keys;\r
+ /* variable length part */\r
+} evt_return_link_keys;\r
+ #define EVT_RETURN_LINK_KEYS____num_keys 0\r
+/*--------------------------------*/\r
+#define EVT_RETURN_LINK_KEYS_SIZE 1\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_PIN_CODE_REQ 0x16\r
+/*--------------------------------*/\r
+typedef struct {\r
+ bdaddr_t bdaddr;\r
+} evt_pin_code_req;\r
+ #define EVT_PIN_CODE_REQ____bdaddr 0\r
+/*--------------------------------*/\r
+#define EVT_PIN_CODE_REQ_SIZE 6\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_LINK_KEY_REQ 0x17\r
+typedef struct {\r
+ bdaddr_t bdaddr;\r
+} evt_link_key_req;\r
+ #define EVT_LINK_KEY_REQ____bdaddr 0\r
+/*--------------------------------*/\r
+#define EVT_LINK_KEY_REQ_SIZE 6\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_LINK_KEY_NOTIFY 0x18\r
+/*--------------------------------*/\r
+typedef struct {\r
+ bdaddr_t bdaddr;\r
+ uint8_t link_key[16];\r
+ uint8_t key_type;\r
+} evt_link_key_notify;\r
+ #define EVT_LINK_KEY_NOTIFY____bdaddr 0\r
+ #define EVT_LINK_KEY_NOTIFY____link_key 6\r
+ #define EVT_LINK_KEY_NOTIFY____key_type 22\r
+/*--------------------------------*/\r
+#define EVT_LINK_KEY_NOTIFY_SIZE 23\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_LOOPBACK_COMMAND 0x19\r
+\r
+#define EVT_DATA_BUFFER_OVERFLOW 0x1A\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t link_type;\r
+} evt_data_buffer_overflow;\r
+ #define EVT_DATA_BUFFER_OVERFLOW____link_type 0\r
+/*--------------------------------*/\r
+#define EVT_DATA_BUFFER_OVERFLOW_SIZE 1\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_MAX_SLOTS_CHANGE 0x1B\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint16_t handle;\r
+ uint8_t max_slots;\r
+} evt_max_slots_change;\r
+ #define EVT_MAX_SLOTS_CHANGE____handle 0\r
+ #define EVT_MAX_SLOTS_CHANGE____max_slots 2\r
+/*--------------------------------*/\r
+#define EVT_MAX_SLOTS_CHANGE_SIZE 3\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_READ_CLOCK_OFFSET_COMPLETE 0x1C\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint16_t handle;\r
+ uint16_t clock_offset;\r
+} evt_read_clock_offset_complete;\r
+ #define EVT_READ_CLOCK_OFFSET_COMPLETE____status 0\r
+ #define EVT_READ_CLOCK_OFFSET_COMPLETE____handle 1\r
+ #define EVT_READ_CLOCK_OFFSET_COMPLETE____clock_offset 3\r
+/*--------------------------------*/\r
+#define EVT_READ_CLOCK_OFFSET_COMPLETE_SIZE 5\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_CONN_PTYPE_CHANGED 0x1D\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint16_t handle;\r
+ uint16_t ptype;\r
+} evt_conn_ptype_changed;\r
+ #define EVT_CONN_PTYPE_CHANGED____status 0\r
+ #define EVT_CONN_PTYPE_CHANGED____handle 1\r
+ #define EVT_CONN_PTYPE_CHANGED____ptype 3\r
+/*--------------------------------*/\r
+#define EVT_CONN_PTYPE_CHANGED_SIZE 5\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_QOS_VIOLATION 0x1E\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint16_t handle;\r
+} evt_qos_violation;\r
+ #define EVT_QOS_VIOLATION____handle 0\r
+/*--------------------------------*/\r
+#define EVT_QOS_VIOLATION_SIZE 2\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_PSCAN_REP_MODE_CHANGE 0x20\r
+/*--------------------------------*/\r
+typedef struct {\r
+ bdaddr_t bdaddr;\r
+ uint8_t pscan_rep_mode;\r
+} evt_pscan_rep_mode_change;\r
+ #define EVT_PSCAN_REP_MODE_CHANGE____bdaddr 0\r
+ #define EVT_PSCAN_REP_MODE_CHANGE____pscan_rep_mode 6\r
+/*--------------------------------*/\r
+#define EVT_PSCAN_REP_MODE_CHANGE_SIZE 7\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_FLOW_SPEC_COMPLETE 0x21\r
+/*--------------------------------*/\r
+//typedef struct {\r
+// uint8_t status;\r
+// uint16_t handle;\r
+// uint8_t flags;\r
+// uint8_t direction;\r
+// hci_qos qos; /*PREDELAT NESMI BYT TYP PROMENNE STRUKTURA!!!!!!*/\r
+//} evt_flow_spec_complete;\r
+ #define EVT_FLOW_SPEC_COMPLETE____status 0\r
+ #define EVT_FLOW_SPEC_COMPLETE____handle 1\r
+ #define EVT_FLOW_SPEC_COMPLETE____flags 3\r
+ #define EVT_FLOW_SPEC_COMPLETE____direction 4\r
+ #define EVT_FLOW_SPEC_COMPLETE____qos 5\r
+/*--------------------------------*/\r
+#define EVT_FLOW_SPEC_COMPLETE_SIZE (5 + HCI_QOS_CP_SIZE)\r
+\r
+/****************************************************************************/\r
+/****************************************************************************/\r
+/*------------------------------- RSSI -------------------------------------*/\r
+#define EVT_INQUIRY_RESULT_WITH_RSSI 0x22\r
+/*--------------------------------*/\r
+typedef struct {\r
+ bdaddr_t bdaddr;\r
+ uint8_t pscan_rep_mode;\r
+ uint8_t pscan_period_mode;\r
+ uint8_t dev_class[3];\r
+ uint16_t clock_offset;\r
+ int8_t rssi;\r
+} inquiry_info_with_rssi;\r
+ #define INQUIRY_INFO_WITH_RSSI____bdaddr 0\r
+ #define INQUIRY_INFO_WITH_RSSI____pscan_rep_mode 6\r
+ #define INQUIRY_INFO_WITH_RSSI____pscan_period_mode 7\r
+ #define INQUIRY_INFO_WITH_RSSI____dev_class 8\r
+ #define INQUIRY_INFO_WITH_RSSI____clock_offset 11\r
+ #define INQUIRY_INFO_WITH_RSSI____rssi 13\r
+/*--------------------------------*/\r
+#define INQUIRY_INFO_WITH_RSSI_SIZE 14\r
+/*--------------------------------*/\r
+typedef struct {\r
+ bdaddr_t bdaddr;\r
+ uint8_t pscan_rep_mode;\r
+ uint8_t pscan_period_mode;\r
+ uint8_t pscan_mode;\r
+ uint8_t dev_class[3];\r
+ uint16_t clock_offset;\r
+ int8_t rssi;\r
+} inquiry_info_with_rssi_and_pscan_mode;\r
+ #define INQUIRY_INFO_WITH_RSSI_AND_PSCAN_MODE____bdaddr 0\r
+ #define INQUIRY_INFO_WITH_RSSI_AND_PSCAN_MODE____pscan_rep_mode 6\r
+ #define INQUIRY_INFO_WITH_RSSI_AND_PSCAN_MODE____pscan_period_mode 7\r
+ #define INQUIRY_INFO_WITH_RSSI_AND_PSCAN_MODE____pscan_mode 8\r
+ #define INQUIRY_INFO_WITH_RSSI_AND_PSCAN_MODE____dev_class 9\r
+ #define INQUIRY_INFO_WITH_RSSI_AND_PSCAN_MODE____clock_offset 12\r
+ #define INQUIRY_INFO_WITH_RSSI_AND_PSCAN_MODE____rssi 14 \r
+/*--------------------------------*/\r
+#define INQUIRY_INFO_WITH_RSSI_AND_PSCAN_MODE_SIZE 15\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_READ_REMOTE_EXT_FEATURES_COMPLETE 0x23\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint16_t handle;\r
+ uint8_t page_num;\r
+ uint8_t max_page_num;\r
+ uint8_t features[8];\r
+} evt_read_remote_ext_features_complete;\r
+ #define EVT_READ_REMOTE_EXT_FEATURES_COMPLETE____status 0\r
+ #define EVT_READ_REMOTE_EXT_FEATURES_COMPLETE____handle 1\r
+ #define EVT_READ_REMOTE_EXT_FEATURES_COMPLETE____page_num 3\r
+ #define EVT_READ_REMOTE_EXT_FEATURES_COMPLETE____max_page_num 4\r
+ #define EVT_READ_REMOTE_EXT_FEATURES_COMPLETE____features 5\r
+/*--------------------------------*/\r
+#define EVT_READ_REMOTE_EXT_FEATURES_COMPLETE_SIZE 13\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_SYNC_CONN_COMPLETE 0x2C\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint16_t handle;\r
+ bdaddr_t bdaddr;\r
+ uint8_t link_type;\r
+ uint8_t trans_interval;\r
+ uint8_t retrans_window;\r
+ uint16_t rx_pkt_len;\r
+ uint16_t tx_pkt_len;\r
+ uint8_t air_mode;\r
+} evt_sync_conn_complete;\r
+ #define EVT_SYNC_CONN_COMPLETE____status 0\r
+ #define EVT_SYNC_CONN_COMPLETE____handle 1\r
+ #define EVT_SYNC_CONN_COMPLETE____bdaddr 3\r
+ #define EVT_SYNC_CONN_COMPLETE____link_type 9\r
+ #define EVT_SYNC_CONN_COMPLETE____trans_interval 10\r
+ #define EVT_SYNC_CONN_COMPLETE____retrans_window 11\r
+ #define EVT_SYNC_CONN_COMPLETE____rx_pkt_len 12\r
+ #define EVT_SYNC_CONN_COMPLETE____tx_pkt_len 14\r
+ #define EVT_SYNC_CONN_COMPLETE____air_mode 16\r
+/*--------------------------------*/\r
+#define EVT_SYNC_CONN_COMPLETE_SIZE 17\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_SYNC_CONN_CHANGED 0x2D\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint16_t handle;\r
+ uint8_t trans_interval;\r
+ uint8_t retrans_window;\r
+ uint16_t rx_pkt_len;\r
+ uint16_t tx_pkt_len;\r
+} evt_sync_conn_changed;\r
+ #define EVT_SYNC_CONN_CHANGED____status 0\r
+ #define EVT_SYNC_CONN_CHANGED____handle 1\r
+ #define EVT_SYNC_CONN_CHANGED____trans_interval 3\r
+ #define EVT_SYNC_CONN_CHANGED____retrans_window 4\r
+ #define EVT_SYNC_CONN_CHANGED____rx_pkt_len 5\r
+ #define EVT_SYNC_CONN_CHANGED____tx_pkt_len 7\r
+/*--------------------------------*/\r
+#define EVT_SYNC_CONN_CHANGED_SIZE 9\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define EVT_TESTING 0xFE\r
+\r
+#define EVT_VENDOR 0xFF\r
+\r
+/********************************************************************************/\r
+/********************************************************************************/\r
+/* Informational Parameters */\r
+#define OGF_INFO_PARAM 0x04\r
+\r
+#define OCF_READ_LOCAL_VERSION 0x0001\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint8_t hci_ver;\r
+ uint16_t hci_rev;\r
+ uint8_t lmp_ver;\r
+ uint16_t manufacturer;\r
+ uint16_t lmp_subver;\r
+}read_local_version_rp;\r
+ #define READ_LOCAL_VERSION_RP____status 0\r
+ #define READ_LOCAL_VERSION_RP____hci_ver 1\r
+ #define READ_LOCAL_VERSION_RP____hci_rev 2\r
+ #define READ_LOCAL_VERSION_RP____lmp_ver 4\r
+ #define READ_LOCAL_VERSION_RP____manufacturer 5\r
+ #define READ_LOCAL_VERSION_RP____lmp_subver 7\r
+/*--------------------------------*/\r
+#define READ_LOCAL_VERSION_RP_SIZE 9\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define OCF_READ_LOCAL_COMMANDS 0x0002\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint8_t commands[64];\r
+}read_local_commands_rp;\r
+ #define READ_LOCAL_COMMANDS_RP____status 0\r
+ #define READ_LOCAL_COMMANDS_RP____commands 1\r
+/*--------------------------------*/\r
+#define READ_LOCAL_COMMANDS_RP_SIZE 65\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define OCF_READ_LOCAL_FEATURES 0x0003\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint8_t features[8];\r
+}read_local_features_rp;\r
+ #define READ_LOCAL_FEATURES_RP____status 0\r
+ #define READ_LOCAL_FEATURES_RP____features 1\r
+/*--------------------------------*/\r
+#define READ_LOCAL_FEATURES_RP_SIZE 9\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define OCF_READ_LOCAL_EXT_FEATURES 0x0004\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t page_num;\r
+}read_local_ext_features_cp;\r
+ #define READ_LOCAL_EXT_FEATURES_CP____page_num 0\r
+/*--------------------------------*/\r
+#define READ_LOCAL_EXT_FEATURES_CP_SIZE 1\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint8_t page_num;\r
+ uint8_t max_page_num;\r
+ uint8_t features[8];\r
+}read_local_ext_features_rp;\r
+ #define READ_LOCAL_EXT_FEATURES_RP____status 0\r
+ #define READ_LOCAL_EXT_FEATURES_RP____page_num 1\r
+ #define READ_LOCAL_EXT_FEATURES_RP____max_page_num 2\r
+ #define READ_LOCAL_EXT_FEATURES_RP____features 3\r
+/*--------------------------------*/\r
+#define READ_LOCAL_EXT_FEATURES_RP_SIZE 11\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define OCF_READ_BUFFER_SIZE 0x0005\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint16_t acl_mtu;\r
+ uint8_t sco_mtu;\r
+ uint16_t acl_max_pkt;\r
+ uint16_t sco_max_pkt;\r
+}read_buffer_size_rp;\r
+ #define READ_BUFFER_SIZE_RP____status 0\r
+ #define READ_BUFFER_SIZE_RP____acl_mtu 1\r
+ #define READ_BUFFER_SIZE_RP____sco_mtu 3\r
+ #define READ_BUFFER_SIZE_RP____acl_max_pkt 4\r
+ #define READ_BUFFER_SIZE_RP____sco_max_pkt 6\r
+/*--------------------------------*/\r
+#define READ_BUFFER_SIZE_RP_SIZE 8\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define OCF_READ_BD_ADDR 0x0009\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ bdaddr_t bdaddr;\r
+}read_bd_addr_rp;\r
+ #define READ_BD_ADDR_RP____status 0\r
+ #define READ_BD_ADDR_RP____bdaddr 1\r
+/*--------------------------------*/\r
+#define READ_BD_ADDR_RP_SIZE 7\r
+\r
+\r
+/********************************************************************************/\r
+/********************************************************************************/\r
+/********************************************************************************/\r
+/* Status params */\r
+#define OGF_STATUS_PARAM 0x05\r
+\r
+#define OCF_READ_FAILED_CONTACT_COUNTER 0x0001\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint16_t handle;\r
+ uint8_t counter;\r
+} read_failed_contact_counter_rp;\r
+ #define READ_FAILED_CONTACT_COUNTER_RP____status 0\r
+ #define READ_FAILED_CONTACT_COUNTER_RP____handle 1\r
+ #define READ_FAILED_CONTACT_COUNTER_RP____counter 3\r
+/*--------------------------------*/\r
+#define READ_FAILED_CONTACT_COUNTER_RP_SIZE 4\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define OCF_RESET_FAILED_CONTACT_COUNTER 0x0002\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint16_t handle;\r
+} reset_failed_contact_counter_rp;\r
+ #define RESET_FAILED_CONTACT_COUNTER_RP____status 0\r
+ #define RESET_FAILED_CONTACT_COUNTER_RP____handle 1\r
+/*--------------------------------*/\r
+#define RESET_FAILED_CONTACT_COUNTER_RP_SIZE 4\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define OCF_READ_LINK_QUALITY 0x0003\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint16_t handle;\r
+ uint8_t link_quality;\r
+} read_link_quality_rp;\r
+ #define READ_LINK_QUALITY_RP____status 0\r
+ #define READ_LINK_QUALITY_RP____handle 1\r
+ #define READ_LINK_QUALITY_RP____link_quality 3\r
+/*--------------------------------*/\r
+#define READ_LINK_QUALITY_RP_SIZE 4\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define OCF_READ_RSSI 0x0005\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint16_t handle;\r
+ int8_t rssi;\r
+} read_rssi_rp;\r
+ #define READ_RSSI_RP____status 0\r
+ #define READ_RSSI_RP____handle 1\r
+ #define READ_RSSI_RP____rssi 3\r
+/*--------------------------------*/\r
+#define READ_RSSI_RP_SIZE 4\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define OCF_READ_AFH_MAP 0x0006\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint16_t handle;\r
+ uint8_t mode;\r
+ uint8_t map[10];\r
+} read_afh_map_rp;\r
+ #define READ_AFH_MAP_RP____status 0\r
+ #define READ_AFH_MAP_RP____handle 2\r
+ #define READ_AFH_MAP_RP____mode 3\r
+ #define READ_AFH_MAP_RP____map 4\r
+/*--------------------------------*/\r
+#define READ_AFH_MAP_RP_SIZE 14\r
+/****************************************************************/\r
+/****************************************************************/\r
+\r
+\r
+#define OCF_READ_CLOCK 0x0007\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint16_t handle;\r
+ uint8_t which_clock;\r
+} read_clock_cp;\r
+ #define READ_CLOCK_CP____handle 0\r
+ #define READ_CLOCK_CP____which_clock 2\r
+/*--------------------------------*/\r
+#define READ_CLOCK_CP_SIZE 3\r
+/*--------------------------------*/\r
+typedef struct {\r
+ uint8_t status;\r
+ uint16_t handle;\r
+ uint32_t clock;\r
+ uint16_t accuracy;\r
+}read_clock_rp;\r
+ #define READ_CLOCK_RP____status 0\r
+ #define READ_CLOCK_RP____handle 1\r
+ #define READ_CLOCK_RP____clock 3\r
+ #define READ_CLOCK_RP____accuracy 7\r
+/*--------------------------------*/\r
+#define READ_CLOCK_RP_SIZE 9\r
+\r
+/* Testing commands */\r
+#define OGF_TESTING_CMD 0x3e\r
+\r
+/* Vendor specific commands */\r
+#define OGF_VENDOR_CMD 0x3f\r
+\r
+\r
+\r
+//funkce\r
+int bth_del_event(uint16_t opcode);\r
+inline int bth_find_if_bdaddr_accept(bdaddr_t *bdaddr);\r
+/**********/\r
+int bth_evt_none(uint8_t *bth_p, uint8_t size); //fce s neex. indexem evt codu\r
+int bth_evt_inquiry_complete(uint8_t *bth_p, uint8_t size); //0x01\r
+int bth_evt_inquiry_result(uint8_t *bth_p, uint8_t size); //0x02\r
+int bth_evt_conn_complete(uint8_t *bth_p, uint8_t size); //0x03\r
+int bth_evt_conn_request(uint8_t *bth_p, uint8_t size); //0x04\r
+int bth_evt_disconn_complete(uint8_t *bth_p, uint8_t size); //0x05\r
+int bth_evt_auth_complete(uint8_t *bth_p, uint8_t size); //0x06\r
+int bth_remote_name_req_complete(uint8_t *bth_p, uint8_t size); //0x07\r
+int bth_evt_encrypt_cahnge(uint8_t *bth_p, uint8_t size); //0x08\r
+int bth_evt_change_conn_link_key_complete(uint8_t *bth_p, uint8_t size); //0x09\r
+int bth_evt_master_link_key_complete(uint8_t *bth_p, uint8_t size); //0x0A\r
+int bth_evt_read_remote_features_complete(uint8_t *bth_p, uint8_t size); //0x0B\r
+int bth_evt_read_remote_version_complete(uint8_t *bth_p, uint8_t size); //0x0C\r
+int bth_evt_qos_setup_complete(uint8_t *bth_p, uint8_t size); //0x0D\r
+int bth_evt_cmd_complete(uint8_t *bth_p, uint8_t size); //0x0E\r
+int bth_evt_cmd_status(uint8_t *bth_p, uint8_t size); //0x0F\r
+int bth_evt_hardware_error(uint8_t *bth_p, uint8_t size); //0x10\r
+int bth_evt_flush_occurred(uint8_t *bth_p, uint8_t size); //0x11\r
+int bth_evt_role_cahage(uint8_t *bth_p, uint8_t size); //0x12\r
+int bth_evt_num_comp_pkts(uint8_t *bth_p, uint8_t size); //0x13\r
+int bth_evt_mode_change(uint8_t *bth_p, uint8_t size); //0x14\r
+int bth_evt_return_link_keys(uint8_t *bth_p, uint8_t size); //0x15\r
+int bth_evt_pin_code_req(uint8_t *bth_p, uint8_t size); //0x16\r
+int bth_evt_link_key_req(uint8_t *bth_p, uint8_t size); //0x17\r
+int bth_evt_link_key_notify(uint8_t *bth_p, uint8_t size); //0x18\r
+int bth_evt_loopback_command(uint8_t *bth_p, uint8_t size); //0x19\r
+int bth_evt_data_buffer_overflow(uint8_t *bth_p, uint8_t size); //0x1A\r
+int bth_evt_max_slots_change(uint8_t *bth_p, uint8_t size); //0x1B\r
+int bth_evt_read_clock_offset_complete(uint8_t *bth_p, uint8_t size); //0x1C\r
+int bth_evt_conn_ptype_changed(uint8_t *bth_p, uint8_t size); //0x1D\r
+int bth_evt_qos_violation(uint8_t *bth_p, uint8_t size); //0x1E\r
+int bth_evt_page_scan_mode_change(uint8_t *bth_p, uint8_t size); //0x1F\r
+int bth_evt_pscan_rep_mode_change(uint8_t *bth_p, uint8_t size); //0x20\r
+int bth_evt_flow_spec_complete(uint8_t *bth_p, uint8_t size); //0x21\r
+int bth_evt_inquiry_result_with_rssi(uint8_t *bth_p, uint8_t size);; //0x22\r
+\r
+\r
+#endif\r
+\r
+\r