intr.h revision 1.1
1/*	$NetBSD: intr.h,v 1.1 1997/10/14 06:48:22 sakamoto Exp $	*/
2
3/*
4 * Copyright (c) 1996, 1997 Charles M. Hannum.  All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright
10 *    notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 *    notice, this list of conditions and the following disclaimer in the
13 *    documentation and/or other materials provided with the distribution.
14 * 3. All advertising materials mentioning features or use of this software
15 *    must display the following acknowledgement:
16 *	This product includes software developed by Charles M. Hannum.
17 * 4. The name of the author may not be used to endorse or promote products
18 *    derived from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
21 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
22 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
23 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
24 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
29 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 */
31
32#ifndef _BEBOX_INTR_H_
33#define _BEBOX_INTR_H_
34
35/* Interrupt priority `levels'. */
36#define	IPL_NONE	9	/* nothing */
37#define	IPL_SOFTCLOCK	8	/* software clock interrupt */
38#define	IPL_SOFTNET	7	/* software network interrupt */
39#define	IPL_BIO		6	/* block I/O */
40#define	IPL_NET		5	/* network */
41#define	IPL_TTY		4	/* terminal */
42#define	IPL_IMP		3	/* memory allocation */
43#define	IPL_AUDIO	2	/* audio */
44#define	IPL_CLOCK	1	/* clock */
45#define	IPL_HIGH	0	/* everything */
46#define	NIPL		10
47
48/* Interrupt sharing types. */
49#define	IST_NONE	0	/* none */
50#define	IST_PULSE	1	/* pulsed */
51#define	IST_EDGE	2	/* edge-triggered */
52#define	IST_LEVEL	3	/* level-triggered */
53
54#ifndef _LOCORE
55
56int imask[NIPL];
57
58#endif /* !_LOCORE */
59
60#endif /* !_BEBOX_INTR_H_ */
61