diff options
author | Gustavo F. Padovan <padovan@profusion.mobi> | 2011-05-16 17:24:37 -0300 |
---|---|---|
committer | Jaikumar Ganesh <jaikumar@google.com> | 2011-07-11 11:59:19 -0700 |
commit | b090c4b586097e4bfdb2dcd7b203db960e783a95 (patch) | |
tree | 5bf7f328546e4aa1b42e47659eea7cb79ab2fe72 /include/net/bluetooth/l2cap.h | |
parent | b87bf5b81d38fb89758fc52d80ebb987745af2cb (diff) | |
download | kernel_samsung_espresso10-b090c4b586097e4bfdb2dcd7b203db960e783a95.zip kernel_samsung_espresso10-b090c4b586097e4bfdb2dcd7b203db960e783a95.tar.gz kernel_samsung_espresso10-b090c4b586097e4bfdb2dcd7b203db960e783a95.tar.bz2 |
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/net/bluetooth/l2cap.h')
-rw-r--r-- | include/net/bluetooth/l2cap.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h index 0529d27..d3a1509 100644 --- a/include/net/bluetooth/l2cap.h +++ b/include/net/bluetooth/l2cap.h @@ -354,6 +354,15 @@ struct l2cap_chan { struct list_head list; struct list_head global_l; + + void *data; + struct l2cap_ops *ops; +}; + +struct l2cap_ops { + char *name; + + struct l2cap_chan *(*new_connection) (void *data); }; struct l2cap_conn { @@ -460,9 +469,6 @@ int l2cap_add_psm(struct l2cap_chan *chan, bdaddr_t *src, __le16 psm); int l2cap_add_scid(struct l2cap_chan *chan, __u16 scid); void l2cap_sock_kill(struct sock *sk); -void l2cap_sock_init(struct sock *sk, struct sock *parent); -struct sock *l2cap_sock_alloc(struct net *net, struct socket *sock, - int proto, gfp_t prio); struct l2cap_chan *l2cap_chan_create(struct sock *sk); void l2cap_chan_close(struct l2cap_chan *chan, int reason); |