36#if !defined(ARE_THERE_STILL_ENVS_WITHOUT_SYS_TYPES)
41typedef u_int8_t uint8_t;
42typedef u_int16_t uint16_t;
43typedef u_int32_t uint32_t;
44typedef u_int64_t uint64_t;
75# define UINT16_C(c) c ## U
79# if defined (SIZEOF_INT) && SIZEOF_INT == 4
80# define UINT32_C(c) c ## U
81# elif defined (SIZEOF_LONG) && SIZEOF_LONG == 4
82# define UINT32_C(c) c ## UL
84# define UINT32_C(c) c ## U
89# if defined (SIZEOF_LONG) && SIZEOF_LONG == 8
90# define UINT64_C(c) c ## UL
91# elif defined (SIZEOF_INT) && SIZEOF_INT == 8
92# define UINT64_C(c) c ## U
94# define UINT64_C(c) c ## ULL
99# if defined (SIZEOF_LONG) && SIZEOF_LONG == 8
100# define INT64_C(c) c ## L
101# elif defined (SIZEOF_INT) && SIZEOF_INT == 8
104# define INT64_C(c) c ## LL
110#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
111#define GNUC_PRINTF( format_idx, arg_idx ) \
112 __attribute__((format (printf, format_idx, arg_idx)))
113#define GNUC_SCANF( format_idx, arg_idx ) \
114 __attribute__((format (scanf, format_idx, arg_idx)))
115#define GNUC_FORMAT( arg_idx ) \
116 __attribute__((format_arg (arg_idx)))
117#define GNUC_NORETURN \
118 __attribute__((noreturn))
120 __attribute__((const))
122 __attribute__((unused))
124 __attribute__((packed))
126#define GNUC_PRINTF( format_idx, arg_idx )
127#define GNUC_SCANF( format_idx, arg_idx )
128#define GNUC_FORMAT( arg_idx )
135#if defined(__MINGW32__) || (defined( __clang_major__) && __clang_major__ > 9)
136# define PRAGMA_BEGIN_PACKED _Pragma("pack(push)") \
138# define PRAGMA_END_PACKED _Pragma("pack(pop)")
139#elif __GNUC__ > 4 || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901)
142# define PRAGMA_BEGIN_PACKED _Pragma("pack(1)")
143# define PRAGMA_END_PACKED _Pragma("pack()")
144#elif defined(_MSC_VER)
145# define PRAGMA_BEGIN_PACKED __pragma(pack(push, 1))
146# define PRAGMA_END_PACKED __pragma(pack(pop))
149# define PRAGMA_BEGIN_PACKED
150# define PRAGMA_END_PACKED
156#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 95)
157# define GNUC_LIKELY(x) __builtin_expect((x),true)
158# define GNUC_UNLIKELY(x) __builtin_expect((x),false)
160# define GNUC_LIKELY(x) (x)
161# define GNUC_UNLIKELY(x) (x)
165# define NULL ((void*) 0)
171# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 5)
172# define LIBCDIO_DEPRECATED(object, notice) object __attribute__ ((deprecated(notice)))
174# define LIBCDIO_DEPRECATED(object, notice) object __attribute__ ((deprecated))
176#elif defined(_MSC_VER)
177#define LIBCDIO_DEPRECATED(object, notice) __declspec(deprecated(notice)) object
179#define LIBCDIO_DEPRECATED(object, notice)
183#define __cd_offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
207#define msf_t_SIZEOF 3
265#define CDIO_INVALID_SESSION 0xFF
272#define CDIO_INVALID_LBA -45301
277#define CDIO_INVALID_LSN CDIO_INVALID_LBA
283#define CDIO_MCN_SIZE 13
295#define CDIO_ISRC_SIZE 12
MSF (minute/second/frame) structure.
Definition: types.h:200
uint8_t s
Definition: types.h:201
uint8_t m
Definition: types.h:201
uint8_t f
Definition: types.h:201
uint8_t session_t
Definition: types.h:260
bool_3way_t
Definition: types.h:217
@ nope
Definition: types.h:218
@ yep
Definition: types.h:219
@ dunno
Definition: types.h:220
char cdio_utf8_t
UTF-8 char definition.
Definition: types.h:215
typedefPRAGMA_END_PACKED struct msf_s msf_t
Definition: types.h:205
#define PRAGMA_BEGIN_PACKED
Definition: types.h:149
#define PRAGMA_END_PACKED
Definition: types.h:150
#define CDIO_ISRC_SIZE
Definition: types.h:295
char cdio_mcn_t[CDIO_MCN_SIZE+1]
Definition: types.h:289
uint8_t track_t
Definition: types.h:257
uint8_t bitfield_t
Definition: types.h:232
cdio_track_flag
Definition: types.h:309
@ CDIO_TRACK_FLAG_DATA
Definition: types.h:314
@ CDIO_TRACK_FLAG_PRE_EMPHASIS
Definition: types.h:311
@ CDIO_TRACK_FLAG_FOUR_CHANNEL_AUDIO
Definition: types.h:315
@ CDIO_TRACK_FLAG_SCMS
Definition: types.h:316
@ CDIO_TRACK_FLAG_COPY_PERMITTED
Definition: types.h:313
@ CDIO_TRACK_FLAG_NONE
Definition: types.h:310
#define GNUC_PACKED
Definition: types.h:132
int cdio_fs_anal_t
Definition: types.h:303
int32_t lba_t
Definition: types.h:240
int32_t lsn_t
Definition: types.h:247
#define CDIO_MCN_SIZE
Definition: types.h:283
void(* CdioDataFree_t)(void *ptr)
Definition: types.h:321
uint8_t ubyte
Definition: types.h:53
char cdio_isrc_t[CDIO_ISRC_SIZE+1]
Definition: types.h:301
lba_t lba
Definition: types.h:253
msf_t msf
Definition: types.h:252