summaryrefslogtreecommitdiff
path: root/include/net/bluetooth/l2cap.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/bluetooth/l2cap.h')
-rw-r--r--include/net/bluetooth/l2cap.h37
1 files changed, 10 insertions, 27 deletions
diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h
index c853b16d..1a966af 100644
--- a/include/net/bluetooth/l2cap.h
+++ b/include/net/bluetooth/l2cap.h
@@ -131,7 +131,6 @@ struct l2cap_conninfo {
/* L2CAP fixed channels */
#define L2CAP_FC_L2CAP 0x02
-#define L2CAP_FC_CONNLESS 0x04
#define L2CAP_FC_A2MP 0x08
/* L2CAP Control Field bit masks */
@@ -238,9 +237,8 @@ struct l2cap_conn_rsp {
/* protocol/service multiplexer (PSM) */
#define L2CAP_PSM_SDP 0x0001
#define L2CAP_PSM_RFCOMM 0x0003
-#define L2CAP_PSM_3DSP 0x0021
-/* channel identifier */
+/* channel indentifier */
#define L2CAP_CID_SIGNALING 0x0001
#define L2CAP_CID_CONN_LESS 0x0002
#define L2CAP_CID_A2MP 0x0003
@@ -435,6 +433,8 @@ struct l2cap_seq_list {
#define L2CAP_SEQ_LIST_TAIL 0x8000
struct l2cap_chan {
+ struct sock *sk;
+
struct l2cap_conn *conn;
struct hci_conn *hs_hcon;
struct hci_chan *hs_hchan;
@@ -442,12 +442,7 @@ struct l2cap_chan {
__u8 state;
- bdaddr_t dst;
- __u8 dst_type;
- bdaddr_t src;
- __u8 src_type;
__le16 psm;
- __le16 sport;
__u16 dcid;
__u16 scid;
@@ -458,6 +453,8 @@ struct l2cap_chan {
__u8 chan_type;
__u8 chan_policy;
+ __le16 sport;
+
__u8 sec_level;
__u8 ident;
@@ -549,12 +546,9 @@ struct l2cap_ops {
void (*teardown) (struct l2cap_chan *chan, int err);
void (*close) (struct l2cap_chan *chan);
void (*state_change) (struct l2cap_chan *chan,
- int state, int err);
+ int state);
void (*ready) (struct l2cap_chan *chan);
void (*defer) (struct l2cap_chan *chan);
- void (*resume) (struct l2cap_chan *chan);
- void (*set_shutdown) (struct l2cap_chan *chan);
- long (*get_sndtimeo) (struct l2cap_chan *chan);
struct sk_buff *(*alloc_skb) (struct l2cap_chan *chan,
unsigned long len, int nb);
};
@@ -563,11 +557,13 @@ struct l2cap_conn {
struct hci_conn *hcon;
struct hci_chan *hchan;
+ bdaddr_t *dst;
+ bdaddr_t *src;
+
unsigned int mtu;
__u32 feat_mask;
__u8 fixed_chan_mask;
- bool hs_enabled;
__u8 info_state;
__u8 info_ident;
@@ -653,7 +649,6 @@ enum {
FLAG_FLUSHABLE,
FLAG_EXT_CTRL,
FLAG_EFS_ENABLE,
- FLAG_DEFER_SETUP,
};
enum {
@@ -795,19 +790,6 @@ static inline void l2cap_chan_no_defer(struct l2cap_chan *chan)
{
}
-static inline void l2cap_chan_no_resume(struct l2cap_chan *chan)
-{
-}
-
-static inline void l2cap_chan_no_set_shutdown(struct l2cap_chan *chan)
-{
-}
-
-static inline long l2cap_chan_no_get_sndtimeo(struct l2cap_chan *chan)
-{
- return 0;
-}
-
extern bool disable_ertm;
int l2cap_init_sockets(void);
@@ -815,6 +797,7 @@ void l2cap_cleanup_sockets(void);
bool l2cap_is_socket(struct socket *sock);
void __l2cap_connect_rsp_defer(struct l2cap_chan *chan);
+int __l2cap_wait_ack(struct sock *sk);
int l2cap_add_psm(struct l2cap_chan *chan, bdaddr_t *src, __le16 psm);
int l2cap_add_scid(struct l2cap_chan *chan, __u16 scid);