Loading system/hci/include/hci_internals.h +0 −39 Original line number Diff line number Diff line Loading @@ -17,42 +17,3 @@ ******************************************************************************/ #pragma once // 2 bytes for opcode, 1 byte for parameter length (Volume 2, Part E, 5.4.1) #define HCI_COMMAND_PREAMBLE_SIZE 3 // 2 bytes for handle, 2 bytes for data length (Volume 2, Part E, 5.4.2) #define HCI_ACL_PREAMBLE_SIZE 4 // 2 bytes for handle, 1 byte for data length (Volume 2, Part E, 5.4.3) #define HCI_SCO_PREAMBLE_SIZE 3 // 1 byte for event code, 1 byte for parameter length (Volume 2, Part E, 5.4.4) #define HCI_EVENT_PREAMBLE_SIZE 2 // ISO // 2 bytes for handle, 2 bytes for data length (Volume 2, Part E, 5.4.5) #define HCI_ISO_PREAMBLE_SIZE 4 #define HCI_ISO_BF_FIRST_FRAGMENTED_PACKET (0) #define HCI_ISO_BF_CONTINUATION_FRAGMENT_PACKET (1) #define HCI_ISO_BF_COMPLETE_PACKET (2) #define HCI_ISO_BF_LAST_FRAGMENT_PACKET (3) #define HCI_ISO_HEADER_TIMESTAMP_SIZE (4) #define HCI_ISO_HEADER_ISO_LEN_SIZE (2) #define HCI_ISO_HEADER_PACKET_SEQ_SIZE (2) #define HCI_ISO_HEADER_LEN_WITHOUT_TS \ (HCI_ISO_HEADER_ISO_LEN_SIZE + HCI_ISO_HEADER_PACKET_SEQ_SIZE) #define HCI_ISO_HEADER_LEN_WITH_TS \ (HCI_ISO_HEADER_LEN_WITHOUT_TS + HCI_ISO_HEADER_TIMESTAMP_SIZE) #define HCI_ISO_SET_CONTINUATION_FLAG(handle) \ (((handle)&0x4FFF) | (0x0001 << 12)) #define HCI_ISO_SET_COMPLETE_FLAG(handle) (((handle)&0x4FFF) | (0x0002 << 12)) #define HCI_ISO_SET_END_FRAG_FLAG(handle) (((handle)&0x4FFF) | (0x0003 << 12)) #define HCI_ISO_SET_TIMESTAMP_FLAG(handle) (((handle)&0x3FFF) | (0x0001 << 14)) #define HCI_ISO_GET_TS_FLAG(handle) (((handle) >> 14) & 0x0001) #define HCI_ISO_GET_PACKET_STATUS_FLAGS(iso_sdu_length) \ (iso_sdu_length & 0xC000) #define HCI_ISO_SDU_LENGTH_MASK 0x0FFF system/hci/src/hci_packet_factory.cc +2 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,8 @@ #include "osi/include/allocator.h" #include "stack/include/bt_hdr.h" #define HCI_COMMAND_PREAMBLE_SIZE 3 static const allocator_t* buffer_allocator; static BT_HDR* make_packet(size_t data_size); Loading system/hci/src/packet_fragmenter.cc +32 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,38 @@ #include "osi/include/log.h" #include "osi/include/osi.h" // 2 bytes for handle, 2 bytes for data length (Volume 2, Part E, 5.4.2) #define HCI_ACL_PREAMBLE_SIZE 4 #define HCI_ISO_BF_FIRST_FRAGMENTED_PACKET (0) #define HCI_ISO_BF_CONTINUATION_FRAGMENT_PACKET (1) #define HCI_ISO_BF_COMPLETE_PACKET (2) #define HCI_ISO_BF_LAST_FRAGMENT_PACKET (3) #define HCI_ISO_HEADER_TIMESTAMP_SIZE (4) #define HCI_ISO_HEADER_ISO_LEN_SIZE (2) #define HCI_ISO_HEADER_PACKET_SEQ_SIZE (2) // ISO // 2 bytes for handle, 2 bytes for data length (Volume 2, Part E, 5.4.5) #define HCI_ISO_PREAMBLE_SIZE 4 #define HCI_ISO_HEADER_LEN_WITHOUT_TS \ (HCI_ISO_HEADER_ISO_LEN_SIZE + HCI_ISO_HEADER_PACKET_SEQ_SIZE) #define HCI_ISO_HEADER_LEN_WITH_TS \ (HCI_ISO_HEADER_LEN_WITHOUT_TS + HCI_ISO_HEADER_TIMESTAMP_SIZE) #define HCI_ISO_SET_CONTINUATION_FLAG(handle) \ (((handle)&0x4FFF) | (0x0001 << 12)) #define HCI_ISO_SET_COMPLETE_FLAG(handle) (((handle)&0x4FFF) | (0x0002 << 12)) #define HCI_ISO_SET_END_FRAG_FLAG(handle) (((handle)&0x4FFF) | (0x0003 << 12)) #define HCI_ISO_SET_TIMESTAMP_FLAG(handle) (((handle)&0x3FFF) | (0x0001 << 14)) #define HCI_ISO_GET_TS_FLAG(handle) (((handle) >> 14) & 0x0001) #define HCI_ISO_GET_PACKET_STATUS_FLAGS(iso_sdu_length) \ (iso_sdu_length & 0xC000) #define HCI_ISO_SDU_LENGTH_MASK 0x0FFF #define APPLY_CONTINUATION_FLAG(handle) (((handle)&0xCFFF) | 0x1000) #define APPLY_START_FLAG(handle) (((handle)&0xCFFF) | 0x2000) #define SUB_EVENT(event) ((event)&MSG_SUB_EVT_MASK) Loading Loading
system/hci/include/hci_internals.h +0 −39 Original line number Diff line number Diff line Loading @@ -17,42 +17,3 @@ ******************************************************************************/ #pragma once // 2 bytes for opcode, 1 byte for parameter length (Volume 2, Part E, 5.4.1) #define HCI_COMMAND_PREAMBLE_SIZE 3 // 2 bytes for handle, 2 bytes for data length (Volume 2, Part E, 5.4.2) #define HCI_ACL_PREAMBLE_SIZE 4 // 2 bytes for handle, 1 byte for data length (Volume 2, Part E, 5.4.3) #define HCI_SCO_PREAMBLE_SIZE 3 // 1 byte for event code, 1 byte for parameter length (Volume 2, Part E, 5.4.4) #define HCI_EVENT_PREAMBLE_SIZE 2 // ISO // 2 bytes for handle, 2 bytes for data length (Volume 2, Part E, 5.4.5) #define HCI_ISO_PREAMBLE_SIZE 4 #define HCI_ISO_BF_FIRST_FRAGMENTED_PACKET (0) #define HCI_ISO_BF_CONTINUATION_FRAGMENT_PACKET (1) #define HCI_ISO_BF_COMPLETE_PACKET (2) #define HCI_ISO_BF_LAST_FRAGMENT_PACKET (3) #define HCI_ISO_HEADER_TIMESTAMP_SIZE (4) #define HCI_ISO_HEADER_ISO_LEN_SIZE (2) #define HCI_ISO_HEADER_PACKET_SEQ_SIZE (2) #define HCI_ISO_HEADER_LEN_WITHOUT_TS \ (HCI_ISO_HEADER_ISO_LEN_SIZE + HCI_ISO_HEADER_PACKET_SEQ_SIZE) #define HCI_ISO_HEADER_LEN_WITH_TS \ (HCI_ISO_HEADER_LEN_WITHOUT_TS + HCI_ISO_HEADER_TIMESTAMP_SIZE) #define HCI_ISO_SET_CONTINUATION_FLAG(handle) \ (((handle)&0x4FFF) | (0x0001 << 12)) #define HCI_ISO_SET_COMPLETE_FLAG(handle) (((handle)&0x4FFF) | (0x0002 << 12)) #define HCI_ISO_SET_END_FRAG_FLAG(handle) (((handle)&0x4FFF) | (0x0003 << 12)) #define HCI_ISO_SET_TIMESTAMP_FLAG(handle) (((handle)&0x3FFF) | (0x0001 << 14)) #define HCI_ISO_GET_TS_FLAG(handle) (((handle) >> 14) & 0x0001) #define HCI_ISO_GET_PACKET_STATUS_FLAGS(iso_sdu_length) \ (iso_sdu_length & 0xC000) #define HCI_ISO_SDU_LENGTH_MASK 0x0FFF
system/hci/src/hci_packet_factory.cc +2 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,8 @@ #include "osi/include/allocator.h" #include "stack/include/bt_hdr.h" #define HCI_COMMAND_PREAMBLE_SIZE 3 static const allocator_t* buffer_allocator; static BT_HDR* make_packet(size_t data_size); Loading
system/hci/src/packet_fragmenter.cc +32 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,38 @@ #include "osi/include/log.h" #include "osi/include/osi.h" // 2 bytes for handle, 2 bytes for data length (Volume 2, Part E, 5.4.2) #define HCI_ACL_PREAMBLE_SIZE 4 #define HCI_ISO_BF_FIRST_FRAGMENTED_PACKET (0) #define HCI_ISO_BF_CONTINUATION_FRAGMENT_PACKET (1) #define HCI_ISO_BF_COMPLETE_PACKET (2) #define HCI_ISO_BF_LAST_FRAGMENT_PACKET (3) #define HCI_ISO_HEADER_TIMESTAMP_SIZE (4) #define HCI_ISO_HEADER_ISO_LEN_SIZE (2) #define HCI_ISO_HEADER_PACKET_SEQ_SIZE (2) // ISO // 2 bytes for handle, 2 bytes for data length (Volume 2, Part E, 5.4.5) #define HCI_ISO_PREAMBLE_SIZE 4 #define HCI_ISO_HEADER_LEN_WITHOUT_TS \ (HCI_ISO_HEADER_ISO_LEN_SIZE + HCI_ISO_HEADER_PACKET_SEQ_SIZE) #define HCI_ISO_HEADER_LEN_WITH_TS \ (HCI_ISO_HEADER_LEN_WITHOUT_TS + HCI_ISO_HEADER_TIMESTAMP_SIZE) #define HCI_ISO_SET_CONTINUATION_FLAG(handle) \ (((handle)&0x4FFF) | (0x0001 << 12)) #define HCI_ISO_SET_COMPLETE_FLAG(handle) (((handle)&0x4FFF) | (0x0002 << 12)) #define HCI_ISO_SET_END_FRAG_FLAG(handle) (((handle)&0x4FFF) | (0x0003 << 12)) #define HCI_ISO_SET_TIMESTAMP_FLAG(handle) (((handle)&0x3FFF) | (0x0001 << 14)) #define HCI_ISO_GET_TS_FLAG(handle) (((handle) >> 14) & 0x0001) #define HCI_ISO_GET_PACKET_STATUS_FLAGS(iso_sdu_length) \ (iso_sdu_length & 0xC000) #define HCI_ISO_SDU_LENGTH_MASK 0x0FFF #define APPLY_CONTINUATION_FLAG(handle) (((handle)&0xCFFF) | 0x1000) #define APPLY_START_FLAG(handle) (((handle)&0xCFFF) | 0x2000) #define SUB_EVENT(event) ((event)&MSG_SUB_EVT_MASK) Loading