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