man njb_turboflags (Fonctions bibliothèques) -

NAME

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_t * njb_songid_frame_struct::next

u_int16_t njb_songid_struct::nframes

njb_songid_frame_t * njb_songid_struct::first

njb_songid_frame_t * njb_songid_struct::last

njb_songid_frame_t * njb_songid_struct::cur

njb_songid_t * njb_songid_struct::next

njb_playlist_track_struct * njb_playlist_track_struct::prev

njb_playlist_track_struct * njb_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_t * njb_playlist_struct::first

njb_playlist_track_t * njb_playlist_struct::last

njb_playlist_track_t * njb_playlist_struct::cur

njb_playlist_t * njb_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_t * njb_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_t * njb_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_t * njb_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