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;
48 #if defined(_AIX) && !defined(_AIX52)
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
104 # define INT64_C(c) c
106 # define INT64_C(c) c ## LL
113 #ifndef __bool_true_false_are_defined
114 #define __bool_true_false_are_defined 1
123 #define bool unsigned char
133 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
134 #define GNUC_PRINTF( format_idx, arg_idx ) \
135 __attribute__((format (printf, format_idx, arg_idx)))
136 #define GNUC_SCANF( format_idx, arg_idx ) \
137 __attribute__((format (scanf, format_idx, arg_idx)))
138 #define GNUC_FORMAT( arg_idx ) \
139 __attribute__((format_arg (arg_idx)))
140 #define GNUC_NORETURN \
141 __attribute__((noreturn))
143 __attribute__((const))
144 #define GNUC_UNUSED \
145 __attribute__((unused))
146 #define GNUC_PACKED \
147 __attribute__((packed))
149 #define GNUC_PRINTF( format_idx, arg_idx )
150 #define GNUC_SCANF( format_idx, arg_idx )
151 #define GNUC_FORMAT( arg_idx )
152 #define GNUC_NORETURN
158 #if defined(__MINGW32__)
159 # define PRAGMA_BEGIN_PACKED _Pragma("pack(push)") \
161 # define PRAGMA_END_PACKED _Pragma("pack(pop)")
162 #elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
164 # define PRAGMA_BEGIN_PACKED _Pragma("pack(1)")
165 # define PRAGMA_END_PACKED _Pragma("pack()")
166 #elif defined(_MSC_VER)
167 # define PRAGMA_BEGIN_PACKED __pragma(pack(push, 1))
168 # define PRAGMA_END_PACKED __pragma(pack(pop))
171 # define PRAGMA_BEGIN_PACKED
172 # define PRAGMA_END_PACKED
178 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 95)
179 # define GNUC_LIKELY(x) __builtin_expect((x),true)
180 # define GNUC_UNLIKELY(x) __builtin_expect((x),false)
182 # define GNUC_LIKELY(x) (x)
183 # define GNUC_UNLIKELY(x) (x)
187 # define NULL ((void*) 0)
192 #if defined(__GNUC__) && !defined(_AIX)
193 # if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 5)
194 # define LIBCDIO_DEPRECATED(object, notice) object __attribute__ ((deprecated(notice)))
196 # define LIBCDIO_DEPRECATED(object, notice) object __attribute__ ((deprecated))
198 #elif defined(_MSC_VER)
199 #define LIBCDIO_DEPRECATED(object, notice) __declspec(deprecated(notice)) object
201 #define LIBCDIO_DEPRECATED(object, notice) object
205 #define __cd_offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
229 #define msf_t_SIZEOF 3
246 #if defined(__GNUC__)
287 #define CDIO_INVALID_SESSION 0xFF
294 #define CDIO_INVALID_LBA -45301
299 #define CDIO_INVALID_LSN CDIO_INVALID_LBA
305 #define CDIO_MCN_SIZE 13
317 #define CDIO_ISRC_SIZE 12
#define PRAGMA_END_PACKED
Definition: types.h:172
int cdio_fs_anal_t
Definition: types.h:325
char cdio_mcn_t[CDIO_MCN_SIZE+1]
Definition: types.h:311
int32_t lsn_t
Definition: types.h:269
#define PRAGMA_BEGIN_PACKED
Definition: types.h:171
uint8_t track_t
Definition: types.h:279
typedefPRAGMA_END_PACKED struct msf_s msf_t
Definition: types.h:227
uint8_t session_t
Definition: types.h:282
#define CDIO_MCN_SIZE
Definition: types.h:305
int32_t lba_t
Definition: types.h:262
uint8_t ubyte
Definition: types.h:55
uint8_t f
Definition: types.h:223
uint8_t m
Definition: types.h:223
#define CDIO_ISRC_SIZE
Definition: types.h:317
uint8_t s
Definition: types.h:223
char cdio_utf8_t
UTF-8 char definition.
Definition: types.h:237
lba_t lba
Definition: types.h:275
bool_3way_t
Definition: types.h:239
char cdio_isrc_t[CDIO_ISRC_SIZE+1]
Definition: types.h:323
MSF (minute/second/frame) structure.
Definition: types.h:222
#define GNUC_PACKED
Definition: types.h:155
cdio_track_flag
Definition: types.h:331
uint8_t bitfield_t
Definition: types.h:254
msf_t msf
Definition: types.h:274