l2cap.h (d9fbd02be5c201c1659ee0d79c0820bb68d95c8c) | l2cap.h (0498878b18993891f7b71c75b6adcb7c157501db) |
---|---|
1/* 2 BlueZ - Bluetooth protocol stack for Linux 3 Copyright (C) 2000-2001 Qualcomm Incorporated 4 Copyright (C) 2009-2010 Gustavo F. Padovan <gustavo@padovan.org> 5 Copyright (C) 2010 Google Inc. 6 7 Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com> 8 --- 588 unchanged lines hidden (view full) --- 597 void (*defer) (struct l2cap_chan *chan); 598 void (*resume) (struct l2cap_chan *chan); 599 void (*suspend) (struct l2cap_chan *chan); 600 void (*set_shutdown) (struct l2cap_chan *chan); 601 long (*get_sndtimeo) (struct l2cap_chan *chan); 602 struct sk_buff *(*alloc_skb) (struct l2cap_chan *chan, 603 unsigned long hdr_len, 604 unsigned long len, int nb); | 1/* 2 BlueZ - Bluetooth protocol stack for Linux 3 Copyright (C) 2000-2001 Qualcomm Incorporated 4 Copyright (C) 2009-2010 Gustavo F. Padovan <gustavo@padovan.org> 5 Copyright (C) 2010 Google Inc. 6 7 Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com> 8 --- 588 unchanged lines hidden (view full) --- 597 void (*defer) (struct l2cap_chan *chan); 598 void (*resume) (struct l2cap_chan *chan); 599 void (*suspend) (struct l2cap_chan *chan); 600 void (*set_shutdown) (struct l2cap_chan *chan); 601 long (*get_sndtimeo) (struct l2cap_chan *chan); 602 struct sk_buff *(*alloc_skb) (struct l2cap_chan *chan, 603 unsigned long hdr_len, 604 unsigned long len, int nb); |
605 int (*memcpy_fromiovec) (struct l2cap_chan *chan, 606 unsigned char *kdata, 607 struct iovec *iov, 608 int len); |
|
605}; 606 607struct l2cap_conn { 608 struct hci_conn *hcon; 609 struct hci_chan *hchan; 610 611 unsigned int mtu; 612 --- 239 unchanged lines hidden (view full) --- 852{ 853} 854 855static inline long l2cap_chan_no_get_sndtimeo(struct l2cap_chan *chan) 856{ 857 return 0; 858} 859 | 609}; 610 611struct l2cap_conn { 612 struct hci_conn *hcon; 613 struct hci_chan *hchan; 614 615 unsigned int mtu; 616 --- 239 unchanged lines hidden (view full) --- 856{ 857} 858 859static inline long l2cap_chan_no_get_sndtimeo(struct l2cap_chan *chan) 860{ 861 return 0; 862} 863 |
864static inline int l2cap_chan_no_memcpy_fromiovec(struct l2cap_chan *chan, 865 unsigned char *kdata, 866 struct iovec *iov, 867 int len) 868{ 869 /* Following is safe since for compiler definitions of kvec and 870 * iovec are identical, yielding the same in-core layout and alignment 871 */ 872 struct kvec *vec = (struct kvec *)iov; 873 874 while (len > 0) { 875 if (vec->iov_len) { 876 int copy = min_t(unsigned int, len, vec->iov_len); 877 memcpy(kdata, vec->iov_base, copy); 878 len -= copy; 879 kdata += copy; 880 vec->iov_base += copy; 881 vec->iov_len -= copy; 882 } 883 vec++; 884 } 885 886 return 0; 887} 888 |
|
860extern bool disable_ertm; 861 862int l2cap_init_sockets(void); 863void l2cap_cleanup_sockets(void); 864bool l2cap_is_socket(struct socket *sock); 865 866void __l2cap_le_connect_rsp_defer(struct l2cap_chan *chan); 867void __l2cap_connect_rsp_defer(struct l2cap_chan *chan); --- 30 unchanged lines hidden --- | 889extern bool disable_ertm; 890 891int l2cap_init_sockets(void); 892void l2cap_cleanup_sockets(void); 893bool l2cap_is_socket(struct socket *sock); 894 895void __l2cap_le_connect_rsp_defer(struct l2cap_chan *chan); 896void __l2cap_connect_rsp_defer(struct l2cap_chan *chan); --- 30 unchanged lines hidden --- |