## NAME

           rtl_get_soft_irq,  rtl_free_soft_irq  - install and remove
           software interrupt handlers

## SYNOPSIS

           #include <rtl_core.h>

           int rtl_get_soft_irq (void (*handler)(int, void *,  struct
           pt_regs *), const char * devname);

           void rtl_free_soft_irq(unsigned int irq);

## DESCRIPTION

           These functions are specific to Real-Time Linux.

           rtl_get_soft_irq allocates a software interrupt vector and
           registers the function handler as  the  interrupt  handler
           for  the allocated software interrupt.  The devname string
           is shown in /proc/interrupts for every soft interrupt han
           dler installed.  The software interrupt can later be trig
           gered by the rtl_global_pend_irq(3) function.

           rtl_free_soft_irq uninstalls the specified software inter
           rupt handler.

           The  software  interrupt  handler  will be executed in the
           Linux kernel context so it can call any functions that are
           normally  allowed  to  be called from Linux interrupt han
           dlers.

## RETURN VALUE

           rtl_get_soft_irq returns the allocated  vector  number  on
           success and a negative error code on error.

## ERRORS

           -EBUSY rtl_get_soft_irq:  could  not  allocate  a software
                  interrupt vector.

## NOTES

           These functions can only be called  in  the  Linux  kernel
           mode.

## AUTHOR

           Michael Barabanov <baraban@fsmlabs.com>

## SEE ALSO

           rtl_global_pend_irq(3),