O botão de ejeção é tratado pela própria unidade. Você pode impedir que uma unidade manipule as impressoras de ejeção travando a mídia (comando 1E, impedir / permitir remoção média; scsi_set_medium_removal
no kernel), o que o kernel faz quando um CD é montado, mas fora isso o software não está envolvido no manuseio da ejeção em reação a pressionar o botão de ejeção na unidade.
Na versão do kernel 2.6.34, o comando de carga / descarga (ejetar) do SCSI é chamado GPCMD_START_STOP_UNIT
, e você o encontrará usado em sr_tray_move
in drivers/scsi/sr_ioctl.c
.