Annotation of OSKit-Mach/include/mach/mach_norma.defs, revision 1.1.1.1

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: subsystem
                     28: #if    KERNEL_USER
                     29:          KernelUser
                     30: #endif
                     31: #if    KERNEL_SERVER
                     32:          KernelServer
                     33: #endif
                     34:                       mach_norma 555000;
                     35: #ifdef KERNEL_USER
                     36: userprefix r_;
                     37: #endif
                     38: 
                     39: #include <mach/std_types.defs>
                     40: #include <mach/mach_types.defs>
                     41: 
                     42: skip;
                     43: 
                     44: /*
                     45:  * Specify a node upon which children tasks will be created.
                     46:  * This call exists only to allow testing with unmodified servers.
                     47:  * Server developers should use norma_task_create instead.
                     48:  */
                     49: routine        task_set_child_node(
                     50:                target_task     : task_t;
                     51:                child_node      : int);
                     52: 
                     53: /*
                     54:  * THIS CALL WILL BE ELIMINATED.
                     55:  * Use norma_port_location_hint(,mach_task_self(),) instead.
                     56:  */
                     57: routine norma_node_self(
                     58:                host            : host_t;
                     59:        out     node            : int);
                     60: 
                     61: skip;
                     62: 
                     63: skip;
                     64: 
                     65: skip;
                     66: 
                     67: /*
                     68:  * (Used to be called task_create_remote.)
                     69:  * Create a task on the given node, possibly inheriting memory.
                     70:  * Same inheritance semantics as task_create, including inheritance
                     71:  * of initial ports and emulation library.
                     72:  * Setting child_node to node_self forces local task creation.
                     73:  */
                     74: routine norma_task_create(
                     75:                target_task     : task_t;
                     76:                inherit_memory  : boolean_t;
                     77:                child_node      : int;
                     78:        out     child_task      : task_t);
                     79: 
                     80: /*
                     81:  * Get a given special port for a given node.
                     82:  * Norma special ports are defined in norma_special_ports.h;
                     83:  * examples include the master device port.
                     84:  * There are a limited number of slots available for system servers.
                     85:  *
                     86:  * XXX MAX_SPECIAL_ID should be defined in norma_special_ports.h,
                     87:  * XXX not just in norma/ipc_special.c!
                     88:  * (MAX_SPECIAL_ID specifies total number of slots available)
                     89:  */
                     90: routine        norma_get_special_port(
                     91:                host_priv       : host_priv_t;
                     92:                node            : int;
                     93:                which           : int;
                     94:        out     port            : mach_port_t);
                     95: 
                     96: /*
                     97:  * Set a given special port for a given node.
                     98:  * See norma_get_special_port.
                     99:  */
                    100: routine        norma_set_special_port(
                    101:                host_priv       : host_priv_t;
                    102:                which           : int;
                    103:                port            : mach_port_t);
                    104: 
                    105: skip;
                    106: 
                    107: skip;
                    108: 
                    109: skip;
                    110: 
                    111: /*
                    112:  * Return best guess of port's current location.
                    113:  * Guaranteed to be a node where the port once was.
                    114:  * Guaranteed to be accurate if port has never moved.
                    115:  * Can be used to determine residence node for hosts, tasks, threads, etc.
                    116:  */
                    117: routine norma_port_location_hint(
                    118:                task            : task_t;
                    119:                port            : mach_port_t;
                    120:        out     node            : int);

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.