NAME | SYNOPSIS | API RESTRICTIONS | FEATURE | DESCRIPTION | ERRORS | ATTRIBUTES
#include <sched/chSoftIntr.h>KnError svSoftIntrTrigger __(( KnSoftIntr* ));
The function or functions documented here may not be used safely in all application contexts with all APIs provided in the ChorusOS 5.0 product.
See API(5FEA) for details.
SOFTINTR
The svSoftIntrDeclare() system call declares the KnSoftIntr as a descriptor of a software interrupt. The siHandler specifies the address of the software interrupt handler to be executed. The siHandler will be invoked with the address of the declared KnSoftIntr parameter. This way the same handler function can be used to process different interrupts.
The svSoftIntrTrigger() system call may be and is typically invoked from an interrupt handler to cause the execution of the associated software interrupt handler, at return to base level.
The svSoftIntrTrigger() system call triggers a software interrupt which had earlier been declared through svSoftIntrDeclare() .
The specified handler will then be invoked when the execution flow returns to the base level. If the software interrupt is triggered at base level,the associated handler may be invoked before the return from the invocation of svSoftIntrTrigger() .
More than one software interrupt can be pending at a time. In this case it constitutes a LIFO queue of software interrupts.
The handler is an interrupt handler which is executed only in SUPERVISOR mode. Its code and accessed data must be within the locked-in-memory regions of a SUPERVISOR actor. The set of microkernel calls that can be used in this timeout handler is limited, as for any interrupt handler.
The svSoftIntrForget() system call does the opposite of svSoftIntrDeclare() , namely, detaches a previously declared software interrupt.
The svSoftIntrForget() system call must not be called when there are any pending interrupts triggered on that software interrupt.
No errors
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | API RESTRICTIONS | FEATURE | DESCRIPTION | ERRORS | ATTRIBUTES