Pular para o conteúdo

Abrir cdrom pedindo direto ao sistema.

Ao contrário dos scripts presentes aqui no VivaoLinux, este script solicita ao sistema a abertura da bandeja do cdrom diretamente, sem
precisar executar "eject".
Perfil removido removido
Hits: 8.713 Categoria: C/C++ Subcategoria: Introdução
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Ao contrário dos scripts presentes aqui no VivaoLinux, este script solicita ao sistema a abertura da bandeja do cdrom diretamente, sem
precisar executar "eject".
Download cdrom.c Enviar nova versão

Esconder código-fonte

/* Um programa besta! Mas útil para estudantes. */

#include <fcntl.h> /* Isso aqui vai declarar O_RDONLY, O_NONBLOCK e afins. */
#include <linux/cdrom.h> /* Isso aqui vai declarar CDROMEJECT, CDROMEJECT e a turma. */
#define CDDEVICE "/dev/cdrom" /* Seu drive de CD. */
int main(int argc,char **argv)
{
   int cdrom; /* A função abaixo vai me retornar um inteiro. Repare que ela pede para abrir CDDEVICE em Modo Ready Only*/
   if ((cdrom = open(CDDEVICE,O_RDONLY | O_NONBLOCK)) < 0) {
      perror("open");
      return(1);
   }
   /* Loop eterno :D */
   for (;;){
      /* CDROM VAI */
      if (ioctl(cdrom,CDROMEJECT,0)<0) {
         perror("ioctl");
         /* Antes de sair apague a luz */
         close(cdrom);
         return(-1);
      }
      /* CDROM VOLTA */
      if (ioctl(cdrom,CDROMCLOSETRAY,0)<0) {
         perror("ioctl");
         /* Antes de sair apague a luz */
         close(cdrom);
         return(-1);
      }
   }
   /* Antes de sair apague a luz */
   close(cdrom);
}

Comando continue

Comando goto

Barra de carregamento (Loading Bar)

[C] Manipulação de vetores/ponteiros

Números perfeitos

#1 Comentário enviado por albertguedes em 22/12/2008 - 15:49h
Opa, um códigozinho com chamada direta de sistema ! Essa é boa. hehehe

Valeu Lucas. Muito legal.
#2 Comentário enviado por pothix em 26/12/2008 - 16:25h
Æ!!

Idéia legal mas código gambiarrento...= /

Há braços

Contribuir com comentário

Entre na sua conta para comentar.