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