X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/d7e50217d7adf6e52786a38bcaa4cd698cb9a79e..378393581903b274cb7a4d18e0d978071a6b592d:/osfmk/kern/ipc_tt.h diff --git a/osfmk/kern/ipc_tt.h b/osfmk/kern/ipc_tt.h index a14b5eae3..63b0d6d60 100644 --- a/osfmk/kern/ipc_tt.h +++ b/osfmk/kern/ipc_tt.h @@ -1,24 +1,21 @@ /* - * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. + * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. + * The contents of this file constitute Original Code as defined in and + * are subject to the Apple Public Source License Version 1.1 (the + * "License"). You may not use this file except in compliance with the + * License. Please obtain a copy of the License at + * http://www.apple.com/publicsource and read it before using this file. * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * This Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. + * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. * * @APPLE_LICENSE_HEADER_END@ */ @@ -82,6 +79,10 @@ extern void ipc_task_enable( extern void ipc_task_disable( task_t task); +/* Clear out a task's IPC state */ +extern void ipc_task_reset( + task_t task); + /* Clean up and destroy a task's IPC state */ extern void ipc_task_terminate( task_t task); @@ -90,6 +91,10 @@ extern void ipc_task_terminate( extern void ipc_thread_init( thread_t thread); +/* Disable IPC access to a thread */ +extern void ipc_thread_disable( + thread_t thread); + /* Clean up and destroy a thread's IPC state */ extern void ipc_thread_terminate( thread_t thread); @@ -99,16 +104,15 @@ extern ipc_port_t retrieve_task_self_fast( task_t task); /* Return a send right for the thread's user-visible self port */ -extern ipc_port_t retrieve_act_self_fast( - thread_act_t); +extern ipc_port_t retrieve_thread_self_fast( + thread_t thread); /* Convert from a port to a task */ extern task_t convert_port_to_task( ipc_port_t port); -/* Convert from a port entry port to a task */ -extern task_t convert_port_to_task( - ipc_port_t port); +extern task_t port_name_to_task( + mach_port_name_t name); extern boolean_t ref_task_port_locked( ipc_port_t port, task_t *ptask); @@ -124,52 +128,23 @@ extern boolean_t ref_space_port_locked( extern vm_map_t convert_port_to_map( ipc_port_t port); -/* Convert from a map entry port to a map */ -extern vm_map_t convert_port_entry_to_map( - ipc_port_t port); - -/* Convert from a port to a vm_object */ -extern vm_object_t convert_port_entry_to_object( - ipc_port_t port); - -/* Convert from a port to a upl_object */ -extern upl_t convert_port_to_upl( - ipc_port_t port); - /* Convert from a port to a thread */ -extern thread_act_t convert_port_to_act( - ipc_port_t port); +extern thread_t convert_port_to_thread( + ipc_port_t port); -extern thread_act_t port_name_to_act( +extern thread_t port_name_to_thread( mach_port_name_t port_name); -extern boolean_t ref_act_port_locked( - ipc_port_t port, thread_act_t *pthr_act); - /* Convert from a task to a port */ extern ipc_port_t convert_task_to_port( - task_t task); + task_t task); /* Convert from a thread to a port */ -extern ipc_port_t convert_act_to_port( thread_act_t ); - -/* Convert from a upl to a port */ -extern ipc_port_t convert_upl_to_port( upl_t ); +extern ipc_port_t convert_thread_to_port( + thread_t thread); /* Deallocate a space ref produced by convert_port_to_space */ extern void space_deallocate( - ipc_space_t space); - -/* Allocate a reply port */ -extern mach_port_name_t mach_reply_port(void); - -/* Initialize a thread_act's ipc mechanism */ -extern void ipc_thr_act_init(task_t, thread_act_t); - -/* Disable IPC access to a thread_act */ -extern void ipc_thr_act_disable(thread_act_t); - -/* Clean up and destroy a thread_act's IPC state */ -extern void ipc_thr_act_terminate(thread_act_t); + ipc_space_t space); #endif /* _KERN_IPC_TT_H_ */