|
|
1.1 root 1: /*
2: * Copyright (c) 1980, 1986, 1989 Regents of the University of California.
3: * All rights reserved.
4: *
5: * Redistribution is only permitted until one year after the first shipment
6: * of 4.4BSD by the Regents. Otherwise, redistribution and use in source and
7: * binary forms are permitted provided that: (1) source distributions retain
8: * this entire copyright notice and comment, and (2) distributions including
9: * binaries display the following acknowledgement: This product includes
10: * software developed by the University of California, Berkeley and its
11: * contributors'' in the documentation or other materials provided with the
12: * distribution and in all advertising materials mentioning features or use
13: * of this software. Neither the name of the University nor the names of
14: * its contributors may be used to endorse or promote products derived from
15: * this software without specific prior written permission.
16: * THIS SOFTWARE IS PROVIDED AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
17: * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
18: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
19: *
20: * @(#)netisr.h 7.6 (Berkeley) 6/28/90
21: */
22:
23: /*
24: * The networking code runs off software interrupts.
25: *
26: * You can switch into the network by doing splnet() and return by splx().
27: * The software interrupt level for the network is higher than the software
28: * level for the clock (so you can enter the network in routines called
29: * at timeout time).
30: */
31: #if defined(vax) || defined(tahoe)
32: #define setsoftnet() mtpr(SIRR, 12)
33: #endif
34:
35: /*
36: * Each ``pup-level-1'' input queue has a bit in a ``netisr'' status
37: * word which is used to de-multiplex a single software
38: * interrupt used for scheduling the network code to calls
39: * on the lowest level routine of each protocol.
40: */
41: #define NETISR_RAW 0 /* same as AF_UNSPEC */
42: #define NETISR_IP 2 /* same as AF_INET */
43: #define NETISR_IMP 3 /* same as AF_IMPLINK */
44: #define NETISR_NS 6 /* same as AF_NS */
45: #define NETISR_ISO 7 /* same as AF_ISO */
46:
47: #define schednetisr(anisr) { netisr |= 1<<(anisr); setsoftnet(); }
48:
49: #ifndef LOCORE
50: #ifdef KERNEL
51: int netisr; /* scheduling bits for network */
52: #endif
53: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.