|
|
1.1 root 1: /*
2: * Copyright (c) 2013 Free Software Foundation.
3: *
4: * This program is free software; you can redistribute it and/or modify
5: * it under the terms of the GNU General Public License as published by
6: * the Free Software Foundation; either version 2 of the License, or
7: * (at your option) any later version.
8: *
9: * This program is distributed in the hope that it will be useful,
10: * but WITHOUT ANY WARRANTY; without even the implied warranty of
11: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12: * GNU General Public License for more details.
13: *
14: * You should have received a copy of the GNU General Public License along
15: * with this program; if not, write to the Free Software Foundation, Inc.,
16: * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17: */
18:
19: #ifndef _KERN_EXCEPTION_H_
20: #define _KERN_EXCEPTION_H_
21:
22: #include <ipc/ipc_types.h>
23: #include <ipc/ipc_kmsg.h>
24:
25: extern void
26: exception(
27: integer_t _exception,
28: integer_t code,
29: integer_t subcode) __attribute__ ((noreturn));
30:
31: extern void
32: exception_try_task(
33: integer_t _exception,
34: integer_t code,
35: integer_t subcode) __attribute__ ((noreturn));
36:
37: extern void
38: exception_no_server(void) __attribute__ ((noreturn));
39:
40: extern void
41: exception_raise(
42: ipc_port_t dest_port,
43: ipc_port_t thread_port,
44: ipc_port_t task_port,
45: integer_t _exception,
46: integer_t code,
47: integer_t subcode) __attribute__ ((noreturn));
48:
49: extern kern_return_t
50: exception_parse_reply(ipc_kmsg_t kmsg);
51:
52: extern void
53: exception_raise_continue(void) __attribute__ ((noreturn));
54:
55: extern void
56: exception_raise_continue_slow(
57: mach_msg_return_t mr,
58: ipc_kmsg_t kmsg,
59: mach_port_seqno_t seqno) __attribute__ ((noreturn));
60:
61: extern void
62: exception_raise_continue_fast(
63: ipc_port_t reply_port,
64: ipc_kmsg_t kmsg) __attribute__ ((noreturn));
65:
66: #endif /* _KERN_EXCEPTION_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.