2 * This file has been modified for the cdrkit suite.
4 * The behaviour and appearence of the program code below can differ to a major
5 * extent from the version distributed by the original author(s).
7 * For details, see Changelog file distributed with the cdrkit package. If you
8 * received this file from another source then ask the distributing person for
9 * a log of modifications.
13 /* @(#)toc.h 1.9 06/02/19 Copyright 1998,1999 Heiko Eissfeldt, Copyright 2006 J. Schilling */
15 #define MAXTRK 100 /* maximum of audio tracks (without a hidden track) */
17 extern unsigned cdtracks;
18 extern int have_multisession;
19 extern int have_CD_extra;
20 extern int have_CD_text;
23 #if !defined(HAVE_NETDB_H)
27 extern int request_titles(void);
30 extern int ReadToc(void);
31 extern void Check_Toc(void);
32 extern int TOC_entries(unsigned tracks,
33 unsigned char *a, unsigned char *b,
35 extern void toc_entry(unsigned nr, unsigned flag, unsigned tr,
37 unsigned long lba, int m, int s, int f);
38 extern int patch_real_end(unsigned long sector);
39 extern int no_disguised_audiotracks(void);
41 extern int Get_Track(unsigned long sector);
42 extern long FirstTrack(void);
43 extern long LastTrack(void);
44 extern long FirstAudioTrack(void);
45 extern long FirstDataTrack(void);
46 extern long LastAudioTrack(void);
47 extern long Get_EndSector(unsigned long p_track);
48 extern long Get_StartSector(unsigned long p_track);
49 extern long Get_AudioStartSector(unsigned long p_track);
50 extern long Get_LastSectorOnCd(unsigned long p_track);
51 extern int CheckTrackrange(unsigned long from, unsigned long upto);
53 extern int Get_Preemphasis(unsigned long p_track);
54 extern int Get_Channels(unsigned long p_track);
55 extern int Get_Copyright(unsigned long p_track);
56 extern int Get_Datatrack(unsigned long p_track);
57 extern int Get_Tracknumber(unsigned long p_track);
58 extern unsigned char *Get_MCN(void);
59 extern unsigned char *Get_ISRC(unsigned long p_track);
61 extern unsigned find_an_off_sector(unsigned lSector, unsigned SectorBurstVal);
62 extern void DisplayToc(void);
63 extern unsigned FixupTOC(unsigned no_tracks);
64 extern void calc_cddb_id(void);
65 extern void calc_cdindex_id(void);
66 extern void Read_MCN_ISRC(void);
67 extern unsigned ScanIndices(unsigned trackval, unsigned indexval, int bulk);
68 extern int handle_cdtext(void);
69 extern int lba_2_msf(long lba, int *m, int *s, int *f);