Go to the documentation of this file.
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__) || (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)
189 #if defined(__GNUC__)
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
243 #if defined(__GNUC__)
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
typedefPRAGMA_END_PACKED struct msf_s msf_t
Definition: types.h:224
bool_3way_t
Definition: types.h:236
int32_t lba_t
Definition: types.h:259
@ CDIO_TRACK_FLAG_PRE_EMPHASIS
Definition: types.h:330
#define CDIO_ISRC_SIZE
Definition: types.h:314
int32_t lsn_t
Definition: types.h:266
uint8_t ubyte
Definition: types.h:51
uint8_t track_t
Definition: types.h:276
char cdio_isrc_t[CDIO_ISRC_SIZE+1]
Definition: types.h:320
uint8_t f
Definition: types.h:220
@ CDIO_TRACK_FLAG_FOUR_CHANNEL_AUDIO
Definition: types.h:334
@ nope
Definition: types.h:237
@ CDIO_TRACK_FLAG_COPY_PERMITTED
Definition: types.h:332
uint8_t bitfield_t
Definition: types.h:251
uint8_t session_t
Definition: types.h:279
@ yep
Definition: types.h:238
char cdio_mcn_t[CDIO_MCN_SIZE+1]
Definition: types.h:308
@ CDIO_TRACK_FLAG_SCMS
Definition: types.h:335
#define PRAGMA_END_PACKED
Definition: types.h:169
MSF (minute/second/frame) structure.
Definition: types.h:219
#define GNUC_PACKED
Definition: types.h:151
lba_t lba
Definition: types.h:272
uint8_t s
Definition: types.h:220
void(* CdioDataFree_t)(void *ptr)
Definition: types.h:340
msf_t msf
Definition: types.h:271
#define CDIO_MCN_SIZE
Definition: types.h:302
uint8_t m
Definition: types.h:220
@ CDIO_TRACK_FLAG_DATA
Definition: types.h:333
@ dunno
Definition: types.h:239
#define PRAGMA_BEGIN_PACKED
Definition: types.h:168
int cdio_fs_anal_t
Definition: types.h:322
@ CDIO_TRACK_FLAG_NONE
Definition: types.h:329
cdio_track_flag
Definition: types.h:328
char cdio_utf8_t
UTF-8 char definition.
Definition: types.h:234
Generated for libcdio by
1.8.17