]> rtime.felk.cvut.cz Git - mirosot.git/blobdiff - bth_tests/bluetooth/hci_event.h
Added bth_test application. Not finished.
[mirosot.git] / bth_tests / bluetooth / hci_event.h
diff --git a/bth_tests/bluetooth/hci_event.h b/bth_tests/bluetooth/hci_event.h
new file mode 100644 (file)
index 0000000..c87d481
--- /dev/null
@@ -0,0 +1,864 @@
+/*******************************************************************\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