b93fa2b5c03a5e168c9f06cae378e0792266b564
[sbcl.git] / src / runtime / darwin-os.h
1 #ifndef _DARWIN_OS_H
2 #define _DARWIN_OS_H
3
4 /* this is meant to be included from bsd-os.h */
5
6 #include <mach/mach_init.h>
7 #include <mach/task.h>
8
9 /* man pages claim that the third argument is a sigcontext struct,
10    but ucontext_t is defined, matches sigcontext where sensible,
11    offers better access to mcontext, and is of course the SUSv2-
12    mandated type of the third argument, so we use that instead.
13    If Apple is going to break ucontext_t out of spite, I'm going
14    to be cross with them ;) -- PRM */
15
16 #if defined(LISP_FEATURE_X86)
17 #include <sys/ucontext.h>
18 #include <sys/_types.h>
19 typedef struct ucontext os_context_t;
20
21 #else
22 #include <ucontext.h>
23 typedef ucontext_t os_context_t;
24 #endif
25
26 #define SIG_MEMORY_FAULT SIGBUS
27
28 #define SIG_INTERRUPT_THREAD (SIGINFO)
29 #define SIG_STOP_FOR_GC (SIGUSR1)
30 #define SIG_RESUME_FROM_GC (SIGUSR2)
31
32 #endif /* _DARWIN_OS_H */