## NAME

           rtl_no_interrupts, rtl_restore_interrupts, rtl_stop_inter
           rupts, rtl_allow_interrupts - control CPU interrupt state

## SYNOPSIS

           #include <rtl_sync.h>

           void rtl_no_interrupts(rtl_irqstate_t state);

           void rtl_restore_interrupts(rtl_irqstate_t& state);

           void rtl_stop_interrupts();

           void rtl_allow_interrupts();

## DESCRIPTION

           These functions are non-portable  Real-Time  Linux  exten
           sions.

           rtl_no_interrupts saves the current state of the processor
           interrupt flags in the variable state  and  then  disables
           the interrupts on this processor.

           rtl_restore_interrupts  is defined as a macro. It uses its
           argument to restore the interrupt state  previously  saved
           with rtl_no_interrupts.

           rtl_stop_interrupts disables the interrupts.

           rtl_stop_interrupts enables the interrupts.

## EXAMPLE

           The following example demonstrates a typical usage.

           {
                rtl_irqstate_t irqstate;

                rtl_no_interrupts(irqstate);
                /* this code runs with interrupts disabled! */
                rtl_restore_interrupts (irqstate);

                /* interrupt state is back to what it was before */
           }

## NOTES

           These functions have effect only on the interrupt flags of
           the current processor.

           Be sure to only  disable  hardware  interrupts  for  short
           periods of time.

## AUTHOR

           Michael Barabanov <baraban@fsmlabs.com>

## SEE ALSO

           rtl_request_irq(3),                        rtl_free_irq(3)
           rtl_hard_enable_irq(3), rtl_hard_disable_irq(3)