libnjb
2.2.7
|
#include <string.h>
#include <stdint.h>
#include <usb.h>
#include "base.h"
#include "libnjb.h"
#include "ioutil.h"
#include "usb_io.h"
#include "njb_error.h"
Macros | |
#define | USB_DP_HTD (0x00 << 7) /* host to device */ |
#define | USB_DP_DTH (0x01 << 7) /* device to host */ |
#define | USB_FEATURE_HALT 0x00 |
Functions | |
ssize_t | usb_pipe_write (njb_t *njb, void *buf, size_t nbytes) |
ssize_t | usb_pipe_read (njb_t *njb, void *buf, size_t nbytes) |
int | usb_setup (njb_t *njb, int type, int request, int value, int index, int length, void *data) |
Variables | |
int | __sub_depth |
This file contain some USB-specific code that is used by all devices.
ssize_t usb_pipe_read | ( | njb_t * | njb, |
void * | buf, | ||
size_t | nbytes | ||
) |
This function reads a chunk of bytes to a buffer from a device's IN endpoint.
njb | the jukebox object to use |
buf | the buffer to store the bytes in |
nbytes | the number of bytes to read in |
References DD_USBBLK, DD_USBBLKLIM, njb_struct::dev, njb_debug(), and njb_struct::usb_bulk_in_ep.
Referenced by njb3_get_file_block(), njb_ping(), njb_read_eaxtypes(), and njb_receive_file_block().
ssize_t usb_pipe_write | ( | njb_t * | njb, |
void * | buf, | ||
size_t | nbytes | ||
) |
This function writes a number of bytes from a buffer to a devices OUT endpoint.
njb | the jukebox object to use |
buf | the buffer to send bytes from |
nbytes | the number of bytes to write |
References data_dump_ascii(), DD_USBBLK, DD_USBBLKLIM, njb_struct::dev, njb_debug(), and njb_struct::usb_bulk_out_ep.
int usb_setup | ( | njb_t * | njb, |
int | type, | ||
int | request, | ||
int | value, | ||
int | index, | ||
int | length, | ||
void * | data | ||
) |
This function sends a USB SETUP 8-byte command across to endpoint 0 on the device.
References __sub_depth, data_dump(), data_dump_ascii(), DD_USBCTL, njb_struct::dev, and njb_debug().
Referenced by njb_capture(), njb_get_datafile_header(), njb_get_disk_usage(), njb_get_library_counter(), njb_get_playlist_header(), njb_get_track_tag_header(), njb_ping(), njb_read_eaxtypes(), njb_receive_file_block(), njb_set_library_counter(), and njb_verify_last_command().
|
extern |
The current subroutine depth for all of libnjb (global)
Referenced by usb_setup().