aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrei Emeltchenko <andrei.emeltchenko@intel.com>2011-10-13 09:18:53 -0400
committerGustavo F. Padovan <padovan@profusion.mobi>2011-10-13 16:09:02 -0400
commit5a9e7057c5b3feed2d403ef69cfb0bdbacab3a6d (patch)
treed098dd136280bd70041ab6821ebc46e07635411e
parentd43cb289b065121cbf99434502cf544daf262c5a (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.h26
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
245struct l2cap_conf_opt { 246struct 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
281struct 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
279struct l2cap_disconn_req { 290struct 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))