|
|
1.1 root 1: /*
2: * Mach Operating System
3: * Copyright (c) 1991 Carnegie Mellon University
4: * All Rights Reserved.
5: *
6: * Permission to use, copy, modify and distribute this software and its
7: * documentation is hereby granted, provided that both the copyright
8: * notice and this permission notice appear in all copies of the
9: * software, derivative works or modified versions, and any portions
10: * thereof, and that both notices appear in supporting documentation.
11: *
12: * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
13: * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
14: * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
15: *
16: * Carnegie Mellon requests users of this software to return to
17: *
18: * Software Distribution Coordinator or [email protected]
19: * School of Computer Science
20: * Carnegie Mellon University
21: * Pittsburgh PA 15213-3890
22: *
23: * any improvements or extensions that they make and grant Carnegie Mellon
24: * the rights to redistribute these changes.
25: */
26: /*
27: * File: mach/norma_special_ports.h
28: *
29: * Defines codes for remote access to special ports. These are NOT
30: * port identifiers - they are only used for the norma_get_special_port
31: * and norma_set_special_port routines.
32: */
33:
34: #ifndef _MACH_NORMA_SPECIAL_PORTS_H_
35: #define _MACH_NORMA_SPECIAL_PORTS_H_
36:
37: #define MAX_SPECIAL_KERNEL_ID 3
38: #define MAX_SPECIAL_ID 32
39:
40: /*
41: * Provided by kernel
42: */
43: #define NORMA_DEVICE_PORT 1
44: #define NORMA_HOST_PORT 2
45: #define NORMA_HOST_PRIV_PORT 3
46:
47: /*
48: * Not provided by kernel
49: */
50: #define NORMA_NAMESERVER_PORT (1 + MAX_SPECIAL_KERNEL_ID)
51:
52: /*
53: * Definitions for ease of use.
54: *
55: * In the get call, the host parameter can be any host, but will generally
56: * be the local node host port. In the set call, the host must the per-node
57: * host port for the node being affected.
58: */
59:
60: #define norma_get_device_port(host, node, port) \
61: (norma_get_special_port((host), (node), NORMA_DEVICE_PORT, (port)))
62:
63: #define norma_set_device_port(host, port) \
64: (norma_set_special_port((host), NORMA_DEVICE_PORT, (port)))
65:
66: #define norma_get_host_port(host, node, port) \
67: (norma_get_special_port((host), (node), NORMA_HOST_PORT, (port)))
68:
69: #define norma_set_host_port(host, port) \
70: (norma_set_special_port((host), NORMA_HOST_PORT, (port)))
71:
72: #define norma_get_host_priv_port(host, node, port) \
73: (norma_get_special_port((host), (node), NORMA_HOST_PRIV_PORT, (port)))
74:
75: #define norma_set_host_priv_port(host, port) \
76: (norma_set_special_port((host), NORMA_HOST_PRIV_PORT, (port)))
77:
78: #define norma_get_nameserver_port(host, node, port) \
79: (norma_get_special_port((host), (node), NORMA_NAMESERVER_PORT, (port)))
80:
81: #define norma_set_nameserver_port(host, port) \
82: (norma_set_special_port((host), NORMA_NAMESERVER_PORT, (port)))
83:
84: #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.