aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@intel.com>2013-05-17 05:49:23 -0400
committerMarcel Holtmann <marcel@holtmann.org>2013-12-05 10:05:34 -0500
commit3831971355d901ccfb76533a422b4395072849a3 (patch)
tree378ff35f8a2faf3280da767c40a638f94f590fa0 /include
parentb5ecba642290a0f28a2dca15e4fdf2a9779bc116 (diff)
Bluetooth: Add LE L2CAP flow control mode
The LE connection oriented channels have their own mode with its own data transfer rules. In order to implement this properly we need to distinguish L2CAP channels operating in this mode from other modes. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'include')
-rw-r--r--include/net/bluetooth/l2cap.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h
index 84b25202596e..063d786b0991 100644
--- a/include/net/bluetooth/l2cap.h
+++ b/include/net/bluetooth/l2cap.h
@@ -328,6 +328,12 @@ struct l2cap_conf_rfc {
328#define L2CAP_MODE_ERTM 0x03 328#define L2CAP_MODE_ERTM 0x03
329#define L2CAP_MODE_STREAMING 0x04 329#define L2CAP_MODE_STREAMING 0x04
330 330
331/* Unlike the above this one doesn't actually map to anything that would
332 * ever be sent over the air. Therefore, use a value that's unlikely to
333 * ever be used in the BR/EDR configuration phase.
334 */
335#define L2CAP_MODE_LE_FLOWCTL 0x80
336
331struct l2cap_conf_efs { 337struct l2cap_conf_efs {
332 __u8 id; 338 __u8 id;
333 __u8 stype; 339 __u8 stype;
@@ -861,6 +867,7 @@ int l2cap_chan_send(struct l2cap_chan *chan, struct msghdr *msg, size_t len,
861void l2cap_chan_busy(struct l2cap_chan *chan, int busy); 867void l2cap_chan_busy(struct l2cap_chan *chan, int busy);
862int l2cap_chan_check_security(struct l2cap_chan *chan); 868int l2cap_chan_check_security(struct l2cap_chan *chan);
863void l2cap_chan_set_defaults(struct l2cap_chan *chan); 869void l2cap_chan_set_defaults(struct l2cap_chan *chan);
870void l2cap_le_flowctl_init(struct l2cap_chan *chan);
864int l2cap_ertm_init(struct l2cap_chan *chan); 871int l2cap_ertm_init(struct l2cap_chan *chan);
865void l2cap_chan_add(struct l2cap_conn *conn, struct l2cap_chan *chan); 872void l2cap_chan_add(struct l2cap_conn *conn, struct l2cap_chan *chan);
866void __l2cap_chan_add(struct l2cap_conn *conn, struct l2cap_chan *chan); 873void __l2cap_chan_add(struct l2cap_conn *conn, struct l2cap_chan *chan);