xref: /original-bsd/sys/net/netisr.h (revision c43e4352)
1 /*	netisr.h	6.1	83/07/29	*/
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 #ifdef vax
12 #define	setsoftnet()	mtpr(SIRR, 12)
13 #endif
14 
15 /*
16  * Each ``pup-level-1'' input queue has a bit in a ``netisr'' status
17  * word which is used to de-multiplex a single software
18  * interrupt used for scheduling the network code to calls
19  * on the lowest level routine of each protocol.
20  */
21 #define	NETISR_RAW	0		/* same as AF_UNSPEC */
22 #define	NETISR_IP	2		/* same as AF_INET */
23 #define	NETISR_NS	6		/* same as AF_NS */
24 #define	NETISR_ND	7		/* network disk protocol */
25 
26 #define	schednetisr(anisr)	{ netisr |= 1<<(anisr); setsoftnet(); }
27 
28 #ifndef LOCORE
29 #ifdef KERNEL
30 int	netisr;				/* scheduling bits for network */
31 #endif
32 #endif
33