00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00027 #ifndef __CDIO_READ_H__
00028 #define __CDIO_READ_H__
00029
00030 #ifndef EXTERNAL_LIBCDIO_CONFIG_H
00031 #define EXTERNAL_LIBCDIO_CONFIG_H
00032
00033 #include <cdio/cdio_config.h>
00034 #endif
00035
00036 #ifdef __cplusplus
00037 extern "C" {
00038 #endif
00039
00041 typedef enum {
00042 CDIO_READ_MODE_AUDIO,
00043 CDIO_READ_MODE_M1F1,
00044 CDIO_READ_MODE_M1F2,
00045 CDIO_READ_MODE_M2F1,
00046 CDIO_READ_MODE_M2F2,
00047 } cdio_read_mode_t;
00048
00060 off_t cdio_lseek(const CdIo_t *p_cdio, off_t offset, int whence);
00061
00073 ssize_t cdio_read(const CdIo_t *p_cdio, void *p_buf, size_t i_size);
00074
00084 driver_return_code_t cdio_read_audio_sector (const CdIo_t *p_cdio,
00085 void *p_buf, lsn_t i_lsn);
00086
00097 driver_return_code_t cdio_read_audio_sectors (const CdIo_t *p_cdio,
00098 void *p_buf, lsn_t i_lsn,
00099 uint32_t i_blocks);
00100
00118 driver_return_code_t cdio_read_data_sectors ( const CdIo_t *p_cdio,
00119 void *p_buf, lsn_t i_lsn,
00120 uint16_t i_blocksize,
00121 uint32_t i_blocks );
00131 driver_return_code_t cdio_read_mode1_sector (const CdIo_t *p_cdio,
00132 void *p_buf, lsn_t i_lsn,
00133 bool b_form2);
00144 driver_return_code_t cdio_read_mode1_sectors (const CdIo_t *p_cdio,
00145 void *p_buf, lsn_t i_lsn,
00146 bool b_form2,
00147 uint32_t i_blocks);
00162 driver_return_code_t cdio_read_mode2_sector (const CdIo_t *p_cdio,
00163 void *p_buf, lsn_t i_lsn,
00164 bool b_form2);
00165
00169 driver_return_code_t cdio_read_sector(const CdIo_t *p_cdio, void *p_buf,
00170 lsn_t i_lsn,
00171 cdio_read_mode_t read_mode);
00187 driver_return_code_t cdio_read_mode2_sectors (const CdIo_t *p_cdio,
00188 void *p_buf, lsn_t i_lsn,
00189 bool b_form2,
00190 uint32_t i_blocks);
00191
00221 driver_return_code_t cdio_read_sectors(const CdIo_t *p_cdio, void *p_buf,
00222 lsn_t i_lsn,
00223 cdio_read_mode_t read_mode,
00224 uint32_t i_blocks);
00225
00226 #ifdef __cplusplus
00227 }
00228 #endif
00229
00230 #endif