This file is indexed.

/usr/include/qpxtool/plextor_features.h is in libqpx-dev 0.7.2-4.1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
/*
 * This file is part of the QPxTool project.
 * Copyright (C) 2005-2007 Gennady "ShultZ" Kozlov <qpxtool@mail.ru>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 * See the file "COPYING" for the exact licensing terms.
 *
 *
 * Some Plextor commands got from PxScan and CDVDlib (C) Alexander Noe`
 *
 */


#ifndef __PLEXTOR_FEATURES_H
#define __PLEXTOR_FEATURES_H

const unsigned char PLEX_GET_MODE	= 0x00;
const unsigned char PLEX_SET_MODE	= 0x10;

const unsigned char PLEX_MODE_SS_HIDE	= 0x01;
const unsigned char PLEX_MODE_VARIREC	= 0x02;
const unsigned char PLEX_MODE_GIGAREC	= 0x04;
const unsigned char PLEX_MODE_SILENT_DISC = 0x06;
const unsigned char PLEX_MODE_SILENT_TRAY = 0x07;
const unsigned char PLEX_MODE_SILENT	= 0x08;
const unsigned char PLEX_MODE_TESTWRITE_DVDPLUS	= 0x21;
const unsigned char PLEX_MODE_BITSET	= 0x22;
const unsigned char PLEX_MODE_SECUREC	= 0xD5;

const unsigned char PLEX_BITSET_R	= 0x0A;
const unsigned char PLEX_BITSET_RDL	= 0x0E;
const unsigned char PLEX_MODE_SPDREAD	= 0xBB;

typedef struct {
	const unsigned char val;
	char	name[4];
} REC;

// GigaRec definitions
const unsigned char GIGAREC_06  = 0x83;
const unsigned char GIGAREC_07  = 0x82;
const unsigned char GIGAREC_08  = 0x81;
const unsigned char GIGAREC_09  = 0x84;
const unsigned char GIGAREC_10  = 0x00;
const unsigned char GIGAREC_11  = 0x04;
const unsigned char GIGAREC_12  = 0x01;
const unsigned char GIGAREC_13  = 0x02;
const unsigned char GIGAREC_14  = 0x03;
const unsigned char GIGAREC_OFF = GIGAREC_10;

const REC gigarec_tbl[]={
	{ GIGAREC_06, "0.6" },
	{ GIGAREC_07, "0.7" },
	{ GIGAREC_08, "0.8" },
	{ GIGAREC_09, "0.9" },
	{ GIGAREC_10, "OFF" },
	{ GIGAREC_11, "1.1" },
	{ GIGAREC_12, "1.2" },
	{ GIGAREC_13, "1.3" },
	{ GIGAREC_14, "1.4" },
	{ 0xFF,"N/A" }
};

// VariRec definitions
const unsigned char VARIREC_CD		= 0x00;
const unsigned char VARIREC_DVD		= 0x10;

const unsigned char VARIREC_CD_STRATEGY	= 0x03;
const unsigned char VARIREC_DVD_STRATEGY	= 0x04;


const unsigned char VARIREC_PLUS_1	= 0x01;
const unsigned char VARIREC_PLUS_2	= 0x02;
const unsigned char VARIREC_PLUS_3	= 0x03;
const unsigned char VARIREC_PLUS_4	= 0x04;
const unsigned char VARIREC_NULL		= 0x00;
const unsigned char VARIREC_MINUS_1	= 0x81;
const unsigned char VARIREC_MINUS_2	= 0x82;
const unsigned char VARIREC_MINUS_3	= 0x83;
const unsigned char VARIREC_MINUS_4	= 0x84;

const REC varirec_pwr_tbl[]={
	{ VARIREC_MINUS_4,"-4" },
	{ VARIREC_MINUS_3,"-3" },
	{ VARIREC_MINUS_2,"-2" },
	{ VARIREC_MINUS_1,"-1" },
	{ VARIREC_NULL,   " 0" },
	{ VARIREC_PLUS_1, "+1" },
	{ VARIREC_PLUS_2, "+2" },
	{ VARIREC_PLUS_3, "+3" },
	{ VARIREC_PLUS_4, "+4" },
	{ 0xFF,"N/A" }
};

typedef char str16[16];

const unsigned char varirec_max_str_cd=7;
const str16 varirec_str_cd_tbl[]={
	"Default",
	"Azo",
	"Cyanine",
	"PhtaloCyanine A",
	"PhtaloCyanine B",
	"PhtaloCyanine C",
	"PhtaloCyanine D"
};

const unsigned char varirec_max_str_dvd=9;
const str16 varirec_str_dvd_tbl[]={
	"Default",
	"Strategy0",
	"Strategy1",
	"Strategy2",
	"Strategy3",
	"Strategy4",
	"Strategy5",
	"Strategy6",
	"Strategy7"
};

// Silent Mode definitions
const unsigned char SILENT_CD_WR_48X = 0x08;
const unsigned char SILENT_CD_WR_32X = 0x06;
const unsigned char SILENT_CD_WR_24X = 0x05;
const unsigned char SILENT_CD_WR_16X = 0x03;
const unsigned char SILENT_CD_WR_8X  = 0x01;
const unsigned char SILENT_CD_WR_4X  = 0x00;

const REC silent_cd_wr_tbl[]={
	{ SILENT_CD_WR_48X, "48X" },
	{ SILENT_CD_WR_32X, "32X" },
	{ SILENT_CD_WR_24X, "24X" },
	{ SILENT_CD_WR_16X, "16X" },
	{ SILENT_CD_WR_8X,   "8X" },
	{ SILENT_CD_WR_4X,   "4X" },
	{ 0xFF, "max" }
};

const unsigned char SILENT_CD_RD_48X = 0x05;
const unsigned char SILENT_CD_RD_40X = 0x04;
const unsigned char SILENT_CD_RD_32X = 0x03;
const unsigned char SILENT_CD_RD_24X = 0x02;
const unsigned char SILENT_CD_RD_8X  = 0x01;
const unsigned char SILENT_CD_RD_4X  = 0x00;

const REC silent_cd_rd_tbl[]={
	{ SILENT_CD_RD_48X, "48X" },
	{ SILENT_CD_RD_40X, "40X" },
	{ SILENT_CD_RD_32X, "32X" },
	{ SILENT_CD_RD_24X, "24X" },
	{ SILENT_CD_RD_8X,   "8X" },
	{ SILENT_CD_RD_4X,   "4X" },
	{ 0xFF, "max" }
};

/*
const unsigned char SILENT_DVD_WR_18X = 0x08;
const unsigned char SILENT_DVD_WR_16X = 0x06;
const unsigned char SILENT_DVD_WR_12X = 0x05;
const unsigned char SILENT_DVD_WR_8X  = 0x03;
const unsigned char SILENT_DVD_WR_6X  = 0x01;
const unsigned char SILENT_DVD_WR_4X  = 0x00;

const REC silent_dvd_wr_tbl[]={
	{ SILENT_DVD_WR_18X, "18X" },
	{ SILENT_DVD_WR_16X, "16X" },
	{ SILENT_DVD_WR_12X, "12X" },
	{ SILENT_DVD_WR_8X,   "8X" },
	{ SILENT_DVD_WR_6X,   "6X" },
	{ SILENT_DVD_WR_4X,   "4X" },
	{ 0xFF, "max" }
};
*/

const unsigned char SILENT_DVD_RD_16X = 0x04;
const unsigned char SILENT_DVD_RD_12X = 0x03;
const unsigned char SILENT_DVD_RD_8X  = 0x02;
const unsigned char SILENT_DVD_RD_5X  = 0x01;
const unsigned char SILENT_DVD_RD_2X  = 0x00;

const REC silent_dvd_rd_tbl[]={
	{ SILENT_DVD_RD_16X, "16X" },
	{ SILENT_DVD_RD_12X, "12X" },
	{ SILENT_DVD_RD_8X,   "8X" },
	{ SILENT_DVD_RD_5X,   "5X" },
	{ SILENT_DVD_RD_2X,   "2X" },
	{ 0xFF, "max" }
};

const unsigned char SILENT_CD          = 0x01;
const unsigned char SILENT_DVD         = 0x05;

const unsigned char SILENT_ACCESS_FAST = 0x00;
const unsigned char SILENT_ACCESS_SLOW = 0x02;

// PX-716 Autostrategy definitions
const unsigned char AS_OFF		= 0x00;
const unsigned char AS_AUTO		= 0x01;
// PX-755/PX-760 AS extentions
const unsigned char AS_FORCED	= 0x04;
const unsigned char AS_ON		= 0x08;

const unsigned char ASDB_ENABLE		= 0x01;
const unsigned char ASDB_DISABLE	= 0x00;
const unsigned char ASDB_DELETE		= 0xFF;

const unsigned char ASDB_CRE_QUICK	= 0x01;
const unsigned char ASDB_CRE_FULL	= 0x05;
const unsigned char ASDB_REPLACE	= 0x00;
const unsigned char ASDB_ADD		= 0x02;

const unsigned char AS_MEDIACK_QUICK	= 0x11;
const unsigned char AS_MEDIACK_ADV	= 0x31;

const unsigned char PLEXERASER_QUICK	= 0x11;
const unsigned char PLEXERASER_FULL	= 0x31;

extern int plextor_reboot(drive_info* drive);
extern int plextor_get_TLA(drive_info* drive);
//
extern int plextor_read_eeprom(drive_info* drive, int* len=NULL);
extern int plextor_get_life(drive_info* drive);

// PoweRec
extern int plextor_set_powerec(drive_info* drive);
extern int plextor_get_powerec(drive_info* drive);
extern int plextor_get_speeds(drive_info* drive);
// silent mode
extern void plextor_print_silentmode_state(drive_info* drive);
extern int plextor_get_silentmode(drive_info* drive);
extern int plextor_set_silentmode_tray(drive_info* drive, int disc_type, int permanent);
extern int plextor_set_silentmode_disc(drive_info* drive, int disc_type, int permanent);
extern int plextor_set_silentmode_disable(drive_info* drive, int permanent);
// GigaRec
extern void print_gigarec_value(drive_info* drive);
extern int plextor_set_gigarec(drive_info* drive);
extern int plextor_get_gigarec(drive_info* drive);
// VariRec
extern void print_varirec(drive_info* drive, int disc_type);
extern int plextor_set_varirec(drive_info* drive, int disc_type);
extern int plextor_get_varirec(drive_info* drive, int disc_type);
// SecuRec
extern void print_securec_state(drive_info* drive);
extern int plextor_get_securec_state(drive_info* drive);
extern int plextor_set_securec(drive_info* drive, char len, char* passwd);
// SpeedRead
extern void print_speedread_state(drive_info* drive);
extern int plextor_set_speedread(drive_info* drive, int state);
extern int plextor_get_speedread(drive_info* drive);
// Hide-CDR / SingleSession
extern void print_hcdr_state(drive_info* drive);
extern void print_sss_state(drive_info* drive);
extern int plextor_get_hidecdr_singlesession(drive_info* drive);
extern int plextor_set_hidecdr(drive_info* drive, int state);
extern int plextor_set_singlesession(drive_info* drive, int state);
// Bitsetting
extern int plextor_get_bitset(drive_info* drive, int disc_type);
extern int plextor_set_bitset(drive_info* drive, int disc_type);
// Simulation on DVD+
extern int plextor_get_testwrite_dvdplus(drive_info* drive);
extern int plextor_set_testwrite_dvdplus(drive_info* drive);
// PlexEraser
extern int plextor_plexeraser(drive_info* drive);
// AUTOSTRATEGY
// get/set autostrategy mode
extern int plextor_print_autostrategy_state(drive_info* drive);
extern int plextor_get_autostrategy(drive_info* drive);
extern int plextor_set_autostrategy(drive_info* drive);
// read autostrategy database
extern int plextor_get_autostrategy_db_entry_count(drive_info* drive);
extern int plextor_get_autostrategy_db(drive_info* drive);

// returns detailed strategies data
extern int plextor_get_strategy(drive_info* drive);
// loads strategy to drive
extern int plextor_add_strategy(drive_info* drive);
// clears autostrategy database
extern int plextor_clear_autostrategy_db(drive_info* drive);

// use action = ASDB_ENABLE/DISABLE/DELETE
extern int plextor_modify_autostrategy_db(drive_info* drive, int index, int action);
extern int plextor_create_strategy(drive_info* drive, int mode);
extern int plextor_media_check(drive_info* drive, int mode);

#if 0
// PX-755/760 Auth
extern int px755_do_auth(drive_info* drive);
extern int px755_get_auth_code(drive_info* drive,unsigned char* auth_code);
extern int px755_send_auth_code(drive_info* drive,unsigned char* auth_code);
extern int px755_clear_auth_status(drive_info* drive);
extern int px755_calc_auth_code(unsigned char* auth_code);
#endif

#endif //__PLEXTOR_FEATURES