Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Alexander Peresunko                  2:5020/400     15 Apr 2002  15:30:04
 To : All
 Subject : CDROM speed limit
 -------------------------------------------------------------------------------- 
 
 Хай All!
 
 Hаверное многих (в том числе и меня) достает шум CDROM'а при 
 просмотре фильмов/прослушывании музыки. 
 Вот, что я сочинил на эту тему. Тестировал на вот этом:
 
 $grep CD /var/run/dmesg.boot
 acd0: CD-RW <Hewlett-Packard CD-Writer Plus 8200a> at ata1-master PIO4
 
 $uname -srm
 FreeBSD 4.5-STABLE i386
 
 работает, правда только некоторые скорости принимает (привод).
 Пробуйте. Hа свой страх и риск :)
 
 $cat cdspeed.c
 
 /*
  *  CD-ROM read speed limit utility
  *
  *  This program may be freely redistributed.
  *
  *  Copyright (c) 2002 Alexander Peresunko
  *
  */
 
 #include <unistd.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <sysexits.h>
 #include <fcntl.h>
 #include <sys/ioctl.h>
 #include <sys/cdio.h>
 #include <sys/cdrio.h> 
 
 static int fd;
 
 void usage(void);
 
 int
 main(int argc, char **argv)
 {
   int ch;
   int speed = 10, transfer;
   const char *dev = "/dev/acd0c";
 
   if (argc == 1)
    usage();
 
   while ((ch = getopt(argc, argv, "f:s:")) != -1) {
    switch ((char)ch) {
    case 'f':
       dev = optarg;
       break;
    case 's':
       speed = atoi(optarg);
       if (speed <= 0)
        errx(EX_USAGE, "Invalid speed: %s", optarg);
       break;
    default:
       usage();
                 }
   }
   argc -= optind;
   argv += optind;
   if ((fd = open(dev, O_RDWR, 0)) < 0)
    err(EX_NOINPUT, "open(%s)", dev);
 
   transfer = speed * 150;
   printf("Setting up \"%s\" read speed to %d Kbytes/s...", dev, transfer);
 
   if (ioctl(fd, CDRIOCREADSPEED, &speed) < 0) 
    err(EX_IOERR, "ioctl(CDRIOCREADSPEED)");
   else    
    printf(" done.\n");
 
   close(fd);
   exit(EX_OK);
 }
 
 void
 usage(void)
 {
   fprintf(stderr,
       "Usage: %s [-f device] [-s speed]\n", getprogname());
   exit(EX_USAGE);
 }
 -- 
 Best regards, Alexander Peresunko.
 
 --- ifmail v.2.15dev5
  * Origin: Somewhere in a space (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 CDROM speed limit   Alexander Peresunko   15 Apr 2002 15:30:04 
 Re: CDROM speed limit   Gleb Smirnoff   16 Apr 2002 01:15:37 
 Re: CDROM speed limit   Alexander Peresunko   16 Apr 2002 12:19:14 
 Re: CDROM speed limit   Serge Negodyuck   16 Apr 2002 16:23:40 
 Re: CDROM speed limit   Alexander Peresunko   16 Apr 2002 18:00:08 
 Re: CDROM speed limit   Valentin A. Alekseev   16 Apr 2002 01:01:46 
 Re: CDROM speed limit   Alexander Peresunko   16 Apr 2002 12:13:03 
Архивное /ru.unix.bsd/6436e1f1b3b9.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional