123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- /*
- BlueZ - Bluetooth protocol stack for Linux
- Copyright (C) 2000-2001 Qualcomm Incorporated
- Copyright (c) 2011, The Linux Foundation. All rights reserved.
- Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License version 2 as
- published by the Free Software Foundation;
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
- IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
- SOFTWARE IS DISCLAIMED.
- */
- #ifndef __SCO_H
- #define __SCO_H
- /* SCO defaults */
- #define SCO_DEFAULT_MTU 500
- #define SCO_DEFAULT_FLUSH_TO 0xFFFF
- #define SCO_CONN_TIMEOUT (HZ * 40)
- #define SCO_DISCONN_TIMEOUT (HZ * 20)
- #define SCO_CONN_IDLE_TIMEOUT (HZ * 60)
- /* SCO socket address */
- struct sockaddr_sco {
- sa_family_t sco_family;
- bdaddr_t sco_bdaddr;
- __u16 sco_pkt_type;
- __s8 is_wbs;
- };
- /* SCO socket options */
- #define SCO_OPTIONS 0x01
- struct sco_options {
- __u16 mtu;
- };
- #define SCO_CONNINFO 0x02
- struct sco_conninfo {
- __u16 hci_handle;
- __u8 dev_class[3];
- };
- /* ---- SCO connections ---- */
- struct sco_conn {
- struct hci_conn *hcon;
- bdaddr_t *dst;
- bdaddr_t *src;
- spinlock_t lock;
- struct sock *sk;
- unsigned int mtu;
- };
- #define sco_conn_lock(c) spin_lock(&c->lock);
- #define sco_conn_unlock(c) spin_unlock(&c->lock);
- /* ----- SCO socket info ----- */
- #define sco_pi(sk) ((struct sco_pinfo *) sk)
- struct sco_pinfo {
- struct bt_sock bt;
- __u16 pkt_type;
- struct sco_conn *conn;
- };
- #endif /* __SCO_H */
|