summaryrefslogtreecommitdiffstats
path: root/drivers/bluetooth/hci_h5.c
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@intel.com>2012-07-16 15:12:07 +0200
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>2012-07-17 19:48:22 +0200
commit01977c0bbbc834e57436be0bab31c3df11d61710 (patch)
treec1e7750632a018a369d3c774203bd2d88ed2528d /drivers/bluetooth/hci_h5.c
parentBluetooth: Add initial packet sending support to Three-wire UART (diff)
downloadlinux-01977c0bbbc834e57436be0bab31c3df11d61710.tar.xz
linux-01977c0bbbc834e57436be0bab31c3df11d61710.zip
Bluetooth: Add Three-wire header value convenience macros
This patch adds convenience macros for reading Three-wire header values. This will help make the code more readable. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Diffstat (limited to 'drivers/bluetooth/hci_h5.c')
-rw-r--r--drivers/bluetooth/hci_h5.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/bluetooth/hci_h5.c b/drivers/bluetooth/hci_h5.c
index 6df4c07bbd7b..f50afb2fb364 100644
--- a/drivers/bluetooth/hci_h5.c
+++ b/drivers/bluetooth/hci_h5.c
@@ -43,6 +43,14 @@
*/
#define H5_MAX_LEN (4 + 0xfff + 2)
+/* Convenience macros for reading Three-wire header values */
+#define H5_HDR_SEQ(hdr) ((hdr)[0] & 0x07)
+#define H5_HDR_ACK(hdr) (((hdr)[0] >> 3) & 0x07)
+#define H5_HDR_CRC(hdr) (((hdr)[0] >> 6) & 0x01)
+#define H5_HDR_RELIABLE(hdr) (((hdr)[0] >> 7) & 0x01)
+#define H5_HDR_PKT_TYPE(hdr) ((hdr)[1] & 0x0f)
+#define H5_HDR_LEN(hdr) ((((hdr)[1] >> 4) & 0xff) + ((hdr)[2] << 4))
+
#define SLIP_DELIMITER 0xc0
#define SLIP_ESC 0xdb
#define SLIP_ESC_DELIM 0xdc