summaryrefslogtreecommitdiffstats
path: root/sys/sys/ucontext.h
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2012-01-21 18:00:28 +0000
committerkib <kib@FreeBSD.org>2012-01-21 18:00:28 +0000
commit8c121450bcfa7aaf7c661baf2809bafc48c1f60f (patch)
tree4806ea5a2bf8eb5da87e290d16da86d5e5f5222f /sys/sys/ucontext.h
parent3572bdc783bebdf33330a1218e74826c4096ae81 (diff)
downloadFreeBSD-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.h6
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 */
OpenPOWER on IntegriCloud