summaryrefslogtreecommitdiffstats
path: root/hci/include/usb.h
diff options
context:
space:
mode:
Diffstat (limited to 'hci/include/usb.h')
-rw-r--r--hci/include/usb.h140
1 files changed, 140 insertions, 0 deletions
diff --git a/hci/include/usb.h b/hci/include/usb.h
new file mode 100644
index 0000000..2be07b9
--- /dev/null
+++ b/hci/include/usb.h
@@ -0,0 +1,140 @@
+/******************************************************************************
+ *
+ * Copyright (C) 2009-2012 Broadcom Corporation
+ * Portions of file: Copyright (C) 2013, Intel Corporation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ ******************************************************************************/
+
+/******************************************************************************
+ *
+ * Filename: usb.h
+ *
+ * Description: Contains definitions used for usb serial port controls
+ *
+ ******************************************************************************/
+
+#ifndef USB_H
+#define USB_H
+
+/******************************************************************************
+** Constants & Macros
+******************************************************************************/
+/*
+ * Below are the interfaces to usb driver. At present, either USB is supported
+ * or UART is supported.
+ */
+#define usb_init userial_init
+#define usb_open userial_open
+#define usb_write userial_write
+#define usb_read userial_read
+#define usb_close userial_close
+#define usb_ioctl userial_ioctl
+#define usb_ioctl_op_t userial_ioctl_op_t
+
+#define BT_USB_DEVICE_INFO(cl, sc, pr) \
+ .bDevClass = (cl), \
+ .bDevSubClass = (sc), \
+ .bDevProtocol = (pr)
+
+typedef enum {
+ USERIAL_OP_INIT,
+ USERIAL_OP_RXFLOW_ON,
+ USERIAL_OP_RXFLOW_OFF,
+} userial_ioctl_op_t;
+
+/******************************************************************************
+** Type definitions
+******************************************************************************/
+
+struct bt_usb_device {
+ uint8_t bDevClass;
+ uint8_t bDevSubClass;
+ uint8_t bDevProtocol;
+};
+
+/******************************************************************************
+** Functions
+******************************************************************************/
+
+/*******************************************************************************
+**
+** Function usb_init
+**
+** Description Initializes the usb driver
+**
+** Returns TRUE/FALSE
+**
+*******************************************************************************/
+uint8_t usb_init(void);
+
+/*******************************************************************************
+**
+** Function usb_open
+**
+** Description Open Bluetooth device with the port ID
+**
+** Returns TRUE/FALSE
+**
+*******************************************************************************/
+uint8_t usb_open(uint8_t port);
+
+/*******************************************************************************
+**
+** Function usb_read
+**
+** Description Read data from the usb port
+**
+** Returns Number of bytes actually read from the usb port and
+** copied into p_data. This may be less than len.
+**
+*******************************************************************************/
+uint16_t usb_read(uint16_t msg_id, uint8_t *p_buffer, uint16_t len);
+
+/*******************************************************************************
+**
+** Function usb_write
+**
+** Description Write data to the usb port
+**
+** Returns Number of bytes actually written to the usb port. This
+** may be less than len.
+**
+*******************************************************************************/
+uint16_t usb_write(uint16_t msg_id, uint8_t *p_data, uint16_t len);
+
+/*******************************************************************************
+**
+** Function usb_close
+**
+** Description Close the usb port
+**
+** Returns None
+**
+*******************************************************************************/
+void usb_close(void);
+
+/*******************************************************************************
+**
+** Function usb_ioctl
+**
+** Description ioctl inteface
+**
+** Returns None
+**
+*******************************************************************************/
+void usb_ioctl(usb_ioctl_op_t op, void *p_data);
+
+#endif /* USB_H */
+