1b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu/******************************************************************************
2b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu *
3b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu *  Copyright (C) 2001-2012 Broadcom Corporation
4b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu *
5b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu *  Licensed under the Apache License, Version 2.0 (the "License");
6b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu *  you may not use this file except in compliance with the License.
7b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu *  You may obtain a copy of the License at:
8b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu *
9b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu *  http://www.apache.org/licenses/LICENSE-2.0
10b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu *
11b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu *  Unless required by applicable law or agreed to in writing, software
12b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu *  distributed under the License is distributed on an "AS IS" BASIS,
13b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu *  See the License for the specific language governing permissions and
15b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu *  limitations under the License.
16b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu *
17b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu ******************************************************************************/
18b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu
19b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu/******************************************************************************
20b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu *
21b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu *  This file contains serial definitions from WIDCOMM's Universal Embedded
22b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu *  Drivers API.
23b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu *
24b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu ******************************************************************************/
2545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
2645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#ifndef USB_H
2745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_H
2845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
2945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/*******************************************************************************
3045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu** Serial APIs
3145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu*******************************************************************************/
3245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
3345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/**** port IDs ****/
3445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_PORT_1            0
3545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_PORT_2            1
3645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_PORT_3            2
3745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_PORT_4            3
3845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
3945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chutypedef UINT8 tUSB_PORT;
4045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
4145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/**** baud rates ****/
4245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_BAUD_300          0
4345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_BAUD_600          1
4445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_BAUD_1200         2
4545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_BAUD_2400         3
4645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_BAUD_9600         4
4745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_BAUD_19200        5
4845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_BAUD_57600        6
4945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_BAUD_115200       7
5045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_BAUD_230400       8
5145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_BAUD_460800       9
5245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_BAUD_921600       10
5345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_BAUD_AUTO         11
5445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
5545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/**** Data Format ****/
5645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
5745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/* Stop Bits */
5845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_STOPBITS_1        1
5945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_STOPBITS_1_5      (1<<1)
6045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_STOPBITS_2        (1<<2)
6145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
6245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/* Parity Bits */
6345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_PARITY_NONE       (1<<3)
6445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_PARITY_EVEN       (1<<4)
6545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_PARITY_ODD        (1<<5)
6645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
6745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/* Data Bits */
6845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_DATABITS_5        (1<<6)
6945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_DATABITS_6        (1<<7)
7045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_DATABITS_7        (1<<8)
7145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_DATABITS_8        (1<<9)
7245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
7345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
7445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/**** Flow Control ****/
7545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FC_NONE           0
7645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FC_HW             1
7745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FC_SW             2
7845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
7945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/**** Data Buffering Mechanism ****/
8045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_BUF_BYTE          0
8145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_BUF_GKI           1
8245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
8345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/**** Signals ****/
8445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_SIG_RTSCTS        1
8545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_SIG_DSRDTR        (1<<1)
8645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_SIG_RI            (1<<2)
8745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_SIG_CD            (1<<3)
8845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_SIG_DTE_DEVICE    (1<<4)
8945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
9045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/**** Errors *****/
91e29968cf3e053557a9c2efc5a7a42d0767c51d9dEvan Chu#define USB_ERR_OVERRUN       1
92e29968cf3e053557a9c2efc5a7a42d0767c51d9dEvan Chu#define USB_ERR_PARITY        (1<<1)
93e29968cf3e053557a9c2efc5a7a42d0767c51d9dEvan Chu#define USB_ERR_FRAMING       (1<<2)
94e29968cf3e053557a9c2efc5a7a42d0767c51d9dEvan Chu#define USB_ERR_BREAK         (1<<3)
9545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
9645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/**** Serial Operations ****/
9745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_OP_FLUSH          0
9845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_OP_FLUSH_RX       1
9945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_OP_FLUSH_TX       2
10045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_OP_BREAK_OFF      3
10145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_OP_BREAK_ON       4
10245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_OP_BAUD_RD        5
10345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_OP_BAUD_WR        6
10445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_OP_FMT_RD         7
10545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_OP_FMT_WR         8
10645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_OP_SIG_RD         9
10745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_OP_SIG_WR         10
10845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_OP_FC_RD          11
10945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_OP_FC_WR          12
11045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
11145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chutypedef UINT8 tUSB_OP;
11245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
11345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
11445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/**** Serial feature types ****/
11545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_PORT_1       0
11645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_PORT_2       1
11745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_PORT_3       2
11845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_PORT_4       3
11945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_BAUD_AUTO    4
12045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_BAUD_300     5
12145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_BAUD_600     6
12245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_BAUD_1200    7
12345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_BAUD_2400    8
12445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_BAUD_9600    9
12545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_BAUD_19200   10
12645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_BAUD_57600   11
12745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_BAUD_115200  12
12845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_BAUD_230400  13
12945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_BAUD_460800  14
13045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_BAUD_921600  15
13145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_STOPBITS_1   16
13245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_STOPBITS_1_5 17
13345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_STOPBITS_2   18
13445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_PARITY_NONE  19
13545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_PARITY_EVEN  20
13645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_PARITY_ODD   21
13745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_DATABITS_5   22
13845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_DATABITS_6   23
13945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_DATABITS_7   24
14045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_DATABITS_8   25
14145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_FC_NONE      26
14245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_FC_HW        27
14345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_FC_SW        28
14445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_BUF_BYTE     29
14545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_BUF_GKI      30
14645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_SIG_RTS      31
14745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_SIG_CTS      32
14845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_SIG_DSR      33
14945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_SIG_DTR      34
15045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_SIG_RI       35
15145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_SIG_CD       36
15245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_OP_FLUSH     37
15345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_OP_FLUSH_RX  38
15445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_OP_FLUSH_TX  39
15545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_OP_BREAK     40
15645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_OP_BAUD_RD   41
15745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_OP_BAUD_WR   42
15845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_OP_FMT_RD    43
15945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_OP_FMT_WR    44
16045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_OP_SIG_RD    45
16145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_OP_SIG_WR    46
16245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_OP_FC_RD     47
16345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_FEAT_OP_FC_WR     48
16445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
16545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chutypedef UINT8 tUSB_FEATURE;
16645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
16745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
16845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/**** Event types ****/
16945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_RX_READY_EVT      0
17045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_TX_DONE_EVT       1
17145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_SIG_EVT           2
17245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define USB_ERR_EVT           3
17345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
17445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chutypedef UINT8 tUSB_EVT;
17545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
17645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
17745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/* Structure used to configure serial port during open        */
178e29968cf3e053557a9c2efc5a7a42d0767c51d9dEvan Chutypedef struct
17945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu{
18045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu    UINT16 fmt;          /* Data format                       */
18145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu    UINT8  baud;         /* Baud rate                         */
18245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu    UINT8  fc;           /* Flow control                      */
18345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu    UINT8  buf;          /* Data buffering mechanism          */
18445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu    UINT8  pool;         /* GKI buffer pool for received data */
18545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu    UINT16 size;         /* Size of GKI buffer pool           */
18645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu    UINT16 offset;       /* Offset in GKI buffer pool         */
18745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu} tUSB_OPEN_CFG;
18845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
18945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/* Union used to pass ioctl arguments */
190e29968cf3e053557a9c2efc5a7a42d0767c51d9dEvan Chutypedef union
19145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu{
19245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu    UINT16 fmt;
19345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu    UINT8  baud;
19445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu    UINT8  fc;
19545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu    UINT8  sigs;
19645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu} tUSB_IOCTL_DATA;
19745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
19845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
19945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/* Union to pass event data */
200e29968cf3e053557a9c2efc5a7a42d0767c51d9dEvan Chutypedef union
20145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu{
20245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu    UINT8 sigs;
20345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu    UINT8 error;
20445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu} tUSB_EVT_DATA;
20545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
20645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/* callback for events */
20745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chutypedef void (tUSB_CBACK)(tUSB_PORT, tUSB_EVT, tUSB_EVT_DATA *);
20845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
20945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
21045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/*******************************************************************************
21145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu** Function Prototypes
21245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu*******************************************************************************/
21345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
21445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#ifdef __cplusplus
21545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chuextern "C" {
21645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#endif
21745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
21845faad0ff5deeb0c676356345d99398cc4ab695aEvan ChuUDRV_API extern void    USB_Init(void *);
21945faad0ff5deeb0c676356345d99398cc4ab695aEvan ChuUDRV_API extern void    USB_Open(tUSB_PORT, tUSB_OPEN_CFG *, tUSB_CBACK *);
22045faad0ff5deeb0c676356345d99398cc4ab695aEvan ChuUDRV_API extern void    USB_ReadBuf(tUSB_PORT, BT_HDR **);
22145faad0ff5deeb0c676356345d99398cc4ab695aEvan ChuUDRV_API extern UINT16  USB_Read(tUSB_PORT, UINT8 *, UINT16);
22245faad0ff5deeb0c676356345d99398cc4ab695aEvan ChuUDRV_API extern BOOLEAN USB_WriteBuf(tUSB_PORT, BT_HDR *);
22345faad0ff5deeb0c676356345d99398cc4ab695aEvan ChuUDRV_API extern UINT16  USB_Write(tUSB_PORT, UINT8 *, UINT16);
22445faad0ff5deeb0c676356345d99398cc4ab695aEvan ChuUDRV_API extern void    USB_Ioctl(tUSB_PORT, tUSB_OP, tUSB_IOCTL_DATA *);
22545faad0ff5deeb0c676356345d99398cc4ab695aEvan ChuUDRV_API extern void    USB_Close(tUSB_PORT);
22645faad0ff5deeb0c676356345d99398cc4ab695aEvan ChuUDRV_API extern BOOLEAN USB_Feature(tUSB_FEATURE);
22745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
22845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#ifdef __cplusplus
22945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu}
23045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#endif
23145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
23245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#endif /* USB_H */
233