38#if !defined(ARE_THERE_STILL_ENVS_WITHOUT_SYS_TYPES)
43typedef u_int8_t uint8_t;
44typedef u_int16_t uint16_t;
45typedef u_int32_t uint32_t;
46typedef u_int64_t uint64_t;
77# define UINT16_C(c) c ## U
81# if defined (SIZEOF_INT) && SIZEOF_INT == 4
82# define UINT32_C(c) c ## U
83# elif defined (SIZEOF_LONG) && SIZEOF_LONG == 4
84# define UINT32_C(c) c ## UL
86# define UINT32_C(c) c ## U
91# if defined (SIZEOF_LONG) && SIZEOF_LONG == 8
92# define UINT64_C(c) c ## UL
93# elif defined (SIZEOF_INT) && SIZEOF_INT == 8
94# define UINT64_C(c) c ## U
96# define UINT64_C(c) c ## ULL
101# if defined (SIZEOF_LONG) && SIZEOF_LONG == 8
102# define INT64_C(c) c ## L
103# elif defined (SIZEOF_INT) && SIZEOF_INT == 8
106# define INT64_C(c) c ## LL
112#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
113#define GNUC_PRINTF( format_idx, arg_idx ) \
114 __attribute__((format (printf, format_idx, arg_idx)))
115#define GNUC_SCANF( format_idx, arg_idx ) \
116 __attribute__((format (scanf, format_idx, arg_idx)))
117#define GNUC_FORMAT( arg_idx ) \
118 __attribute__((format_arg (arg_idx)))
119#define GNUC_NORETURN \
120 __attribute__((noreturn))
122 __attribute__((const))
124 __attribute__((unused))
126 __attribute__((packed))
128#define GNUC_PRINTF( format_idx, arg_idx )
129#define GNUC_SCANF( format_idx, arg_idx )
130#define GNUC_FORMAT( arg_idx )
136#define __PRETTY_FUNCTION__ __FUNCSIG__
140#if defined(__MINGW32__) || (defined( __clang_major__) && __clang_major__ > 9)
141# define PRAGMA_BEGIN_PACKED _Pragma("pack(push)") \
143# define PRAGMA_END_PACKED _Pragma("pack(pop)")
144#elif __GNUC__ > 4 || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901)
147# define PRAGMA_BEGIN_PACKED _Pragma("pack(1)")
148# define PRAGMA_END_PACKED _Pragma("pack()")
149#elif defined(_MSC_VER)
150# define PRAGMA_BEGIN_PACKED __pragma(pack(push, 1))
151# define PRAGMA_END_PACKED __pragma(pack(pop))
154# define PRAGMA_BEGIN_PACKED
155# define PRAGMA_END_PACKED
161#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 95)
162# define GNUC_LIKELY(x) __builtin_expect((x),true)
163# define GNUC_UNLIKELY(x) __builtin_expect((x),false)
165# define GNUC_LIKELY(x) (x)
166# define GNUC_UNLIKELY(x) (x)
172# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 5)
173# define LIBCDIO_DEPRECATED(object, notice) object __attribute__ ((deprecated(notice)))
175# define LIBCDIO_DEPRECATED(object, notice) object __attribute__ ((deprecated))
177#elif defined(_MSC_VER)
178#define LIBCDIO_DEPRECATED(object, notice) __declspec(deprecated(notice)) object
180#define LIBCDIO_DEPRECATED(object, notice)
184#define __cd_offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
208#define msf_t_SIZEOF 3
266#define CDIO_INVALID_SESSION 0xFF
273#define CDIO_INVALID_LBA -45301
278#define CDIO_INVALID_LSN CDIO_INVALID_LBA
284#define CDIO_MCN_SIZE 13
296#define CDIO_ISRC_SIZE 12
MSF (minute/second/frame) structure.
Definition types.h:201
uint8_t s
Definition types.h:202
uint8_t m
Definition types.h:202
uint8_t f
Definition types.h:202
uint8_t session_t
Definition types.h:261
bool_3way_t
Definition types.h:218
@ nope
Definition types.h:219
@ yep
Definition types.h:220
@ dunno
Definition types.h:221
char cdio_utf8_t
UTF-8 char definition.
Definition types.h:216
typedefPRAGMA_END_PACKED struct msf_s msf_t
Definition types.h:206
#define PRAGMA_BEGIN_PACKED
Definition types.h:154
#define PRAGMA_END_PACKED
Definition types.h:155
#define CDIO_ISRC_SIZE
Definition types.h:296
char cdio_mcn_t[CDIO_MCN_SIZE+1]
Definition types.h:290
uint8_t track_t
Definition types.h:258
uint8_t bitfield_t
Definition types.h:233
cdio_track_flag
Definition types.h:310
@ CDIO_TRACK_FLAG_DATA
Definition types.h:315
@ CDIO_TRACK_FLAG_PRE_EMPHASIS
Definition types.h:312
@ CDIO_TRACK_FLAG_FOUR_CHANNEL_AUDIO
Definition types.h:316
@ CDIO_TRACK_FLAG_SCMS
Definition types.h:317
@ CDIO_TRACK_FLAG_COPY_PERMITTED
Definition types.h:314
@ CDIO_TRACK_FLAG_NONE
Definition types.h:311
#define GNUC_PACKED
Definition types.h:134
int cdio_fs_anal_t
Definition types.h:304
int32_t lba_t
Definition types.h:241
int32_t lsn_t
Definition types.h:248
#define CDIO_MCN_SIZE
Definition types.h:284
void(* CdioDataFree_t)(void *ptr)
Definition types.h:322
uint8_t ubyte
Definition types.h:55
char cdio_isrc_t[CDIO_ISRC_SIZE+1]
Definition types.h:302
lba_t lba
Definition types.h:254
msf_t msf
Definition types.h:253