Autodocs Devices:
cd.device CD_ADDCHANGEINT CD_ADDFRAMEINT CD_ATTENUATE CD_CHANGENUM CD_CHANGESTATE CD_CONFIG CD_EJECT CD_GETGEOMETRY CD_INFO CD_MOTOR CD_PAUSE CD_PLAYLSN CD_PLAYMSF CD_PLAYTRACK CD_PROTSTATUS CD_QCODELSN CD_QCODEMSF CD_READ CD_READXL CD_REMCHANGEINT CD_REMFRAMEINT CD_SEARCH CD_SEEK CD_TOCLSN CD_TOCMSF CloseDevice OpenDevice Include GuruMeditation
|
Docs » Autodocs » cd.device » CD_ADDCHANGEINT
CD_ADDCHANGEINT -- add a disk change software interrupt handler.
This command lets you add a software interrupt handler to the disk device that gets invoked whenever a disk insertion or removal occurs. You must pass in a properly initialized Exec Interrupt structure and be prepared to deal with disk insertions/removals immediately. The interrupt is generated by the exec Cause function, so you must preserve A6. To set up the handler, an Interrupt structure must be initialized. This structure is supplied as the io_Data to the CD_ADDCHANGEINT command. The handler then gets linked into the handler chain and gets invoked whenever a disk change happens. You must eventually remove the handler before you exit. This command only returns when the handler is removed. That is, the device holds onto the IO request until the CD_REMCHANGEINT command is executed with that same IO request. Hence, you must use SendIO() with this command. IO REQUEST INPUT io_Device preset by the call to OpenDevice() io_Unit preset by the call to OpenDevice() io_Command CD_ADDCHANGEINT io_Length sizeof(struct Interrupt) io_Data pointer to Interrupt structure IO REQUEST RESULT io_Error - 0 for success, or an error code as defined in <devices/cd.h>
CD_REMCHANGEINT(), <devices/cd.h>, <exec/interrupts.h>, exec.library/Cause()
|