|
|
1.1 root 1: /*
2: * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * The contents of this file constitute Original Code as defined in and
7: * are subject to the Apple Public Source License Version 1.1 (the
8: * "License"). You may not use this file except in compliance with the
9: * License. Please obtain a copy of the License at
10: * http://www.apple.com/publicsource and read it before using this file.
11: *
12: * This Original Code and all software distributed under the License are
13: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17: * License for the specific language governing rights and limitations
18: * under the License.
19: *
20: * @APPLE_LICENSE_HEADER_END@
21: */
22: /*
23: * @OSF_COPYRIGHT@
24: */
25: /*
26: * Mach Operating System
27: * Copyright (c) 1991 Carnegie Mellon University
28: * All Rights Reserved.
29: *
30: * Permission to use, copy, modify and distribute this software and its
31: * documentation is hereby granted, provided that both the copyright
32: * notice and this permission notice appear in all copies of the
33: * software, derivative works or modified versions, and any portions
34: * thereof, and that both notices appear in supporting documentation.
35: *
36: * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
37: * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
38: * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
39: *
40: * Carnegie Mellon requests users of this software to return to
41: *
42: * Software Distribution Coordinator or [email protected]
43: * School of Computer Science
44: * Carnegie Mellon University
45: * Pittsburgh PA 15213-3890
46: *
47: * any improvements or extensions that they make and grant Carnegie Mellon
48: * the rights to redistribute these changes.
49: */
50: /*
51: */
52: /*
53: * File: mach/norma_special_ports.h
54: *
55: * Defines codes for remote access to special ports. These are NOT
56: * port identifiers - they are only used for the norma_get_special_port
57: * and norma_set_special_port routines.
58: */
59:
60: #ifndef _MACH_NORMA_SPECIAL_PORTS_H_
61: #define _MACH_NORMA_SPECIAL_PORTS_H_
62:
63: #define MAX_SPECIAL_KERNEL_ID 10
64: #define MAX_SPECIAL_ID 40
65:
66: /*
67: * Provided by kernel
68: */
69: #define NORMA_DEVICE_PORT 1
70: #define NORMA_HOST_PORT 2
71: #define NORMA_HOST_PRIV_PORT 3
72:
73: /*
74: * Not provided by kernel
75: */
76: #define NORMA_NAMESERVER_PORT (1 + MAX_SPECIAL_KERNEL_ID)
77:
78: /*
79: * Definitions for ease of use.
80: *
81: * In the get call, the host parameter can be any host, but will generally
82: * be the local node host port. In the set call, the host must the per-node
83: * host port for the node being affected.
84: */
85:
86: #define norma_get_device_port(host, node, port) \
87: (norma_get_special_port((host), (node), NORMA_DEVICE_PORT, (port)))
88:
89: #define norma_set_device_port(host, port) \
90: (norma_set_special_port((host), NORMA_DEVICE_PORT, (port)))
91:
92: #define norma_get_host_port(host, node, port) \
93: (norma_get_special_port((host), (node), NORMA_HOST_PORT, (port)))
94:
95: #define norma_set_host_port(host, port) \
96: (norma_set_special_port((host), NORMA_HOST_PORT, (port)))
97:
98: #define norma_get_host_priv_port(host, node, port) \
99: (norma_get_special_port((host), (node), NORMA_HOST_PRIV_PORT, (port)))
100:
101: #define norma_set_host_priv_port(host, port) \
102: (norma_set_special_port((host), NORMA_HOST_PRIV_PORT, (port)))
103:
104: #define norma_get_nameserver_port(host, node, port) \
105: (norma_get_special_port((host), (node), NORMA_NAMESERVER_PORT, (port)))
106:
107: #define norma_set_nameserver_port(host, port) \
108: (norma_set_special_port((host), NORMA_NAMESERVER_PORT, (port)))
109:
110: #endif /* _MACH_NORMA_SPECIAL_PORTS_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.