Turbo flags


Modules

 libnjb global type definitions
 The libnjb configuration API
 The basic device management and information API
 The track and tag (song ID metadata) manipulation API
 The playlist manipulation API
 The datafile tag (metadata) retrieveal API
 The EAX (and volume) manipulation API
 The time manipulation API
 The track playback (listening) API

Data Structures

struct  njb_struct
struct  njb_songid_frame_struct
struct  njb_songid_struct
struct  njb_playlist_track_struct
struct  njb_playlist_struct
struct  njb_datafile_struct
struct  njb_eax_struct
struct  njb_time_struct
struct  njb_keyval_struct

Defines

#define NJB_TURBO_OFF   0
#define NJB_TURBO_ON   1
#define OWNER_STRING_LENGTH   128
#define NJB_PL_NEW   0
#define NJB_PL_UNCHANGED   1
#define NJB_PL_CHNAME   2
#define NJB_PL_CHTRACKS   3
#define NJB_FILEFLAGS_REGULAR_FILE   0x80000000U

Typedefs

typedef unsigned char owner_string [OWNER_STRING_LENGTH+1]
typedef int NJB_Xfer_Callback (u_int64_t sent, u_int64_t total, const char *buf, unsigned len, void *data)

Enumerations

enum  njb_eax_control_t { NJB_EAX_NO_CONTROL, NJB_EAX_SLIDER_CONTROL, NJB_EAX_FIXED_OPTION_CONTROL }

Variables

usb_dev_handle * njb_struct::dev
u_int8_t njb_struct::usb_config
u_int8_t njb_struct::usb_interface
u_int8_t njb_struct::usb_bulk_in_ep
u_int8_t njb_struct::usb_bulk_out_ep
int njb_struct::device_type
int njb_struct::updated
u_int32_t njb_struct::xfersize
void * njb_struct::protocol_state
void * njb_struct::error_stack
u_int8_t njb_songid_frame_struct::type
u_int8_t   njb_songid_frame_struct::u_int8_val
u_int16_t   njb_songid_frame_struct::u_int16_val
u_int32_t   njb_songid_frame_struct::u_int32_val
u_int64_t   njb_songid_frame_struct::u_int64_val
union {
   char *   strval
   u_int8_t   njb_songid_frame_struct::u_int8_val
   u_int16_t   njb_songid_frame_struct::u_int16_val
   u_int32_t   njb_songid_frame_struct::u_int32_val
   u_int64_t   njb_songid_frame_struct::u_int64_val
njb_songid_frame_struct::data
njb_songid_frame_tnjb_songid_frame_struct::next
u_int16_t njb_songid_struct::nframes
njb_songid_frame_tnjb_songid_struct::first
njb_songid_frame_tnjb_songid_struct::last
njb_songid_frame_tnjb_songid_struct::cur
njb_songid_tnjb_songid_struct::next
njb_playlist_track_structnjb_playlist_track_struct::prev
njb_playlist_track_structnjb_playlist_track_struct::next
int njb_playlist_struct::_state
u_int32_t njb_playlist_struct::ntracks
u_int32_t njb_playlist_struct::plid
njb_playlist_track_tnjb_playlist_struct::first
njb_playlist_track_tnjb_playlist_struct::last
njb_playlist_track_tnjb_playlist_struct::cur
njb_playlist_tnjb_playlist_struct::nextpl
char * njb_datafile_struct::folder
u_int32_t njb_datafile_struct::timestamp
u_int32_t njb_datafile_struct::flags
u_int32_t njb_datafile_struct::dfid
u_int64_t njb_datafile_struct::filesize
njb_datafile_tnjb_datafile_struct::nextdf
char * njb_eax_struct::name
u_int8_t njb_eax_struct::exclusive
u_int8_t njb_eax_struct::group
njb_eax_control_t njb_eax_struct::type
int16_t njb_eax_struct::current_value
int16_t njb_eax_struct::min_value
int16_t njb_eax_struct::max_value
char ** njb_eax_struct::option_names
njb_eax_tnjb_eax_struct::next
int16_t njb_time_struct::month
int16_t njb_time_struct::day
int16_t njb_time_struct::weekday
int16_t njb_time_struct::hours
int16_t njb_time_struct::minutes
int16_t njb_time_struct::seconds
u_int32_t njb_keyval_struct::value1
u_int32_t njb_keyval_struct::value2
unsigned char njb_keyval_struct::deviceid [16]
njb_keyval_tnjb_keyval_struct::next

Detailed Description

See also:
NJB_Set_Turbo_Mode()

Define Documentation

#define NJB_FILEFLAGS_REGULAR_FILE   0x80000000U
 

This definition corresponds to the standard file permissions set for most files transferred from Windows machines to the device "file system" (file database). Can be used as a template to simplify things.

#define NJB_PL_CHNAME   2
 

This playlist has changed name

#define NJB_PL_CHTRACKS   3
 

This playlist has a new track listing

#define NJB_PL_NEW   0
 

This playlist is new

#define NJB_PL_UNCHANGED   1
 

This playlist has not changed

#define NJB_TURBO_OFF   0
 

turbo mode is off for series 3 devices

#define NJB_TURBO_ON   1
 

turbo mode is on for series 3 devices

#define OWNER_STRING_LENGTH   128
 

The fixed length of the owner string


Typedef Documentation

typedef int NJB_Xfer_Callback(u_int64_t sent, u_int64_t total, const char *buf, unsigned len, void *data)
 

The callback type

typedef unsigned char owner_string[OWNER_STRING_LENGTH+1]
 

A type defined for owner strings


Enumeration Type Documentation

enum njb_eax_control_t
 

This is the EAX Control Type


Variable Documentation

int njb_playlist_struct::_state [inherited]
 

The state of this playlist

Examples:
pl.c, and playlists.c.

njb_playlist_track_t* njb_playlist_struct::cur [inherited]
 

A pointer to the current track in this playlist

njb_songid_frame_t* njb_songid_struct::cur [inherited]
 

A pointer to the current frame

int16_t njb_eax_struct::current_value [inherited]
 

The current value of this effect. Notice that this value may be negative!

Examples:
dumpeax.c.

union { ... } njb_songid_frame_struct::data [inherited]
 

This is a union of possible frame types

Examples:
gettr.c, and tracks.c.

int16_t njb_time_struct::day [inherited]
 

Day (0-31)

Examples:
dumptime.c, and settime.c.

usb_dev_handle* njb_struct::dev [inherited]
 

The libusb device handle for this jukebox

int njb_struct::device_type [inherited]
 

what kind of jukebox this is

Examples:
handshake.c.

unsigned char njb_keyval_struct::deviceid[16] [inherited]
 

The SDMI compliant device ID associated with this key

u_int32_t njb_datafile_struct::dfid [inherited]
 

The 32-bit unsigned file ID.

Examples:
files.c, and getfile.c.

void* njb_struct::error_stack [inherited]
 

Error stack, used inside libnjb

u_int8_t njb_eax_struct::exclusive [inherited]
 

0x00 = not exclusive, 0x01 = exclusive The "exclusive" attribute signifies if this effect can be used in parallell with other EAX effects, GUI:s shall make sure all other effects are reset to default values when one effect is chosen.

Examples:
dumpeax.c.

u_int64_t njb_datafile_struct::filesize [inherited]
 

The file size as a 64-bit unsigned integer. The files on series 3 devices only have 32-bit signed length (and can only be 2GB in size) but the NJB1 supports 64-bit length.

Examples:
files.c, and getfile.c.

njb_playlist_track_t* njb_playlist_struct::first [inherited]
 

A pointer to the first track in this playlist

njb_songid_frame_t* njb_songid_struct::first [inherited]
 

A pointer to the first frame

u_int32_t njb_datafile_struct::flags [inherited]
 

These are ordinary windows file flags:

 bit (from MSB)   meaning
 -----------------------------
 31               Normal file (0x80000000U)
 29               This file should be archived (0x20000000U) 
 28               Directory (0x10000000U)
 26               System file (0x04000000U)
 25               Hidden file (0x02000000U)
 24               Read only file (0x01000000U)
 22               Encrypted file (0x00400000U)
 21               Normal file? (0x00200000U)
 19               Compressed file (0x00080000U)
 17               Sparse file (0x00020000U)
 16               Temporary file (0x00010000U)
 

SAMBA maps the bits to Unix permissions thus:

  owner        group        world
  r  w  x      r  w  x      r  w  x
  ^  ^  ^            ^            ^
  |  |  |            |            |
  |  |  Archive      System       Hidden
  |  |
  Read only
 

The meaning of bits 30, 27, 23, 20 and 15-0 is unknown.

Examples:
files.c.

char* njb_datafile_struct::folder [inherited]
 

This is the name of the folder the file belongs in. All folder names are given with full hierarchy and leading and trailing backslash as in: "\foo\bar\fnord\". If filename is "." this is the name of the empty folder.

Examples:
files.c.

u_int8_t njb_eax_struct::group [inherited]
 

The visual group for this effect - effects appearing after each other are grouped if their group numbers are identical

Examples:
dumpeax.c.

int16_t njb_time_struct::hours [inherited]
 

Hours (24-hour notation)

Examples:
dumptime.c, and settime.c.

njb_playlist_track_t* njb_playlist_struct::last [inherited]
 

A pointer to the last track in this playlist

njb_songid_frame_t* njb_songid_struct::last [inherited]
 

A pointer to the last frame

int16_t njb_eax_struct::max_value [inherited]
 

The maximum value for this effect.

Examples:
dumpeax.c.

int16_t njb_eax_struct::min_value [inherited]
 

The minumum value for this effect. Notice that this value may be negative!

Examples:
dumpeax.c.

int16_t njb_time_struct::minutes [inherited]
 

Minutes

Examples:
dumptime.c, and settime.c.

int16_t njb_time_struct::month [inherited]
 

Month (0-11)

Examples:
dumptime.c, and settime.c.

char* njb_eax_struct::name [inherited]
 

The name of this effect

Examples:
dumpeax.c.

njb_keyval_t* njb_keyval_struct::next [inherited]
 

A pointer to the next key/value pair

njb_eax_t* njb_eax_struct::next [inherited]
 

Only to be used inside of libnjb

struct njb_playlist_track_struct* njb_playlist_track_struct::next [inherited]
 

The next track in the playlist

njb_songid_t* njb_songid_struct::next [inherited]
 

Used internally on series 3 devices for spanning lists of song IDs only

njb_songid_frame_t* njb_songid_frame_struct::next [inherited]
 

A pointer to the next frame following this one in the song ID

njb_datafile_t* njb_datafile_struct::nextdf [inherited]
 

This is only to be used internally by libnjb.

njb_playlist_t* njb_playlist_struct::nextpl [inherited]
 

Used internally for spanning lists of playlists on series 3 devices only

u_int16_t njb_songid_struct::nframes [inherited]
 

The number of frames in this song ID

u_int32_t njb_playlist_struct::ntracks [inherited]
 

The number of tracks in this playlist

Examples:
pl.c, and playlists.c.

char** njb_eax_struct::option_names [inherited]
 

Array with names for the selections, if this is a fixed option control. It may not be dereferenced for slider controls.

Examples:
dumpeax.c.

u_int32_t njb_playlist_struct::plid [inherited]
 

The playlist ID for this playlist, as used on the device

Examples:
pl.c, and playlists.c.

struct njb_playlist_track_struct* njb_playlist_track_struct::prev [inherited]
 

The previous track in the playlist

void* njb_struct::protocol_state [inherited]
 

dereferenced and maintained individually by protocol implementations

int16_t njb_time_struct::seconds [inherited]
 

Seconds

Examples:
dumptime.c, and settime.c.

char* { ... } ::strval [inherited]
 

A string value

u_int32_t njb_datafile_struct::timestamp [inherited]
 

This is an ordinary UNIX styled timestamp for the file.

njb_eax_control_t njb_eax_struct::type [inherited]
 

NJB_EAX_NO_CONTROL, NJB_EAX_SLIDER_CONTROL, NJB_EAX_FIXED_OPTION_CONTROL

this replaces selectable, scalable with a single variable

Examples:
dumpeax.c.

u_int8_t njb_songid_frame_struct::type [inherited]
 

this tells us which subtype it is

Examples:
tracks.c.

u_int16_t { ... } ::u_int16_val [inherited]
 

A 16 bit unsigned integer value

u_int16_t njb_songid_frame_struct::u_int16_val [inherited]
 

A 16 bit unsigned integer value

Examples:
tracks.c.

u_int32_t { ... } ::u_int32_val [inherited]
 

A 32 bit unsigned integer value

u_int32_t njb_songid_frame_struct::u_int32_val [inherited]
 

A 32 bit unsigned integer value

Examples:
gettr.c, and tracks.c.

u_int64_t { ... } ::u_int64_val [inherited]
 

A 64 bit unsigned integer value

u_int64_t njb_songid_frame_struct::u_int64_val [inherited]
 

A 64 bit unsigned integer value

u_int8_t { ... } ::u_int8_val [inherited]
 

An 8 bit unsigned integer value

u_int8_t njb_songid_frame_struct::u_int8_val [inherited]
 

An 8 bit unsigned integer value

int njb_struct::updated [inherited]
 

If the device has been updated with some metadata

u_int8_t njb_struct::usb_bulk_in_ep [inherited]
 

The BULK IN endpoint for this jukebox

u_int8_t njb_struct::usb_bulk_out_ep [inherited]
 

The BULK OUT endpoint for this jukebox

u_int8_t njb_struct::usb_config [inherited]
 

The libusb config for this jukebox

u_int8_t njb_struct::usb_interface [inherited]
 

The libusb interface for this jukebox

u_int32_t njb_keyval_struct::value1 [inherited]
 

The first 32 bit unsigned integer of this key

u_int32_t njb_keyval_struct::value2 [inherited]
 

The second 32 bit unsigned integer of this key

int16_t njb_time_struct::weekday [inherited]
 

Day of the week 0=sunday, 6=saturday

Examples:
dumptime.c, and settime.c.

u_int32_t njb_struct::xfersize [inherited]
 

The transfer size for endpoints


Generated on Tue Apr 18 12:45:56 2006 for libnjb by  doxygen 1.4.6