| /* ----------------------------------------------------------------------------- | |
| * Copyright (c) 2011 Ozmo Inc | |
| * Released under the GNU General Public License Version 2 (GPLv2). | |
| * ----------------------------------------------------------------------------- | |
| */ | |
| #ifndef _OZUSBSVC_H | |
| #define _OZUSBSVC_H | |
| /*------------------------------------------------------------------------------ | |
| * Per PD context info stored in application context area of PD. | |
| * This object is reference counted to ensure it doesn't disappear while | |
| * still in use. | |
| */ | |
| struct oz_usb_ctx { | |
| atomic_t ref_count; | |
| u8 tx_seq_num; | |
| u8 rx_seq_num; | |
| struct oz_pd *pd; | |
| void *hport; | |
| int stopped; | |
| }; | |
| int oz_usb_init(void); | |
| void oz_usb_term(void); | |
| int oz_usb_start(struct oz_pd *pd, int resume); | |
| void oz_usb_stop(struct oz_pd *pd, int pause); | |
| void oz_usb_rx(struct oz_pd *pd, struct oz_elt *elt); | |
| int oz_usb_heartbeat(struct oz_pd *pd); | |
| void oz_usb_farewell(struct oz_pd *pd, u8 ep_num, u8 *data, u8 len); | |
| #endif /* _OZUSBSVC_H */ | |