xref: /original-bsd/sys/net/netisr.h (revision 62734ea8)
1 /*	netisr.h	4.2	82/10/31	*/
2 
3 /*
4  * The networking code runs off software interrupts.
5  *
6  * You can switch into the network by doing splnet() and return by splx().
7  * The software interrupt level for the network is higher than the software
8  * level for the clock (so you can enter the network in routines called
9  * at timeout time).
10  */
11 #if sun
12 #include "../sun/sir.h"
13 #define	setsoftnet()	siron(SIR_NET)
14 #else
15 /* #include "../vax/mtpr.h" */
16 #define	setsoftnet()	mtpr(SIRR, 12)
17 #endif
18 
19 /*
20  * Each ``pup-level-1'' input queue has a bit in a ``netisr'' status
21  * word which is used to de-multiplex a single software
22  * interrupt used for scheduling the network code to calls
23  * on the lowest level routine of each protocol.
24  */
25 #define	NETISR_RAW	0		/* same as AF_UNSPEC */
26 #define	NETISR_IP	2		/* same as AF_INET */
27 #define	NETISR_NS	6		/* same as AF_NS */
28 
29 #define	schednetisr(anisr)	{ netisr |= 1<<(anisr); setsoftnet(); }
30 
31 #ifndef LOCORE
32 #ifdef KERNEL
33 int	netisr;				/* scheduling bits for network */
34 #endif
35 #endif
36