blob: 5c30b67ae3bb590bc74436b7d25da592e88cdf0d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
/*
* Mach Operating System
* Copyright (c) 1991 Carnegie Mellon University
* All Rights Reserved.
*
* Permission to use, copy, modify and distribute this software and its
* documentation is hereby granted, provided that both the copyright
* notice and this permission notice appear in all copies of the
* software, derivative works or modified versions, and any portions
* thereof, and that both notices appear in supporting documentation.
*
* CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
* CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
* ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
*
* Carnegie Mellon requests users of this software to return to
*
* Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
* School of Computer Science
* Carnegie Mellon University
* Pittsburgh PA 15213-3890
*
* any improvements or extensions that they make and grant Carnegie Mellon
* the rights to redistribute these changes.
*/
/*
* Special functions for i386.
*/
subsystem
#if KERNEL_SERVER
KernelServer
#endif KERNEL_SERVER
mach_i386 3800;
#include <mach/std_types.defs>
#include <mach/mach_types.defs>
#include <device/device_types.defs>
type device_list_t = ^array[] of device_t;
type descriptor_t = struct[2] of int;
type descriptor_list_t = array[*] of descriptor_t;
import <mach/machine/mach_i386_types.h>;
routine i386_io_port_add(
target_thread : thread_t;
device : device_t);
routine i386_io_port_remove(
target_thread : thread_t;
device : device_t);
routine i386_io_port_list(
target_thread : thread_t;
out device_list : device_list_t);
routine i386_set_ldt(
target_thread : thread_t;
first_selector : int;
desc_list : descriptor_list_t, serverCopy);
routine i386_get_ldt(
target_thread : thread_t;
first_selector : int;
selector_count : int;
out desc_list : descriptor_list_t);
|