ipc_tt.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. /*
  2. * Mach Operating System
  3. * Copyright (c) 1991,1990,1989,1988,1987 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 Software.Distribution@CS.CMU.EDU
  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. #ifndef _KERN_IPC_TT_H_
  27. #define _KERN_IPC_TT_H_
  28. #include <mach/boolean.h>
  29. #include <mach/mach_types.h>
  30. #include <mach/port.h>
  31. extern void ipc_task_init(task_t, task_t);
  32. extern void ipc_task_enable(task_t);
  33. extern void ipc_task_disable(task_t);
  34. extern void ipc_task_terminate(task_t);
  35. extern void ipc_thread_init(thread_t);
  36. extern void ipc_thread_enable(thread_t);
  37. extern void ipc_thread_disable(thread_t);
  38. extern void ipc_thread_terminate(thread_t);
  39. extern struct ipc_port *
  40. retrieve_task_self(task_t);
  41. extern struct ipc_port *
  42. retrieve_task_self_fast(task_t);
  43. extern struct ipc_port *
  44. retrieve_thread_self(thread_t);
  45. extern struct ipc_port *
  46. retrieve_thread_self_fast(thread_t);
  47. extern struct ipc_port *
  48. retrieve_task_exception(task_t);
  49. extern struct ipc_port *
  50. retrieve_thread_exception(thread_t);
  51. extern struct task *
  52. convert_port_to_task(struct ipc_port *);
  53. extern struct ipc_port *
  54. convert_task_to_port(task_t);
  55. extern void
  56. task_deallocate(task_t);
  57. extern struct thread *
  58. convert_port_to_thread(struct ipc_port *);
  59. extern struct ipc_port *
  60. convert_thread_to_port(thread_t);
  61. extern void
  62. thread_deallocate(thread_t);
  63. extern struct vm_map *
  64. convert_port_to_map(struct ipc_port *);
  65. extern struct ipc_space *
  66. convert_port_to_space(struct ipc_port *);
  67. extern void
  68. space_deallocate(ipc_space_t);
  69. mach_port_t
  70. mach_reply_port (void);
  71. #endif /* _KERN_IPC_TT_H_ */