Autor Tema: Abrir la Bandeja del CD  (Leído 285 veces)

4ng3r

  • IQ
  • Mensajes: 145
    • Ver Perfil
    • 4ng3r Blog
    • Email
Abrir la Bandeja del CD
« : abril 26, 2010, 07:17:47 am »
Abrir la Bandeja del CD

Este es un c

Phicar

  • :P
  • Administrador
  • Mensajes: 283
  • (1+sqrt(5))/2
    • MSN Messenger - diego_villahacker@hotmail.com
    • Ver Perfil
    • Phicar's Blog
    • Email
Re: Abrir la Bandeja del CD
« Respuesta #1 : abril 26, 2010, 02:57:43 pm »
Muy util, gracias!..

pa los linuxeros, cuestion de bash

eject

y pos pa los que no son amigos de la linea pero le dan a los lenguajes o lo necesitan...pos importan la libreria "linux/cdrom"

ahi encontraran una funcion llamada open con argumentos el device(/dev/cdrom) y se le pasa unas definiciones como lo indica el siguiente header...

Código: [Seleccionar]
* As of Linux 2.1.x, all Linux CD-ROM application programs will use this
 * (and only this) include file.  It is my hope to provide Linux with
 * a uniform interface between software accessing CD-ROMs and the various
 * device drivers that actually talk to the drives.  There may still be
 * 23 different kinds of strange CD-ROM drives, but at least there will
 * now be one, and only one, Linux CD-ROM interface.
 *
 * Additionally, as of Linux 2.1.x, all Linux application programs
 * should use the O_NONBLOCK option when opening a CD-ROM device
 * for subsequent ioctl commands.  This allows for neat system errors
 * like "No medium found" or "Wrong medium type" upon attempting to
 * mount or play an empty slot, mount an audio disc, or play a data disc.
 * Generally, changing an application program to support O_NONBLOCK
 * is as easy as the following:
 *       -    drive = open("/dev/cdrom", O_RDONLY);
 *       +    drive = open("/dev/cdrom", O_RDONLY | O_NONBLOCK);
 * It is worth the small change.
 *
 *  Patches for many common CD programs (provided by David A. van Leeuwen)
 *  can be found at:  ftp://ftp.gwdg.de/pub/linux/cdrom/drivers/cm206/

Ademas de hacer la apertura, tiene que manejarse o llevarse al driver del dispositivo, para lo cual se usa ioctl para enviarle al driver el comando #define CDROMEJECT      0x5309 /* Ejects the cdrom media */

;) para mas informacion, /usr/include/linux/cdrom.h

Vemos
:)

my.opera.com/phicar