libcdio  0.83
track.h
Go to the documentation of this file.
1 /*
2  $Id: track.h,v 1.14 2008/03/25 15:59:09 karl Exp $
3 
4  Copyright (C) 2005, 2006, 2008 Rocky Bernstein <rocky@gnu.org>
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
23 #ifndef __CDIO_TRACK_H__
24 #define __CDIO_TRACK_H__
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif /* __cplusplus */
29 
31  extern const char *track_format2str[6];
32 
33  typedef enum {
43 
44  typedef enum {
49  } track_flag_t;
50 
52  typedef struct {
55  int channels;
58  } track_flags_t;
59 
72  extern enum cdio_track_enums {
73  CDIO_CDROM_LBA = 0x01,
74  CDIO_CDROM_MSF = 0x02,
84 
85 #define CDIO_CD_MIN_TRACK_NO 1
90  typedef enum {
99  } trackmode_t;
100 
112  cdtext_t *cdio_get_cdtext (CdIo_t *p_cdio, track_t i_track);
113 
120  track_t cdio_get_first_track_num(const CdIo_t *p_cdio);
121 
126  track_t cdio_get_last_track_num (const CdIo_t *p_cdio);
127 
128 
136  track_t cdio_get_track(const CdIo_t *p_cdio, lsn_t lsn);
137 
142  int cdio_get_track_channels(const CdIo_t *p_cdio, track_t i_track);
143 
148  track_t i_track);
149 
153  track_format_t cdio_get_track_format(const CdIo_t *p_cdio, track_t i_track);
154 
163  bool cdio_get_track_green(const CdIo_t *p_cdio, track_t i_track);
164 
169  lsn_t cdio_get_track_last_lsn(const CdIo_t *p_cdio, track_t i_track);
170 
183  lba_t cdio_get_track_lba(const CdIo_t *p_cdio, track_t i_track);
184 
197  lsn_t cdio_get_track_lsn(const CdIo_t *p_cdio, track_t i_track);
198 
208  lba_t cdio_get_track_pregap_lba(const CdIo_t *p_cdio, track_t i_track);
209 
219  lsn_t cdio_get_track_pregap_lsn(const CdIo_t *p_cdio, track_t i_track);
220 
233  char * cdio_get_track_isrc (const CdIo_t *p_cdio, track_t i_track);
234 
245  bool cdio_get_track_msf(const CdIo_t *p_cdio, track_t i_track,
246  /*out*/ msf_t *msf);
247 
252  track_t i_track);
253 
262  unsigned int cdio_get_track_sec_count(const CdIo_t *p_cdio, track_t i_track);
263 
264 #ifdef __cplusplus
265 }
266 #endif /* __cplusplus */
267 
268 #endif /* __CDIO_TRACK_H__ */
269 

Generated for libcdio by doxygen 1.8.1.1