merge in vnodes
[unix-history] / usr / src / sys / net / netisr.h
CommitLineData
cb1c44c2 1/*
b72a6efb 2 * Copyright (c) 1980, 1986, 1989 Regents of the University of California.
5b519e94 3 * All rights reserved.
cb1c44c2 4 *
5b519e94 5 * Redistribution and use in source and binary forms are permitted
50c7758a
KB
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.
5b519e94 16 *
b72a6efb 17 * @(#)netisr.h 7.5 (Berkeley) %G%
cb1c44c2 18 */
a9f97ede
BJ
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 */
2e62d00d 28#if defined(vax) || defined(tahoe)
a9f97ede 29#define setsoftnet() mtpr(SIRR, 12)
ddccffcc 30#endif
a9f97ede
BJ
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 */
e3d5e8b3 40#define NETISR_IMP 3 /* same as AF_IMPLINK */
a9f97ede 41#define NETISR_NS 6 /* same as AF_NS */
b72a6efb 42#define NETISR_ISO 7 /* same as AF_ISO */
a9f97ede
BJ
43
44#define schednetisr(anisr) { netisr |= 1<<(anisr); setsoftnet(); }
45
46#ifndef LOCORE
47#ifdef KERNEL
48int netisr; /* scheduling bits for network */
49#endif
50#endif