Rev | Line | |
---|
[32] | 1 | #ifndef _ASMi386_SIGCONTEXT_H
|
---|
| 2 | #define _ASMi386_SIGCONTEXT_H
|
---|
| 3 |
|
---|
| 4 | /*
|
---|
| 5 | * As documented in the iBCS2 standard..
|
---|
| 6 | *
|
---|
| 7 | * The first part of "struct _fpstate" is just the
|
---|
| 8 | * normal i387 hardware setup, the extra "status"
|
---|
| 9 | * word is used to save the coprocessor status word
|
---|
| 10 | * before entering the handler.
|
---|
| 11 | */
|
---|
| 12 | struct _fpreg {
|
---|
| 13 | unsigned short significand[4];
|
---|
| 14 | unsigned short exponent;
|
---|
| 15 | };
|
---|
| 16 |
|
---|
| 17 | struct _fpstate {
|
---|
| 18 | unsigned long cw,
|
---|
| 19 | sw,
|
---|
| 20 | tag,
|
---|
| 21 | ipoff,
|
---|
| 22 | cssel,
|
---|
| 23 | dataoff,
|
---|
| 24 | datasel;
|
---|
| 25 | struct _fpreg _st[8];
|
---|
| 26 | unsigned long status;
|
---|
| 27 | };
|
---|
| 28 |
|
---|
| 29 | struct sigcontext {
|
---|
| 30 | unsigned short gs, __gsh;
|
---|
| 31 | unsigned short fs, __fsh;
|
---|
| 32 | unsigned short es, __esh;
|
---|
| 33 | unsigned short ds, __dsh;
|
---|
| 34 | unsigned long edi;
|
---|
| 35 | unsigned long esi;
|
---|
| 36 | unsigned long ebp;
|
---|
| 37 | unsigned long esp;
|
---|
| 38 | unsigned long ebx;
|
---|
| 39 | unsigned long edx;
|
---|
| 40 | unsigned long ecx;
|
---|
| 41 | unsigned long eax;
|
---|
| 42 | unsigned long trapno;
|
---|
| 43 | unsigned long err;
|
---|
| 44 | unsigned long eip;
|
---|
| 45 | unsigned short cs, __csh;
|
---|
| 46 | unsigned long eflags;
|
---|
| 47 | unsigned long esp_at_signal;
|
---|
| 48 | unsigned short ss, __ssh;
|
---|
| 49 | struct _fpstate * fpstate;
|
---|
| 50 | unsigned long oldmask;
|
---|
| 51 | unsigned long cr2;
|
---|
| 52 | };
|
---|
| 53 |
|
---|
| 54 |
|
---|
| 55 | #endif
|
---|
Note:
See
TracBrowser
for help on using the repository browser.