Commit 14572096 authored by Luiz Augusto von Dentz's avatar Luiz Augusto von Dentz Committed by Marcel Holtmann
Browse files

Bluetooth: L2CAP: Add definitions for Enhanced Credit Based Mode



This introduces the definitions for the new L2CAP mode called Enhanced
Credit Based Mode.

Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent 985048f4
Loading
Loading
Loading
Loading
+39 −0
Original line number Diff line number Diff line
@@ -119,6 +119,10 @@ struct l2cap_conninfo {
#define L2CAP_LE_CONN_REQ	0x14
#define L2CAP_LE_CONN_RSP	0x15
#define L2CAP_LE_CREDITS	0x16
#define L2CAP_ECRED_CONN_REQ	0x17
#define L2CAP_ECRED_CONN_RSP	0x18
#define L2CAP_ECRED_RECONF_REQ	0x19
#define L2CAP_ECRED_RECONF_RSP	0x1a

/* L2CAP extended feature mask */
#define L2CAP_FEAT_FLOWCTL	0x00000001
@@ -359,6 +363,7 @@ struct l2cap_conf_rfc {
 * ever be used in the BR/EDR configuration phase.
 */
#define L2CAP_MODE_LE_FLOWCTL	0x80
#define L2CAP_MODE_EXT_FLOWCTL	0x81

struct l2cap_conf_efs {
	__u8	id;
@@ -483,6 +488,39 @@ struct l2cap_le_credits {
	__le16     credits;
} __packed;

#define L2CAP_ECRED_MIN_MTU		64
#define L2CAP_ECRED_MIN_MPS		64

struct l2cap_ecred_conn_req {
	__le16 psm;
	__le16 mtu;
	__le16 mps;
	__le16 credits;
	__le16 scid[0];
} __packed;

struct l2cap_ecred_conn_rsp {
	__le16 mtu;
	__le16 mps;
	__le16 credits;
	__le16 result;
	__le16 dcid[0];
};

struct l2cap_ecred_reconf_req {
	__le16 mtu;
	__le16 mps;
	__le16 scid[0];
} __packed;

#define L2CAP_RECONF_SUCCESS		0x0000
#define L2CAP_RECONF_INVALID_MTU	0x0001
#define L2CAP_RECONF_INVALID_MPS	0x0002

struct l2cap_ecred_reconf_rsp {
	__le16 result;
} __packed;

/* ----- L2CAP channels and connections ----- */
struct l2cap_seq_list {
	__u16	head;
@@ -724,6 +762,7 @@ enum {
	FLAG_EFS_ENABLE,
	FLAG_DEFER_SETUP,
	FLAG_LE_CONN_REQ_SENT,
	FLAG_ECRED_CONN_REQ_SENT,
	FLAG_PENDING_SECURITY,
	FLAG_HOLD_HCI_CONN,
};