Adds a network software interrupt service to the Network Interrupt table.
#include <sys/types.h> #include <sys/errno.h> #include <net/netisr.h> int add_netisr ( soft_intr_level, service_level, isr) u_short soft_intr_level; u_short service_level; int (*isr) ();
Item | Description |
---|---|
soft_intr_level | Specifies the software interrupt level to add. This parameter must be greater than or equal to 0 and less than NETISR_MAX. Refer to netisr.h for the range of values of soft_intr_level that are already in use. Also, other kernel extensions that are not AIX® and that use network ISRs currently running on the system can make use of additional values not mentioned in netisr.h. |
service_level | Specifies the processing level of the network software interrupt. |
isr | Specifies the interrupt service routine to add. |
The add_netisr kernel service adds the software-interrupt level specified by the soft_intr_level parameter to the Network Software Interrupt table.
The processing level of a network software interrupt is specified by the service_level parameter. If the interrupt level specified by the service_level parameter equals NET_KPROC, a network interrupt scheduler calls the function specified by the isr parameter. If you set the service_level parameter to NET_OFF_LEVEL, the schednetisr service calls the interrupt service routine directly.
The add_netisr kernel service can be called from either the process or interrupt environment.
Item | Description |
---|---|
0 | Indicates that the interrupt service routine was successfully added. |
EEXIST | Indicates that the interrupt service routine was previously added to the table. |
EINVAL | Indicates that the value specified for the soft_intr_level parameter is out of range or at a service level that is not valid. |