Upgrade bluez5_37 :Merge the code from private
[platform/upstream/bluez.git] / tools / hciattach.h
1 /*
2  *
3  *  BlueZ - Bluetooth protocol stack for Linux
4  *
5  *  Copyright (C) 2003-2010  Marcel Holtmann <marcel@holtmann.org>
6  *
7  *
8  *  This program is free software; you can redistribute it and/or modify
9  *  it under the terms of the GNU General Public License as published by
10  *  the Free Software Foundation; either version 2 of the License, or
11  *  (at your option) any later version.
12  *
13  *  This program is distributed in the hope that it will be useful,
14  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  *  GNU General Public License for more details.
17  *
18  *  You should have received a copy of the GNU General Public License
19  *  along with this program; if not, write to the Free Software
20  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
21  *
22  */
23
24 #include <termios.h>
25
26 #ifndef N_HCI
27 #define N_HCI   15
28 #endif
29
30 #define HCIUARTSETPROTO         _IOW('U', 200, int)
31 #define HCIUARTGETPROTO         _IOR('U', 201, int)
32 #define HCIUARTGETDEVICE        _IOR('U', 202, int)
33 #define HCIUARTSETFLAGS         _IOW('U', 203, int)
34 #define HCIUARTGETFLAGS         _IOR('U', 204, int)
35
36 #define HCI_UART_H4     0
37 #define HCI_UART_BCSP   1
38 #define HCI_UART_3WIRE  2
39 #define HCI_UART_H4DS   3
40 #define HCI_UART_LL     4
41 #define HCI_UART_ATH3K  5
42 #define HCI_UART_INTEL  6
43 #define HCI_UART_BCM    7
44 #define HCI_UART_QCA    8
45
46 #define HCI_UART_RAW_DEVICE     0
47 #define HCI_UART_RESET_ON_INIT  1
48 #define HCI_UART_CREATE_AMP     2
49 #define HCI_UART_INIT_PENDING   3
50 #define HCI_UART_EXT_CONFIG     4
51 #define HCI_UART_VND_DETECT     5
52
53 int read_hci_event(int fd, unsigned char *buf, int size);
54 int set_speed(int fd, struct termios *ti, int speed);
55 int uart_speed(int speed);
56
57 int texas_init(int fd, int *speed, struct termios *ti);
58 int texas_post(int fd, struct termios *ti);
59 int texasalt_init(int fd, int speed, struct termios *ti);
60 int stlc2500_init(int fd, bdaddr_t *bdaddr);
61 int bgb2xx_init(int dd, bdaddr_t *bdaddr);
62 int ath3k_init(int fd, int speed, int init_speed, char *bdaddr,
63                                                 struct termios *ti);
64 #ifdef __TIZEN_PATCH__
65 int sprd_config_init(int fd, char *bdaddr, struct termios *ti);
66 #endif
67 int ath3k_post(int fd, int pm);
68 int qualcomm_init(int fd, int speed, struct termios *ti, const char *bdaddr);
69 int intel_init(int fd, int init_speed, int *speed, struct termios *ti);
70 int bcm43xx_init(int fd, int def_speed, int speed, struct termios *ti,
71                 const char *bdaddr);