Chris Kelly | b314786 | 2012-02-20 21:12:08 +0000 | [diff] [blame] | 1 | /* ----------------------------------------------------------------------------- |
| 2 | * Copyright (c) 2011 Ozmo Inc |
| 3 | * Released under the GNU General Public License Version 2 (GPLv2). |
| 4 | * ----------------------------------------------------------------------------- |
| 5 | */ |
| 6 | #ifndef _OZUSBIF_H |
| 7 | #define _OZUSBIF_H |
| 8 | |
| 9 | #include <linux/usb.h> |
| 10 | |
| 11 | /* Reference counting functions. |
| 12 | */ |
| 13 | void oz_usb_get(void *hpd); |
| 14 | void oz_usb_put(void *hpd); |
| 15 | |
| 16 | /* Stream functions. |
| 17 | */ |
| 18 | int oz_usb_stream_create(void *hpd, u8 ep_num); |
| 19 | int oz_usb_stream_delete(void *hpd, u8 ep_num); |
| 20 | |
| 21 | /* Request functions. |
| 22 | */ |
| 23 | int oz_usb_control_req(void *hpd, u8 req_id, struct usb_ctrlrequest *setup, |
Peter Huewe | dc7f5b3 | 2013-02-15 21:17:24 +0100 | [diff] [blame] | 24 | const u8 *data, int data_len); |
Chris Kelly | b314786 | 2012-02-20 21:12:08 +0000 | [diff] [blame] | 25 | int oz_usb_get_desc_req(void *hpd, u8 req_id, u8 req_type, u8 desc_type, |
Himangi Saraogi | 45b1fe5 | 2014-03-12 22:20:32 +0530 | [diff] [blame] | 26 | u8 index, __le16 windex, int offset, int len); |
Chris Kelly | b314786 | 2012-02-20 21:12:08 +0000 | [diff] [blame] | 27 | int oz_usb_send_isoc(void *hpd, u8 ep_num, struct urb *urb); |
| 28 | void oz_usb_request_heartbeat(void *hpd); |
| 29 | |
| 30 | /* Confirmation functions. |
| 31 | */ |
| 32 | void oz_hcd_get_desc_cnf(void *hport, u8 req_id, int status, |
Peter Huewe | dc7f5b3 | 2013-02-15 21:17:24 +0100 | [diff] [blame] | 33 | const u8 *desc, int length, int offset, int total_size); |
Chris Kelly | b314786 | 2012-02-20 21:12:08 +0000 | [diff] [blame] | 34 | void oz_hcd_control_cnf(void *hport, u8 req_id, u8 rcode, |
Peter Huewe | dc7f5b3 | 2013-02-15 21:17:24 +0100 | [diff] [blame] | 35 | const u8 *data, int data_len); |
Chris Kelly | b314786 | 2012-02-20 21:12:08 +0000 | [diff] [blame] | 36 | |
| 37 | /* Indication functions. |
| 38 | */ |
Peter Huewe | dc7f5b3 | 2013-02-15 21:17:24 +0100 | [diff] [blame] | 39 | void oz_hcd_data_ind(void *hport, u8 endpoint, const u8 *data, int data_len); |
Chris Kelly | b314786 | 2012-02-20 21:12:08 +0000 | [diff] [blame] | 40 | |
| 41 | int oz_hcd_heartbeat(void *hport); |
| 42 | |
| 43 | #endif /* _OZUSBIF_H */ |