Universal Software Radio Peripheral
|
linux specific implementation of fusb_ephandle using usbdevice_fs More...
#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 () |
linux specific implementation of fusb_ephandle using usbdevice_fs
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 stop(), free_list_get(), and completed_list_get().
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 ~fusb_ephandle_linux(), and stop().
void fusb_ephandle_linux::free_list_add | ( | usbdevfs_urb * | urb | ) |
Referenced by stop().
usbdevfs_urb * fusb_ephandle_linux::free_list_get | ( | ) |
Referenced by ~fusb_ephandle_linux(), and start().
int fusb_ephandle_linux::read | ( | void * | buffer, |
int | nbytes | ||
) | [virtual] |
Implements fusb_ephandle.
References fusb_ephandle::d_started, and fusb_ephandle::d_input_p.
bool fusb_ephandle_linux::start | ( | ) | [virtual] |
begin streaming i/o
Implements fusb_ephandle.
References fusb_ephandle::d_started, fusb_ephandle::d_input_p, free_list_get(), and fusb_ephandle::d_nblocks.
bool fusb_ephandle_linux::stop | ( | ) | [virtual] |
stop streaming i/o
Implements fusb_ephandle.
References fusb_ephandle::d_started, free_list_add(), fusb_devhandle_linux::_cancel_pending_rqsts(), fusb_devhandle_linux::_reap(), completed_list_get(), and fusb_ephandle::d_nblocks.
Referenced by ~fusb_ephandle_linux().
void fusb_ephandle_linux::wait_for_completion | ( | ) | [virtual] |
Implements fusb_ephandle.
References fusb_devhandle_linux::_wait_for_completion().
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_started, and fusb_ephandle::d_input_p.