| Line | |
|---|
| 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.