mirror of
https://github.com/GnoConsortium/gno.git
synced 2024-08-31 20:29:38 +00:00
68 lines
1.9 KiB
C
68 lines
1.9 KiB
C
/*
|
|
* 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
|