]> git.pld-linux.org Git - packages/cdrkit.git/blame - cdrkit-1.1.11-paranoiacdio.patch
debian patch to fix build with gcc 10
[packages/cdrkit.git] / cdrkit-1.1.11-paranoiacdio.patch
CommitLineData
d304e206
AM
1diff -up cdiopara/icedax/global.h.wrk cdiopara/icedax/global.h
2diff -up cdiopara/icedax/icedax.c.wrk cdiopara/icedax/icedax.c
3--- cdiopara/icedax/icedax.c.wrk 2013-05-14 14:53:18.446879592 +0200
4+++ cdiopara/icedax/icedax.c 2013-05-20 14:38:29.724047315 +0200
5@@ -1149,15 +1149,15 @@ static void paranoia_reset()
6 para_stat->skips = 0;
7 }
8
9-static void paranoia_callback(long inpos, int function);
10+static void paranoia_callback(long inpos, paranoia_cb_mode_t function);
11
12-static void paranoia_callback(long inpos, int function)
13+static void paranoia_callback(long inpos, paranoia_cb_mode_t function)
14 {
15 struct timeval thistime;
16 long test;
17
18 switch (function) {
19- case -2:
20+/* case -2:
21 para_stat->v_sector = inpos / CD_FRAMEWORDS;
22 return;
23 case -1:
24@@ -1165,7 +1165,7 @@ static void paranoia_callback(long inpos
25 para_stat->heartbeat = '*';
26 para_stat->slevel = 0;
27 para_stat->v_sector = inpos / CD_FRAMEWORDS;
28- break;
29+ break;*/
30 case PARANOIA_CB_VERIFY:
31 if (para_stat->stimeout >= 30) {
32 if (para_stat->curoverlap > CD_FRAMEWORDS) {
33@@ -1232,6 +1232,12 @@ static void paranoia_callback(long inpos
34 para_stat->slevel = 5;
35 para_stat->fixup_dupeds++;
36 break;
37+
38+ case PARANOIA_CB_REPAIR:
39+ case PARANOIA_CB_BACKOFF:
40+ default:
41+ fprintf(stderr, "ERROR: Unknown function requested from paranoia_callback. REPORT THIS AS A BUG!/n");
42+ break;
43 }
44
45 gettimeofday(&thistime, NULL);
46@@ -2895,7 +2901,7 @@ Rate Divider Rate Divider
47 long paranoia_mode;
48 cdrom_drive *tmpdrive;
49 usal_close(get_scsi_p());
50-
51+// global.cdp = paranoia_init(get_scsi_p()/*, global.nsectors*/);
52 tmpdrive = cdda_identify(global.dev_name, 0, NULL);
53 if (!tmpdrive)
54 {
55@@ -2906,7 +2912,7 @@ Rate Divider Rate Divider
56 if(global.nsectors)
57 {
58 tmpdrive->nsectors = global.nsectors;
59- tmpdrive->bigbuff = global.nsectors * CD_FRAMESIZE_RAW;
60+// tmpdrive->bigbuff = global.nsectors * CD_FRAMESIZE_RAW;
61 }
62 if (cdda_open(tmpdrive) != 0)
63 {
64diff -up cdiopara/icedax/icedax.h.wrk cdiopara/icedax/icedax.h
65--- cdiopara/icedax/icedax.h.wrk 2013-05-14 14:35:09.646871797 +0200
66+++ cdiopara/icedax/icedax.h 2013-05-14 14:35:55.114209747 +0200
67@@ -71,7 +71,8 @@ unsigned int get_current_track(void);
68 #define CD_XA_SYNC_HEAD (CD_SYNC_SIZE+CD_XA_HEAD)/* sync bytes + header of XA frame */
69
70 #define CD_FRAMESIZE 2048 /* bytes per frame, "cooked" mode */
71-#define CD_FRAMESIZE_RAW 2352 /* bytes per frame, "raw" mode */
72+//defined in libcdio:
73+//#define CD_FRAMESIZE_RAW 2352 /* bytes per frame, "raw" mode */
74 /* most drives don't deliver everything: */
75 #define CD_FRAMESIZE_RAW1 (CD_FRAMESIZE_RAW-CD_SYNC_SIZE) /* 2340 */
76 #define CD_FRAMESIZE_RAW0 (CD_FRAMESIZE_RAW-CD_SYNC_SIZE-CD_HEAD_SIZE) /* 2336 */
77diff -up cdiopara/icedax/interface.c.wrk cdiopara/icedax/interface.c
78--- cdiopara/icedax/interface.c.wrk 2013-05-20 14:54:28.400943735 +0200
79+++ cdiopara/icedax/interface.c 2013-06-25 17:31:18.912450933 +0200
80@@ -75,15 +75,15 @@
81
82 #include "mytype.h"
83 #include "byteorder.h"
84-#include "interface.h"
85 #include "icedax.h"
86 #include "semshm.h"
87 #include "setuid.h"
88+#include "global.h"
89 #include "ringbuff.h"
90 #include "toc.h"
91-#include "global.h"
92 #include "ioctl.h"
93 #include "exitcodes.h"
94+#include "interface.h"
95 #include "scsi_cmds.h"
96
97 #include <utypes.h>
98diff -up cdiopara/icedax/interface.h.wrk cdiopara/icedax/interface.h
99--- cdiopara/icedax/interface.h.wrk 2013-05-22 15:24:17.117837738 +0200
100+++ cdiopara/icedax/interface.h 2013-06-25 17:23:38.155611522 +0200
101@@ -26,7 +26,11 @@
102 #define CD_FRAMESIZE_RAW 2352
103 #endif
104
105+#ifndef _CDDA_INTERFACE_H_
106+//#ifndef CD_FRAMESAMPLES
107 #define CD_FRAMESAMPLES (CD_FRAMESIZE_RAW / 4)
108+//#endif
109+#endif
110
111 extern unsigned interface;
112
113diff -up cdiopara/icedax/ioctl.c.wrk cdiopara/icedax/ioctl.c
114--- cdiopara/icedax/ioctl.c.wrk 2013-06-25 17:35:30.494695270 +0200
115+++ cdiopara/icedax/ioctl.c 2013-06-25 17:36:21.377147425 +0200
116@@ -55,11 +55,11 @@
117
118 #include "mytype.h"
119 #include "byteorder.h"
120+#include "global.h"
121 #include "interface.h"
122 #include "toc.h"
123 #include "icedax.h"
124 #include "ioctl.h"
125-#include "global.h"
126 #include "exitcodes.h"
127
128 #include <utypes.h>
129diff -up cdiopara/icedax/resample.c.wrk cdiopara/icedax/resample.c
130--- cdiopara/icedax/resample.c.wrk 2013-06-25 17:38:40.413456990 +0200
131+++ cdiopara/icedax/resample.c 2013-06-25 17:39:00.557653547 +0200
132@@ -42,6 +42,7 @@
133
134 #include "mytype.h"
135 #include "icedax.h"
136+#include "global.h"
137 #include "interface.h"
138 #include "byteorder.h"
139 #include "ringbuff.h"
140@@ -49,7 +50,6 @@
141 #include "toc.h"
142 #include "sndfile.h"
143 #include "sndconfig.h"
144-#include "global.h"
145 #include "exitcodes.h"
146
147
148diff -up cdiopara/icedax/scsi_cmds.c.wrk cdiopara/icedax/scsi_cmds.c
149--- cdiopara/icedax/scsi_cmds.c.wrk 2013-06-25 17:40:24.592486996 +0200
150+++ cdiopara/icedax/scsi_cmds.c 2013-06-25 17:40:42.189663871 +0200
151@@ -40,9 +40,9 @@
152
153 #include "mytype.h"
154 #include "icedax.h"
155+#include "global.h"
156 #include "interface.h"
157 #include "byteorder.h"
158-#include "global.h"
159 #include "wodim.h"
160 #include "toc.h"
161 #include "scsi_cmds.h"
162diff -up cdiopara/icedax/semshm.c.wrk cdiopara/icedax/semshm.c
163--- cdiopara/icedax/semshm.c.wrk 2013-06-25 17:59:53.181820740 +0200
164+++ cdiopara/icedax/semshm.c 2013-06-25 18:00:35.372272020 +0200
165@@ -90,9 +90,9 @@
166 #endif
167
168 #include "mytype.h"
169+#include "global.h"
170 #include "interface.h"
171 #include "ringbuff.h"
172-#include "global.h"
173 #include "exitcodes.h"
174 #include "semshm.h"
175
176diff -up cdiopara/icedax/toc.c.wrk cdiopara/icedax/toc.c
177--- cdiopara/icedax/toc.c.wrk 2013-06-25 18:11:05.910961694 +0200
178+++ cdiopara/icedax/toc.c 2013-06-25 18:32:39.559603392 +0200
179@@ -58,9 +58,9 @@
180
181 #include "mytype.h"
182 #include "byteorder.h"
183+#include "global.h"
184 #include "interface.h"
185 #include "icedax.h"
186-#include "global.h"
187 #include "sha.h"
188 #include "base64.h"
189 #include "toc.h"
190@@ -379,7 +379,7 @@ static void emit_cddb_form(char *fname_b
191 static void emit_cdindex_form(char *fname_baseval);
192 #endif
193
194-typedef struct TOC_t { /* structure of table of contents (cdrom) */
195+typedef struct icedax_TOC_t { /* structure of table of contents (cdrom) */
196 unsigned char reserved1;
197 unsigned char bFlags;
198 unsigned char bTrack;
199@@ -390,7 +390,7 @@ typedef struct TOC_t { /* structure of t
200 int frms;
201 unsigned char ISRC[16];
202 int SCMS;
203-} TOC_t;
204+} icedax_TOC_t;
205
206 /* Flags contains two fields:
207 bits 7-4 (ADR)
208@@ -430,7 +430,7 @@ struct iterator {
209 int index;
210 int startindex;
211 void (*reset)(struct iterator *this);
212- struct TOC_t *(*getNextTrack)(struct iterator *this);
213+ struct icedax_TOC_t *(*getNextTrack)(struct iterator *this);
214 int (*hasNextTrack)(struct iterator *this);
215 };
216
217@@ -516,7 +516,7 @@ unsigned FixupTOC(unsigned no_tracks)
218 InitIterator(&i, 1);
219
220 while (i.hasNextTrack(&i)) {
221- struct TOC_t *p = i.getNextTrack(&i);
222+ struct icedax_TOC_t *p = i.getNextTrack(&i);
223 if (IS__AUDIO(p)) count_audio_tracks++;
224 }
225
226@@ -731,7 +731,7 @@ static void emit_cddb_form(char *fname_b
227 fprintf( cddb_form, "# Track frame offsets:\n#\n");
228
229 while (i.hasNextTrack(&i)) {
230- struct TOC_t *p = i.getNextTrack(&i);
231+ struct icedax_TOC_t *p = i.getNextTrack(&i);
232 if (GETTRACK(p) == CDROM_LEADOUT) break;
233 fprintf( cddb_form,
234 "# %lu\n", 150 + Get_AudioStartSector(GETTRACK(p)));
235@@ -763,7 +763,7 @@ static void emit_cddb_form(char *fname_b
236
237 i.reset(&i);
238 while (i.hasNextTrack(&i)) {
239- struct TOC_t *p = i.getNextTrack(&i);
240+ struct icedax_TOC_t *p = i.getNextTrack(&i);
241 int ii;
242
243 ii = GETTRACK(p);
244@@ -786,7 +786,7 @@ static void emit_cddb_form(char *fname_b
245
246 i.reset(&i);
247 while (i.hasNextTrack(&i)) {
248- struct TOC_t *p = i.getNextTrack(&i);
249+ struct icedax_TOC_t *p = i.getNextTrack(&i);
250 int ii;
251
252 ii = GETTRACK(p);
253@@ -1493,7 +1493,7 @@ static int IsSingleArtist(void)
254 InitIterator(&i, 1);
255
256 while (i.hasNextTrack(&i)) {
257- struct TOC_t *p = i.getNextTrack(&i);
258+ struct icedax_TOC_t *p = i.getNextTrack(&i);
259 int ii;
260
261 if (IS__DATA(p) || GETTRACK(p) == CDROM_LEADOUT) continue;
262@@ -1679,7 +1679,7 @@ static void emit_cdindex_form(char *fnam
263 global.creator ? ascii2html(global.creator) : "");
264
265 while (i.hasNextTrack(&i)) {
266- struct TOC_t *p = i.getNextTrack(&i);
267+ struct icedax_TOC_t *p = i.getNextTrack(&i);
268 int ii = GETTRACK(p);
269
270 if (ii == CDROM_LEADOUT) break;
271@@ -1701,7 +1701,7 @@ static void emit_cdindex_form(char *fnam
272 fprintf( cdindex_form, " <MultipleArtistCD>\n");
273
274 while (i.hasNextTrack(&i)) {
275- struct TOC_t *p = i.getNextTrack(&i);
276+ struct icedax_TOC_t *p = i.getNextTrack(&i);
277 int ii = GETTRACK(p);
278
279 if (ii == CDROM_LEADOUT) break;
280@@ -1940,9 +1940,9 @@ static void DisplayToc_with_gui(unsigned
281
282 if ((global.verbose & (SHOW_TOC | SHOW_STARTPOSITIONS | SHOW_SUMMARY | SHOW_TITLES)) != 0
283 && i.hasNextTrack(&i)) {
284- TOC_t *o = i.getNextTrack(&i);
285+ icedax_TOC_t *o = i.getNextTrack(&i);
286 while (i.hasNextTrack(&i)) {
287- TOC_t *p = i.getNextTrack(&i);
288+ icedax_TOC_t *p = i.getNextTrack(&i);
289 int from;
290 from = GETTRACK(o);
291
292@@ -2070,9 +2070,9 @@ static void DisplayToc_no_gui(unsigned l
293 count_audio_trks = 0;
294
295 if (i.hasNextTrack(&i)) {
296- TOC_t *o = i.getNextTrack(&i);
297+ icedax_TOC_t *o = i.getNextTrack(&i);
298 while (i.hasNextTrack(&i)) {
299- TOC_t *p = i.getNextTrack(&i);
300+ icedax_TOC_t *p = i.getNextTrack(&i);
301 int from;
302 from = GETTRACK(o);
303
304@@ -2129,10 +2129,10 @@ static void DisplayToc_no_gui(unsigned l
305 i.reset(&i);
306 if ((global.verbose & SHOW_TOC) != 0 &&
307 i.hasNextTrack(&i)) {
308- TOC_t *o = i.getNextTrack(&i);
309+ icedax_TOC_t *o = i.getNextTrack(&i);
310
311 for (; i.hasNextTrack(&i);) {
312- TOC_t *p = i.getNextTrack(&i);
313+ icedax_TOC_t *p = i.getNextTrack(&i);
314
315 if ( GETTRACK(o) <= MAXTRK ) {
316 unsigned char brace1, brace2;
317@@ -2187,9 +2187,9 @@ static void DisplayToc_no_gui(unsigned l
318 ii = 0;
319 i.reset(&i);
320 if (i.hasNextTrack(&i)) {
321- TOC_t *o = i.getNextTrack(&i);
322+ icedax_TOC_t *o = i.getNextTrack(&i);
323 for ( ; i.hasNextTrack(&i);) {
324- TOC_t *p = i.getNextTrack(&i);
325+ icedax_TOC_t *p = i.getNextTrack(&i);
326 fprintf ( stderr,
327 " %2u.(%8u)",
328 GETTRACK(o),
329@@ -2246,7 +2246,7 @@ static void DisplayToc_no_gui(unsigned l
330
331 i.reset(&i);
332 for ( ; i.hasNextTrack(&i);) {
333- TOC_t *p = i.getNextTrack(&i);
334+ icedax_TOC_t *p = i.getNextTrack(&i);
335 int jj = GETTRACK(p);
336
337 if ( global.tracktitle[jj] != NULL ) {
338@@ -2258,7 +2258,7 @@ static void DisplayToc_no_gui(unsigned l
339
340 i.reset(&i);
341 for ( ; i.hasNextTrack(&i); ) {
342- TOC_t *p = i.getNextTrack(&i);
343+ icedax_TOC_t *p = i.getNextTrack(&i);
344 int jj;
345
346 if (IS__DATA(p))
347@@ -2718,7 +2718,7 @@ void Read_MCN_ISRC(void)
348 InitIterator(&i, 1);
349
350 while (i.hasNextTrack(&i)) {
351- struct TOC_t *p = i.getNextTrack(&i);
352+ struct icedax_TOC_t *p = i.getNextTrack(&i);
353 unsigned ii = GETTRACK(p);
354
355 if (ii == CDROM_LEADOUT) break;
356@@ -3153,7 +3153,7 @@ unsigned ScanIndices(unsigned track, uns
357
358
359 while (i.hasNextTrack(&i)) {
360- struct TOC_t *p = i.getNextTrack(&i);
361+ struct icedax_TOC_t *p = i.getNextTrack(&i);
362 unsigned ii = GETTRACK(p);
363
364 if ( ii < starttrack || IS__DATA(p) )
365@@ -3320,7 +3320,7 @@ unsigned char *Get_MCN(void)
366 }
367
368
369-static TOC_t g_toc [MAXTRK+1]; /* hidden track + 100 regular tracks */
370+static icedax_TOC_t g_toc [MAXTRK+1]; /* hidden track + 100 regular tracks */
371
372 /*#define IS_AUDIO(i) (!(g_toc[i].bFlags & 0x40))*/
373
374@@ -3395,10 +3395,10 @@ static int patch_cd_extra(unsigned track
375
376 static int restrict_tracks_illleadout(void)
377 {
378- struct TOC_t *o = &g_toc[cdtracks+1];
379+ struct icedax_TOC_t *o = &g_toc[cdtracks+1];
380 int i;
381 for (i = cdtracks; i >= 0; i--) {
382- struct TOC_t *p = &g_toc[i];
383+ struct icedax_TOC_t *p = &g_toc[i];
384 if (GETSTART(o) > GETSTART(p)) break;
385 }
386 patch_cd_extra(i+1, GETSTART(o));
387@@ -3521,7 +3521,7 @@ static void it_reset(struct iterator *th
388
389
390 static int it_hasNextTrack(struct iterator *this);
391-static struct TOC_t *it_getNextTrack(struct iterator *this);
392+static struct icedax_TOC_t *it_getNextTrack(struct iterator *this);
393
394 static int it_hasNextTrack(struct iterator *this)
395 {
396@@ -3530,7 +3530,7 @@ static int it_hasNextTrack(struct iterat
397
398
399
400-static struct TOC_t *it_getNextTrack(struct iterator *this)
401+static struct icedax_TOC_t *it_getNextTrack(struct iterator *this)
402 {
403 /* if ( (*this->hasNextTrack)(this) == 0 ) return NULL; */
404 if ( this->index > (int)cdtracks+1 ) return NULL;
405@@ -3581,7 +3581,7 @@ long Get_AudioStartSector(unsigned long
406 if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;
407
408 while (i.hasNextTrack(&i)) {
409- TOC_t *p = i.getNextTrack(&i);
410+ icedax_TOC_t *p = i.getNextTrack(&i);
411
412 if (GETTRACK(p) == p_track) {
413 if (IS__DATA(p)) {
414@@ -3611,7 +3611,7 @@ long Get_StartSector(unsigned long p_tra
415 if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;
416
417 while (i.hasNextTrack(&i)) {
418- TOC_t *p = i.getNextTrack(&i);
419+ icedax_TOC_t *p = i.getNextTrack(&i);
420
421 if (GETTRACK(p) == p_track) {
422 return GETSTART(p);
423@@ -3635,7 +3635,7 @@ long Get_EndSector(unsigned long p_track
424 if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;
425
426 while (i.hasNextTrack(&i)) {
427- TOC_t *p = i.getNextTrack(&i);
428+ icedax_TOC_t *p = i.getNextTrack(&i);
429 if (GETTRACK(p) == p_track) {
430 p = i.getNextTrack(&i);
431 if (p == NULL) {
432@@ -3667,7 +3667,7 @@ long FirstAudioTrack(void)
433 else i.reset(&i);
434
435 while (i.hasNextTrack(&i)) {
436- TOC_t *p = i.getNextTrack(&i);
437+ icedax_TOC_t *p = i.getNextTrack(&i);
438 unsigned ii = GETTRACK(p);
439
440 if (ii == CDROM_LEADOUT) break;
441@@ -3685,7 +3685,7 @@ long FirstDataTrack(void)
442 else i.reset(&i);
443
444 while (i.hasNextTrack(&i)) {
445- TOC_t *p = i.getNextTrack(&i);
446+ icedax_TOC_t *p = i.getNextTrack(&i);
447 if (IS__DATA(p)) {
448 return GETTRACK(p);
449 }
450@@ -3706,7 +3706,7 @@ long LastAudioTrack(void)
451 else i.reset(&i);
452
453 while (i.hasNextTrack(&i)) {
454- TOC_t *p = i.getNextTrack(&i);
455+ icedax_TOC_t *p = i.getNextTrack(&i);
456 if (IS__AUDIO(p) && (GETTRACK(p) != CDROM_LEADOUT)) {
457 j = GETTRACK(p);
458 }
459@@ -3728,7 +3728,7 @@ long Get_LastSectorOnCd(unsigned long p_
460 if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;
461
462 while (i.hasNextTrack(&i)) {
463- TOC_t *p = i.getNextTrack(&i);
464+ icedax_TOC_t *p = i.getNextTrack(&i);
465
466 if (GETTRACK(p) < p_track)
467 continue;
468@@ -3747,9 +3747,9 @@ int Get_Track(unsigned long sector)
469 else i.reset(&i);
470
471 if (i.hasNextTrack(&i)) {
472- TOC_t *o = i.getNextTrack(&i);
473+ icedax_TOC_t *o = i.getNextTrack(&i);
474 while (i.hasNextTrack(&i)) {
475- TOC_t *p = i.getNextTrack(&i);
476+ icedax_TOC_t *p = i.getNextTrack(&i);
477 if ((GETSTART(o) <= sector) && (GETSTART(p) > sector)) {
478 if (IS__DATA(o)) {
479 return -1;
480@@ -3770,7 +3770,7 @@ int CheckTrackrange(unsigned long from,
481 else i.reset(&i);
482
483 while (i.hasNextTrack(&i)) {
484- TOC_t *p = i.getNextTrack(&i);
485+ icedax_TOC_t *p = i.getNextTrack(&i);
486
487 if (GETTRACK(p) < from)
488 continue;
489diff -up cdiopara/icedax/toc.h.wrk cdiopara/icedax/toc.h
490--- cdiopara/icedax/toc.h.wrk 2013-05-14 14:41:35.646726988 +0200
491+++ cdiopara/icedax/toc.h 2013-05-14 14:42:06.556954562 +0200
492@@ -12,7 +12,8 @@
493
494 /* @(#)toc.h 1.9 06/02/19 Copyright 1998,1999 Heiko Eissfeldt, Copyright 2006 J. Schilling */
495
496-#define MAXTRK 100 /* maximum of audio tracks (without a hidden track) */
497+//defined in libcdio:
498+//#define MAXTRK 100 /* maximum of audio tracks (without a hidden track) */
499
500 extern unsigned cdtracks;
501 extern int have_multisession;
502diff -up cdiopara/readom/readom.c.wrk cdiopara/readom/readom.c
503--- cdiopara/readom/readom.c.wrk 2013-06-25 16:13:03.587078284 +0200
504+++ cdiopara/readom/readom.c 2013-06-25 16:13:27.466480361 +0200
505@@ -1146,7 +1146,7 @@ fread_2448_16(SCSI *usalp, rparm_t *rp,
506 {
507
508 if (rp->ismmc) {
509- track_t trackdesc;
510+ wodim_track_t trackdesc;
511 int ret;
512 int i;
513 char *p;
514diff -up cdiopara/wodim/auinfo.c.wrk cdiopara/wodim/auinfo.c
515--- cdiopara/wodim/auinfo.c.wrk 2013-06-25 16:40:14.572918883 +0200
516+++ cdiopara/wodim/auinfo.c 2013-06-25 16:40:45.335248444 +0200
517@@ -46,16 +46,16 @@
518 extern int debug;
519 extern int xdebug;
520
521-BOOL auinfosize(char *name, track_t *trackp);
522-void auinfo(char *name, int track, track_t *trackp);
523-textptr_t *gettextptr(int track, track_t *trackp);
524+BOOL auinfosize(char *name, wodim_track_t *trackp);
525+void auinfo(char *name, int track, wodim_track_t *trackp);
526+textptr_t *gettextptr(int track, wodim_track_t *trackp);
527 static char *savestr(char *name);
528 static char *readtag(char *name);
529 static char *readtstr(char *name);
530-void setmcn(char *mcn, track_t *trackp);
531+void setmcn(char *mcn, wodim_track_t *trackp);
532 static void isrc_illchar(char *isrc, int c);
533-void setisrc(char *isrc, track_t *trackp);
534-void setindex(char *tindex, track_t *trackp);
535+void setisrc(char *isrc, wodim_track_t *trackp);
536+void setindex(char *tindex, wodim_track_t *trackp);
537
538 #ifdef XXX
539 int
540@@ -68,7 +68,7 @@ main(int argc, char *argv[])
541 #endif
542
543 BOOL
544-auinfosize(char *name, track_t *trackp)
545+auinfosize(char *name, wodim_track_t *trackp)
546 {
547 const char *p;
548 const char *tlp;
549@@ -145,11 +145,11 @@ auinfosize(char *name, track_t *trackp)
550 }
551
552 void
553-auinfo(char *name, int track, track_t *trackp)
554+auinfo(char *name, int track, wodim_track_t *trackp)
555 {
556 char infname[1024];
557 char *p;
558- track_t *tp = &trackp[track];
559+ wodim_track_t *tp = &trackp[track];
560 textptr_t *txp;
561 long l;
562 long tno = -1;
563@@ -303,7 +303,7 @@ auinfo(char *name, int track, track_t *t
564 }
565
566 textptr_t *
567-gettextptr(int track, track_t *trackp)
568+gettextptr(int track, wodim_track_t *trackp)
569 {
570 register textptr_t *txp;
571
572@@ -366,7 +366,7 @@ readtstr(char *name)
573 * Media catalog number is a 13 digit number.
574 */
575 void
576-setmcn(char *mcn, track_t *trackp)
577+setmcn(char *mcn, wodim_track_t *trackp)
578 {
579 register char *p;
580
581@@ -404,7 +404,7 @@ isrc_illchar(char *isrc, int c)
582 * CC-OOO-YY-SSSSS
583 */
584 void
585-setisrc(char *isrc, track_t *trackp)
586+setisrc(char *isrc, wodim_track_t *trackp)
587 {
588 char ibuf[13];
589 char *ip;
590@@ -482,7 +482,7 @@ illchar:
591 }
592
593 void
594-setindex(char *tindex, track_t *trackp)
595+setindex(char *tindex, wodim_track_t *trackp)
596 {
597 char *p;
598 int i;
599diff -up cdiopara/wodim/cd_misc.c.wrk cdiopara/wodim/cd_misc.c
600--- cdiopara/wodim/cd_misc.c.wrk 2013-06-25 16:52:56.893056513 +0200
601+++ cdiopara/wodim/cd_misc.c 2013-06-25 16:54:56.960519199 +0200
602@@ -42,8 +42,8 @@
603 int from_bcd(int b);
604 int to_bcd(int i);
605 long msf_to_lba(int m, int s, int f, BOOL force_positive);
606-BOOL lba_to_msf(long lba, msf_t *mp);
607-void sec_to_msf(long sec, msf_t *mp);
608+BOOL lba_to_msf(long lba, wodim_msf_t *mp);
609+void sec_to_msf(long sec, wodim_msf_t *mp);
610 void print_min_atip(long li, long lo);
611
612 int
613@@ -73,7 +73,7 @@ msf_to_lba(int m, int s, int f, BOOL for
614 }
615
616 BOOL
617-lba_to_msf(long lba, msf_t *mp)
618+lba_to_msf(long lba, wodim_msf_t *mp)
619 {
620 int m;
621 int s;
622@@ -110,7 +110,7 @@ lba_to_msf(long lba, msf_t *mp)
623 }
624
625 void
626-sec_to_msf(long sec, msf_t *mp)
627+sec_to_msf(long sec, wodim_msf_t *mp)
628 {
629 int m;
630 int s;
631@@ -128,7 +128,7 @@ sec_to_msf(long sec, msf_t *mp)
632 void
633 print_min_atip(long li, long lo)
634 {
635- msf_t msf;
636+ wodim_msf_t msf;
637
638 if (li < 0) {
639 lba_to_msf(li, &msf);
640diff -up cdiopara/wodim/cdr_drv.c.wrk cdiopara/wodim/cdr_drv.c
641--- cdiopara/wodim/cdr_drv.c.wrk 2013-06-25 16:42:28.603492864 +0200
642+++ cdiopara/wodim/cdr_drv.c 2013-06-25 16:43:07.938976575 +0200
643@@ -77,7 +77,7 @@ int format_dummy(SCSI *usalp, cdr_t *, i
644 int drive_getdisktype(SCSI *usalp, cdr_t *dp);
645 int cmd_ill(SCSI *usalp);
646 int cmd_dummy(SCSI *usalp, cdr_t *);
647-int no_sendcue(SCSI *usalp, cdr_t *, track_t *trackp);
648+int no_sendcue(SCSI *usalp, cdr_t *, wodim_track_t *trackp);
649 int buf_dummy(SCSI *usalp, long *sp, long *fp);
650 BOOL set_cdrcmds(char *name, cdr_t **dpp);
651 cdr_t *get_cdrcmds(SCSI *usalp);
652@@ -165,7 +165,7 @@ cmd_dummy(SCSI *usalp, cdr_t *dp)
653 }
654
655 int
656-no_sendcue(SCSI *usalp, cdr_t *dp, track_t *trackp)
657+no_sendcue(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
658 {
659 errmsgno(EX_BAD, "SAO writing not available or not implemented for this drive.\n");
660 return (-1);
661diff -up cdiopara/wodim/cdtext.c.wrk cdiopara/wodim/cdtext.c
662--- cdiopara/wodim/cdtext.c.wrk 2013-06-25 16:44:38.388059921 +0200
663+++ cdiopara/wodim/cdtext.c 2013-06-25 16:44:59.599309190 +0200
664@@ -119,8 +119,8 @@ int textlen;
665 BOOL checktextfile(char *fname);
666 static void setuptextdata(Uchar *bp, int len);
667 static BOOL cdtext_crc_ok(struct textpack *p);
668-void packtext(int tracks, track_t *trackp);
669-static BOOL anytext(int pack_type, int tracks, track_t *trackp);
670+void packtext(int tracks, wodim_track_t *trackp);
671+static BOOL anytext(int pack_type, int tracks, wodim_track_t *trackp);
672 static void fillup_pack(txtarg_t *ap);
673 static void fillpacks(txtarg_t *ap, char *from, int len, int track_no, int pack_type);
674 int write_cdtext(SCSI *usalp, cdr_t *dp, long startsec);
675@@ -295,7 +295,7 @@ static BOOL cdtext_crc_ok(struct textpac
676 }
677
678
679-void packtext(int tracks, track_t *trackp)
680+void packtext(int tracks, wodim_track_t *trackp)
681 {
682 int type;
683 int i;
684@@ -373,7 +373,7 @@ void packtext(int tracks, track_t *track
685 #endif
686 }
687
688-static BOOL anytext(int pack_type, int tracks, track_t *trackp)
689+static BOOL anytext(int pack_type, int tracks, wodim_track_t *trackp)
690 {
691 register int i;
692 register char *p;
693diff -up cdiopara/wodim/clone.c.wrk cdiopara/wodim/clone.c
694--- cdiopara/wodim/clone.c.wrk 2013-06-25 17:33:21.013643927 +0200
695+++ cdiopara/wodim/clone.c 2013-06-25 17:43:07.932151568 +0200
696@@ -52,8 +52,8 @@
697
698 /*#define SAO_RAW*/
699
700-void clone_toc(track_t *trackp);
701-void clone_tracktype(track_t *trackp);
702+void clone_toc(wodim_track_t *trackp);
703+void clone_tracktype(wodim_track_t *trackp);
704
705 extern int lverbose;
706 extern int xdebug;
707@@ -72,11 +72,11 @@ static long loutstart;
708 /*
709 * Read Clone TOC description from full toc file.
710 */
711-void clone_toc(track_t *trackp)
712+void clone_toc(wodim_track_t *trackp)
713 {
714 char filename[1024];
715- msf_t m;
716- msf_t mr;
717+ wodim_msf_t m;
718+ wodim_msf_t mr;
719 struct tocheader *tp;
720 struct ftrackdesc *fp;
721 int f;
722@@ -208,7 +208,7 @@ void clone_toc(track_t *trackp)
723 * Control 4 = data
724 * Control 5 = packet data
725 */
726-void clone_tracktype(track_t *trackp)
727+void clone_tracktype(wodim_track_t *trackp)
728 {
729 int tracks = trackp->tracks;
730 int sectype;
731diff -up cdiopara/wodim/cue.c.wrk cdiopara/wodim/cue.c
732--- cdiopara/wodim/cue.c.wrk 2013-06-25 17:44:52.030231911 +0200
733+++ cdiopara/wodim/cue.c 2013-06-25 17:46:01.606959365 +0200
734@@ -238,22 +238,22 @@ static keyw_t dtypes[] = {
735 };
736
737
738-int parsecue(char *cuefname, track_t trackp[]);
739-void fparsecue(FILE *f, track_t trackp[]);
740-static void parse_mcn(track_t trackp[], state_t *sp);
741-static void parse_textfile(track_t trackp[], state_t *sp);
742-static void parse_file(track_t trackp[], state_t *sp);
743-static void parse_flags(track_t trackp[], state_t *sp);
744-static void parse_index(track_t trackp[], state_t *sp);
745-static void parse_isrc(track_t trackp[], state_t *sp);
746-static void parse_performer(track_t trackp[], state_t *sp);
747-static void parse_postgap(track_t trackp[], state_t *sp);
748-static void parse_pregap(track_t trackp[], state_t *sp);
749-static void parse_songwriter(track_t trackp[], state_t *sp);
750-static void parse_title(track_t trackp[], state_t *sp);
751-static void parse_track(track_t trackp[], state_t *sp);
752+int parsecue(char *cuefname, wodim_track_t trackp[]);
753+void fparsecue(FILE *f, wodim_track_t trackp[]);
754+static void parse_mcn(wodim_track_t trackp[], state_t *sp);
755+static void parse_textfile(wodim_track_t trackp[], state_t *sp);
756+static void parse_file(wodim_track_t trackp[], state_t *sp);
757+static void parse_flags(wodim_track_t trackp[], state_t *sp);
758+static void parse_index(wodim_track_t trackp[], state_t *sp);
759+static void parse_isrc(wodim_track_t trackp[], state_t *sp);
760+static void parse_performer(wodim_track_t trackp[], state_t *sp);
761+static void parse_postgap(wodim_track_t trackp[], state_t *sp);
762+static void parse_pregap(wodim_track_t trackp[], state_t *sp);
763+static void parse_songwriter(wodim_track_t trackp[], state_t *sp);
764+static void parse_title(wodim_track_t trackp[], state_t *sp);
765+static void parse_track(wodim_track_t trackp[], state_t *sp);
766 static void parse_offset(long *lp);
767-static void newtrack(track_t trackp[], state_t *sp);
768+static void newtrack(wodim_track_t trackp[], state_t *sp);
769
770 static keyw_t *lookup(char *word, keyw_t table[]);
771 static void wdebug(void);
772@@ -286,7 +286,7 @@ int
773 main(int argc, char *argv[])
774 {
775 int i;
776- track_t track[MAX_TRACK+2]; /* Max tracks + track 0 + track AA */
777+ wodim_track_t track[MAX_TRACK+2]; /* Max tracks + track 0 + track AA */
778
779 save_args(argc, argv);
780
781@@ -304,7 +304,7 @@ extern int xdebug;
782 #endif
783
784 int
785-parsecue(char *cuefname, track_t trackp[])
786+parsecue(char *cuefname, wodim_track_t trackp[])
787 {
788 FILE *f = cueopen(cuefname);
789
790@@ -313,7 +313,7 @@ parsecue(char *cuefname, track_t trackp[
791 }
792
793 void
794-fparsecue(FILE *f, track_t trackp[])
795+fparsecue(FILE *f, wodim_track_t trackp[])
796 {
797 char *word;
798 struct keyw *kp;
799@@ -402,7 +402,7 @@ fparsecue(FILE *f, track_t trackp[])
800 }
801
802 static void
803-parse_mcn(track_t trackp[], state_t *sp)
804+parse_mcn(wodim_track_t trackp[], state_t *sp)
805 {
806 char *word;
807 textptr_t *txp;
808@@ -419,7 +419,7 @@ parse_mcn(track_t trackp[], state_t *sp)
809 }
810
811 static void
812-parse_textfile(track_t trackp[], state_t *sp)
813+parse_textfile(wodim_track_t trackp[], state_t *sp)
814 {
815 char *word;
816
817@@ -444,7 +444,7 @@ parse_textfile(track_t trackp[], state_t
818 }
819
820 static void
821-parse_file(track_t trackp[], state_t *sp)
822+parse_file(wodim_track_t trackp[], state_t *sp)
823 {
824 char cname[1024];
825 char newname[1024];
826@@ -543,7 +543,7 @@ parse_file(track_t trackp[], state_t *sp
827 }
828
829 static void
830-parse_flags(track_t trackp[], state_t *sp)
831+parse_flags(wodim_track_t trackp[], state_t *sp)
832 {
833 struct keyw *kp;
834 char *word;
835@@ -575,7 +575,7 @@ parse_flags(track_t trackp[], state_t *s
836 }
837
838 static void
839-parse_index(track_t trackp[], state_t *sp)
840+parse_index(wodim_track_t trackp[], state_t *sp)
841 {
842 char *word;
843 long l;
844@@ -634,7 +634,7 @@ parse_index(track_t trackp[], state_t *s
845 }
846
847 static void
848-parse_isrc(track_t trackp[], state_t *sp)
849+parse_isrc(wodim_track_t trackp[], state_t *sp)
850 {
851 char *word;
852 textptr_t *txp;
853@@ -657,7 +657,7 @@ parse_isrc(track_t trackp[], state_t *sp
854 }
855
856 static void
857-parse_performer(track_t trackp[], state_t *sp)
858+parse_performer(wodim_track_t trackp[], state_t *sp)
859 {
860 char *word;
861 textptr_t *txp;
862@@ -670,7 +670,7 @@ parse_performer(track_t trackp[], state_
863 }
864
865 static void
866-parse_postgap(track_t trackp[], state_t *sp)
867+parse_postgap(wodim_track_t trackp[], state_t *sp)
868 {
869 long l;
870
871@@ -685,7 +685,7 @@ parse_postgap(track_t trackp[], state_t
872 }
873
874 static void
875-parse_pregap(track_t trackp[], state_t *sp)
876+parse_pregap(wodim_track_t trackp[], state_t *sp)
877 {
878 long l;
879
880@@ -701,7 +701,7 @@ parse_pregap(track_t trackp[], state_t *
881 }
882
883 static void
884-parse_songwriter(track_t trackp[], state_t *sp)
885+parse_songwriter(wodim_track_t trackp[], state_t *sp)
886 {
887 char *word;
888 textptr_t *txp;
889@@ -714,7 +714,7 @@ parse_songwriter(track_t trackp[], state
890 }
891
892 static void
893-parse_title(track_t trackp[], state_t *sp)
894+parse_title(wodim_track_t trackp[], state_t *sp)
895 {
896 char *word;
897 textptr_t *txp;
898@@ -727,7 +727,7 @@ parse_title(track_t trackp[], state_t *s
899 }
900
901 static void
902-parse_track(track_t trackp[], state_t *sp)
903+parse_track(wodim_track_t trackp[], state_t *sp)
904 {
905 struct keyw *kp;
906 char *word;
907@@ -878,7 +878,7 @@ parse_offset(long *lp)
908
909 /*--------------------------------------------------------------------------*/
910 static void
911-newtrack(track_t trackp[], state_t *sp)
912+newtrack(wodim_track_t trackp[], state_t *sp)
913 {
914 register int i;
915 register int track = sp->track;
916diff -up cdiopara/wodim/diskid.c.wrk cdiopara/wodim/diskid.c
917--- cdiopara/wodim/diskid.c.wrk 2013-06-25 18:02:27.661472904 +0200
918+++ cdiopara/wodim/diskid.c 2013-06-25 18:03:26.453101549 +0200
919@@ -39,13 +39,13 @@
920
921 #include "wodim.h"
922
923-void pr_manufacturer(msf_t *mp, BOOL rw, BOOL audio);
924-static struct disk_man *man_ptr(msf_t *mp);
925-int manufacturer_id(msf_t *mp);
926-long disk_rcap(msf_t *mp, long maxblock, BOOL rw, BOOL audio);
927+void pr_manufacturer(wodim_msf_t *mp, BOOL rw, BOOL audio);
928+static struct disk_man *man_ptr(wodim_msf_t *mp);
929+int manufacturer_id(wodim_msf_t *mp);
930+long disk_rcap(wodim_msf_t *mp, long maxblock, BOOL rw, BOOL audio);
931
932 struct disk_man {
933- msf_t mi_msf;
934+ wodim_msf_t mi_msf;
935 char mi_num;
936 char *mi_name;
937 };
938@@ -328,7 +328,7 @@ static struct disk_man dman[] = {
939 #define ndman (sizeof (dman)/sizeof (dman[0]))
940
941 static struct disk_man *
942-man_ptr(msf_t *mp)
943+man_ptr(wodim_msf_t *mp)
944 {
945 struct disk_man * dp;
946 int frame;
947@@ -363,7 +363,7 @@ man_ptr(msf_t *mp)
948 return (NULL);
949 }
950
951-void pr_manufacturer(msf_t *mp, BOOL rw, BOOL audio)
952+void pr_manufacturer(wodim_msf_t *mp, BOOL rw, BOOL audio)
953 {
954 struct disk_man * dp;
955 struct disk_man xdman;
956@@ -417,7 +417,7 @@ void pr_manufacturer(msf_t *mp, BOOL rw,
957 }
958 }
959
960-int manufacturer_id(msf_t *mp)
961+int manufacturer_id(wodim_msf_t *mp)
962 {
963 struct disk_man * dp;
964
965@@ -428,7 +428,7 @@ int manufacturer_id(msf_t *mp)
966 }
967
968 struct disk_rcap {
969- msf_t ci_msf; /* Lead in start time */
970+ wodim_msf_t ci_msf; /* Lead in start time */
971 long ci_cap; /* Lead out start time */
972 long ci_rcap; /* Abs max lead out start */
973 };
974@@ -505,7 +505,7 @@ static struct disk_rcap rcap[] = {
975 };
976
977 long
978-disk_rcap(msf_t *mp, long maxblock, BOOL rw, BOOL audio)
979+disk_rcap(wodim_msf_t *mp, long maxblock, BOOL rw, BOOL audio)
980 {
981 struct disk_rcap * dp;
982
983diff -up cdiopara/wodim/drv_7501.c.wrk cdiopara/wodim/drv_7501.c
984--- cdiopara/wodim/drv_7501.c.wrk 2013-06-25 18:08:14.575166824 +0200
985+++ cdiopara/wodim/drv_7501.c 2013-06-25 18:14:44.030252075 +0200
986@@ -225,18 +225,18 @@ static int cw7501_attach(SCSI *usalp, cd
987 static int cw7501_init(SCSI *usalp, cdr_t *dp);
988 static int cw7501_getdisktype(SCSI *usalp, cdr_t *dp);
989 static int cw7501_speed_select(SCSI *usalp, cdr_t *dp, int *speedp);
990-static int cw7501_next_wr_addr(SCSI *usalp, track_t *trackp, long *ap);
991+static int cw7501_next_wr_addr(SCSI *usalp, wodim_track_t *trackp, long *ap);
992 static int cw7501_write(SCSI *usalp, caddr_t bp, long sectaddr, long size,
993 int blocks, BOOL islast);
994-static int cw7501_write_leadin(SCSI *usalp, cdr_t *dp, track_t *trackp);
995-static int cw7501_open_track(SCSI *usalp, cdr_t *dp, track_t *trackp);
996-static int cw7501_close_track(SCSI *usalp, cdr_t *dp, track_t *trackp);
997-static int cw7501_open_session(SCSI *usalp, cdr_t *dp, track_t *trackp);
998-static int cw7501_gen_cue(track_t *trackp, void *vcuep, BOOL needgap);
999+static int cw7501_write_leadin(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1000+static int cw7501_open_track(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1001+static int cw7501_close_track(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1002+static int cw7501_open_session(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1003+static int cw7501_gen_cue(wodim_track_t *trackp, void *vcuep, BOOL needgap);
1004 static void fillcue(struct cw7501_cue *cp, int ca, int tno, int idx,
1005- int dataform, int scms, msf_t *mp);
1006-static int cw7501_send_cue(SCSI *usalp, cdr_t *dp, track_t *trackp);
1007-static int cw7501_fixate(SCSI *usalp, cdr_t *dp, track_t *trackp);
1008+ int dataform, int scms, wodim_msf_t *mp);
1009+static int cw7501_send_cue(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1010+static int cw7501_fixate(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1011 static int cw7501_rezero(SCSI *usalp, int reset, int dwreset);
1012 static int cw7501_read_trackinfo(SCSI *usalp, Uchar *bp, int count,
1013 int track, int mode);
1014@@ -461,7 +461,7 @@ cw7501_speed_select(SCSI *usalp, cdr_t *
1015 }
1016
1017 static int
1018-cw7501_next_wr_addr(SCSI *usalp, track_t *trackp, long *ap)
1019+cw7501_next_wr_addr(SCSI *usalp, wodim_track_t *trackp, long *ap)
1020 {
1021 struct cw7501_nwa *nwa;
1022 Uchar buf[256];
1023@@ -520,7 +520,7 @@ cw7501_write(SCSI *usalp,
1024 }
1025
1026 static int
1027-cw7501_write_leadin(SCSI *usalp, cdr_t *dp, track_t *trackp)
1028+cw7501_write_leadin(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1029 {
1030 Uint i;
1031 long startsec = 0L;
1032@@ -572,7 +572,7 @@ static Uchar db2phys[] = {
1033 };
1034
1035 static int
1036-cw7501_open_track(SCSI *usalp, cdr_t *dp, track_t *trackp)
1037+cw7501_open_track(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1038 {
1039 struct scsi_mode_page_header *mp;
1040 Uchar mode[256];
1041@@ -632,7 +632,7 @@ cw7501_open_track(SCSI *usalp, cdr_t *dp
1042
1043
1044 static int
1045-cw7501_close_track(SCSI *usalp, cdr_t *dp, track_t *trackp)
1046+cw7501_close_track(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1047 {
1048 if (!is_tao(trackp) && !is_packet(trackp)) {
1049 return (0);
1050@@ -641,7 +641,7 @@ cw7501_close_track(SCSI *usalp, cdr_t *d
1051 }
1052
1053 static int
1054-cw7501_open_session(SCSI *usalp, cdr_t *dp, track_t *trackp)
1055+cw7501_open_session(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1056 {
1057 struct cw7501_mode_data md;
1058 int count;
1059@@ -695,7 +695,7 @@ cw7501_open_session(SCSI *usalp, cdr_t *
1060 }
1061
1062 static int
1063-cw7501_fixate(SCSI *usalp, cdr_t *dp, track_t *trackp)
1064+cw7501_fixate(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1065 {
1066 if (!is_tao(trackp) && !is_packet(trackp)) {
1067 return (scsi_flush_cache(usalp, FALSE));
1068@@ -711,7 +711,7 @@ cw7501_fixate(SCSI *usalp, cdr_t *dp, tr
1069 /*--------------------------------------------------------------------------*/
1070
1071 static int
1072-cw7501_gen_cue(track_t *trackp, void *vcuep, BOOL needgap)
1073+cw7501_gen_cue(wodim_track_t *trackp, void *vcuep, BOOL needgap)
1074 {
1075 int tracks = trackp->tracks;
1076 int i;
1077@@ -721,7 +721,7 @@ cw7501_gen_cue(track_t *trackp, void *vc
1078 int ncue = 0;
1079 int icue = 0;
1080 int pgsize;
1081- msf_t m;
1082+ wodim_msf_t m;
1083 int ctl;
1084 int df;
1085 int scms;
1086@@ -820,7 +820,7 @@ fillcue(struct cw7501_cue *cp /* The tar
1087 int idx /* Index for this entry */,
1088 int dataform /* Data format for this entry */,
1089 int scms /* Serial copy management */,
1090- msf_t *mp /* MSF value for this entry */)
1091+ wodim_msf_t *mp /* MSF value for this entry */)
1092 {
1093 cp->cs_ctladr = ca;
1094 if (tno <= 99)
1095@@ -838,7 +838,7 @@ fillcue(struct cw7501_cue *cp /* The tar
1096 }
1097
1098 static int
1099-cw7501_send_cue(SCSI *usalp, cdr_t *dp, track_t *trackp)
1100+cw7501_send_cue(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1101 {
1102 struct cw7501_cue *cp;
1103 int ncue;
1104diff -up cdiopara/wodim/drv_jvc.c.wrk cdiopara/wodim/drv_jvc.c
1105--- cdiopara/wodim/drv_jvc.c.wrk 2013-06-25 18:17:15.654847220 +0200
1106+++ cdiopara/wodim/drv_jvc.c 2013-06-25 18:20:04.868629843 +0200
1107@@ -220,15 +220,15 @@ static int teac_attach(SCSI *usalp, cdr_
1108 static int teac_init(SCSI *usalp, cdr_t *dp);
1109 static int teac_getdisktype(SCSI *usalp, cdr_t *dp);
1110 static int speed_select_teac(SCSI *usalp, cdr_t *dp, int *speedp);
1111-static int select_secsize_teac(SCSI *usalp, track_t *trackp);
1112-static int next_wr_addr_jvc(SCSI *usalp, track_t *, long *ap);
1113+static int select_secsize_teac(SCSI *usalp, wodim_track_t *trackp);
1114+static int next_wr_addr_jvc(SCSI *usalp, wodim_track_t *, long *ap);
1115 static int write_teac_xg1(SCSI *usalp, caddr_t, long, long, int, BOOL);
1116 static int cdr_write_teac(SCSI *usalp, caddr_t bp, long sectaddr, long size,
1117 int blocks, BOOL islast);
1118-static int open_track_jvc(SCSI *usalp, cdr_t *dp, track_t *trackp);
1119-static int teac_fixation(SCSI *usalp, cdr_t *dp, track_t *trackp);
1120-static int close_track_teac(SCSI *usalp, cdr_t *dp, track_t *trackp);
1121-static int teac_open_session(SCSI *usalp, cdr_t *dp, track_t *trackp);
1122+static int open_track_jvc(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1123+static int teac_fixation(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1124+static int close_track_teac(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1125+static int teac_open_session(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1126 static int initsub_teac(SCSI *usalp, int toctype, int multi);
1127 static int teac_doopc(SCSI *usalp);
1128 static int teac_opc(SCSI *usalp, caddr_t, int cnt, int doopc);
1129@@ -278,9 +278,9 @@ cdr_t cdr_teac_cdr50 = {
1130 next_wr_addr_jvc,
1131 (int(*)(SCSI *, Ulong))cmd_ill, /* reserve_track */
1132 cdr_write_teac,
1133- (int(*)(track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1134+ (int(*)(wodim_track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1135 no_sendcue,
1136- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy, /* leadin */
1137+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy, /* leadin */
1138 open_track_jvc,
1139 close_track_teac,
1140 teac_open_session,
1141@@ -372,7 +372,7 @@ speed_select_teac(SCSI *usalp, cdr_t *dp
1142 }
1143
1144 static int
1145-select_secsize_teac(SCSI *usalp, track_t *trackp)
1146+select_secsize_teac(SCSI *usalp, wodim_track_t *trackp)
1147 {
1148 struct scsi_mode_data md;
1149 int count = sizeof (struct scsi_mode_header) +
1150@@ -403,7 +403,7 @@ select_secsize_teac(SCSI *usalp, track_t
1151 }
1152
1153 static int
1154-next_wr_addr_jvc(SCSI *usalp, track_t *trackp, long *ap)
1155+next_wr_addr_jvc(SCSI *usalp, wodim_track_t *trackp, long *ap)
1156 {
1157 if (trackp != 0 && trackp->track > 0) {
1158 *ap = lba_addr;
1159@@ -473,7 +473,7 @@ cdr_write_teac(SCSI *usalp,
1160 }
1161
1162 static int
1163-open_track_jvc(SCSI *usalp, cdr_t *dp, track_t *trackp)
1164+open_track_jvc(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1165 {
1166 int status;
1167 long blocks;
1168@@ -601,7 +601,7 @@ if (!is_last(trackp) && trackp[1].pregap
1169 static char sector[3000];
1170
1171 static int
1172-close_track_teac(SCSI *usalp, cdr_t *dp, track_t *trackp)
1173+close_track_teac(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1174 {
1175 int ret = 0;
1176
1177@@ -698,7 +698,7 @@ teac_attach(SCSI *usalp, cdr_t *dp)
1178 }
1179
1180 static int
1181-teac_fixation(SCSI *usalp, cdr_t *dp, track_t *trackp)
1182+teac_fixation(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1183 {
1184 long lba;
1185 int status;
1186@@ -811,7 +811,7 @@ extern char *buf;
1187 }
1188
1189 static int
1190-teac_open_session(SCSI *usalp, cdr_t *dp, track_t *trackp)
1191+teac_open_session(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1192 {
1193 Uint i;
1194
1195diff -up cdiopara/wodim/drv_mmc.c.wrk cdiopara/wodim/drv_mmc.c
1196--- cdiopara/wodim/drv_mmc.c.wrk 2013-06-25 18:24:35.494485316 +0200
1197+++ cdiopara/wodim/drv_mmc.c 2013-06-25 18:25:57.345350411 +0200
1198@@ -110,18 +110,18 @@ static int speed_select_mmc(SCSI *usalp,
1199 static int speed_select_mdvd(SCSI *usalp, cdr_t *dp, int *speedp);
1200 static int mmc_set_speed(SCSI *usalp, int readspeed, int writespeed,
1201 int rotctl);
1202-static int next_wr_addr_mmc(SCSI *usalp, track_t *trackp, long *ap);
1203-static int next_wr_addr_mdvd(SCSI *usalp, track_t *trackp, long *ap);
1204-static int write_leadin_mmc(SCSI *usalp, cdr_t *dp, track_t *trackp);
1205-static int open_track_mmc(SCSI *usalp, cdr_t *dp, track_t *trackp);
1206-static int open_track_mdvd(SCSI *usalp, cdr_t *dp, track_t *trackp);
1207-static int close_track_mmc(SCSI *usalp, cdr_t *dp, track_t *trackp);
1208-static int close_track_mdvd(SCSI *usalp, cdr_t *dp, track_t *trackp);
1209-static int open_session_mmc(SCSI *usalp, cdr_t *dp, track_t *trackp);
1210-static int open_session_mdvd(SCSI *usalp, cdr_t *dp, track_t *trackp);
1211+static int next_wr_addr_mmc(SCSI *usalp, wodim_track_t *trackp, long *ap);
1212+static int next_wr_addr_mdvd(SCSI *usalp, wodim_track_t *trackp, long *ap);
1213+static int write_leadin_mmc(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1214+static int open_track_mmc(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1215+static int open_track_mdvd(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1216+static int close_track_mmc(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1217+static int close_track_mdvd(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1218+static int open_session_mmc(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1219+static int open_session_mdvd(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1220 static int waitfix_mmc(SCSI *usalp, int secs);
1221-static int fixate_mmc(SCSI *usalp, cdr_t *dp, track_t *trackp);
1222-static int fixate_mdvd(SCSI *usalp, cdr_t *dp, track_t *trackp);
1223+static int fixate_mmc(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1224+static int fixate_mdvd(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1225 static int blank_mmc(SCSI *usalp, cdr_t *dp, long addr, int blanktype);
1226 static int format_mdvd(SCSI *usalp, cdr_t *dp, int formattype);
1227 static int send_opc_mmc(SCSI *usalp, caddr_t, int cnt, int doopc);
1228@@ -130,10 +130,10 @@ static int opt1_mdvd(SCSI *usalp, cdr_t
1229 static int opt2_mmc(SCSI *usalp, cdr_t *dp);
1230 static int scsi_sony_write(SCSI *usalp, caddr_t bp, long sectaddr, long size,
1231 int blocks, BOOL islast);
1232-static int gen_cue_mmc(track_t *trackp, void *vcuep, BOOL needgap);
1233+static int gen_cue_mmc(wodim_track_t *trackp, void *vcuep, BOOL needgap);
1234 static void fillcue(struct mmc_cue *cp, int ca, int tno, int idx, int dataform,
1235- int scms, msf_t *mp);
1236-static int send_cue_mmc(SCSI *usalp, cdr_t *dp, track_t *trackp);
1237+ int scms, wodim_msf_t *mp);
1238+static int send_cue_mmc(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1239 static int stats_mmc(SCSI *usalp, cdr_t *dp);
1240 static BOOL mmc_isplextor(SCSI *usalp);
1241 static BOOL mmc_isyamaha(SCSI *usalp);
1242@@ -251,8 +251,8 @@ cdr_t cdr_mdvd = {
1243 next_wr_addr_mdvd,
1244 (int(*)(SCSI *, Ulong))cmd_ill, /* reserve_track */
1245 scsi_cdr_write,
1246- (int(*)__PR((track_t *, void *, BOOL)))cmd_dummy, /* gen_cue */
1247- (int(*)__PR((SCSI *usalp, cdr_t *, track_t *)))cmd_dummy, /* send_cue */
1248+ (int(*)__PR((wodim_track_t *, void *, BOOL)))cmd_dummy, /* gen_cue */
1249+ (int(*)__PR((SCSI *usalp, cdr_t *, wodim_track_t *)))cmd_dummy, /* send_cue */
1250 write_leadin_mmc,
1251 open_track_mdvd,
1252 close_track_mdvd,
1253@@ -337,19 +337,19 @@ cdr_t cdr_cd = {
1254 (int(*)(SCSI *, cdr_t *, int))cmd_dummy, /* recover */
1255 speed_select_mmc,
1256 select_secsize,
1257- (int(*)(SCSI *usalp, track_t *, long *))cmd_ill, /* next_wr_addr */
1258+ (int(*)(SCSI *usalp, wodim_track_t *, long *))cmd_ill, /* next_wr_addr */
1259 (int(*)(SCSI *, Ulong))cmd_ill, /* reserve_track */
1260 scsi_cdr_write,
1261- (int(*)(track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1262+ (int(*)(wodim_track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1263 no_sendcue,
1264- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy, /* leadin */
1265+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy, /* leadin */
1266 open_track_mmc,
1267 close_track_mmc,
1268- (int(*)(SCSI *usalp, cdr_t *, track_t *))cmd_dummy,
1269+ (int(*)(SCSI *usalp, cdr_t *, wodim_track_t *))cmd_dummy,
1270 cmd_dummy,
1271 cmd_dummy, /* abort */
1272 read_session_offset,
1273- (int(*)(SCSI *usalp, cdr_t *, track_t *))cmd_dummy, /* fixation */
1274+ (int(*)(SCSI *usalp, cdr_t *, wodim_track_t *))cmd_dummy, /* fixation */
1275 cmd_dummy, /* stats */
1276 blank_dummy,
1277 format_dummy,
1278@@ -381,19 +381,19 @@ cdr_t cdr_oldcd = {
1279 (int(*)(SCSI *, cdr_t *, int))cmd_dummy, /* recover */
1280 speed_select_mmc,
1281 select_secsize,
1282- (int(*)(SCSI *usal, track_t *, long *))cmd_ill, /* next_wr_addr */
1283+ (int(*)(SCSI *usal, wodim_track_t *, long *))cmd_ill, /* next_wr_addr */
1284 (int(*)(SCSI *, Ulong))cmd_ill, /* reserve_track */
1285 scsi_cdr_write,
1286- (int(*)(track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1287+ (int(*)(wodim_track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1288 no_sendcue,
1289- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy, /* leadin */
1290+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy, /* leadin */
1291 open_track_mmc,
1292 close_track_mmc,
1293- (int(*)(SCSI *usalp, cdr_t *, track_t *))cmd_dummy,
1294+ (int(*)(SCSI *usalp, cdr_t *, wodim_track_t *))cmd_dummy,
1295 cmd_dummy,
1296 cmd_dummy, /* abort */
1297 read_session_offset_philips,
1298- (int(*)(SCSI *usalp, cdr_t *, track_t *))cmd_dummy, /* fixation */
1299+ (int(*)(SCSI *usalp, cdr_t *, wodim_track_t *))cmd_dummy, /* fixation */
1300 cmd_dummy, /* stats */
1301 blank_dummy,
1302 format_dummy,
1303@@ -426,19 +426,19 @@ cdr_t cdr_cd_dvd = {
1304 (int(*)(SCSI *, cdr_t *, int))cmd_dummy, /* recover */
1305 speed_select_mmc,
1306 select_secsize,
1307- (int(*)(SCSI *usalp, track_t *, long *))cmd_ill, /* next_wr_addr */
1308+ (int(*)(SCSI *usalp, wodim_track_t *, long *))cmd_ill, /* next_wr_addr */
1309 (int(*)(SCSI *, Ulong))cmd_ill, /* reserve_track */
1310 scsi_cdr_write,
1311- (int(*)(track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1312+ (int(*)(wodim_track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1313 no_sendcue,
1314- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy, /* leadin */
1315+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy, /* leadin */
1316 open_track_mmc,
1317 close_track_mmc,
1318- (int(*)(SCSI *usalp, cdr_t *, track_t *))cmd_dummy,
1319+ (int(*)(SCSI *usalp, cdr_t *, wodim_track_t *))cmd_dummy,
1320 cmd_dummy,
1321 cmd_dummy, /* abort */
1322 read_session_offset,
1323- (int(*)(SCSI *usalp, cdr_t *, track_t *))cmd_dummy, /* fixation */
1324+ (int(*)(SCSI *usalp, cdr_t *, wodim_track_t *))cmd_dummy, /* fixation */
1325 cmd_dummy, /* stats */
1326 blank_dummy,
1327 format_dummy,
1328@@ -1549,7 +1549,7 @@ extern char *buf;
1329 dstat_t *dsp = dp->cdr_dstat;
1330 struct disk_info *dip;
1331 Uchar mode[0x100];
1332- msf_t msf;
1333+ wodim_msf_t msf;
1334 BOOL did_atip = FALSE;
1335 BOOL did_dummy = FALSE;
1336 int rplus;
1337@@ -2116,7 +2116,7 @@ speed_select_mdvd(SCSI *usalp, cdr_t *dp
1338 }
1339
1340 static int
1341-next_wr_addr_mmc(SCSI *usalp, track_t *trackp, long *ap)
1342+next_wr_addr_mmc(SCSI *usalp, wodim_track_t *trackp, long *ap)
1343 {
1344 struct track_info track_info;
1345 long next_addr;
1346@@ -2157,7 +2157,7 @@ next_wr_addr_mmc(SCSI *usalp, track_t *t
1347 }
1348
1349 static int
1350-write_leadin_mmc(SCSI *usalp, cdr_t *dp, track_t *trackp)
1351+write_leadin_mmc(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1352 {
1353 Uint i;
1354 long startsec = 0L;
1355@@ -2247,7 +2247,7 @@ int st2mode[] = {
1356 };
1357
1358 static int
1359-next_wr_addr_mdvd(SCSI *usalp, track_t *trackp, long *ap)
1360+next_wr_addr_mdvd(SCSI *usalp, wodim_track_t *trackp, long *ap)
1361 {
1362 int track=0;
1363 struct track_info track_info;
1364@@ -2287,7 +2287,7 @@ next_wr_addr_mdvd(SCSI *usalp, track_t *
1365 }
1366
1367 static int
1368-open_track_mmc(SCSI *usalp, cdr_t *dp, track_t *trackp)
1369+open_track_mmc(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1370 {
1371 Uchar mode[0x100];
1372 int len;
1373@@ -2364,7 +2364,7 @@ open_track_mmc(SCSI *usalp, cdr_t *dp, t
1374 }
1375
1376 static int
1377-open_track_mdvd(SCSI *usalp, cdr_t *dp, track_t *trackp)
1378+open_track_mdvd(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1379 {
1380 Uchar mode[0x100];
1381 int len;
1382@@ -2400,7 +2400,7 @@ open_track_mdvd(SCSI *usalp, cdr_t *dp,
1383 }
1384
1385 static int
1386-close_track_mmc(SCSI *usalp, cdr_t *dp, track_t *trackp)
1387+close_track_mmc(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1388 {
1389 int ret;
1390
1391@@ -2423,7 +2423,7 @@ close_track_mmc(SCSI *usalp, cdr_t *dp,
1392 }
1393
1394 static int
1395-close_track_mdvd(SCSI *usalp, cdr_t *dp, track_t *trackp)
1396+close_track_mdvd(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1397 {
1398 int ret;
1399 if (!is_packet(trackp))
1400@@ -2454,7 +2454,7 @@ int toc2sess[] = {
1401 };
1402
1403 static int
1404-open_session_mmc(SCSI *usalp, cdr_t *dp, track_t *trackp)
1405+open_session_mmc(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1406 {
1407 Uchar mode[0x100];
1408 int len;
1409@@ -2523,7 +2523,7 @@ open_session_mmc(SCSI *usalp, cdr_t *dp,
1410 }
1411
1412 static int
1413-open_session_mdvd(SCSI *usalp, cdr_t *dp, track_t *trackp)
1414+open_session_mdvd(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1415 {
1416 Uchar mode[0x100];
1417 int tracks = trackp->tracks;
1418@@ -2633,7 +2633,7 @@ waitfix_mmc(SCSI *usalp, int secs)
1419 }
1420
1421 static int
1422-fixate_mmc(SCSI *usalp, cdr_t *dp, track_t *trackp)
1423+fixate_mmc(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1424 {
1425 int ret = 0;
1426 int key = 0;
1427@@ -2738,7 +2738,7 @@ fixate_mmc(SCSI *usalp, cdr_t *dp, track
1428 }
1429
1430 static int
1431-fixate_mdvd(SCSI *usalp, cdr_t *dp, track_t *trackp)
1432+fixate_mdvd(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1433 {
1434 int ret;
1435 if (scsi_flush_cache(usalp, (dp->cdr_cmdflags&F_IMMED) != 0) < 0) {
1436@@ -2960,7 +2960,7 @@ opt1_mmc(SCSI *usalp, cdr_t *dp)
1437 }
1438 dp->cdr_dstat->ds_cdrflags = oflags;
1439 if (oflags & RF_PRATIP) {
1440- msf_t msf;
1441+ wodim_msf_t msf;
1442 lba_to_msf(dp->cdr_dstat->ds_first_leadin, &msf);
1443 printf("New start of lead in: %ld (%02d:%02d/%02d)\n",
1444 (long)dp->cdr_dstat->ds_first_leadin,
1445@@ -2998,7 +2998,7 @@ opt1_mmc(SCSI *usalp, cdr_t *dp)
1446 else
1447 gcode = gigarec_plextor(usalp, 0);
1448 if (gcode != 0) {
1449- msf_t msf;
1450+ wodim_msf_t msf;
1451
1452 dp->cdr_dstat->ds_first_leadin =
1453 gigarec_mult(gcode, dp->cdr_dstat->ds_first_leadin);
1454@@ -3126,7 +3126,7 @@ opt1_mdvd(SCSI *usalp, cdr_t *dp)
1455 }
1456 dp->cdr_dstat->ds_cdrflags = oflags;
1457 if (oflags & RF_PRATIP) {
1458- msf_t msf;
1459+ wodim_msf_t msf;
1460 lba_to_msf(dp->cdr_dstat->ds_first_leadin, &msf);
1461 printf("New start of lead in: %ld (%02d:%02d/%02d)\n",
1462 (long)dp->cdr_dstat->ds_first_leadin,
1463@@ -3175,7 +3175,7 @@ Uchar db2df[] = {
1464 };
1465
1466 static int
1467-gen_cue_mmc(track_t *trackp, void *vcuep, BOOL needgap)
1468+gen_cue_mmc(wodim_track_t *trackp, void *vcuep, BOOL needgap)
1469 {
1470 int tracks = trackp->tracks;
1471 int i;
1472@@ -3185,7 +3185,7 @@ gen_cue_mmc(track_t *trackp, void *vcuep
1473 int ncue = 0;
1474 int icue = 0;
1475 int pgsize;
1476- msf_t m;
1477+ wodim_msf_t m;
1478 int ctl;
1479 int df;
1480 int scms;
1481@@ -3318,7 +3318,7 @@ fillcue(struct mmc_cue *cp /* The targe
1482 int idx /* Index for this entry */,
1483 int dataform /* Data format for this entry */,
1484 int scms /* Serial copy management */,
1485- msf_t *mp /* MSF value for this entry */)
1486+ wodim_msf_t *mp /* MSF value for this entry */)
1487 {
1488 cp->cs_ctladr = ca; /* XXX wie lead in */
1489 cp->cs_tno = tno;
1490@@ -3331,7 +3331,7 @@ fillcue(struct mmc_cue *cp /* The targe
1491 }
1492
1493 static int
1494-send_cue_mmc(SCSI *usalp, cdr_t *dp, track_t *trackp)
1495+send_cue_mmc(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1496 {
1497 struct mmc_cue *cp;
1498 int ncue;
1499diff -up cdiopara/wodim/drv_philips.c.wrk cdiopara/wodim/drv_philips.c
1500--- cdiopara/wodim/drv_philips.c.wrk 2013-06-25 18:34:35.454829395 +0200
1501+++ cdiopara/wodim/drv_philips.c 2013-06-25 18:36:03.525761201 +0200
1502@@ -67,18 +67,18 @@ static int philips_getdisktype(SCSI *usa
1503 static BOOL capacity_philips(SCSI *usalp, long *lp);
1504 static int first_writable_addr_philips(SCSI *usalp, long *, int, int, int,
1505 int);
1506-static int next_wr_addr_philips(SCSI *usalp, track_t *trackp, long *ap);
1507+static int next_wr_addr_philips(SCSI *usalp, wodim_track_t *trackp, long *ap);
1508 static int reserve_track_philips(SCSI *usalp, unsigned long);
1509 static int scsi_cdr_write_philips(SCSI *usalp, caddr_t bp, long sectaddr,
1510 long size, int blocks, BOOL islast);
1511 static int write_track_info_philips(SCSI *usalp, int);
1512 static int write_track_philips(SCSI *usalp, long, int);
1513-static int open_track_philips(SCSI *usalp, cdr_t *dp, track_t *trackp);
1514-static int open_track_plasmon(SCSI *usalp, cdr_t *dp, track_t *trackp);
1515-static int open_track_oldphilips(SCSI *usalp, cdr_t *dp, track_t *trackp);
1516-static int open_track_yamaha(SCSI *usalp, cdr_t *dp, track_t *trackp);
1517-static int close_track_philips(SCSI *usalp, cdr_t *dp, track_t *trackp);
1518-static int fixation_philips(SCSI *usalp, cdr_t *dp, track_t *trackp);
1519+static int open_track_philips(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1520+static int open_track_plasmon(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1521+static int open_track_oldphilips(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1522+static int open_track_yamaha(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1523+static int close_track_philips(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1524+static int fixation_philips(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1525
1526 static int philips_attach(SCSI *usalp, cdr_t *);
1527 static int plasmon_attach(SCSI *usalp, cdr_t *);
1528@@ -159,12 +159,12 @@ cdr_t cdr_philips_cdd521O = {
1529 next_wr_addr_philips,
1530 reserve_track_philips,
1531 scsi_cdr_write_philips,
1532- (int(*)(track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1533+ (int(*)(wodim_track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1534 no_sendcue,
1535- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy, /* leadin */
1536+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy, /* leadin */
1537 open_track_oldphilips,
1538 close_track_philips,
1539- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy,
1540+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy,
1541 cmd_dummy,
1542 cmd_dummy, /* abort */
1543 read_session_offset_philips,
1544@@ -200,12 +200,12 @@ cdr_t cdr_philips_dumb = {
1545 next_wr_addr_philips,
1546 reserve_track_philips,
1547 scsi_cdr_write_philips,
1548- (int(*)(track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1549+ (int(*)(wodim_track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1550 no_sendcue,
1551- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy, /* leadin */
1552+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy, /* leadin */
1553 open_track_oldphilips,
1554 close_track_philips,
1555- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy,
1556+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy,
1557 cmd_dummy,
1558 cmd_dummy, /* abort */
1559 read_session_offset_philips,
1560@@ -241,12 +241,12 @@ cdr_t cdr_philips_cdd521 = {
1561 next_wr_addr_philips,
1562 reserve_track_philips,
1563 scsi_cdr_write_philips,
1564- (int(*)(track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1565+ (int(*)(wodim_track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1566 no_sendcue,
1567- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy, /* leadin */
1568+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy, /* leadin */
1569 open_track_philips,
1570 close_track_philips,
1571- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy,
1572+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy,
1573 cmd_dummy,
1574 cmd_dummy, /* abort */
1575 read_session_offset_philips,
1576@@ -283,12 +283,12 @@ cdr_t cdr_philips_cdd522 = {
1577 next_wr_addr_philips,
1578 reserve_track_philips,
1579 scsi_cdr_write_philips,
1580- (int(*)(track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1581+ (int(*)(wodim_track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1582 no_sendcue,
1583- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy, /* leadin */
1584+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy, /* leadin */
1585 open_track_philips,
1586 close_track_philips,
1587- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy,
1588+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy,
1589 cmd_dummy,
1590 cmd_dummy, /* abort */
1591 read_session_offset_philips,
1592@@ -324,12 +324,12 @@ cdr_t cdr_tyuden_ew50 = {
1593 next_wr_addr_philips,
1594 reserve_track_philips,
1595 scsi_cdr_write_philips,
1596- (int(*)(track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1597+ (int(*)(wodim_track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1598 no_sendcue,
1599- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy, /* leadin */
1600+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy, /* leadin */
1601 open_track_philips,
1602 close_track_philips,
1603- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy,
1604+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy,
1605 cmd_dummy,
1606 cmd_dummy, /* abort */
1607 read_session_offset_philips,
1608@@ -365,12 +365,12 @@ cdr_t cdr_kodak_pcd600 = {
1609 next_wr_addr_philips,
1610 reserve_track_philips,
1611 scsi_cdr_write_philips,
1612- (int(*)(track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1613+ (int(*)(wodim_track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1614 no_sendcue,
1615- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy, /* leadin */
1616+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy, /* leadin */
1617 open_track_oldphilips,
1618 close_track_philips,
1619- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy,
1620+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy,
1621 cmd_dummy,
1622 cmd_dummy, /* abort */
1623 read_session_offset_philips,
1624@@ -406,12 +406,12 @@ cdr_t cdr_plasmon_rf4100 = {
1625 next_wr_addr_philips,
1626 reserve_track_philips,
1627 scsi_cdr_write_philips,
1628- (int(*)(track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1629+ (int(*)(wodim_track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1630 no_sendcue,
1631- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy, /* leadin */
1632+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy, /* leadin */
1633 open_track_plasmon,
1634 close_track_philips,
1635- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy,
1636+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy,
1637 cmd_dummy,
1638 cmd_dummy, /* abort */
1639 read_session_offset_philips,
1640@@ -447,13 +447,13 @@ cdr_t cdr_pioneer_dw_s114x = {
1641 next_wr_addr_philips,
1642 reserve_track_philips,
1643 scsi_cdr_write_philips,
1644- (int(*)(track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1645+ (int(*)(wodim_track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1646 no_sendcue,
1647- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy, /* leadin */
1648+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy, /* leadin */
1649 /* open_track_yamaha,*/
1650 /*???*/ open_track_oldphilips,
1651 close_track_philips,
1652- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy,
1653+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy,
1654 cmd_dummy,
1655 cmd_dummy, /* abort */
1656 read_session_offset_philips,
1657@@ -490,12 +490,12 @@ cdr_t cdr_yamaha_cdr100 = {
1658 next_wr_addr_philips,
1659 reserve_track_philips,
1660 scsi_cdr_write_philips,
1661- (int(*)(track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1662+ (int(*)(wodim_track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1663 no_sendcue,
1664- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy, /* leadin */
1665+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy, /* leadin */
1666 open_track_yamaha,
1667 close_track_philips,
1668- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy,
1669+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy,
1670 cmd_dummy,
1671 cmd_dummy, /* abort */
1672 read_session_offset_philips,
1673@@ -532,12 +532,12 @@ cdr_t cdr_ricoh_ro1060 = {
1674 next_wr_addr_philips,
1675 reserve_track_philips,
1676 scsi_cdr_write_philips,
1677- (int(*)(track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1678+ (int(*)(wodim_track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1679 no_sendcue,
1680- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy, /* leadin */
1681+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy, /* leadin */
1682 open_track_philips,
1683 close_track_philips,
1684- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy,
1685+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy,
1686 cmd_dummy,
1687 cmd_dummy, /* abort */
1688 read_session_offset_philips,
1689@@ -574,12 +574,12 @@ cdr_t cdr_ricoh_ro1420 = {
1690 next_wr_addr_philips,
1691 reserve_track_philips,
1692 scsi_cdr_write_philips,
1693- (int(*)(track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1694+ (int(*)(wodim_track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1695 no_sendcue,
1696- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy, /* leadin */
1697+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy, /* leadin */
1698 open_track_philips,
1699 close_track_philips,
1700- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy,
1701+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy,
1702 cmd_dummy,
1703 cmd_dummy, /* abort */
1704 read_session_offset_philips,
1705@@ -835,11 +835,11 @@ philips_getdisktype(SCSI *usalp, cdr_t *
1706 long dummy;
1707 long lilen;
1708 long lolen;
1709- msf_t msf;
1710+ wodim_msf_t msf;
1711 int audio = -1;
1712
1713 usalp->silent++;
1714- dummy = (*dp->cdr_next_wr_address)(usalp, (track_t *)0, &lilen);
1715+ dummy = (*dp->cdr_next_wr_address)(usalp, (wodim_track_t *)0, &lilen);
1716 usalp->silent--;
1717
1718 /*
1719@@ -972,7 +972,7 @@ first_writable_addr_philips(SCSI *usalp,
1720 }
1721
1722 static int
1723-next_wr_addr_philips(SCSI *usalp, track_t *trackp, long *ap)
1724+next_wr_addr_philips(SCSI *usalp, wodim_track_t *trackp, long *ap)
1725 {
1726
1727 /* if (first_writable_addr_philips(usalp, ap, 0, 0, 0, 1) < 0)*/
1728@@ -1054,7 +1054,7 @@ write_track_philips(SCSI *usalp,
1729 }
1730
1731 static int
1732-open_track_philips(SCSI *usalp, cdr_t *dp, track_t *trackp)
1733+open_track_philips(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1734 {
1735 if (select_secsize(usalp, trackp->secsize) < 0)
1736 return (-1);
1737@@ -1069,7 +1069,7 @@ open_track_philips(SCSI *usalp, cdr_t *d
1738 }
1739
1740 static int
1741-open_track_plasmon(SCSI *usalp, cdr_t *dp, track_t *trackp)
1742+open_track_plasmon(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1743 {
1744 if (select_secsize(usalp, trackp->secsize) < 0)
1745 return (-1);
1746@@ -1081,7 +1081,7 @@ open_track_plasmon(SCSI *usalp, cdr_t *d
1747 }
1748
1749 static int
1750-open_track_oldphilips(SCSI *usalp, cdr_t *dp, track_t *trackp)
1751+open_track_oldphilips(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1752 {
1753 if (write_track_philips(usalp, 0, trackp->sectype) < 0)
1754 return (-1);
1755@@ -1090,7 +1090,7 @@ open_track_oldphilips(SCSI *usalp, cdr_t
1756 }
1757
1758 static int
1759-open_track_yamaha(SCSI *usalp, cdr_t *dp, track_t *trackp)
1760+open_track_yamaha(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1761 {
1762 if (select_secsize(usalp, trackp->secsize) < 0)
1763 return (-1);
1764@@ -1102,12 +1102,12 @@ open_track_yamaha(SCSI *usalp, cdr_t *dp
1765 }
1766
1767 static int
1768-close_track_philips(SCSI *usalp, cdr_t *dp, track_t *trackp)
1769+close_track_philips(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1770 {
1771 return (scsi_flush_cache(usalp, FALSE));
1772 }
1773
1774-static int fixation_philips(SCSI *usalp, cdr_t *dp, track_t *trackp)
1775+static int fixation_philips(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1776 {
1777 register struct usal_cmd *scmd = usalp->scmd;
1778
1779diff -up cdiopara/wodim/drv_simul.c.wrk cdiopara/wodim/drv_simul.c
1780--- cdiopara/wodim/drv_simul.c.wrk 2013-06-25 18:37:30.686683498 +0200
1781+++ cdiopara/wodim/drv_simul.c 2013-06-25 18:38:09.542094684 +0200
1782@@ -66,13 +66,13 @@ static cdr_t *identify_simul(SCSI *usalp
1783 static int init_simul(SCSI *usalp, cdr_t *dp);
1784 static int getdisktype_simul(SCSI *usalp, cdr_t *dp);
1785 static int speed_select_simul(SCSI *usalp, cdr_t *dp, int *speedp);
1786-static int next_wr_addr_simul(SCSI *usalp, track_t *trackp, long *ap);
1787+static int next_wr_addr_simul(SCSI *usalp, wodim_track_t *trackp, long *ap);
1788 static int cdr_write_simul(SCSI *usalp, caddr_t bp, long sectaddr, long size,
1789 int blocks, BOOL islast);
1790-static int open_track_simul(SCSI *usalp, cdr_t *dp, track_t *trackp);
1791-static int close_track_simul(SCSI *usalp, cdr_t *dp, track_t *trackp);
1792-static int open_session_simul(SCSI *usalp, cdr_t *dp, track_t *trackp);
1793-static int fixate_simul(SCSI *usalp, cdr_t *dp, track_t *trackp);
1794+static int open_track_simul(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1795+static int close_track_simul(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1796+static int open_session_simul(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1797+static int fixate_simul(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1798 static void tv_sub(struct timeval *tvp1, struct timeval *tvp2);
1799
1800 static int simul_load(SCSI *usalp, cdr_t *dp)
1801@@ -108,9 +108,9 @@ cdr_t cdr_cdr_simul = {
1802 next_wr_addr_simul,
1803 (int(*)(SCSI *, Ulong))cmd_ill, /* reserve_track */
1804 cdr_write_simul,
1805- (int(*)(track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1806- (int(*)(SCSI *usalp, cdr_t *, track_t *))cmd_dummy, /* send_cue */
1807- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy, /* leadin */
1808+ (int(*)(wodim_track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1809+ (int(*)(SCSI *usalp, cdr_t *, wodim_track_t *))cmd_dummy, /* send_cue */
1810+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy, /* leadin */
1811 open_track_simul,
1812 close_track_simul,
1813 open_session_simul,
1814@@ -149,9 +149,9 @@ cdr_t cdr_dvd_simul = {
1815 next_wr_addr_simul,
1816 (int(*)(SCSI *, Ulong))cmd_ill, /* reserve_track */
1817 cdr_write_simul,
1818- (int(*)(track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1819- (int(*)(SCSI *usalp, cdr_t *, track_t *))cmd_dummy, /* send_cue */
1820- (int(*)(SCSI *, cdr_t *, track_t *))cmd_dummy, /* leadin */
1821+ (int(*)(wodim_track_t *, void *, BOOL))cmd_dummy, /* gen_cue */
1822+ (int(*)(SCSI *usalp, cdr_t *, wodim_track_t *))cmd_dummy, /* send_cue */
1823+ (int(*)(SCSI *, cdr_t *, wodim_track_t *))cmd_dummy, /* leadin */
1824 open_track_simul,
1825 close_track_simul,
1826 open_session_simul,
1827@@ -249,7 +249,7 @@ speed_select_simul(SCSI *usalp, cdr_t *d
1828 }
1829
1830 static int
1831-next_wr_addr_simul(SCSI *usalp, track_t *trackp, long *ap)
1832+next_wr_addr_simul(SCSI *usalp, wodim_track_t *trackp, long *ap)
1833 {
1834 /*
1835 * This will most likely not 100% correct for TAO CDs
1836@@ -345,14 +345,14 @@ cdr_write_simul(SCSI *usalp, caddr_t bp
1837 }
1838
1839 static int
1840-open_track_simul(SCSI *usalp, cdr_t *dp, track_t *trackp)
1841+open_track_simul(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1842 {
1843 sleep_min = 999 * 1000000;
1844 return (0);
1845 }
1846
1847 static int
1848-close_track_simul(SCSI *usalp, cdr_t *dp, track_t *trackp)
1849+close_track_simul(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1850 {
1851 if (lverbose) {
1852 printf("Remaining reserve time in drive buffer: %d.%3.3d ms\n",
1853@@ -368,14 +368,14 @@ close_track_simul(SCSI *usalp, cdr_t *dp
1854 }
1855
1856 static int
1857-open_session_simul(SCSI *usalp, cdr_t *dp, track_t *trackp)
1858+open_session_simul(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1859 {
1860 simul_nwa = 0L;
1861 return (0);
1862 }
1863
1864 static int
1865-fixate_simul(SCSI *usalp, cdr_t *dp, track_t *trackp)
1866+fixate_simul(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1867 {
1868 return (0);
1869 }
1870diff -up cdiopara/wodim/drv_sony.c.wrk cdiopara/wodim/drv_sony.c
1871--- cdiopara/wodim/drv_sony.c.wrk 2013-06-25 18:42:41.039821118 +0200
1872+++ cdiopara/wodim/drv_sony.c 2013-06-25 18:43:35.479307474 +0200
1873@@ -213,12 +213,12 @@ static int write_continue_sony(SCSI *usa
1874 long size, int blocks, BOOL islast);
1875 static int discontinue_sony(SCSI *usalp);
1876 static int write_track_sony(SCSI *usalp, long track, int sectype);
1877-static int close_track_sony(SCSI *usalp, cdr_t *dp, track_t *trackp);
1878+static int close_track_sony(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1879 static int flush_sony(SCSI *usalp, int track);
1880-static int finalize_sony(SCSI *usalp, cdr_t *dp, track_t *trackp);
1881+static int finalize_sony(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1882 static int recover_sony(SCSI *usalp, cdr_t *dp, int track);
1883 static int set_wr_parameter_sony(SCSI *usalp, caddr_t bp, int size);
1884-static int next_wr_addr_sony(SCSI *usalp, track_t *trackp, long *ap);
1885+static int next_wr_addr_sony(SCSI *usalp, wodim_track_t *trackp, long *ap);
1886 static int reserve_track_sony(SCSI *usalp, unsigned long len);
1887 static int init_sony(SCSI *usalp, cdr_t *dp);
1888 static int getdisktype_sony(SCSI *usalp, cdr_t *dp);
1889@@ -229,14 +229,14 @@ static int next_writable_address_sony(SC
1890 int sectype, int tracktype);
1891 static int new_track_sony(SCSI *usalp, int track, int sectype,
1892 int tracktype);
1893-static int open_track_sony(SCSI *usalp, cdr_t *dp, track_t *trackp);
1894-static int open_session_sony(SCSI *usalp, cdr_t *dp, track_t *trackp);
1895+static int open_track_sony(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1896+static int open_session_sony(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1897 static int abort_session_sony(SCSI *usalp, cdr_t *dp);
1898 static int get_page22_sony(SCSI *usalp, char *mode);
1899-static int gen_cue_sony(track_t *trackp, void *vcuep, BOOL needgap);
1900-static void fillcue(struct sony_cue *cp, int ca, int tno, int idx, int dataform, int scms, msf_t *mp);
1901-static int send_cue_sony(SCSI *usalp, cdr_t *dp, track_t *trackp);
1902-static int write_leadin_sony(SCSI *usalp, cdr_t *dp, track_t *trackp);
1903+static int gen_cue_sony(wodim_track_t *trackp, void *vcuep, BOOL needgap);
1904+static void fillcue(struct sony_cue *cp, int ca, int tno, int idx, int dataform, int scms, wodim_msf_t *mp);
1905+static int send_cue_sony(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1906+static int write_leadin_sony(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
1907 static int sony_attach(SCSI *usalp, cdr_t *dp);
1908 #ifdef SONY_DEBUG
1909 static void print_sony_mp22(struct sony_924_mode_page_22 *xp, int len);
1910@@ -383,7 +383,7 @@ write_track_sony(SCSI *usalp,
1911
1912 /* XXX NOCH NICHT FERTIG */
1913 static int
1914-close_track_sony(SCSI *usalp, cdr_t *dp, track_t *trackp)
1915+close_track_sony(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1916 {
1917 register struct usal_cmd *scmd = usalp->scmd;
1918 int track = 0;
1919@@ -420,7 +420,7 @@ close_track_sony(SCSI *usalp, cdr_t *dp,
1920 }
1921
1922 static int
1923-finalize_sony(SCSI *usalp, cdr_t *dp, track_t *trackp)
1924+finalize_sony(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1925 {
1926 register struct usal_cmd *scmd = usalp->scmd;
1927 int dummy = track_base(trackp)->tracktype & TOCF_DUMMY;
1928@@ -517,7 +517,7 @@ set_wr_parameter_sony(SCSI *usalp, caddr
1929 }
1930
1931 static int
1932-next_wr_addr_sony(SCSI *usalp, track_t *trackp, long *ap)
1933+next_wr_addr_sony(SCSI *usalp, wodim_track_t *trackp, long *ap)
1934 {
1935 if (next_writable_address_sony(usalp, ap, 0, 0, 0) < 0)
1936 return (-1);
1937@@ -559,7 +559,7 @@ getdisktype_sony(SCSI *usalp, cdr_t *dp)
1938 dstat_t *dsp = dp->cdr_dstat;
1939 long dummy;
1940 long lst;
1941- msf_t msf;
1942+ wodim_msf_t msf;
1943
1944 char mode[256];
1945 struct scsi_mode_page_header *mp;
1946@@ -626,7 +626,7 @@ getdisktype_sony(SCSI *usalp, cdr_t *dp)
1947 static void
1948 di_to_dstat_sony(struct sony_924_mode_page_22 *dip, dstat_t *dsp)
1949 {
1950- msf_t msf;
1951+ wodim_msf_t msf;
1952
1953 dsp->ds_diskid = a_to_u_4_byte(dip->disk_id_code);
1954 #ifdef PROTOTYPES
1955@@ -841,7 +841,7 @@ new_track_sony(SCSI *usalp, int track, i
1956 }
1957
1958 static int
1959-open_track_sony(SCSI *usalp, cdr_t *dp, track_t *trackp)
1960+open_track_sony(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1961 {
1962 if (!is_tao(trackp) && !is_packet(trackp)) {
1963 if (trackp->pregapsize > 0 && (trackp->flags & TI_PREGAP) == 0) {
1964@@ -874,7 +874,7 @@ open_track_sony(SCSI *usalp, cdr_t *dp,
1965 }
1966
1967 static int
1968-open_session_sony(SCSI *usalp, cdr_t *dp, track_t *trackp)
1969+open_session_sony(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
1970 {
1971 struct scsi_mode_page_header *mp;
1972 char mode[256];
1973@@ -994,7 +994,7 @@ static Uchar db2df[] = {
1974 };
1975
1976 static int
1977-gen_cue_sony(track_t *trackp, void *vcuep, BOOL needgap)
1978+gen_cue_sony(wodim_track_t *trackp, void *vcuep, BOOL needgap)
1979 {
1980 int tracks = trackp->tracks;
1981 int i;
1982@@ -1004,7 +1004,7 @@ gen_cue_sony(track_t *trackp, void *vcue
1983 int ncue = 0;
1984 int icue = 0;
1985 int pgsize;
1986- msf_t m;
1987+ wodim_msf_t m;
1988 int ctl;
1989 int df;
1990 int scms;
1991@@ -1110,7 +1110,7 @@ fillcue(struct sony_cue *cp /* The t
1992 int idx /* Index for this entry */,
1993 int dataform /* Data format for this entry */,
1994 int scms /* Serial copy management */,
1995- msf_t *mp /* MSF value for this entry */)
1996+ wodim_msf_t *mp /* MSF value for this entry */)
1997 {
1998 cp->cs_ctladr = ca;
1999 if (tno <= 99)
2000@@ -1126,7 +1126,7 @@ fillcue(struct sony_cue *cp /* The t
2001 }
2002
2003 static int
2004-send_cue_sony(SCSI *usalp, cdr_t *dp, track_t *trackp)
2005+send_cue_sony(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
2006 {
2007 struct sony_cue *cp;
2008 int ncue;
2009@@ -1169,7 +1169,7 @@ send_cue_sony(SCSI *usalp, cdr_t *dp, tr
2010 }
2011
2012 static int
2013-write_leadin_sony(SCSI *usalp, cdr_t *dp, track_t *trackp)
2014+write_leadin_sony(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
2015 {
2016 Uint i;
2017 long startsec = 0L;
2018diff -up cdiopara/wodim/fifo.c.wrk cdiopara/wodim/fifo.c
2019--- cdiopara/wodim/fifo.c.wrk 2013-06-25 18:47:09.024350983 +0200
2020+++ cdiopara/wodim/fifo.c 2013-06-25 18:47:35.540614992 +0200
2021@@ -194,15 +194,15 @@ static char *mkbeosshm(int size);
2022 static void beosshm_child(void);
2023 #endif
2024
2025-BOOL init_faio(track_t *trackp, int);
2026+BOOL init_faio(wodim_track_t *trackp, int);
2027 BOOL await_faio(void);
2028 void kill_faio(void);
2029 int wait_faio(void);
2030-static void faio_reader(track_t *trackp);
2031-static void faio_read_track(track_t *trackp);
2032+static void faio_reader(wodim_track_t *trackp);
2033+static void faio_read_track(wodim_track_t *trackp);
2034 static void faio_wait_on_buffer(faio_t *f, fowner_t s, unsigned long delay,
2035 unsigned long max_wait);
2036-static int faio_read_segment(int fd, faio_t *f, track_t *track, long secno,
2037+static int faio_read_segment(int fd, faio_t *f, wodim_track_t *track, long secno,
2038 int len);
2039 static faio_t *faio_ref(int n);
2040 int faio_read_buf(int f, char *bp, int size);
2041@@ -425,7 +425,7 @@ static BOOL faio_didwait;
2042
2043
2044 BOOL
2045-init_faio(track_t *trackp, int bufsize)
2046+init_faio(wodim_track_t *trackp, int bufsize)
2047 {
2048 int n;
2049 faio_t *f;
2050@@ -582,7 +582,7 @@ wait_faio()
2051 }
2052
2053 static void
2054-faio_reader(track_t *trackp)
2055+faio_reader(wodim_track_t *trackp)
2056 {
2057 /* This function should not return, but _exit. */
2058 Uint trackno;
2059@@ -623,7 +623,7 @@ faio_ref(int n)
2060
2061
2062 static void
2063-faio_read_track(track_t *trackp)
2064+faio_read_track(wodim_track_t *trackp)
2065 {
2066 int fd = -1;
2067 int bytespt = trackp->secsize * trackp->secspt;
2068@@ -704,7 +704,7 @@ faio_wait_on_buffer(faio_t *f, fowner_t
2069 }
2070
2071 static int
2072-faio_read_segment(int fd, faio_t *f, track_t *trackp, long secno, int len)
2073+faio_read_segment(int fd, faio_t *f, wodim_track_t *trackp, long secno, int len)
2074 {
2075 int l;
2076
2077@@ -821,7 +821,7 @@ fifo_percent(BOOL addone)
2078 #include "wodim.h"
2079
2080 void init_fifo(long);
2081-BOOL init_faio(track_t *track, int);
2082+BOOL init_faio(wodim_track_t *track, int);
2083 BOOL await_faio(void);
2084 void kill_faio(void);
2085 int wait_faio(void);
2086@@ -836,7 +836,7 @@ void init_fifo(long fs)
2087 errmsgno(EX_BAD, "Fifo not supported.\n");
2088 }
2089
2090-BOOL init_faio(track_t *track,
2091+BOOL init_faio(wodim_track_t *track,
2092 int bufsize /* The size of a single transfer buffer */)
2093 {
2094 return (FALSE);
2095diff -up cdiopara/wodim/movesect.c.wrk cdiopara/wodim/movesect.c
2096--- cdiopara/wodim/movesect.c.wrk 2013-06-25 15:42:48.986166461 +0200
2097+++ cdiopara/wodim/movesect.c 2013-06-25 15:43:07.045269496 +0200
2098@@ -37,7 +37,7 @@
2099 #include "wodim.h"
2100 #include "movesect.h"
2101
2102-void scatter_secs(track_t *trackp, char *bp, int nsecs);
2103+void scatter_secs(wodim_track_t *trackp, char *bp, int nsecs);
2104
2105 /*
2106 * Scatter input sector size records over buffer to make them
2107@@ -69,7 +69,7 @@ void scatter_secs(track_t *trackp, char
2108 * Sector_0 must never be moved.
2109 */
2110 void
2111-scatter_secs(track_t *trackp, char *bp, int nsecs)
2112+scatter_secs(wodim_track_t *trackp, char *bp, int nsecs)
2113 {
2114 char *from;
2115 char *to;
2116diff -up cdiopara/wodim/movesect.h.wrk cdiopara/wodim/movesect.h
2117--- cdiopara/wodim/movesect.h.wrk 2013-06-25 15:42:19.921000633 +0200
2118+++ cdiopara/wodim/movesect.h 2013-06-25 15:42:35.156087555 +0200
2119@@ -40,6 +40,6 @@
2120 #define fill2048(p, val) fillbytes(p, 2048, val)
2121 #define fill96(p, val) fillbytes(p, 96, val)
2122
2123-extern void scatter_secs(track_t *trackp, char *bp, int nsecs);
2124+extern void scatter_secs(wodim_track_t *trackp, char *bp, int nsecs);
2125
2126 #endif
2127diff -up cdiopara/wodim/sector.c.wrk cdiopara/wodim/sector.c
2128--- cdiopara/wodim/sector.c.wrk 2013-06-25 18:53:58.999549774 +0200
2129+++ cdiopara/wodim/sector.c 2013-06-25 18:54:25.509826416 +0200
2130@@ -55,8 +55,8 @@
2131 #endif
2132
2133 int encspeed(BOOL be_verbose);
2134-void encsectors(track_t *trackp, Uchar *bp, int address, int nsecs);
2135-void scrsectors(track_t *trackp, Uchar *bp, int address, int nsecs);
2136+void encsectors(wodim_track_t *trackp, Uchar *bp, int address, int nsecs);
2137+void scrsectors(wodim_track_t *trackp, Uchar *bp, int address, int nsecs);
2138 void encodesector(Uchar *sp, int sectype, int address);
2139 void fillsector(Uchar *sp, int sectype, int address);
2140
2141@@ -105,7 +105,7 @@ void fillsector(Uchar *sp, int sectype,
2142 int
2143 encspeed(BOOL be_verbose)
2144 {
2145- track_t t[1];
2146+ wodim_track_t t[1];
2147 Uchar sect[2352];
2148 int i;
2149 struct timeval tv;
2150@@ -141,7 +141,7 @@ encspeed(BOOL be_verbose)
2151 * Encode sectors according to trackp->sectype
2152 */
2153 void
2154-encsectors(track_t *trackp, Uchar *bp, int address, int nsecs)
2155+encsectors(wodim_track_t *trackp, Uchar *bp, int address, int nsecs)
2156 {
2157 int sectype = trackp->sectype;
2158
2159@@ -169,7 +169,7 @@ encsectors(track_t *trackp, Uchar *bp, i
2160 * Scramble data sectors without coding (needed for clone writing)
2161 */
2162 void
2163-scrsectors(track_t *trackp, Uchar *bp, int address, int nsecs)
2164+scrsectors(wodim_track_t *trackp, Uchar *bp, int address, int nsecs)
2165 {
2166 /*
2167 * In Clone write mode, we cannot expect that the sector type
2168@@ -187,7 +187,7 @@ scrsectors(track_t *trackp, Uchar *bp, i
2169 }
2170 #else
2171 void
2172-scrsectors(track_t *trackp, Uchar *bp, int address, int nsecs)
2173+scrsectors(wodim_track_t *trackp, Uchar *bp, int address, int nsecs)
2174 {
2175 comerrno(EX_BAD, "Cannot write in clone RAW mode.\n");
2176 }
2177diff -up cdiopara/wodim/subchan.c.wrk cdiopara/wodim/subchan.c
2178--- cdiopara/wodim/subchan.c.wrk 2013-06-27 15:23:49.864130939 +0200
2179+++ cdiopara/wodim/subchan.c 2013-06-27 15:24:59.699507721 +0200
2180@@ -43,14 +43,14 @@
2181 #include "wodim.h"
2182 #include "crc16.h"
2183
2184-int do_leadin(track_t *trackp);
2185-int write_leadin(SCSI *usalp, cdr_t *dp, track_t *trackp, int leadinstart);
2186-int write_leadout(SCSI *usalp, cdr_t *dp, track_t *trackp);
2187-void fillsubch(track_t *trackp, Uchar *sp, int secno, int nsecs);
2188-void filltpoint(Uchar *sub, int ctrl_adr, int point, msf_t *mp);
2189-void fillttime(Uchar *sub, msf_t *mp);
2190-static void filldsubq(Uchar *sub, int ca, int t, int i, msf_t *mrp,
2191- msf_t *mp);
2192+int do_leadin(wodim_track_t *trackp);
2193+int write_leadin(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp, int leadinstart);
2194+int write_leadout(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp);
2195+void fillsubch(wodim_track_t *trackp, Uchar *sp, int secno, int nsecs);
2196+void filltpoint(Uchar *sub, int ctrl_adr, int point, wodim_msf_t *mp);
2197+void fillttime(Uchar *sub, wodim_msf_t *mp);
2198+static void filldsubq(Uchar *sub, int ca, int t, int i, wodim_msf_t *mrp,
2199+ wodim_msf_t *mp);
2200 static void fillmcn(Uchar *sub, Uchar *mcn);
2201 static void fillisrc(Uchar *sub, Uchar *isrc);
2202 static int ascii2q(int c);
2203@@ -58,7 +58,7 @@ static void qpto16(Uchar *sub, Uchar *su
2204 void qpto96(Uchar *sub, Uchar *subq, int dop);
2205 void addrw(Uchar *sub, Uchar *subrwptr);
2206 void qwto16(Uchar *subq, Uchar *subptr);
2207-void subrecodesecs(track_t *trackp, Uchar *bp, int address, int nsecs);
2208+void subrecodesecs(wodim_track_t *trackp, Uchar *bp, int address, int nsecs);
2209 static void subinterleave(Uchar *sub);
2210
2211 /*#define TEST_CRC*/
2212@@ -93,10 +93,10 @@ extern int xdebug;
2213 * Prepare master sunchannel data for RAW TOC.
2214 */
2215 int
2216-do_leadin(track_t *trackp)
2217+do_leadin(wodim_track_t *trackp)
2218 {
2219 int tracks = trackp->tracks;
2220- msf_t m;
2221+ wodim_msf_t m;
2222 int ctrl;
2223 int i;
2224 int toctype = trackp[0].tracktype & TOC_MASK;
2225@@ -183,9 +183,9 @@ do_leadin(track_t *trackp)
2226 * subchannel frames for the lead-in.
2227 */
2228 int
2229-write_leadin(SCSI *usalp, cdr_t *dp, track_t *trackp, int leadinstart)
2230+write_leadin(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp, int leadinstart)
2231 {
2232- msf_t m;
2233+ wodim_msf_t m;
2234 int i;
2235 Uint j;
2236 Uchar *bp = usalp->bufptr;
2237@@ -198,7 +198,7 @@ write_leadin(SCSI *usalp, cdr_t *dp, tra
2238 int startsec;
2239 long bytes = 0L;
2240 int textoff = 0;
2241- msf_t msf;
2242+ wodim_msf_t msf;
2243
2244 secsize = trackp[0].secsize;
2245 secspt = trackp[0].secspt;
2246@@ -292,11 +292,11 @@ write_leadin(SCSI *usalp, cdr_t *dp, tra
2247 * Write Track 0xAA (lead-out)
2248 */
2249 int
2250-write_leadout(SCSI *usalp, cdr_t *dp, track_t *trackp)
2251+write_leadout(SCSI *usalp, cdr_t *dp, wodim_track_t *trackp)
2252 {
2253 int tracks = trackp->tracks;
2254- msf_t m;
2255- msf_t mr;
2256+ wodim_msf_t m;
2257+ wodim_msf_t mr;
2258 int ctrl;
2259 int i;
2260 int j;
2261@@ -313,7 +313,7 @@ write_leadout(SCSI *usalp, cdr_t *dp, tr
2262 int leadoutstart;
2263 Uchar sub[12];
2264 BOOL p;
2265- msf_t msf;
2266+ wodim_msf_t msf;
2267
2268 fillbytes(sub, 12, '\0');
2269
2270@@ -397,13 +397,13 @@ write_leadout(SCSI *usalp, cdr_t *dp, tr
2271 * the data part of a CD (bewteen lead-in and lead-out).
2272 */
2273 void
2274-fillsubch(track_t *trackp,
2275+fillsubch(wodim_track_t *trackp,
2276 Uchar *sp /* Sector data pointer */,
2277 int secno /* Starting sector # */,
2278 int nsecs /* # of sectors to fill */)
2279 {
2280- msf_t m;
2281- msf_t mr;
2282+ wodim_msf_t m;
2283+ wodim_msf_t mr;
2284 int ctrl;
2285 int i;
2286 int rsecno;
2287@@ -563,7 +563,7 @@ static Uchar lastindex = 255;
2288