|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. ! 3: * ! 4: * @APPLE_LICENSE_HEADER_START@ ! 5: * ! 6: * Portions Copyright (c) 1999 Apple Computer, Inc. All Rights ! 7: * Reserved. This file contains Original Code and/or Modifications of ! 8: * Original Code as defined in and that are subject to the Apple Public ! 9: * Source License Version 1.1 (the "License"). You may not use this file ! 10: * except in compliance with the License. Please obtain a copy of the ! 11: * License at http://www.apple.com/publicsource and read it before using ! 12: * this file. ! 13: * ! 14: * The Original Code and all software distributed under the License are ! 15: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER ! 16: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, ! 17: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, ! 18: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the ! 19: * License for the specific language governing rights and limitations ! 20: * under the License. ! 21: * ! 22: * @APPLE_LICENSE_HEADER_END@ ! 23: */ ! 24: ! 25: /* ! 26: * Copyright (c) 1989 NeXT, Inc. ! 27: * 24-May-89 Gregg Kellogg (gk) at NeXT ! 28: * Created. ! 29: * ! 30: */ ! 31: ! 32: /* ! 33: * interface for kern_loader to kern_server communication. ! 34: */ ! 35: subsystem kern_serv 100; ! 36: ! 37: #import <mach/std_types.defs> ! 38: ! 39: type port_map_proc_t = int; ! 40: type port_death_proc_t = int; ! 41: type call_proc_t = int; ! 42: type vm_address_t = int; ! 43: type vm_size_t = int; ! 44: ! 45: import <kernserv/kern_server_types.h>; ! 46: userprefix kern_serv_; ! 47: ! 48: waittime 10000; /* Wait at most 10 seconds. */ ! 49: ! 50: /* ! 51: * Provide location of kernel server's instance variables. ! 52: */ ! 53: routine instance_loc ( ! 54: server_port : port_t; ! 55: instance_loc : vm_address_t); ! 56: ! 57: /* ! 58: * Set the port that the loader is going to receive on. ! 59: */ ! 60: routine boot_port ( ! 61: server_port : port_t; ! 62: boot_port : port_t); ! 63: ! 64: /* ! 65: * Wire a range of memory down. ! 66: */ ! 67: routine wire_range ( ! 68: server_port : port_t; ! 69: addr : vm_address_t; ! 70: size : vm_size_t); ! 71: ! 72: /* ! 73: * Unire a range of memory down. ! 74: */ ! 75: routine unwire_range ( ! 76: server_port : port_t; ! 77: addr : vm_address_t; ! 78: size : vm_size_t); ! 79: ! 80: /* ! 81: * Specify port to proc(arg) mapping (called as a MiG handler) ! 82: */ ! 83: routine port_proc ( ! 84: server_port : port_t; ! 85: port : port_all_t; ! 86: proc : port_map_proc_t; ! 87: argument : int); ! 88: ! 89: /* ! 90: * Specify proc to call when a port dies. ! 91: */ ! 92: simpleroutine port_death_proc ( ! 93: server_port : port_t; ! 94: proc : port_death_proc_t); ! 95: ! 96: /* ! 97: * Specify proc/arg to call right now. ! 98: */ ! 99: routine call_proc ( ! 100: server_port : port_t; ! 101: proc : call_proc_t; ! 102: argument : int); ! 103: ! 104: /* ! 105: * Tell the kernel server to shut down. ! 106: */ ! 107: simpleroutine shutdown ( ! 108: server_port : port_t); ! 109: ! 110: simpleroutine log_level ( ! 111: server_port : port_t; ! 112: log_level : int); ! 113: ! 114: simpleroutine get_log ( ! 115: server_port : port_t; ! 116: reply_port : port_t); ! 117: ! 118: /* ! 119: * Specify port to proc(arg) mapping (called as a MiG server) ! 120: */ ! 121: routine port_serv ( ! 122: server_port : port_t; ! 123: port : port_all_t; ! 124: proc : port_map_proc_t; ! 125: argument : int); ! 126: ! 127: /* ! 128: * Specify user's version of system user compiled with. ! 129: */ ! 130: routine version ( ! 131: server_port : port_t; ! 132: version : int); ! 133: ! 134: /* ! 135: * Load ObjC runtime info ! 136: */ ! 137: routine load_objc ( ! 138: server_port : port_t; ! 139: addr : vm_address_t);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.