1 /*  cdrdao - write audio CD-Rs in disc-at-once mode
2  *
3  *  Copyright (C) 1998-2001  Andreas Mueller <andreas@daneb.de>
4  *
5  *  This program is free software; you can redistribute it and/or modify
6  *  it under the terms of the GNU General Public License as published by
7  *  the Free Software Foundation; either version 2 of the License, or
8  *  (at your option) any later version.
9  *
10  *  This program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *  GNU General Public License for more details.
14  *
15  *  You should have received a copy of the GNU General Public License
16  *  along with this program; if not, write to the Free Software
17  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  */
19 
20 /* Driver for the Ricoh MP6200 drive. It's mainly SCSI-3/mmc compatible but
21  * disk-at-once writing is done with the Philips CDD2x00 commands.
22  */
23 
24 #ifndef __RICOH_MP6200_H__
25 #define __RICOH_MP6200_H__
26 
27 #include "GenericMMC.h"
28 #include "CDD2600Base.h"
29 
30 class RicohMP6200 : public GenericMMC, private CDD2600Base {
31 public:
32   RicohMP6200(ScsiIf *scsiIf, unsigned long options);
33   ~RicohMP6200();
34   static CdrDriver *instance(ScsiIf *scsiIf, unsigned long options);
35 
36   int initDao(const Toc *);
37   int startDao();
38   int finishDao();
39   void abortDao();
40 
41   int writeData(TrackData::Mode, TrackData::SubChannelMode, long &lba,
42 		const char *buf, long len);
43 
44   int loadUnload(int unload) const;
45 
46 protected:
47   int setWriteParameters();
48 };
49 
50 #endif
51