34#if !defined(ARE_THERE_STILL_ENVS_WITHOUT_SYS_TYPES)
39typedef u_int8_t uint8_t;
40typedef u_int16_t uint16_t;
41typedef u_int32_t uint32_t;
42typedef u_int64_t uint64_t;
73# define UINT16_C(c) c ## U
77# if defined (SIZEOF_INT) && SIZEOF_INT == 4
78# define UINT32_C(c) c ## U
79# elif defined (SIZEOF_LONG) && SIZEOF_LONG == 4
80# define UINT32_C(c) c ## UL
82# define UINT32_C(c) c ## U
87# if defined (SIZEOF_LONG) && SIZEOF_LONG == 8
88# define UINT64_C(c) c ## UL
89# elif defined (SIZEOF_INT) && SIZEOF_INT == 8
90# define UINT64_C(c) c ## U
92# define UINT64_C(c) c ## ULL
97# if defined (SIZEOF_LONG) && SIZEOF_LONG == 8
98# define INT64_C(c) c ## L
99# elif defined (SIZEOF_INT) && SIZEOF_INT == 8
102# define INT64_C(c) c ## LL
109#ifndef __bool_true_false_are_defined
110#define __bool_true_false_are_defined 1
119#define bool unsigned char
129#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
130#define GNUC_PRINTF( format_idx, arg_idx ) \
131 __attribute__((format (printf, format_idx, arg_idx)))
132#define GNUC_SCANF( format_idx, arg_idx ) \
133 __attribute__((format (scanf, format_idx, arg_idx)))
134#define GNUC_FORMAT( arg_idx ) \
135 __attribute__((format_arg (arg_idx)))
136#define GNUC_NORETURN \
137 __attribute__((noreturn))
139 __attribute__((const))
141 __attribute__((unused))
143 __attribute__((packed))
145#define GNUC_PRINTF( format_idx, arg_idx )
146#define GNUC_SCANF( format_idx, arg_idx )
147#define GNUC_FORMAT( arg_idx )
154#if defined(__MINGW32__) || (defined( __clang_major__) && __clang_major__ > 9)
155# define PRAGMA_BEGIN_PACKED _Pragma("pack(push)") \
157# define PRAGMA_END_PACKED _Pragma("pack(pop)")
158#elif __GNUC__ > 4 || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901)
161# define PRAGMA_BEGIN_PACKED _Pragma("pack(1)")
162# define PRAGMA_END_PACKED _Pragma("pack()")
163#elif defined(_MSC_VER)
164# define PRAGMA_BEGIN_PACKED __pragma(pack(push, 1))
165# define PRAGMA_END_PACKED __pragma(pack(pop))
168# define PRAGMA_BEGIN_PACKED
169# define PRAGMA_END_PACKED
175#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 95)
176# define GNUC_LIKELY(x) __builtin_expect((x),true)
177# define GNUC_UNLIKELY(x) __builtin_expect((x),false)
179# define GNUC_LIKELY(x) (x)
180# define GNUC_UNLIKELY(x) (x)
184# define NULL ((void*) 0)
190# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 5)
191# define LIBCDIO_DEPRECATED(object, notice) object __attribute__ ((deprecated(notice)))
193# define LIBCDIO_DEPRECATED(object, notice) object __attribute__ ((deprecated))
195#elif defined(_MSC_VER)
196#define LIBCDIO_DEPRECATED(object, notice) __declspec(deprecated(notice)) object
198#define LIBCDIO_DEPRECATED(object, notice)
202#define __cd_offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
226#define msf_t_SIZEOF 3
284#define CDIO_INVALID_SESSION 0xFF
291#define CDIO_INVALID_LBA -45301
296#define CDIO_INVALID_LSN CDIO_INVALID_LBA
302#define CDIO_MCN_SIZE 13
314#define CDIO_ISRC_SIZE 12
MSF (minute/second/frame) structure.
Definition: types.h:219
uint8_t s
Definition: types.h:220
uint8_t m
Definition: types.h:220
uint8_t f
Definition: types.h:220
uint8_t session_t
Definition: types.h:279
bool_3way_t
Definition: types.h:236
@ nope
Definition: types.h:237
@ yep
Definition: types.h:238
@ dunno
Definition: types.h:239
char cdio_utf8_t
UTF-8 char definition.
Definition: types.h:234
typedefPRAGMA_END_PACKED struct msf_s msf_t
Definition: types.h:224
#define PRAGMA_BEGIN_PACKED
Definition: types.h:168
#define PRAGMA_END_PACKED
Definition: types.h:169
#define CDIO_ISRC_SIZE
Definition: types.h:314
char cdio_mcn_t[CDIO_MCN_SIZE+1]
Definition: types.h:308
uint8_t track_t
Definition: types.h:276
uint8_t bitfield_t
Definition: types.h:251
cdio_track_flag
Definition: types.h:328
@ CDIO_TRACK_FLAG_DATA
Definition: types.h:333
@ CDIO_TRACK_FLAG_PRE_EMPHASIS
Definition: types.h:330
@ CDIO_TRACK_FLAG_FOUR_CHANNEL_AUDIO
Definition: types.h:334
@ CDIO_TRACK_FLAG_SCMS
Definition: types.h:335
@ CDIO_TRACK_FLAG_COPY_PERMITTED
Definition: types.h:332
@ CDIO_TRACK_FLAG_NONE
Definition: types.h:329
#define GNUC_PACKED
Definition: types.h:151
int cdio_fs_anal_t
Definition: types.h:322
int32_t lba_t
Definition: types.h:259
int32_t lsn_t
Definition: types.h:266
#define CDIO_MCN_SIZE
Definition: types.h:302
void(* CdioDataFree_t)(void *ptr)
Definition: types.h:340
uint8_t ubyte
Definition: types.h:51
char cdio_isrc_t[CDIO_ISRC_SIZE+1]
Definition: types.h:320
lba_t lba
Definition: types.h:272
msf_t msf
Definition: types.h:271