spl(9r) 																   spl(9r)

NAME
spl - General: Sets the processor priority to mask different levels of interrupts SYNOPSIS
#include <machine/cpu.h> int getspl( void ); int splbio( void ); int splclock( void ); int spldevhigh( void ); int splextreme( void ); int splhigh( void ); int splimp( void ); int splnet( void ); int splnone( void ); int splsched( void ); int splsoftclock( void ); int spltty( void ); int splvm( void ); int splx( int x ); ARGUMENTS
Specifies a CPU priority level. This level must be a value returned by a previous call to one of the spl routines. DESCRIPTION
The operating system supports the naming of spl routines to indicate the associated device types. Named spl routines make it easier to determine which routine you should use to set the priority level for a given device type. The following table summarizes the uses for the different spl routines: Obtains the spl value. Masks all disk and tape controller interrupts. Masks all hardware clock interrupts. Masks all device and software interrupts. Blocks against all but halt interrupts. Masks all interrupts except for realtime devices, machine checks, and halt interrupts. Masks all LAN hardware interrupts. Masks all network software interrupts. Unmasks (enables) all interrupts. Masks all scheduling interrupts (usually the hardware clock). Masks all software clock interrupts. Masks all tty (terminal device) inter- rupts. Masks all virtual memory clock interrupts. Resets the CPU priority to the level specified by the argument. NOTES
The binding of any spl routine with a specific CPU priority level is highly machine dependent. With the exceptions of the splhigh and splnone routines, knowledge of the explicit bindings is not required to create new device drivers. You always use splhigh to mask (disable) all interrupts and splnone to unmask (enable) all interrupts. RETURN VALUES
Upon successful completion, each spl routine returns an integer value that represents the CPU priority level that existed before it was changed by a call to the specified spl routine. EXAMPLE
The following code fragment shows the use of spl routines as part of a disk strategy routine: int s; . . . s = splbio(); /* Mask (disable) all disk interrupts */ . . . [Code to deal with data that can be modified by the disk interrupt code] . . . splx(s); /* Restore CPU priority to what it was */ spl(9r)