projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Throw errors on malformed FUNCTION.
[sbcl.git]
/
src
/
runtime
/
x86-win32-os.h
diff --git
a/src/runtime/x86-win32-os.h
b/src/runtime/x86-win32-os.h
index
1f2e748
..
c7ffeca
100644
(file)
--- a/
src/runtime/x86-win32-os.h
+++ b/
src/runtime/x86-win32-os.h
@@
-1,14
+1,29
@@
#ifndef _X86_WIN32_OS_H
#define _X86_WIN32_OS_H
#ifndef _X86_WIN32_OS_H
#define _X86_WIN32_OS_H
-typedef CONTEXT os_context_t;
+typedef struct os_context_t {
+ CONTEXT* win32_context;
+#if defined(LISP_FEATURE_SB_THREAD)
+ sigset_t sigmask;
+#endif
+} os_context_t;
+
typedef long os_context_register_t;
typedef long os_context_register_t;
-static inline os_context_t *arch_os_get_context(void **void_context) {
+static inline os_context_t *arch_os_get_context(void **void_context)
+{
return (os_context_t *) *void_context;
}
return (os_context_t *) *void_context;
}
+static inline DWORD NT_GetLastError() {
+ DWORD result;
+ asm("movl %%fs:0x0D,%0":"=r"(result));
+ return result;
+}
+
unsigned long os_context_fp_control(os_context_t *context);
void os_restore_fp_control(os_context_t *context);
unsigned long os_context_fp_control(os_context_t *context);
void os_restore_fp_control(os_context_t *context);
+os_context_register_t * os_context_fp_addr(os_context_t *context);
+
#endif /* _X86_WIN32_OS_H */
#endif /* _X86_WIN32_OS_H */