|
|
1.1 root 1: /*
2: * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
7: * Reserved. This file contains Original Code and/or Modifications of
8: * Original Code as defined in and that are subject to the Apple Public
9: * Source License Version 1.1 (the "License"). You may not use this file
10: * except in compliance with the License. Please obtain a copy of the
11: * License at http://www.apple.com/publicsource and read it before using
12: * this file.
13: *
14: * The Original Code and all software distributed under the License are
15: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
19: * License for the specific language governing rights and limitations
20: * under the License.
21: *
22: * @APPLE_LICENSE_HEADER_END@
23: */
24:
25: /*
26: * File: spl.h
27: * Author: Avadis Tevanian, Jr.
28: *
29: * Define inline macros for spl routines.
30: *
31: * HISTORY
32: * 21-May-91 Gregg Kellogg (gk) at NeXT
33: * Moved public portion to exported directory.
34: *
35: * 14-May-90 Gregg Kellogg (gk) at NeXT
36: * Changed SPLCLOCK from 6 to 3, as much scheduling code expects
37: * splclock() == splsched(). Added splusclock().
38: *
39: * 19-Jun-89 Mike DeMoney (mike) at NeXT
40: * Modified to allow spl assertions in spl_measured.h
41: */
42:
43: #ifndef _KERNSERV_I386_SPL_H_
44: #define _KERNSERV_I386_SPL_H_
45:
46: extern int spl7(void);
47: extern int splhigh(void);
48:
49: extern int spl6(void);
50: extern int spldma(void);
51: extern int splusclock(void);
52: extern int splsched(void);
53: extern int splclock(void);
54:
55: extern int spl5(void);
56:
57: extern int spl4(void);
58:
59: extern int spl3(void);
60: extern int splbio(void);
61: extern int splimp(void);
62: extern int splvm(void);
63: extern int splnet(void);
64: extern int spldevice(void);
65:
66: extern int spl2(void);
67:
68: extern int spl1(void);
69: extern int spltty(void);
70:
71: extern int spl0(void);
72:
73: extern int splx(int ipl);
74: extern int spln(int ipl);
75:
76: extern int ipltospl(int ipl);
77:
78: extern int curipl(void);
79:
80: #define splsoftclock() spl0()
81: #define splstatclock() splhigh()
82:
83: #define IPLHIGH 7
84: #define IPLDMA 6
85: #define IPLUSCLOCK 6
86: #define IPLSCHED 6
87: #define IPLCLOCK 6
88: #define IPLBIO 3
89: #define IPLIMP 3
90: #define IPLVM 3
91: #define IPLNET 3
92: #define IPLDEVICE 3
93: #define IPLTTY 1
94:
95: #endif /* _KERNSERV_I386_SPL_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.