libnjb 2.2.6
|
#include "libnjb.h"
#include "njb_error.h"
#include "defs.h"
#include "base.h"
#include "protocol.h"
#include "protocol3.h"
#include "usb_io.h"
Data Structures | |
struct | njb_device_entry |
Typedefs | |
typedef struct njb_device_entry | njb_device_entry_t |
Functions | |
int | njb_discover (njb_t *njbs, int limit, int *count) |
void | njb_close (njb_t *njb) |
int | njb_open (njb_t *njb) |
void | njb_set_debug (int flags) |
int | njb_debug (int flags) |
char * | njb_get_usb_device_name (njb_t *njb) |
int | njb_device_is_usb20 (njb_t *njb) |
njb_protocol_type_t | njb_get_device_protocol (njb_t *njb) |
Variables | |
int | njb_debug_flags = 0 |
int | __sub_depth = 0 |
This file contains the basic stuff for opening the device on the USB bus and similar things. Here are the jukebox detection algorithms for example.
void njb_close | ( | njb_t * | njb | ) |
Close a specific njb for reading and writing.
njb | the jukebox object to close |
References njb_struct::dev, njb_struct::device_type, NJB_DEVICE_NJB1, njb_struct::usb_bulk_out_ep, and njb_struct::usb_interface.
Referenced by NJB_Close().
int njb_debug | ( | int | flags | ) |
get the current debug flags
flags | a binary mask that remove some of the flags. |
Referenced by usb_pipe_read(), usb_pipe_write(), and usb_setup().
int njb_device_is_usb20 | ( | njb_t * | njb | ) |
Tell if a device is USB 2.0 or not
References njb_struct::device_type.
int njb_discover | ( | njb_t * | njbs, |
int | limit, | ||
int * | count | ||
) |
Search the USB bus for a Nomad JukeBox. We can handle up to NJB_MAX_DEVICES JukeBox's per USB simultaneously (a value arbitrarily set in base.h, because it's easier to work with a fixed size array than build dynamically growing code...if anyone _really_ plans on having more than NJB_MAX_DEVICES jukeboxes on their system, they can recompile with a bigger number). The USB device starts at usb0 and goes to usbNNN where NNN is USB_MAX_DEVICES. Check each bus for a usb device. Return -1 if errors occurred...though this doesn't mean we failed to find devices. *count gives the number of NJB devices that were found. Store the resulting NJB structues structure into the njbs[NJB_MAX_DEVICES] array.
njbs | an array of jukeboxes to fill up. The array must be NJB_MAX_DEVICES large. |
limit | a variable that is supposed to limit the number of devices retrieved, currently not used. |
count | a pointer to a variable that will hold the number of devices found after the call to this function. |
References njb_struct::dev, njb_struct::device, and njb_struct::device_type.
Referenced by NJB_Discover().
njb_protocol_type_t njb_get_device_protocol | ( | njb_t * | njb | ) |
Tell which protocol version a device is using.
References njb_struct::device_type.
char* njb_get_usb_device_name | ( | njb_t * | njb | ) |
Get a device name from its USB characteristics.
References njb_struct::device_type.
Referenced by NJB_Get_Device_Name().
int njb_open | ( | njb_t * | njb | ) |
Open a specific njb for reading and writing.
njb | the jukebox object to open |
References njb_struct::dev, njb_struct::device, njb_struct::usb_config, and njb_struct::usb_interface.
Referenced by NJB_Open().
void njb_set_debug | ( | int | flags | ) |
int __sub_depth = 0 |
The current subroutine depth for all of libnjb (global)
Referenced by usb_setup().
int njb_debug_flags = 0 |
The current debug flags for all if libnjb (global)