Index: w32api/include/winnt.h =================================================================== RCS file: /cvs/cvsfiles/devo/winsup/w32api/include/winnt.h,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 winnt.h --- winnt.h 2000/01/06 23:57:45 1.1.1.1 +++ winnt.h 2000/01/20 17:46:20 @@ -1388,6 +1388,58 @@ typedef struct _CONTEXT { DWORD Fill[2]; } CONTEXT,*PCONTEXT,*LPCONTEXT; +#elif defined(ARM) +// +// The following flags control the contents of the CONTEXT structure. +// + +#define CONTEXT_ARM 0x0000040 +#define CONTEXT_CONTROL (CONTEXT_ARM | 0x00000001L) +#define CONTEXT_INTEGER (CONTEXT_ARM | 0x00000002L) + +#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER) + +typedef struct _CONTEXT { + /* The flags values within this flag control the contents of + a CONTEXT record. + + If the context record is used as an input parameter, then + for each portion of the context record controlled by a flag + whose value is set, it is assumed that that portion of the + context record contains valid context. If the context record + is being used to modify a thread's context, then only that + portion of the threads context will be modified. + + If the context record is used as an IN OUT parameter to capture + the context of a thread, then only those portions of the thread's + context corresponding to set flags will be returned. + + The context record is never used as an OUT only parameter. */ + + ULONG ContextFlags; + + /* This section is specified/returned if the ContextFlags word contains + the flag CONTEXT_INTEGER. */ + ULONG R0; + ULONG R1; + ULONG R2; + ULONG R3; + ULONG R4; + ULONG R5; + ULONG R6; + ULONG R7; + ULONG R8; + ULONG R9; + ULONG R10; + ULONG R11; + ULONG R12; + + ULONG Sp; + ULONG Lr; + ULONG Pc; + ULONG Psr; +} CONTEXT, *PCONTEXT; + #else #error "undefined processor type" #endif