File: reader.h

package info (click to toggle)
qpxtool 0.8.1-2.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,796 kB
  • sloc: cpp: 35,365; sh: 823; makefile: 336; sql: 87
file content (66 lines) | stat: -rw-r--r-- 1,129 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/*
 *
 * reader class header
 * Copyright (C) 2007,2009, Gennady "ShultZ" Kozlov <qpxtool@mail.ru>
 *
 */

#ifndef __READER_H
#define __READER_H

#define _FILE_OFFSET_BITS 64

//#include <stdio.h>
//#include <stdlib.h>

//#include <qpx_mmc.h>
//#include <sectmap.h>

#include <threads.h>

const char PASS_FIRST   = 0;
const char PASS_CONT    = 1;
const char PASS_RECOVER = 2;
const char PASS_RECOVER0= PASS_RECOVER;
const char PASS_RECOVER1= 3;

class drive_info;
class map;
class imgwriter;

typedef struct {
    	int		tidx, parent;
	drive_info*	dev;
	smap*		map;
	imgwriter*      iso;
	int		running;
	int		stop;
	int		result;
	int		cnt_ok;
	int		tries;
	char		pass;
} rdparm_t;

class cdvdreader {
public:
	cdvdreader(int itidx, int iparent, drive_info* idev, smap* imap, imgwriter* iiso, int ipass=0, int itries=4);
	~cdvdreader();
	void	set_dev(drive_info* idev);
	void	set_map(smap* imap);
	void	set_iso(imgwriter* iiso);
	void	set_pass(int ipass);
	void	set_retry(int itries);
	int	start();
	void	stop();
	bool	stoped();
	void	wait();
	int	running();
	int	print_stat();

private:
	thread_t	tid;
	rdparm_t	parm;
};

#endif