1 /***************************************************************************
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
10 * Copyright (C) 2007 by Björn Stenberg
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
20 ****************************************************************************/
26 void usb_drv_startup(void);
27 void usb_drv_int_enable(bool enable
); /* Target implemented */
28 void usb_drv_init(void);
29 void usb_drv_exit(void);
30 void usb_drv_attach(void);
31 void usb_drv_int(void); /* Call from target INT handler */
32 void usb_drv_stall(int endpoint
, bool stall
,bool in
);
33 bool usb_drv_stalled(int endpoint
,bool in
);
34 int usb_drv_send(int endpoint
, void* ptr
, int length
);
35 int usb_drv_send_nonblocking(int endpoint
, void* ptr
, int length
);
36 int usb_drv_recv(int endpoint
, void* ptr
, int length
);
37 void usb_drv_ack(struct usb_ctrlrequest
* req
);
38 void usb_drv_set_address(int address
);
39 void usb_drv_reset_endpoint(int endpoint
, bool send
);
40 bool usb_drv_powered(void);
41 int usb_drv_port_speed(void);
42 void usb_drv_cancel_all_transfers(void);
43 void usb_drv_set_test_mode(int mode
);
44 bool usb_drv_connected(void);
45 int usb_drv_request_endpoint(int type
, int dir
);
46 void usb_drv_release_endpoint(int ep
);
48 #endif /* _USB_DRV_H */