1 /* 2 * 3 * BlueZ - Bluetooth protocol stack for Linux 4 * 5 * Copyright (C) 2003-2010 Marcel Holtmann <marcel (at) 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 43 #define HCI_UART_RAW_DEVICE 0 44 45 int read_hci_event(int fd, unsigned char* buf, int size); 46 int set_speed(int fd, struct termios *ti, int speed); 47 48 int texas_init(int fd, struct termios *ti); 49 int texas_post(int fd, struct termios *ti); 50 int texasalt_init(int fd, int speed, struct termios *ti); 51 int stlc2500_init(int fd, bdaddr_t *bdaddr); 52 int bgb2xx_init(int dd, bdaddr_t *bdaddr); 53 int ath3k_init(int fd, int speed, int init_speed, char *bdaddr, 54 struct termios *ti); 55 int ath3k_post(int fd, int pm); 56 int qualcomm_init(int fd, int speed, struct termios *ti, const char *bdaddr); 57