Pular para o conteúdo

Ejetor

Código que tem a função do eject cdrom, mas ele só faz o CD-ROM voltar, e não sair.
Lord Arthas Menethil Dark_Avatar
Hits: 7.443 Categoria: C/C++ Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Código que tem a função do eject cdrom, mas ele só faz o CD-ROM voltar, e não sair.
Download ejetor.c Enviar nova versão

Versões atualizadas deste script

Renato Alencar

Versão 2 enviada por Renato Alencar em 17/09/2012

Changelog: Ejeta e fecha o CD ROM.
fcntl.h -> função open e close.
linux/cdrom.h -> macros CDROMEJECT e CDROMCLOSETRAY. Inteiros com os comandos do CD ROM.
getopt.h -> Parser para opções.
sys/ioctl.h -> função ioctl, esta função envia um comando (na forma de inteiro) para um dispositivo.

Download 1347915229.ejetor.c

Esconder código-fonte

#include <fcntl.h>              
#include <stdio.h>              
#include <stdlib.h>             
#include <sys/types.h>          
#include <linux/cdrom.h>        
#include <sys/ioctl.h>          
#include <sys/stat.h>           
#include <unistd.h>             
                                
int main()                      
{                               
        int fd = open("/dev/hdc", O_RDONLY);
        ioctl(fd, CDROMEJECT);  
        close(fd);              
}                          

Jogo da Velha com IA invencivel

Gerenciamento de Área de Alocação Dinâmica (Listas Encadeadas)

Emulador de Chip8 (com gráficos)

Arquivos utilizados no artigo: "Desenvolvendo um plugin para o XMMS"

Vetor de lista

#1 Comentário enviado por Djalma_Jr em 25/09/2012 - 06:29h
E ai véi, bão, então testei seu programa aqui e não rolou não! Tem alguma coisa para fazer nele?
#2 Comentário enviado por tinti em 25/09/2012 - 20:20h
Muito boa a dica!

Comigo não funcionou também (de início). Com a versão do Renato funcionou aqui. Mas se você rodar 'strace eject /dev/sr0' você vai ver que ele usa 'open("/dev/sr0", O_RDWR|O_NONBLOCK)'. Depois que eu troquei funcionou perfeitamente.

O comando 'eject' faz exatemente isso, mas tendo o código é bem mais legal :)

Contribuir com comentário

Entre na sua conta para comentar.