summaryrefslogtreecommitdiff
path: root/packages/libc/src/sigcontexth.inc
diff options
context:
space:
mode:
Diffstat (limited to 'packages/libc/src/sigcontexth.inc')
-rw-r--r--packages/libc/src/sigcontexth.inc89
1 files changed, 89 insertions, 0 deletions
diff --git a/packages/libc/src/sigcontexth.inc b/packages/libc/src/sigcontexth.inc
new file mode 100644
index 0000000000..7292903580
--- /dev/null
+++ b/packages/libc/src/sigcontexth.inc
@@ -0,0 +1,89 @@
+
+type
+ P_fpreg = ^_fpreg;
+ _fpreg = record
+ significand : array[0..3] of word;
+ exponent : word;
+ end;
+
+ P_fpxreg = ^_fpxreg;
+ _fpxreg = record
+ significand : array[0..3] of word;
+ exponent : word;
+ padding : array[0..2] of word;
+ end;
+
+ P_xmmreg = ^_xmmreg;
+ _xmmreg = record
+ element : array[0..3] of dword;
+ end;
+
+ P_fpstate = ^_fpstate;
+ _fpstate = record
+ cw : dword;
+ sw : dword;
+ tag : dword;
+ ipoff : dword;
+ cssel : dword;
+ dataoff : dword;
+ datasel : dword;
+ _st : array[0..7] of _fpreg;
+ status : word;
+ magic : word;
+ _fxsr_env : array[0..5] of dword;
+ mxcsr : dword;
+ reserved : dword;
+ _fxsr_st : array[0..7] of _fpxreg;
+ _xmm : array[0..7] of _xmmreg;
+ padding : array[0..55] of dword;
+ end;
+
+
+const
+ X86_FXSR_MAGIC = $0000;
+
+type
+ Psigcontext = ^sigcontext;
+ sigcontext = record
+ gs : word;
+ __gsh : word;
+ fs : word;
+ __fsh : word;
+ es : word;
+ __esh : word;
+ ds : word;
+ __dsh : word;
+ edi : dword;
+ esi : dword;
+ ebp : dword;
+ esp : dword;
+ ebx : dword;
+ edx : dword;
+ ecx : dword;
+ eax : dword;
+ trapno : dword;
+ err : dword;
+ eip : dword;
+ cs : word;
+ __csh : word;
+ eflags : dword;
+ esp_at_signal : dword;
+ ss : word;
+ __ssh : word;
+ fpstate : P_fpstate;
+ oldmask : dword;
+ cr2 : dword;
+ end;
+
+
+{ ---------------------------------------------------------------------
+ Borland compatibility types
+ ---------------------------------------------------------------------}
+ TFPreg = _fpreg;
+ PFPreg = ^TFPreg;
+
+ TFPstate = _fpstate;
+ PFPstate = ^TFPstate;
+
+ TSigContext = sigcontext;
+