1e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
2e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
3e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  Copyright (C) 2001-2012 Broadcom Corporation
4e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
5e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  Licensed under the Apache License, Version 2.0 (the "License");
6e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  you may not use this file except in compliance with the License.
7e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  You may obtain a copy of the License at:
8e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
9e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  http://www.apache.org/licenses/LICENSE-2.0
10e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
11e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  Unless required by applicable law or agreed to in writing, software
12e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  distributed under the License is distributed on an "AS IS" BASIS,
13e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  See the License for the specific language governing permissions and
15e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  limitations under the License.
16e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
17e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/
18e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
19e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
20e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
21e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  This file contains usb definitions from Widcomm's Universal Embedded
22e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  Drivers API.
23e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
24e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/
25e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
26e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef UUSB_H
27e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UUSB_H
28e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
29e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "bt_target.h"
30e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifdef __cplusplus
31e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectextern "C" {
32e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif
33e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
34e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
35e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
36e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Codec APIs
37e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
38e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
39e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
40e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** Status ****/
41e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UUSB_SUCCESS                                  0
42e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UUSB_DRV_INVALID_PARM                         1   // Invalid parameter(s) passed to Driver
43e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UUSB_DRV_INVALID_STATE                        2   // Driver is not in correct state to accept
44e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UUSB_DRV_UNSUPPORTED_SETUP_REQ                3   // Unsupported SETUP request (use with tUSER_EP0_SETUP_CB)
45e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UUSB_DRV_NO_BUFFER_AVAILABLE                  4   // User cannot provide a Buffer (use with CB functions)
46e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
47e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT8 tUUSB_STATUS;
48e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
49e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
50e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define  UUSB_EP1   0
51e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define  UUSB_EP2   1
52e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define  UUSB_EP3   2
53e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define  UUSB_EP4   3
54e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define  UUSB_EP5   4
55e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define  UUSB_EP6   5
56e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define  UUSB_EP7   6
57e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
58e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT8 tUUSB_EP_ID;
59e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
60e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef enum {
61e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  UUSB_EP_TYPE_CONTROL = 0,
62e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  UUSB_EP_TYPE_ISOCHRONOUS,
63e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  UUSB_EP_TYPE_BULK,
64e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  UUSB_EP_TYPE_INTERRUPT
65e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tUUSB_EP_TYPE;
66e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
67e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef enum {
68e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  UUSB_DIR_OUT = 0,
69e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  UUSB_DIR_IN
70e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tUUSB_EP_DIRECTION;
71e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
72e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct tUUSB_SETUP_PKTTag
73e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
74e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Definition of "USBbmRequestType" */
75e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UUSB_DATA_PHASE_DIR      0x80    /* Mask to get data phase transfer direction */
76e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UUSB_HOST_TO_DEVICE      0x00    /* Data transfer directions */
77e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UUSB_DEVICE_TO_HOST      0x80    /* Data transfer directions */
78e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Types of requests */
79e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UUSB_REQUEST_TYPE		0x60	/* Mask to get request type */
80e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UUSB_STANDARD_REQUEST	0x00	/* Standard request */
81e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define	UUSB_CLASS_REQUEST		0x20	/* Class request */
82e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define	UUSB_VENDOR_REQUEST		0x40	/* Vendor request */
83e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  UINT8 bmRequestType;
84e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  UINT8 bRequest;
85e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  UINT16 wValue;
86e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  UINT16 wIndex;
87e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  UINT16 wLength;
88e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tUUSB_SETUP_PKT;
89e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
90e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef union
91e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
92e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UUSB_HEAD_SIZE (8)
93e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project	UINT8           HeadBytes[UUSB_HEAD_SIZE];
94e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tUUSB_SETUP_PKT Setup;
95e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tSETUP_OR_HEAD;
96e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
97e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct
98e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
99e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  UINT8        BufSize;
100e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  UINT8        NumBytesInBuf;
101e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  tSETUP_OR_HEAD Buf;
102e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tUUSB_RX_HEAD;
103e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
104e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef enum
105e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
106e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  UUSB_EP_DISABLE,
107e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  UUSB_EP_ENABLE,
108e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  UUSB_EP_STALL
109e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tUUSB_EP_STATE;
110e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
111e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT8 tEndPoint;
112e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
113e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#if 0
114e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define  UUSB_ATTACHED      0
115e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define  UUSB_POWERED       1
116e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define  UUSB_DEFAULT       2
117e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define  UUSB_ADDRESS       3
118e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define  UUSB_CONFIGURED    4
119e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define  UUSB_SUSPENDED     5
120e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
121e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT8 tUUSB_BUS_STATE;
122e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#else
123e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef enum
124e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
125e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  UUSB_ATTACHED,
126e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  UUSB_POWERED,
127e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  UUSB_DEFAULT,
128e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  UUSB_ADDRESS,
129e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  UUSB_CONFIGURED,
130e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  UUSB_SUSPENDED
131e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tUUSB_BUS_STATE;
132e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif
133e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
134e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef enum _tUUSB_STANDART_REQ
135e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
136e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project	UUSB_GET_STATUS = 0,
137e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project	UUSB_CLEAR_FEATURE,
138e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project	UUSB_RESERVED1,
139e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project	UUSB_SET_FEATURE,
140e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project	UUSB_RESERVED2,
141e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project	UUSB_SET_ADDRESS,
142e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project	UUSB_GET_DESCRIPTOR,
143e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project	UUSB_SET_DESCRIPTOR,
144e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project	UUSB_GET_CONFIGURATION,
145e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project	UUSB_SET_CONFIGURATION,
146e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project	UUSB_GET_INTERFACE,
147e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project	UUSB_SET_INTERFACE,
148e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project	UUSB_TOTAL_sREQUEST,				/* Total number of Standard request */
149e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project	UUSB_SYNCH_FRAME = 12
150e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tUUSB_STANDART_REQ;
151e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
152e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
153e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef void (*tUUSB_STATE_CB)          (tUUSB_BUS_STATE State);
154e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef void (*tUUSB_PROT_COMPLETE_CB ) (UINT8 *pBuf,UINT16 NumBytesInBuf);
155e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
156e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef tUUSB_STATUS (*tUUSB_PROT_SETUP_CB ) (UINT8 **ppBuf,UINT16 *pBufSize);
157e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
158e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef void (*tUUSB_RX_START_CB )      (tUUSB_EP_ID EndPoint,
159e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                        UINT8 **ppBuf,
160e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                        UINT16 *pBufSize);
161e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
162e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef void (*tUUSB_RX_COMPLETE_CB )   (tUUSB_EP_ID EndPoint,
163e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                        UINT8 *pRxBuf,
164e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                        UINT16 NumBytesInBuf);
165e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
166e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef void (*tUUSB_TX_COMPLETE_CB )   (tUUSB_EP_ID EndPoint,
167e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                        UINT8 *pRxBuf);
168e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
169e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function Prototypes
170e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
171e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
172e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
173e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
174e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         UCODEC_Init
175e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
176e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Startup initialisation function. This function is called
177e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  before any orther function of UUSB it initialize UUSB
178e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  internal structure an the external hw.
179e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
180e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Input :
181e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
182e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Output Parameters :
183e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
184e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          UUSB_SUCCESS if The action was performed with sucess.
185e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Error code else.
186e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
187e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/
188e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectBT_API extern tUUSB_STATUS    UUSB_Init    (tUUSB_PROT_SETUP_CB       userProtSetupCallBack,
189e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                            tUUSB_PROT_COMPLETE_CB    userProtCompleteCallBack,
190e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                            tUUSB_RX_START_CB         userRxStartCallBack,
191e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                            tUUSB_STATE_CB            userStateCallBack,
192e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                            tUUSB_TX_COMPLETE_CB      userTxCompleteCallBack,
193e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                            tUUSB_RX_COMPLETE_CB      userRxCompleteCallBack);
194e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
195e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
196e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
197e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
198e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
199e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
200e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         UUSB_Start
201e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
202e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description
203e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
204e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
205e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
206e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
207e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
208e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          UUSB_SUCCESS if The action was performed with sucess.
209e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
210e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/
211e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectBT_API extern tUUSB_STATUS    UUSB_Start  (void);
212e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
213e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
214e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
215e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         UUSB_Stop
216e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
217e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description
218e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
219e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
220e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
221e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
222e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          UUSB_SUCCESS if The action was performed with sucess.
223e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Error code else.
224e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
225e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/
226e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectBT_API extern tUUSB_STATUS    UUSB_Stop      (void);
227e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
228e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
229e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
230e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         UUSB_SetEndPointCnf
231e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
232e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description
233e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
234e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
235e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns
236e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
237e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/
238e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectBT_API extern tUUSB_STATUS    UUSB_SetEndPointCnf ( BOOLEAN         IsIN_EndPoint,
239e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                    tUUSB_EP_ID     EndPoint,
240e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                    UINT8           MaxPacketSize,
241e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                    tUUSB_EP_TYPE   EndPointType,
242e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                    tUUSB_RX_HEAD   *pRxHead,
243e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                    UINT16          RxTimeOut);
244e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
245e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
246e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
247e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
248e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         UUSB_SetEndPointState
249e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
250e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description
251e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
252e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
253e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns
254e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
255e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/
256e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectBT_API extern tUUSB_STATUS UUSB_SetEndPointState (tUUSB_EP_ID    EndPoint,
257e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                    tUUSB_EP_STATE EndPointState);
258e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
259e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
260e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
261e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         UUSB_WriteEndPoint
262e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
263e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description
264e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
265e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
266e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns
267e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
268e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/
269e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectBT_API extern tUUSB_STATUS UUSB_WriteEndPoint (tUUSB_EP_ID     EndPoint,
270e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                UINT16     Length,
271e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                UINT8*    pBuf);
272e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
273e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
274e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
275e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         UUSB_GenerateRemoteWakeUp
276e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
277e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description
278e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
279e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
280e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns
281e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
282e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/
283e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectBT_API extern tUUSB_STATUS UUSB_GenerateRemoteWakeUp (void);
284e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
285e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifdef __cplusplus
286e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project};
287e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif
288e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
289e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
290e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif /* UUSB_H */
291