#include <cdio/cdio_config.h>
Go to the source code of this file.
Data Structures | |
struct | msf_s |
MSF (minute/second/frame) structure. More... | |
union | cdio_cdrom_addr |
Defines | |
#define | UINT16_C(c) c ## U |
#define | UINT32_C(c) c ## U |
#define | UINT64_C(c) c ## ULL |
#define | INT64_C(c) c ## LL |
#define | false 0 |
#define | true 1 |
#define | bool uint8_t |
#define | GNUC_PRINTF(format_idx, arg_idx) |
#define | GNUC_SCANF(format_idx, arg_idx) |
#define | GNUC_FORMAT(arg_idx) |
#define | GNUC_NORETURN |
#define | GNUC_CONST |
#define | GNUC_UNUSED |
#define | GNUC_PACKED |
#define | PRAGMA_BEGIN_PACKED |
#define | PRAGMA_END_PACKED |
#define | GNUC_LIKELY(x) (x) |
#define | GNUC_UNLIKELY(x) (x) |
#define | NULL ((void*) 0) |
#define | __cd_offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) |
#define | msf_t_SIZEOF 3 |
#define | CDIO_INVALID_SESSION 0xFF |
#define | CDIO_INVALID_LBA -45301 |
#define | CDIO_INVALID_LSN CDIO_INVALID_LBA |
#define | CDIO_MCN_SIZE 13 |
#define | CDIO_ISRC_SIZE 12 |
Typedefs | |
typedef uint8_t | ubyte |
typedef typedefPRAGMA_END_PACKED struct msf_s | msf_t |
typedef char | cdio_utf8_t |
UTF-8 char definition. | |
typedef uint8_t | bitfield_t |
typedef int32_t | lba_t |
typedef int32_t | lsn_t |
typedef uint8_t | track_t |
typedef uint8_t | session_t |
typedef char | cdio_mcn_t [CDIO_MCN_SIZE+1] |
typedef char | cdio_isrc_t [CDIO_ISRC_SIZE+1] |
typedef int | cdio_fs_anal_t |
Enumerations | |
enum | bool_3way_t { nope = 0, yep = 1, dunno = 2 } |
enum | cdio_track_flag { CDIO_TRACK_FLAG_NONE = 0x00, CDIO_TRACK_FLAG_PRE_EMPHASIS = 0x01, CDIO_TRACK_FLAG_COPY_PERMITTED = 0x02, CDIO_TRACK_FLAG_DATA = 0x04, CDIO_TRACK_FLAG_FOUR_CHANNEL_AUDIO = 0x08, CDIO_TRACK_FLAG_SCMS = 0x10 } |
Variables | |
PRAGMA_BEGIN_PACKED struct msf_s | GNUC_PACKED |
MSF (minute/second/frame) structure. |
|
|
|
|
|
Constant for invalid LBA. It is 151 less than the most negative LBA -45150. This provide slack for the 150-frame offset in LBA to LSN 150 conversions |
|
Constant for invalid LSN |
|
Constant for invalid session number |
|
Number of ASCII bytes in International Standard Recording Codes (ISRC) |
|
Number of ASCII bytes in a media catalog number (MCN). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Type to hold ASCII bytes in a media catalog number (MCN). We include an extra 0 byte so these can be used as C strings. |
|
Type to hold ASCII bytes in a media catalog number (MCN). We include an extra 0 byte so these can be used as C strings. |
|
UTF-8 char definition. Type to denote UTF-8 strings. |
|
The type of a Logical Block Address. We allow for an lba to be negative to be consistent with an lba, although I'm not sure this this is possible. |
|
The type of a Logical Sector Number. Note that an lba can be negative and the MMC3 specs allow for a conversion of a negative lba.
|
|
|
|
The type of a session number 0..99. |
|
The type of a track number 0..99. |
|
|
|
|
|
track flags Q Sub-channel Control Field (4.2.3.3) |
|
MSF (minute/second/frame) structure. One CD-ROMs addressing scheme especially used in audio formats (Red Book) is an address by minute, sector and frame which BCD-encoded in three bytes. An alternative format is an lba_t. Note: the fields in this structure are BCD encoded. Use cdio_to_bcd8() or cdio_from_bcd8() to convert an integer into or out of this format. The format specifier x (not d) can be used if you need to format or print values in this structure.
|