34 #if !defined(ARE_THERE_STILL_ENVS_WITHOUT_SYS_TYPES)
35 #include <sys/types.h>
39 typedef u_int8_t uint8_t;
40 typedef u_int16_t uint16_t;
41 typedef u_int32_t uint32_t;
42 typedef 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
100 # define INT64_C(c) c
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))
140 #define GNUC_UNUSED \
141 __attribute__((unused))
142 #define GNUC_PACKED \
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 )
148 #define GNUC_NORETURN
154 #if defined(__MINGW32__)
155 # define PRAGMA_BEGIN_PACKED _Pragma("pack(push)") \
157 # define PRAGMA_END_PACKED _Pragma("pack(pop)")
158 #elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
160 # define PRAGMA_BEGIN_PACKED _Pragma("pack(1)")
161 # define PRAGMA_END_PACKED _Pragma("pack()")
162 #elif defined(_MSC_VER)
163 # define PRAGMA_BEGIN_PACKED __pragma(pack(push, 1))
164 # define PRAGMA_END_PACKED __pragma(pack(pop))
167 # define PRAGMA_BEGIN_PACKED
168 # define PRAGMA_END_PACKED
174 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 95)
175 # define GNUC_LIKELY(x) __builtin_expect((x),true)
176 # define GNUC_UNLIKELY(x) __builtin_expect((x),false)
178 # define GNUC_LIKELY(x) (x)
179 # define GNUC_UNLIKELY(x) (x)
183 # define NULL ((void*) 0)
188 #if defined(__GNUC__)
189 # if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 5)
190 # define LIBCDIO_DEPRECATED(object, notice) object __attribute__ ((deprecated(notice)))
192 # define LIBCDIO_DEPRECATED(object, notice) object __attribute__ ((deprecated))
194 #elif defined(_MSC_VER)
195 #define LIBCDIO_DEPRECATED(object, notice) __declspec(deprecated(notice)) object
197 #define LIBCDIO_DEPRECATED(object, notice)
201 #define __cd_offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
225 #define msf_t_SIZEOF 3
242 #if defined(__GNUC__)
283 #define CDIO_INVALID_SESSION 0xFF
290 #define CDIO_INVALID_LBA -45301
295 #define CDIO_INVALID_LSN CDIO_INVALID_LBA
301 #define CDIO_MCN_SIZE 13
313 #define CDIO_ISRC_SIZE 12
#define PRAGMA_END_PACKED
Definition: types.h:168
int cdio_fs_anal_t
Definition: types.h:321
char cdio_mcn_t[CDIO_MCN_SIZE+1]
Definition: types.h:307
int32_t lsn_t
Definition: types.h:265
#define PRAGMA_BEGIN_PACKED
Definition: types.h:167
uint8_t track_t
Definition: types.h:275
typedefPRAGMA_END_PACKED struct msf_s msf_t
Definition: types.h:223
uint8_t session_t
Definition: types.h:278
#define CDIO_MCN_SIZE
Definition: types.h:301
int32_t lba_t
Definition: types.h:258
uint8_t ubyte
Definition: types.h:51
uint8_t f
Definition: types.h:219
uint8_t m
Definition: types.h:219
#define CDIO_ISRC_SIZE
Definition: types.h:313
uint8_t s
Definition: types.h:219
char cdio_utf8_t
UTF-8 char definition.
Definition: types.h:233
lba_t lba
Definition: types.h:271
bool_3way_t
Definition: types.h:235
char cdio_isrc_t[CDIO_ISRC_SIZE+1]
Definition: types.h:319
MSF (minute/second/frame) structure.
Definition: types.h:218
#define GNUC_PACKED
Definition: types.h:151
cdio_track_flag
Definition: types.h:327
uint8_t bitfield_t
Definition: types.h:250
msf_t msf
Definition: types.h:270