/* ----------------------------------------------------------------------------- * 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 */