#include <cdio/cdio_config.h>
Go to the source code of this file.
Enumerations | |
enum | cdio_read_mode_t { CDIO_READ_MODE_AUDIO, CDIO_READ_MODE_M1F1, CDIO_READ_MODE_M1F2, CDIO_READ_MODE_M2F1, CDIO_READ_MODE_M2F2 } |
Functions | |
off_t | cdio_lseek (const CdIo_t *p_cdio, off_t offset, int whence) |
ssize_t | cdio_read (const CdIo_t *p_cdio, void *p_buf, size_t i_size) |
driver_return_code_t | cdio_read_audio_sector (const CdIo_t *p_cdio, void *p_buf, lsn_t i_lsn) |
driver_return_code_t | cdio_read_audio_sectors (const CdIo_t *p_cdio, void *p_buf, lsn_t i_lsn, uint32_t i_blocks) |
driver_return_code_t | cdio_read_data_sectors (const CdIo_t *p_cdio, void *p_buf, lsn_t i_lsn, uint16_t i_blocksize, uint32_t i_blocks) |
driver_return_code_t | cdio_read_mode1_sector (const CdIo_t *p_cdio, void *p_buf, lsn_t i_lsn, bool b_form2) |
driver_return_code_t | cdio_read_mode1_sectors (const CdIo_t *p_cdio, void *p_buf, lsn_t i_lsn, bool b_form2, uint32_t i_blocks) |
driver_return_code_t | cdio_read_mode2_sector (const CdIo_t *p_cdio, void *p_buf, lsn_t i_lsn, bool b_form2) |
driver_return_code_t | cdio_read_sector (const CdIo_t *p_cdio, void *p_buf, lsn_t i_lsn, cdio_read_mode_t read_mode) |
driver_return_code_t | cdio_read_mode2_sectors (const CdIo_t *p_cdio, void *p_buf, lsn_t i_lsn, bool b_form2, uint32_t i_blocks) |
driver_return_code_t | cdio_read_sectors (const CdIo_t *p_cdio, void *p_buf, lsn_t i_lsn, cdio_read_mode_t read_mode, uint32_t i_blocks) |
|
All the different ways a block/sector can be read. |
|
Reposition read offset Similar to (if not the same as) libc's fseek()
|
|
Reads into buf the next size bytes. Similar to (if not the same as) libc's read()
|
|
Read an audio sector
|
|
Reads audio sectors
|
|
Read data sectors
|
|
Reads a mode 1 sector
|
|
Reads mode 1 sectors
|
|
Reads a mode 2 sector
|
|
Reads mode 2 sectors
|
|
The special case of reading a single block is a common one so we provide a routine for that as a convenience. |
|
Reads a number of sectors (AKA blocks).
If read_mode is CDIO_MODE_DATA, p_buf should hold at least i_blocks times either ISO_BLOCKSIZE, M1RAW_SECTOR_SIZE or M2F2_SECTOR_SIZE depending on the kind of sector getting read. If you don't know whether you have a Mode 1/2, Form 1/ Form 2/Formless sector best to reserve space for the maximum which is M2RAW_SECTOR_SIZE. If read_mode is CDIO_MODE_M2F1, p_buf should hold at least M2RAW_SECTOR_SIZE * i_blocks bytes. If read_mode is CDIO_MODE_M2F2, p_buf should hold at least CDIO_CD_FRAMESIZE * i_blocks bytes. |