/ duct-tape / xnu / osfmk / kern / syscall_emulation.c
syscall_emulation.c
  1  /*
  2   * Copyright (c) 2000-2005 Apple Computer, Inc. All rights reserved.
  3   *
  4   * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5   *
  6   * This file contains Original Code and/or Modifications of Original Code
  7   * as defined in and that are subject to the Apple Public Source License
  8   * Version 2.0 (the 'License'). You may not use this file except in
  9   * compliance with the License. The rights granted to you under the License
 10   * may not be used to create, or enable the creation or redistribution of,
 11   * unlawful or unlicensed copies of an Apple operating system, or to
 12   * circumvent, violate, or enable the circumvention or violation of, any
 13   * terms of an Apple operating system software license agreement.
 14   *
 15   * Please obtain a copy of the License at
 16   * http://www.opensource.apple.com/apsl/ and read it before using this file.
 17   *
 18   * The Original Code and all software distributed under the License are
 19   * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 20   * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 21   * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 22   * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 23   * Please see the License for the specific language governing rights and
 24   * limitations under the License.
 25   *
 26   * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 27   */
 28  /*
 29   * @OSF_COPYRIGHT@
 30   */
 31  /*
 32   * Mach Operating System
 33   * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University
 34   * All Rights Reserved.
 35   *
 36   * Permission to use, copy, modify and ditribute this software and its
 37   * documentation is hereby granted, provided that both the copyright
 38   * notice and this permission notice appear in all copies of the
 39   * software, derivative works or modified versions, and any portions
 40   * thereof, and that both notices appear in supporting documentation.
 41   *
 42   * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
 43   * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
 44   * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
 45   *
 46   * Carnegie Mellon requests users of this software to return to
 47   *
 48   *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
 49   *  School of Computer Science
 50   *  Carnegie Mellon University
 51   *  Pittsburgh PA 15213-3890
 52   *
 53   * any improvements or extensions that they make and grant Carnegie Mellon
 54   * the rights to redistribute these changes.
 55   */
 56  /*
 57   */
 58  #include <mach/mach_types.h>
 59  #include <mach/error.h>
 60  #include <mach/vm_param.h>
 61  #include <mach/boolean.h>
 62  #include <mach/task.h>
 63  
 64  #include <kern/kern_types.h>
 65  #include <kern/misc_protos.h>
 66  #include <kern/task.h>
 67  
 68  #include <vm/vm_map.h>
 69  #include <vm/vm_kern.h>
 70  
 71  /*
 72   * Exported interface
 73   */
 74  
 75  /*
 76   *	task_set_emulation_vector:  [Server Entry]
 77   *
 78   *	Set the list of emulated system calls for this task.
 79   *	The list is out-of-line.
 80   */
 81  kern_return_t
 82  task_set_emulation_vector(
 83  	__unused task_t                 task,
 84  	__unused int                    vector_start,
 85  	__unused emulation_vector_t     emulation_vector,
 86  	__unused mach_msg_type_number_t emulation_vector_count)
 87  {
 88  	return KERN_NOT_SUPPORTED;
 89  }
 90  
 91  /*
 92   *	task_get_emulation_vector: [Server Entry]
 93   *
 94   *	Get the list of emulated system calls for this task.
 95   *	List is returned out-of-line.
 96   */
 97  kern_return_t
 98  task_get_emulation_vector(
 99  	__unused task_t                 task,
100  	__unused int                    *vector_start,          /* out */
101  	__unused emulation_vector_t     *emulation_vector,      /* out */
102  	__unused mach_msg_type_number_t *emulation_vector_count)/* out */
103  {
104  	return KERN_NOT_SUPPORTED;
105  }
106  
107  /*
108   *   task_set_emulation:  [Server Entry]
109   *   set up for user space emulation of syscalls within this task.
110   */
111  kern_return_t
112  task_set_emulation(
113  	__unused task_t         task,
114  	__unused vm_offset_t    routine_entry_pt,
115  	__unused int            routine_number)
116  {
117  	return KERN_NOT_SUPPORTED;
118  }