#include <fusb_linux.h>
Public Member Functions | |
fusb_ephandle_linux (fusb_devhandle_linux *dh, int endpoint, bool input_p, int block_size=0, int nblocks=0) | |
virtual | ~fusb_ephandle_linux () |
virtual bool | start () |
begin streaming i/o | |
virtual bool | stop () |
stop streaming i/o | |
virtual int | write (const void *buffer, int nbytes) |
virtual int | read (void *buffer, int nbytes) |
virtual void | wait_for_completion () |
void | free_list_add (usbdevfs_urb *urb) |
void | completed_list_add (usbdevfs_urb *urb) |
usbdevfs_urb * | free_list_get () |
usbdevfs_urb * | completed_list_get () |
fusb_ephandle_linux::fusb_ephandle_linux | ( | fusb_devhandle_linux * | dh, | |
int | endpoint, | |||
bool | input_p, | |||
int | block_size = 0 , |
|||
int | nblocks = 0 | |||
) |
fusb_ephandle_linux::~fusb_ephandle_linux | ( | ) | [virtual] |
References completed_list_get(), free_list_get(), and stop().
void fusb_ephandle_linux::completed_list_add | ( | usbdevfs_urb * | urb | ) |
Referenced by fusb_devhandle_linux::_reap().
usbdevfs_urb * fusb_ephandle_linux::completed_list_get | ( | ) |
Referenced by stop(), and ~fusb_ephandle_linux().
void fusb_ephandle_linux::free_list_add | ( | usbdevfs_urb * | urb | ) |
Referenced by stop().
usbdevfs_urb * fusb_ephandle_linux::free_list_get | ( | ) |
Referenced by start(), and ~fusb_ephandle_linux().
int fusb_ephandle_linux::read | ( | void * | buffer, | |
int | nbytes | |||
) | [virtual] |
Implements fusb_ephandle.
References fusb_ephandle::d_input_p, and fusb_ephandle::d_started.
bool fusb_ephandle_linux::start | ( | ) | [virtual] |
begin streaming i/o
Implements fusb_ephandle.
References fusb_ephandle::d_input_p, fusb_ephandle::d_nblocks, fusb_ephandle::d_started, and free_list_get().
bool fusb_ephandle_linux::stop | ( | ) | [virtual] |
stop streaming i/o
Implements fusb_ephandle.
References fusb_devhandle_linux::_cancel_pending_rqsts(), fusb_devhandle_linux::_reap(), completed_list_get(), fusb_ephandle::d_nblocks, fusb_ephandle::d_started, and free_list_add().
Referenced by ~fusb_ephandle_linux().
void fusb_ephandle_linux::wait_for_completion | ( | ) | [virtual] |
int fusb_ephandle_linux::write | ( | const void * | buffer, | |
int | nbytes | |||
) | [virtual] |
nbytes
if write was successfully enqueued, else -1. Will block if no free buffers available. Implements fusb_ephandle.
References fusb_ephandle::d_input_p, and fusb_ephandle::d_started.