diff options
author | Andrei Emeltchenko <andrei.emeltchenko@intel.com> | 2011-10-13 09:18:53 -0400 |
---|---|---|
committer | Gustavo F. Padovan <padovan@profusion.mobi> | 2011-10-13 16:09:02 -0400 |
commit | 5a9e7057c5b3feed2d403ef69cfb0bdbacab3a6d (patch) | |
tree | d098dd136280bd70041ab6821ebc46e07635411e | |
parent | d43cb289b065121cbf99434502cf544daf262c5a (diff) |
Bluetooth: EFS: definitions and headers
Define Extended Flow Specification structures and default values.
Based upon haijun.liu <haijun.liu@atheros.com> series of patches
(sent Sun, 22 Aug 2010)
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
-rw-r--r-- | include/net/bluetooth/l2cap.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h index 806b95093d3f..3b54e9b274ef 100644 --- a/include/net/bluetooth/l2cap.h +++ b/include/net/bluetooth/l2cap.h | |||
@@ -241,6 +241,7 @@ struct l2cap_conf_rsp { | |||
241 | #define L2CAP_CONF_UNACCEPT 0x0001 | 241 | #define L2CAP_CONF_UNACCEPT 0x0001 |
242 | #define L2CAP_CONF_REJECT 0x0002 | 242 | #define L2CAP_CONF_REJECT 0x0002 |
243 | #define L2CAP_CONF_UNKNOWN 0x0003 | 243 | #define L2CAP_CONF_UNKNOWN 0x0003 |
244 | #define L2CAP_CONF_EFS_REJECT 0x0005 | ||
244 | 245 | ||
245 | struct l2cap_conf_opt { | 246 | struct l2cap_conf_opt { |
246 | __u8 type; | 247 | __u8 type; |
@@ -257,6 +258,7 @@ struct l2cap_conf_opt { | |||
257 | #define L2CAP_CONF_QOS 0x03 | 258 | #define L2CAP_CONF_QOS 0x03 |
258 | #define L2CAP_CONF_RFC 0x04 | 259 | #define L2CAP_CONF_RFC 0x04 |
259 | #define L2CAP_CONF_FCS 0x05 | 260 | #define L2CAP_CONF_FCS 0x05 |
261 | #define L2CAP_CONF_EFS 0x06 | ||
260 | #define L2CAP_CONF_EWS 0x07 | 262 | #define L2CAP_CONF_EWS 0x07 |
261 | 263 | ||
262 | #define L2CAP_CONF_MAX_SIZE 22 | 264 | #define L2CAP_CONF_MAX_SIZE 22 |
@@ -276,6 +278,15 @@ struct l2cap_conf_rfc { | |||
276 | #define L2CAP_MODE_ERTM 0x03 | 278 | #define L2CAP_MODE_ERTM 0x03 |
277 | #define L2CAP_MODE_STREAMING 0x04 | 279 | #define L2CAP_MODE_STREAMING 0x04 |
278 | 280 | ||
281 | struct l2cap_conf_efs { | ||
282 | __u8 id; | ||
283 | __u8 stype; | ||
284 | __le16 msdu; | ||
285 | __le32 sdu_itime; | ||
286 | __le32 acc_lat; | ||
287 | __le32 flush_to; | ||
288 | } __packed; | ||
289 | |||
279 | struct l2cap_disconn_req { | 290 | struct l2cap_disconn_req { |
280 | __le16 dcid; | 291 | __le16 dcid; |
281 | __le16 scid; | 292 | __le16 scid; |
@@ -386,6 +397,20 @@ struct l2cap_chan { | |||
386 | __u8 remote_max_tx; | 397 | __u8 remote_max_tx; |
387 | __u16 remote_mps; | 398 | __u16 remote_mps; |
388 | 399 | ||
400 | __u8 local_id; | ||
401 | __u8 local_stype; | ||
402 | __u16 local_msdu; | ||
403 | __u32 local_sdu_itime; | ||
404 | __u32 local_acc_lat; | ||
405 | __u32 local_flush_to; | ||
406 | |||
407 | __u8 remote_id; | ||
408 | __u8 remote_stype; | ||
409 | __u16 remote_msdu; | ||
410 | __u32 remote_sdu_itime; | ||
411 | __u32 remote_acc_lat; | ||
412 | __u32 remote_flush_to; | ||
413 | |||
389 | struct timer_list chan_timer; | 414 | struct timer_list chan_timer; |
390 | struct timer_list retrans_timer; | 415 | struct timer_list retrans_timer; |
391 | struct timer_list monitor_timer; | 416 | struct timer_list monitor_timer; |
@@ -492,6 +517,7 @@ enum { | |||
492 | FLAG_FORCE_RELIABLE, | 517 | FLAG_FORCE_RELIABLE, |
493 | FLAG_FLUSHABLE, | 518 | FLAG_FLUSHABLE, |
494 | FLAG_EXT_CTRL, | 519 | FLAG_EXT_CTRL, |
520 | FLAG_EFS_ENABLE, | ||
495 | }; | 521 | }; |
496 | 522 | ||
497 | #define __set_chan_timer(c, t) l2cap_set_timer(c, &c->chan_timer, (t)) | 523 | #define __set_chan_timer(c, t) l2cap_set_timer(c, &c->chan_timer, (t)) |