aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorGustavo F. Padovan <padovan@profusion.mobi>2011-05-16 16:24:37 -0400
committerGustavo F. Padovan <padovan@profusion.mobi>2011-06-13 13:55:32 -0400
commit80808e431e1ef25856457de82ce141bed6a6313a (patch)
tree021d6affd8b8f6bf81ba51fadb9951b0b9e47d27 /include
parentdc50a06dac61d7ca7ddb3d9bb8921ca5d68f51b6 (diff)
Bluetooth: Add l2cap_chan_ops abstraction
Add an abstraction layer between L2CAP core and its users (only l2cap_sock.c now). The first function implemented is new_connection() that replaces calls to l2cap_sock_alloc() in l2cap_core.c Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Diffstat (limited to 'include')
-rw-r--r--include/net/bluetooth/l2cap.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h
index 0529d278e068..d3a150955c44 100644
--- a/include/net/bluetooth/l2cap.h
+++ b/include/net/bluetooth/l2cap.h
@@ -354,6 +354,15 @@ struct l2cap_chan {
354 354
355 struct list_head list; 355 struct list_head list;
356 struct list_head global_l; 356 struct list_head global_l;
357
358 void *data;
359 struct l2cap_ops *ops;
360};
361
362struct l2cap_ops {
363 char *name;
364
365 struct l2cap_chan *(*new_connection) (void *data);
357}; 366};
358 367
359struct l2cap_conn { 368struct l2cap_conn {
@@ -460,9 +469,6 @@ int l2cap_add_psm(struct l2cap_chan *chan, bdaddr_t *src, __le16 psm);
460int l2cap_add_scid(struct l2cap_chan *chan, __u16 scid); 469int l2cap_add_scid(struct l2cap_chan *chan, __u16 scid);
461 470
462void l2cap_sock_kill(struct sock *sk); 471void l2cap_sock_kill(struct sock *sk);
463void l2cap_sock_init(struct sock *sk, struct sock *parent);
464struct sock *l2cap_sock_alloc(struct net *net, struct socket *sock,
465 int proto, gfp_t prio);
466 472
467struct l2cap_chan *l2cap_chan_create(struct sock *sk); 473struct l2cap_chan *l2cap_chan_create(struct sock *sk);
468void l2cap_chan_close(struct l2cap_chan *chan, int reason); 474void l2cap_chan_close(struct l2cap_chan *chan, int reason);