blob: c74bff516e006a313287360719c2f4275503bea2 (
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
/*
* Mach Operating System
* Copyright (c) 1991,1990,1989 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.
*/
/*
* Author: David B. Golub, Carnegie Mellon University
* Date: 3/89
*
* Common definitions for device interface types.
*/
#ifndef _DEVICE_DEVICE_TYPES_DEFS_
#define _DEVICE_DEVICE_TYPES_DEFS_
/*
* Basic types
*/
#include <mach/std_types.defs>
#ifdef DEVICE_IMPORTS
DEVICE_IMPORTS
#endif
type rpc_recnum_t = rpc_long_natural_t;
type recnum_t = rpc_recnum_t
#if defined(KERNEL_SERVER)
intran: recnum_t convert_long_natural_from_user(rpc_recnum_t)
outtran: rpc_recnum_t convert_long_natural_to_user(recnum_t)
#elif defined(KERNEL_USER)
ctype: rpc_recnum_t
#endif
;
type dev_mode_t = uint32_t;
type dev_flavor_t = uint32_t;
type dev_name_t = (MACH_MSG_TYPE_STRING_C, 8*128);
type new_dev_name_t = c_string[128]
ctype: dev_name_t;
type dev_status_t = array[*:1024] of int;
type io_buf_ptr_t = ^array[] of MACH_MSG_TYPE_INTEGER_8;
type io_buf_ptr_inband_t= array[*:128] of char;
type filter_t = short;
type filter_array_t = array[*:128] of filter_t;
type device_t = mach_port_t
ctype: mach_port_t
#if KERNEL_SERVER
intran: device_t dev_port_lookup(mach_port_t)
outtran: mach_port_t convert_device_to_port(device_t)
destructor: device_deallocate(device_t)
#else /* KERNEL_SERVER */
#ifdef DEVICE_INTRAN
intran: DEVICE_INTRAN
#endif
#ifdef DEVICE_INTRAN_PAYLOAD
intranpayload: DEVICE_INTRAN_PAYLOAD
#endif
#ifdef DEVICE_OUTTRAN
outtran: DEVICE_OUTTRAN
#endif
#ifdef DEVICE_DESTRUCTOR
destructor: DEVICE_DESTRUCTOR
#endif
#endif /* KERNEL_SERVER */
;
import <device/device_types.h>;
import <device/net_status.h>;
#endif /* _DEVICE_DEVICE_TYPES_DEFS_ */
|