Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 142470 | Differences between
and this patch

Collapse All | Expand All

(-)file_not_specified_in_diff (-9 / +51 lines)
Line  Link Here
0
-- setcd.c
0
++ setcd.c
Lines 1-5 Link Here
1
/* Setcd.c: Set various flags to control the behaviour of your cdrom device.
1
/* Setcd.c: Set various flags to control the behaviour of your cdrom device.
2
   (c) 1997 David A. van Leeuwen
2
   (c) 1997 David A. van Leeuwen
3
   (c) 2004 Thomas Fritzsche <tf@noto.de>
3
4
4
   $Id: setcd.c,v 1.4 1999/08/24 19:07:34 david Exp $
5
   $Id: setcd.c,v 1.4 1999/08/24 19:07:34 david Exp $
5
6
Lines 23-29 Link Here
23
#include <fcntl.h>
24
#include <fcntl.h>
24
#include <ctype.h>		/* tolower */
25
#include <ctype.h>		/* tolower */
25
#include <unistd.h>		/* lseek, read */
26
#include <unistd.h>		/* lseek, read */
26
#include <string.h>		/* strncmp */
27
#include <string.h>		/* strncmp, memset */
27
#include <sys/ioctl.h>		/* ioctl */
28
#include <sys/ioctl.h>		/* ioctl */
28
#include <linux/cdrom.h>
29
#include <linux/cdrom.h>
29
#ifndef CDC_CLOSE_TRAY		/* moved into cdrom.h... */
30
#ifndef CDC_CLOSE_TRAY		/* moved into cdrom.h... */
Lines 248-254 Link Here
248
	  if (set || clear || status)
249
	  if (set || clear || status)
249
	       print_options(flags, set | clear | ~0 * status);
250
	       print_options(flags, set | clear | ~0 * status);
250
	  if (speed>=0) {
251
	  if (speed>=0) {
251
	       if (ioctl(fd, CDROM_SELECT_SPEED, speed)<0) {
252
	       struct cdrom_generic_command cgc;
253
	       struct request_sense sense;
254
	       unsigned char buffer[28];
255
	       unsigned long rw_size;
256
	       memset(&cgc, 0, sizeof(cgc));
257
	       memset(&sense, 0, sizeof(sense));
258
	       memset(&buffer, 0, sizeof(buffer));
259
	       /* SET STREAMING command */ 
260
	       cgc.cmd[0] = 0xb6;
261
	       /* 28 byte parameter list length */
262
	       cgc.cmd[10] = 28;
263
	       cgc.sense = &sense;
264
	       cgc.buffer = buffer;
265
	       cgc.buflen = sizeof(buffer);
266
	       cgc.data_direction = CGC_DATA_WRITE;
267
	       cgc.quiet = 1;
268
	       if(speed == 0) {
269
		    /* set Restore Drive Defaults */  
270
		    buffer[0] = 4;
271
	       }
272
	       buffer[8] = 0xff;
273
	       buffer[9] = 0xff;
274
	       buffer[10] = 0xff;
275
	       buffer[11] = 0xff;
276
	       rw_size = 177 * speed;
277
	       /* read size */
278
	       buffer[12] = (rw_size >> 24) & 0xff;
279
	       buffer[13] = (rw_size >> 16) & 0xff;
280
	       buffer[14] = (rw_size >>  8) & 0xff;
281
	       buffer[15] = rw_size & 0xff;
282
	       /* read time 1 sec. */
283
	       buffer[18] = 0x03;
284
	       buffer[19] = 0xE8;
285
	       /* write size */
286
	       buffer[20] = (rw_size >> 24) & 0xff;
287
	       buffer[21] = (rw_size >> 16) & 0xff;
288
	       buffer[22] = (rw_size >>  8) & 0xff;
289
	       buffer[23] = rw_size & 0xff;
290
	       /* write time 1 sec. */
291
	       buffer[26] = 0x03;
292
	       buffer[27] = 0xE8;
293
	       if ((ioctl(fd, CDROM_SEND_PACKET, &cgc) != 0)
294
			 && (ioctl(fd, CDROM_SELECT_SPEED, speed) < 0)) {
252
		    perror("can't set speed");
295
		    perror("can't set speed");
253
		    exit(-6);
296
		    exit(-6);
254
	       } else {
297
	       } else {
255
-- Makefile
298
++ Makefile
Lines 2-21 Link Here
2
2
3
# rely on default rules of GNU make
3
# rely on default rules of GNU make
4
4
5
prefix=/usr/local
5
prefix=/usr
6
source=$(HOME)/cdrom
6
source=$(HOME)/cdrom
7
revision=1.4
7
revision=1.4
8
8
9
CC=gcc
9
CC=gcc
10
CFLAGS=-g -Wall
10
CFLAGS=-g -Wall -O2
11
INSTALL=install
11
INSTALL=install
12
12
13
default: setcd cdrom-standard.ps
13
default: setcd 
14
14
15
install: setcd cdrom-standard.ps
15
install: setcd 
16
	$(INSTALL) -s -m 0755 setcd $(prefix)/bin/setcd
16
	$(INSTALL) -s -m 0755 setcd $(prefix)/bin/setcd
17
	$(INSTALL) -m 0644 setcd.1 $(prefix)/man/man1
17
	$(INSTALL) -m 0644 setcd.1 $(prefix)/man/man1
18
	$(INSTALL) -m 0644 cdrom-standard.ps $(prefix)/doc/setcd
19
18
20
cdrom-standard.ps: /usr/src/linux/Documentation/cdrom/cdrom-standard.tex
19
cdrom-standard.ps: /usr/src/linux/Documentation/cdrom/cdrom-standard.tex
21
	ln -sf /usr/src/linux/Documentation/cdrom/cdrom-standard.tex .
20
	ln -sf /usr/src/linux/Documentation/cdrom/cdrom-standard.tex .

Return to bug 142470