2 * $RCSfile: cdck_main.cpp,v $
17 #include "debugging.h"
18 #include "cdck_main.h"
22 int main (int argc, char *argv[])
25 char *program_name = (strchr(argv[0], '/') == NULL) ? argv[0] : (strrchr(argv[0], '/') + 1);
28 bool only_info = false;
30 char devname[FILE_MAX];
31 char plotname[FILE_MAX];
33 memset (devname, 0x0, FILE_MAX);
34 memset (plotname, 0x0, FILE_MAX);
36 while ((ch = getopt(argc, argv, "?hivd:po:V"))!=-1) {
40 print_help (program_name);
55 strncpy (devname, optarg, FILE_MAX-1);
59 strncpy (plotname, optarg, FILE_MAX-1);
72 printf ("verbose = %d\n", verbose);
73 printf ("only_info = %d\n", only_info);
74 printf ("do_plot = %d\n", do_plot );
75 printf ("devname = '%s'\n", devname);
76 printf ("plotname = '%s'\n", plotname);
81 if (!strlen (devname))
82 cdrom = new Ccdrom ();
84 cdrom = new Ccdrom (devname);
88 fprintf (stderr, "Out of nemory\n");
92 cdrom->EnableInfo (verbose);
94 int rv = cdrom->ReadTOC();
97 fprintf (stderr, "Unable to read TOC because %s\n", cdrom->Error() );
105 rv = cdrom->ReadCD();
107 fprintf (stderr, "Unable to read disc because %s\n", cdrom->Error() );
112 cdrom->AnalyzeResults();
115 if (! strlen (plotname) )
116 rv = cdrom->OpenPlotFile();
118 rv = cdrom->OpenPlotFile (plotname);
121 fprintf (stderr, "Unable to open plot data file\n");
126 cdrom->WritePlotData();
127 cdrom->ClosePlotFile();
135 void print_help (char *program_name)
137 printf ("Usage: %s [-d /dev/devname] [-i] [-v] [-p] [-o plot-file.dat]\n", program_name);
138 printf (" -d CD/DVD device name, default is /dev/cdrom\n");
139 printf (" -i Print CD/DVD information and quit, perform no timings\n");
140 printf (" -p Save data for gnuplot(1) program\n");
141 printf (" -o specify plot file, ./cdck-plot.dat is default\n");
142 printf (" -V Print version\n");
143 printf (" -v Verbose operations\n");
147 void print_ver (void)
149 printf ("Simple CD/DVD check program, ver %s. ", VERSION);
150 printf ("Written by Alexey Semenoff (c) 2005-2006.\n");