diff options
| author | rsc <devnull@localhost> | 2005-01-11 17:43:53 +0000 |
|---|---|---|
| committer | rsc <devnull@localhost> | 2005-01-11 17:43:53 +0000 |
| commit | b8f742db850ffc99333a97ab54fc820c6de0fd98 (patch) | |
| tree | 9096b9872c0e65a3f1f3cdd7b993c58411d20e5e /src/libthread/Darwin-ucontext.h | |
| parent | 530d00164177fd68e2aeb403e7b9be31823e3168 (diff) | |
| download | plan9port-b8f742db850ffc99333a97ab54fc820c6de0fd98.tar.gz plan9port-b8f742db850ffc99333a97ab54fc820c6de0fd98.zip | |
os x changes
Diffstat (limited to 'src/libthread/Darwin-ucontext.h')
| -rw-r--r-- | src/libthread/Darwin-ucontext.h | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/libthread/Darwin-ucontext.h b/src/libthread/Darwin-ucontext.h index c7915ff8..a39be28a 100644 --- a/src/libthread/Darwin-ucontext.h +++ b/src/libthread/Darwin-ucontext.h @@ -1,5 +1,6 @@ +typedef struct mcontext mcontext_t; typedef struct ucontext ucontext_t; -struct ucontext +struct mcontext { ulong pc; /* lr */ ulong cr; /* mfcr */ @@ -15,10 +16,20 @@ struct ucontext // ulong vr[4*12]; /* callee saved: v20-v31, 256-bits each */ }; +struct ucontext +{ + struct { + void *ss_sp; + uint ss_size; + } uc_stack; + sigset_t uc_sigmask; + mcontext_t mc; +}; + void makecontext(ucontext_t*, void(*)(void), int, ...); -void getcontext(ucontext_t*); +int getcontext(ucontext_t*); int setcontext(ucontext_t*); int swapcontext(ucontext_t*, ucontext_t*); -int __setlabel(ucontext_t*); -void __gotolabel(ucontext_t*); +int _getmcontext(mcontext_t*); +void _setmcontext(mcontext_t*); |
