1 # --- T2-COPYRIGHT-NOTE-BEGIN ---
2 # T2 SDE: package/*/cdparanoia/gcc.patch.musl
3 # Copyright (C) 2022 The T2 SDE Project
5 # This Copyright note is generated by scripts/Create-CopyPatch,
6 # more information can be found in the files COPYING and README.
8 # This patch file is dual-licensed. It is available under the license the
9 # patched project is licensed under, as long as it is an OpenSource license
10 # as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
11 # of the GNU General Public License version 2 as used by the T2 SDE.
12 # --- T2-COPYRIGHT-NOTE-END ---
14 Index: interface/test_interface.c
15 ===================================================================
16 --- a/interface/test_interface.c (Revision 15337)
17 +++ b/interface/test_interface.c (Revision 15340)
19 if(!fd)fd=fdopen(d->cdda_fd,"r");
22 - d->private->last_milliseconds=20;
23 + d->private_data->last_milliseconds=20;
25 - d->private->last_milliseconds=sectors;
26 + d->private_data->last_milliseconds=sectors;
28 #ifdef CDDA_TEST_UNDERRUN
30 Index: interface/cdda_interface.h
31 ===================================================================
32 --- a/interface/cdda_interface.h (Revision 15337)
33 +++ b/interface/cdda_interface.h (Revision 15340)
38 - cdda_private_data_t *private;
39 + cdda_private_data_t *private_data;
41 unsigned char inqbytes[4];
43 Index: interface/interface.c
44 ===================================================================
45 --- a/interface/interface.c (Revision 15337)
46 +++ b/interface/interface.c (Revision 15340)
48 if(d->drive_model)free(d->drive_model);
49 if(d->cdda_fd!=-1)close(d->cdda_fd);
50 if(d->ioctl_fd!=-1 && d->ioctl_fd!=d->cdda_fd)close(d->ioctl_fd);
52 - if(d->private->sg_hd)free(d->private->sg_hd);
54 + if(d->private_data){
55 + if(d->private_data->sg_hd)free(d->private_data->sg_hd);
56 + free(d->private_data);
64 - if(ms)*ms=d->private->last_milliseconds;
65 + if(ms)*ms=d->private_data->last_milliseconds;
69 Index: interface/scsi_interface.c
70 ===================================================================
71 --- a/interface/scsi_interface.c (Revision 15337)
72 +++ b/interface/scsi_interface.c (Revision 15340)
74 static int timed_ioctl(cdrom_drive *d, int fd, int command, void *arg){
77 - int ret1=clock_gettime(d->private->clock,&tv1);
78 + int ret1=clock_gettime(d->private_data->clock,&tv1);
79 int ret2=ioctl(fd, command,arg);
80 - int ret3=clock_gettime(d->private->clock,&tv2);
81 + int ret3=clock_gettime(d->private_data->clock,&tv2);
83 - d->private->last_milliseconds=-1;
84 + d->private_data->last_milliseconds=-1;
86 - d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
87 + d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
92 static void clear_garbage(cdrom_drive *d){
95 - struct sg_header *sg_hd=d->private->sg_hd;
96 + struct sg_header *sg_hd=d->private_data->sg_hd;
99 /* clear out any possibly preexisting garbage */
104 - struct sg_header *sg_hd=d->private->sg_hd;
105 + struct sg_header *sg_hd=d->private_data->sg_hd;
106 long writebytes=SG_OFF+cmd_len+in_size;
108 /* generic scsi device services */
111 memset(sg_hd,0,sizeof(sg_hd));
112 memset(sense_buffer,0,SG_MAX_SENSE);
113 - memcpy(d->private->sg_buffer,cmd,cmd_len+in_size);
114 + memcpy(d->private_data->sg_buffer,cmd,cmd_len+in_size);
115 sg_hd->twelve_byte = cmd_len == 12;
117 sg_hd->reply_len = SG_OFF + out_size;
119 tell if the command failed. Scared yet? */
121 if(bytecheck && out_size>in_size){
122 - memset(d->private->sg_buffer+cmd_len+in_size,bytefill,out_size-in_size);
123 + memset(d->private_data->sg_buffer+cmd_len+in_size,bytefill,out_size-in_size);
124 /* the size does not remove cmd_len due to the way the kernel
125 driver copies buffers */
126 writebytes+=(out_size-in_size);
130 sigprocmask (SIG_BLOCK, &(d->sigset), NULL );
131 - tret1=clock_gettime(d->private->clock,&tv1);
132 + tret1=clock_gettime(d->private_data->clock,&tv1);
134 status = write(d->cdda_fd, sg_hd, writebytes );
140 - tret2=clock_gettime(d->private->clock,&tv2);
141 + tret2=clock_gettime(d->private_data->clock,&tv2);
143 status = read(d->cdda_fd, sg_hd, SG_OFF + out_size);
144 sigprocmask ( SIG_UNBLOCK, &(d->sigset), NULL );
146 if(bytecheck && in_size+cmd_len<out_size){
148 for(i=in_size;i<out_size;i++)
149 - if(d->private->sg_buffer[i]!=bytefill){
150 + if(d->private_data->sg_buffer[i]!=bytefill){
157 if(tret1<0 || tret2<0){
158 - d->private->last_milliseconds=-1;
159 + d->private_data->last_milliseconds=-1;
161 - d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000 + (tv2.tv_nsec-tv1.tv_nsec)/1000000;
162 + d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000 + (tv2.tv_nsec-tv1.tv_nsec)/1000000;
168 memset(&hdr,0,sizeof(hdr));
169 memset(sense,0,sizeof(sense));
170 - memcpy(d->private->sg_buffer,cmd+cmd_len,in_size);
171 + memcpy(d->private_data->sg_buffer,cmd+cmd_len,in_size);
174 hdr.cmd_len = cmd_len;
176 hdr.mx_sb_len = SG_MAX_SENSE;
178 hdr.interface_id = 'S';
179 - hdr.dxferp = d->private->sg_buffer;
180 + hdr.dxferp = d->private_data->sg_buffer;
181 hdr.flags = SG_FLAG_DIRECT_IO; /* direct IO if we can get it */
183 /* scary buffer fill hack */
185 if(bytecheck && in_size<out_size){
187 for(i=in_size;i<out_size;i++)
188 - if(d->private->sg_buffer[i]!=bytefill){
189 + if(d->private_data->sg_buffer[i]!=bytefill){
196 /* Can't rely on .duration because we can't be certain kernel has HZ set to something useful */
197 - /* d->private->last_milliseconds = hdr.duration; */
198 + /* d->private_data->last_milliseconds = hdr.duration; */
204 handle_scsi_cmd(d, cmd, 6, 0, 56, 0,0, sense);
206 - key = d->private->sg_buffer[2] & 0xf;
207 - ASC = d->private->sg_buffer[12];
208 - ASCQ = d->private->sg_buffer[13];
209 + key = d->private_data->sg_buffer[2] & 0xf;
210 + ASC = d->private_data->sg_buffer[12];
211 + ASCQ = d->private_data->sg_buffer[13];
213 if(key == 2 && ASC == 4 && ASCQ == 1) return 0;
216 if (handle_scsi_cmd (d, cmd, 10, 0, size+4,'\377',1,sense)) return(1);
219 - unsigned char *b=d->private->sg_buffer;
220 + unsigned char *b=d->private_data->sg_buffer;
221 if(b[0])return(1); /* Handles only up to 256 bytes */
222 if(b[6])return(1); /* Handles only up to 256 bytes */
225 static unsigned int get_orig_sectorsize(cdrom_drive *d){
226 if(mode_sense(d,12,0x01))return(-1);
228 - d->orgdens = d->private->sg_buffer[4];
229 - return(d->orgsize = ((int)(d->private->sg_buffer[10])<<8)+d->private->sg_buffer[11]);
230 + d->orgdens = d->private_data->sg_buffer[4];
231 + return(d->orgsize = ((int)(d->private_data->sg_buffer[10])<<8)+d->private_data->sg_buffer[11]);
234 /* switch CDROM scsi drives to given sector size */
239 - first=d->private->sg_buffer[2];
240 - last=d->private->sg_buffer[3];
241 + first=d->private_data->sg_buffer[2];
242 + last=d->private_data->sg_buffer[3];
245 if (last > MAXTRK || first > MAXTRK || last<0 || first<0) {
250 - scsi_TOC *toc=(scsi_TOC *)(d->private->sg_buffer+4);
251 + scsi_TOC *toc=(scsi_TOC *)(d->private_data->sg_buffer+4);
253 d->disc_toc[i-first].bFlags=toc->bFlags;
254 d->disc_toc[i-first].bTrack=i;
259 - scsi_TOC *toc=(scsi_TOC *)(d->private->sg_buffer+4);
260 + scsi_TOC *toc=(scsi_TOC *)(d->private_data->sg_buffer+4);
262 d->disc_toc[i-first].bFlags=toc->bFlags;
263 d->disc_toc[i-first].bTrack=0xAA;
267 /* copy to our structure and convert start sector */
268 - tracks = d->private->sg_buffer[1];
269 + tracks = d->private_data->sg_buffer[1];
270 if (tracks > MAXTRK) {
271 cderror(d,"003: CDROM reporting illegal number of tracks\n");
273 @@ -754,33 +754,33 @@
277 - d->disc_toc[i].bFlags = d->private->sg_buffer[10];
278 + d->disc_toc[i].bFlags = d->private_data->sg_buffer[10];
279 d->disc_toc[i].bTrack = i + 1;
281 d->disc_toc[i].dwStartSector= d->adjust_ssize *
282 - (((signed char)(d->private->sg_buffer[2])<<24) |
283 - (d->private->sg_buffer[3]<<16)|
284 - (d->private->sg_buffer[4]<<8)|
285 - (d->private->sg_buffer[5]));
286 + (((signed char)(d->private_data->sg_buffer[2])<<24) |
287 + (d->private_data->sg_buffer[3]<<16)|
288 + (d->private_data->sg_buffer[4]<<8)|
289 + (d->private_data->sg_buffer[5]));
292 d->disc_toc[i].bFlags = 0;
293 d->disc_toc[i].bTrack = i + 1;
294 - memcpy (&foo, d->private->sg_buffer+2, 4);
295 - memcpy (&bar, d->private->sg_buffer+6, 4);
296 + memcpy (&foo, d->private_data->sg_buffer+2, 4);
297 + memcpy (&bar, d->private_data->sg_buffer+6, 4);
298 d->disc_toc[i].dwStartSector = d->adjust_ssize * (be32_to_cpu(foo) +
301 d->disc_toc[i].dwStartSector= d->adjust_ssize *
302 - ((((signed char)(d->private->sg_buffer[2])<<24) |
303 - (d->private->sg_buffer[3]<<16)|
304 - (d->private->sg_buffer[4]<<8)|
305 - (d->private->sg_buffer[5]))+
306 + ((((signed char)(d->private_data->sg_buffer[2])<<24) |
307 + (d->private_data->sg_buffer[3]<<16)|
308 + (d->private_data->sg_buffer[4]<<8)|
309 + (d->private_data->sg_buffer[5]))+
311 - ((((signed char)(d->private->sg_buffer[6])<<24) |
312 - (d->private->sg_buffer[7]<<16)|
313 - (d->private->sg_buffer[8]<<8)|
314 - (d->private->sg_buffer[9]))));
315 + ((((signed char)(d->private_data->sg_buffer[6])<<24) |
316 + (d->private_data->sg_buffer[7]<<16)|
317 + (d->private_data->sg_buffer[8]<<8)|
318 + (d->private_data->sg_buffer[9]))));
321 d->cd_extra = FixupTOC(d,tracks+1);
324 if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
326 - if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
327 + if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
333 if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
335 - if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
336 + if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
342 if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
344 - if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
345 + if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
351 if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
353 - if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
354 + if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
360 if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
362 - if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
363 + if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
369 if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
371 - if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
372 + if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
378 if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
380 - if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
381 + if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
387 if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
389 - if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
390 + if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
396 if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
398 - if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
399 + if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
405 if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
407 - if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
408 + if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
414 if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
416 - if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
417 + if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
423 if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
425 - if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
426 + if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
430 @@ -1026,7 +1026,7 @@
432 if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
434 - if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
435 + if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
439 @@ -1039,7 +1039,7 @@
441 if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
443 - if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
444 + if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
448 @@ -1052,7 +1052,7 @@
450 if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
452 - if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
453 + if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
457 @@ -1275,7 +1275,7 @@
458 static int count_2352_bytes(cdrom_drive *d){
461 - if(d->private->sg_buffer[i]!=(unsigned char)'\177')
462 + if(d->private_data->sg_buffer[i]!=(unsigned char)'\177')
463 return(((i+3)>>2)<<2);
466 @@ -1284,7 +1284,7 @@
467 static int verify_nonzero(cdrom_drive *d){
470 - if(d->private->sg_buffer[i]!=0){
471 + if(d->private_data->sg_buffer[i]!=0){
475 @@ -1621,7 +1621,7 @@
477 if(mode_sense(d,22,0x2A)==0){
479 - b=d->private->sg_buffer;
480 + b=d->private_data->sg_buffer;
483 if((b[0]&0x3F)==0x2A){
484 @@ -1669,7 +1669,7 @@
485 cderror(d,"008: Unable to identify CDROM model\n");
488 - return (d->private->sg_buffer);
489 + return (d->private_data->sg_buffer);
492 int scsi_init_drive(cdrom_drive *d){
493 @@ -1725,8 +1725,8 @@
497 - d->private->sg_hd=realloc(d->private->sg_hd,d->nsectors*CD_FRAMESIZE_RAW + SG_OFF + 128);
498 - d->private->sg_buffer=((unsigned char *)d->private->sg_hd)+SG_OFF;
499 + d->private_data->sg_hd=realloc(d->private_data->sg_hd,d->nsectors*CD_FRAMESIZE_RAW + SG_OFF + 128);
500 + d->private_data->sg_buffer=((unsigned char *)d->private_data->sg_hd)+SG_OFF;
504 Index: interface/cooked_interface.c
505 ===================================================================
506 --- a/interface/cooked_interface.c (Revision 15337)
507 +++ b/interface/cooked_interface.c (Revision 15340)
509 static int timed_ioctl(cdrom_drive *d, int fd, int command, void *arg){
512 - int ret1=clock_gettime(d->private->clock,&tv1);
513 + int ret1=clock_gettime(d->private_data->clock,&tv1);
514 int ret2=ioctl(fd, command,arg);
515 - int ret3=clock_gettime(d->private->clock,&tv2);
516 + int ret3=clock_gettime(d->private_data->clock,&tv2);
517 if(ret1<0 || ret3<0){
518 - d->private->last_milliseconds=-1;
519 + d->private_data->last_milliseconds=-1;
521 - d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
522 + d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
526 Index: interface/scan_devices.c
527 ===================================================================
528 --- a/interface/scan_devices.c (Revision 15337)
529 +++ b/interface/scan_devices.c (Revision 15340)
530 @@ -264,11 +264,11 @@
531 d->interface=COOKED_IOCTL;
532 d->bigendianp=-1; /* We don't know yet... */
534 - d->private=calloc(1,sizeof(*d->private));
535 + d->private_data=calloc(1,sizeof(*d->private_data));
539 - d->private->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
540 + d->private_data->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
542 idmessage(messagedest,messages,"\t\tCDROM sensed: %s\n",description);
544 @@ -674,15 +674,15 @@
545 d->bigendianp=-1; /* We don't know yet... */
547 d->messagedest = messagedest;
548 - d->private=calloc(1,sizeof(*d->private));
549 + d->private_data=calloc(1,sizeof(*d->private_data));
553 - d->private->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
554 + d->private_data->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
557 d->interface=SGIO_SCSI;
558 - d->private->sg_buffer=(unsigned char *)(d->private->sg_hd=malloc(MAX_BIG_BUFF_SIZE));
559 + d->private_data->sg_buffer=(unsigned char *)(d->private_data->sg_hd=malloc(MAX_BIG_BUFF_SIZE));
560 g_fd=d->cdda_fd=dup(d->ioctl_fd);
562 version=verify_SG_version(d,messagedest,messages);
566 /* malloc our big buffer for scsi commands */
567 - d->private->sg_hd=malloc(MAX_BIG_BUFF_SIZE);
568 - d->private->sg_buffer=((unsigned char *)d->private->sg_hd)+SG_OFF;
569 + d->private_data->sg_hd=malloc(MAX_BIG_BUFF_SIZE);
570 + d->private_data->sg_buffer=((unsigned char *)d->private_data->sg_hd)+SG_OFF;
575 if(i_fd!=-1)close(i_fd);
576 if(g_fd!=-1)close(g_fd);
579 - if(d->private->sg_hd)free(d->private->sg_hd);
581 + if(d->private_data){
582 + if(d->private_data->sg_hd)free(d->private_data->sg_hd);
583 + free(d->private_data);
588 d->interface=TEST_INTERFACE;
589 d->bigendianp=-1; /* We don't know yet... */
591 - d->private=calloc(1,sizeof(*d->private));
592 + d->private_data=calloc(1,sizeof(*d->private_data));
593 d->drive_model=copystring("File based test interface");
594 idmessage(messagedest,messages,"\t\tCDROM sensed: %s\n",d->drive_model);