diff options
Diffstat (limited to 'hci/include/usb.h')
-rw-r--r-- | hci/include/usb.h | 140 |
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 */ + |