DCMD_PROC_IRQS

Get the interrupt handlers owned by the process associated with the file descriptor.

Call this the first time with an argument of NULL to get the number of interrupt handlers:

devctl( fd, DCMD_PROC_IRQS, NULL, 0, &n);

Next, allocate a buffer that's large enough to hold a procfs_irq structure (see debug_irq_t in <sys/debug.h>) for each handler, and pass it to another devctl() call:

my_buffer = (procfs_irq *) malloc( sizeof(procfs_irq) * n );
if ( my_buffer == NULL ) {
  /* Not enough memory. */
}

devctl( fd, DCMD_PROC_IRQS, my_buffer, sizeof(procfs_irq) * n,
        &dummy);