Main Page | Modules | Data Structures | File List | Data Fields | Globals | Examples

base.c File Reference

#include "libnjb.h"
#include "njbusb.h"
#include "njb_error.h"
#include "defs.h"
#include "base.h"
#include "protocol.h"
#include "protocol3.h"
#include "usb_io.h"

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)

Variables

int njb_debug_flags = 0
int __sub_depth = 0

Detailed Description

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.

Function Documentation

void njb_close njb_t njb  ) 
 

Close a specific njb for reading and writing.

Parameters:
njb the jukebox object to close

int njb_debug int  flags  ) 
 

get the current debug flags

Parameters:
flags a binary mask that remove some of the flags.

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.

Parameters:
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.
Returns:
0 on OK, -1 on failure.

int njb_open njb_t njb  ) 
 

Open a specific njb for reading and writing.

Parameters:
njb the jukebox object to open
Returns:
0 on success, -1 on failure

void njb_set_debug int  flags  ) 
 

Set the debug flags to use.

Parameters:
flags the flags to set


Variable Documentation

int __sub_depth = 0
 

The current subroutine depth for all of libnjb (global)

int njb_debug_flags = 0
 

The current debug flags for all if libnjb (global)


Generated on Thu Jul 7 23:06:04 2005 for libnjb by  doxygen 1.3.9.1