add_netisr Kernel Service

Purpose

Adds a network software interrupt service to the Network Interrupt table.

Syntax

#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) ();

Parameters

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.
service_level Specifies the processing level of the network software interrupt.
isr Specifies the interrupt service routine to add.

Description

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.

Execution Environment

The add_netisr kernel service can be called from either the process or interrupt environment.

Return Values

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.

Implementation Specifics

The add_netisr kernel service is part of Base Operating System (BOS) Runtime.

Related Information

The del_netisr kernel service.

Network Kernel Services in AIX Version 4.3 Kernel Extensions and Device Support Programming Concepts.