diff options
author | kib <kib@FreeBSD.org> | 2012-01-21 18:00:28 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2012-01-21 18:00:28 +0000 |
commit | 8c121450bcfa7aaf7c661baf2809bafc48c1f60f (patch) | |
tree | 4806ea5a2bf8eb5da87e290d16da86d5e5f5222f /sys/sys/ucontext.h | |
parent | 3572bdc783bebdf33330a1218e74826c4096ae81 (diff) | |
download | FreeBSD-src-8c121450bcfa7aaf7c661baf2809bafc48c1f60f.zip FreeBSD-src-8c121450bcfa7aaf7c661baf2809bafc48c1f60f.tar.gz |
Add API for obtaining extended machine context states that cannot be
fit into existing mcontext_t.
On i386 and amd64 do return the extended FPU states using
getcontextx(3). For other architectures, getcontextx(3) returns the
same information as getcontext(2).
Tested by: pho
MFC after: 1 month
Diffstat (limited to 'sys/sys/ucontext.h')
-rw-r--r-- | sys/sys/ucontext.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/sys/ucontext.h b/sys/sys/ucontext.h index baa179e..87a2fb1 100644 --- a/sys/sys/ucontext.h +++ b/sys/sys/ucontext.h @@ -72,11 +72,17 @@ struct ucontext4 { __BEGIN_DECLS int getcontext(ucontext_t *); +ucontext_t *getcontextx(void); int setcontext(const ucontext_t *); void makecontext(ucontext_t *, void (*)(void), int, ...); int signalcontext(ucontext_t *, int, __sighandler_t *); int swapcontext(ucontext_t *, const ucontext_t *); +#if __BSD_VISIBLE +size_t __getcontextx_size(void); +int __fillcontextx(char *ctx); +#endif + __END_DECLS #else /* _KERNEL */ |