read.h

Go to the documentation of this file.
00001 /* -*- c -*-
00002     $Id: read_8h-source.html,v 1.9 2006/10/27 11:16:41 rocky Exp $
00003 
00004     Copyright (C) 2005, 2006 Rocky Bernstein <rocky@panix.com>
00005 
00006     This program is free software; you can redistribute it and/or modify
00007     it under the terms of the GNU General Public License as published by
00008     the Free Software Foundation; either version 2 of the License, or
00009     (at your option) any later version.
00010 
00011     This program is distributed in the hope that it will be useful,
00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014     GNU General Public License for more details.
00015 
00016     You should have received a copy of the GNU General Public License
00017     along with this program; if not, write to the Free Software
00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
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 /* Need for HAVE_SYS_TYPES_H */
00033 #include <cdio/cdio_config.h>
00034 #endif
00035 
00036 #ifdef __cplusplus
00037 extern "C" {
00038 #endif /* __cplusplus */
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 /* __cplusplus */
00229 
00230 #endif /* __CDIO_TRACK_H__ */

Generated on Fri Oct 27 06:38:08 2006 for libcdio by  doxygen 1.4.6