PSD IRQ MASK

Mask/Unmask IRQ levels.

This function allows masking (disabling), or un-masking (enabling) of IRQ levels. When this function is invoked it should save the state of the interrupt flag, and disable interrupts before performing the mask operation. It should then restore the state of the interrupt flag.
 * Mode: Called in Kernel, and Interrupt Mode.

Syntax
PSD_IRQ_MASK

Parameters
ulong_t flags;   (Input) ulong_t data;    (Input/Output) ulong_t procnum; (Input)
 * Entry : Pointer to PSD_IRQ structure.
 * flags : indicate which type of operation is to be performed.
 * IRQ_MASK mask (disable) IRQ levels
 * IRQ_UNMASK unmask (enable) IRQ levels
 * IRQ_GETMASK retrieves the masks for all IRQ levels
 * IRQ_NEWMASK indicates that all the IRQ levels should reflect the state of the specified mask.


 * data: is the logical IRQ levels to mask, or un-mask.
 * procnum: is the processor number of where the operation should take place.

Return Code

 * NO_ERROR : operation completed successfully.
 * -1 : operation failed.

Remarks

 * Optional: the function is not required.
 * The OS/2 kernel provides default handling for that specific function.
 * The function can not call a PSD help that may block.

Structure
 typedef struct psd_irq_s { ulong_t flags;   (Input) ulong_t data;    (Input/Output) ulong_t procnum; (Input) } PSD_IRQ; 