releasing package cdck version 0.7.0+dfsg-3
[debian/cdck.git] / src / lib_main.h
1 /*
2  * $RCSfile: lib_main.h,v $
3  * $Author: swaj $
4  * $Revision: 1.6 $
5  */
6
7
8 #ifndef __LIB_MAIN_H_
9 #define __LIB_MAIN_H_ 1
10
11
12 #define DEFAULT_CDROM_DEV "/dev/cdrom"
13 #define FILE_MAX 1024
14 #define ERR_STR_MAX 512
15 #define DEFAULT_PLOT_FILE "cdck-plot.dat"
16 #define SECTOR_SIZE 2048
17 #define SECTOR_ERROR (-10)
18
19
20 class Ccdrom {
21
22  public:
23         Ccdrom ();
24         Ccdrom (const char *a_cdrom_dev);
25         ~Ccdrom();
26
27         const char * Error(void);
28         int ReadTOC();
29
30         void EnableInfo(bool a_enable_info);
31
32         int OpenPlotFile (const char *plotfile = DEFAULT_PLOT_FILE);
33         void WritePlotData();
34         void ClosePlotFile ();
35
36         int ReadCD ();
37         void DeallocateTimings();
38         void AnalyzeResults ();
39
40  private:
41         void Reset();
42         bool enable_info;
43         int fd;
44         char cdrom_dev[FILE_MAX];
45         char last_err[ERR_STR_MAX];
46
47         char toc_header[2];
48
49         int sectors_tot;
50         int disc_status;
51
52         FILE *pf;
53         int *timings;
54
55         void * smalloc (size_t size);
56         void sfree (void*& ptr);
57         void sfree (int*& ptr);
58
59         void read_super(int offset);
60         void read_super2(int offset);
61         void read_super3(int offset);
62         void read_super4(int offset);
63         void read_super5(int offset);
64
65         void read_creation_data (void);
66
67
68         int is_isofs(void);
69         int is_hs(void);
70         int is_cdi(void);
71         int is_cd_rtos(void);
72         int is_bridge(void);
73         int is_xa(void);
74         int is_cdtv(void);
75         int is_photocd(void);
76         int is_hfs(void);
77         int is_ext2(void);
78         int is_ufs(void);
79         int is_bootable(void);
80         int is_video_cdi(void);
81         int get_size(void);
82         int guess_filesystem(int start_session);
83
84         char buffer[2048];
85         char buffer2[2048];
86         char buffer3[2048];
87         char buffer4[2048];
88         char buffer5[2048];
89         char buffer6[2048];
90
91         char sbuffer[256];
92         char sbuffer2[256];
93         char sbuffer3[256];
94
95         int isofs_size;
96 };
97
98
99 #endif /* __LIB_MAIN_H_ */
100
101
102
103 /*
104  *  __END__
105  */