mach_exc.defs 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. /*
  2. * Copyright (c) 2006 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 distribute 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 [email protected]
  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. /*
  59. * Abstract:
  60. * MiG definitions file for Mach exception interface.
  61. */
  62. subsystem
  63. #if KERNEL_USER
  64. KernelUser
  65. #endif
  66. #if KERNEL_SERVER
  67. KernelServer
  68. #endif /* KERNEL_SERVER */
  69. mach_exc 2405;
  70. #include <mach/std_types.defs>
  71. #include <mach/mach_types.defs>
  72. ServerPrefix catch_;
  73. type mach_exception_data_t = array[*:2] of int64_t;
  74. type exception_type_t = int;
  75. routine mach_exception_raise(
  76. exception_port : mach_port_t;
  77. thread : mach_port_t;
  78. task : mach_port_t;
  79. exception : exception_type_t;
  80. code : mach_exception_data_t
  81. #if MACH_EXC_SERVER_SECTOKEN
  82. ;
  83. ServerSecToken stoken : security_token_t
  84. #endif
  85. #if MACH_EXC_SERVER_AUDITTOKEN
  86. ;
  87. ServerAuditToken atoken: audit_token_t
  88. #endif
  89. );
  90. routine mach_exception_raise_state(
  91. exception_port : mach_port_t;
  92. exception : exception_type_t;
  93. code : mach_exception_data_t, const;
  94. inout flavor : int;
  95. old_state : thread_state_t, const;
  96. out new_state : thread_state_t
  97. #if MACH_EXC_SERVER_SECTOKEN
  98. ;
  99. ServerSecToken stoken : security_token_t
  100. #endif
  101. #if MACH_EXC_SERVER_AUDITTOKEN
  102. ;
  103. ServerAuditToken atoken: audit_token_t
  104. #endif
  105. );
  106. routine mach_exception_raise_state_identity(
  107. exception_port : mach_port_t;
  108. thread : mach_port_t;
  109. task : mach_port_t;
  110. exception : exception_type_t;
  111. code : mach_exception_data_t;
  112. inout flavor : int;
  113. old_state : thread_state_t;
  114. out new_state : thread_state_t
  115. #if MACH_EXC_SERVER_SECTOKEN
  116. ;
  117. ServerSecToken stoken : security_token_t
  118. #endif
  119. #if MACH_EXC_SERVER_AUDITTOKEN
  120. ;
  121. ServerAuditToken atoken: audit_token_t
  122. #endif
  123. );
  124. /* vim: set ft=c : */