home *** CD-ROM | disk | FTP | other *** search
- /*
- * Mach Operating System
- * Copyright (c) 1987 Carnegie-Mellon University
- * All rights reserved. The CMU software License Agreement specifies
- * the terms and conditions for use and redistribution.
- */
- /*
- **********************************************************************
- * HISTORY
- * 5-Nov-87 David Golub (dbg) at Carnegie-Mellon University
- * Use kernel-thread for networking code.
- *
- **********************************************************************
- */
-
- /*
- * Copyright (c) 1980, 1986 Regents of the University of California.
- * All rights reserved. The Berkeley software License Agreement
- * specifies the terms and conditions for redistribution.
- *
- * @(#)netisr.h 7.1 (Berkeley) 6/4/86
- */
-
- #ifdef MACH
- /*
- * The networking code is a separate kernel task, currently
- * bound to the master cpu.
- */
- #if defined(KERNEL) && !defined(LOCORE)
-
- int soft_net_wakeup;
- #define setsoftnet() (wakeup((caddr_t)&soft_net_wakeup))
-
- #endif defined(KERNEL) && !defined(LOCORE)
-
- #else MACH
- /*
- * The networking code runs off software interrupts.
- *
- * You can switch into the network by doing splnet() and return by splx().
- * The software interrupt level for the network is higher than the software
- * level for the clock (so you can enter the network in routines called
- * at timeout time).
- */
- #ifdef vax
- #define setsoftnet() mtpr(SIRR, 12)
- #endif
- #endif MACH
-
- /*
- * Each ``pup-level-1'' input queue has a bit in a ``netisr'' status
- * word which is used to de-multiplex a single software
- * interrupt used for scheduling the network code to calls
- * on the lowest level routine of each protocol.
- */
- #define NETISR_RAW 0 /* same as AF_UNSPEC */
- #define NETISR_IP 2 /* same as AF_INET */
- #define NETISR_IMP 3 /* same as AF_IMPLINK */
- #define NETISR_NS 6 /* same as AF_NS */
-
- #define schednetisr(anisr) { netisr |= 1<<(anisr); setsoftnet(); }
-
- #ifndef LOCORE
- #ifdef KERNEL
- int netisr; /* scheduling bits for network */
- #endif
- #endif
-