X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/c0fea4742e91338fffdcf79f86a7c1d5e2b97eb1..5ba3f43ea354af8ad55bea84372a2bc834d8757c:/osfmk/kern/ipc_tt.h?ds=sidebyside diff --git a/osfmk/kern/ipc_tt.h b/osfmk/kern/ipc_tt.h index 38978a2fb..c59fdf40a 100644 --- a/osfmk/kern/ipc_tt.h +++ b/osfmk/kern/ipc_tt.h @@ -1,23 +1,29 @@ /* * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved. * - * @APPLE_LICENSE_HEADER_START@ + * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * - * 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. The rights granted to you under the License + * may not be used to create, or enable the creation or redistribution of, + * unlawful or unlicensed copies of an Apple operating system, or to + * circumvent, violate, or enable the circumvention or violation of, any + * terms of an Apple operating system software license agreement. * - * This Original Code and all software distributed under the License are - * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * 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 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the - * License for the specific language governing rights and limitations - * under the License. + * 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. * - * @APPLE_LICENSE_HEADER_END@ + * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ */ /* * @OSF_COPYRIGHT@ @@ -91,6 +97,12 @@ extern void ipc_task_terminate( extern void ipc_thread_init( thread_t thread); +extern void ipc_thread_init_exc_actions( + thread_t thread); + +extern void ipc_thread_destroy_exc_actions( + thread_t thread); + /* Disable IPC access to a thread */ extern void ipc_thread_disable( thread_t thread); @@ -99,6 +111,10 @@ extern void ipc_thread_disable( extern void ipc_thread_terminate( thread_t thread); +/* Clear out a thread's IPC state */ +extern void ipc_thread_reset( + thread_t thread); + /* Return a send right for the task's user-visible self port */ extern ipc_port_t retrieve_task_self_fast( task_t task); @@ -111,13 +127,28 @@ extern ipc_port_t retrieve_thread_self_fast( extern task_name_t convert_port_to_task_name( ipc_port_t port); +/* Convert from a port to a task inspect */ +extern task_inspect_t convert_port_to_task_inspect( + ipc_port_t port); + /* Convert from a port to a task */ extern task_t convert_port_to_task( ipc_port_t port); +extern task_t +convert_port_to_task_with_exec_token( + ipc_port_t port, + uint32_t *exec_token); + extern task_t port_name_to_task( mach_port_name_t name); +extern task_t port_name_to_task_inspect( + mach_port_name_t name); + +extern host_t port_name_to_host( + mach_port_name_t name); + extern boolean_t ref_task_port_locked( ipc_port_t port, task_t *ptask); @@ -125,6 +156,10 @@ extern boolean_t ref_task_port_locked( extern ipc_space_t convert_port_to_space( ipc_port_t port); +/* Convert from a port to a space inspection right */ +extern ipc_space_inspect_t convert_port_to_space_inspect( + ipc_port_t port); + extern boolean_t ref_space_port_locked( ipc_port_t port, ipc_space_t *pspace); @@ -136,23 +171,18 @@ extern vm_map_t convert_port_to_map( extern thread_t convert_port_to_thread( ipc_port_t port); +/* Convert from a port to a thread inspect */ +extern thread_inspect_t convert_port_to_thread_inspect( + ipc_port_t port); + extern thread_t port_name_to_thread( mach_port_name_t port_name); -/* Convert from a task to a port */ -extern ipc_port_t convert_task_to_port( - task_t task); - -/* Convert from a task name to a port */ -extern ipc_port_t convert_task_name_to_port( - task_name_t task_name); - -/* Convert from a thread to a port */ -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); +extern void space_inspect_deallocate( + ipc_space_inspect_t space); + #endif /* _KERN_IPC_TT_H_ */