include: Move some 64-bit definitions to winnt.h to match the latest PSDK.

This commit is contained in:
Alexandre Julliard 2009-12-04 14:29:35 +01:00
parent 9072050906
commit 3c11ff9750
2 changed files with 158 additions and 168 deletions

View File

@ -1004,8 +1004,166 @@ typedef struct _RUNTIME_FUNCTION
DWORD UnwindData; DWORD UnwindData;
} RUNTIME_FUNCTION, *PRUNTIME_FUNCTION; } RUNTIME_FUNCTION, *PRUNTIME_FUNCTION;
#define UNWIND_HISTORY_TABLE_SIZE 12
typedef struct _UNWIND_HISTORY_TABLE_ENTRY
{
ULONG64 ImageBase;
PRUNTIME_FUNCTION FunctionEntry;
} UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY;
#define UNWIND_HISTORY_TABLE_NONE 0
#define UNWIND_HISTORY_TABLE_GLOBAL 1
#define UNWIND_HISTORY_TABLE_LOCAL 2
typedef struct _UNWIND_HISTORY_TABLE
{
ULONG Count;
UCHAR Search;
ULONG64 LowAddress;
ULONG64 HighAddress;
UNWIND_HISTORY_TABLE_ENTRY Entry[UNWIND_HISTORY_TABLE_SIZE];
} UNWIND_HISTORY_TABLE, *PUNWIND_HISTORY_TABLE;
typedef struct _KNONVOLATILE_CONTEXT_POINTERS
{
union
{
PM128A FloatingContext[16];
struct
{
PM128A Xmm0;
PM128A Xmm1;
PM128A Xmm2;
PM128A Xmm3;
PM128A Xmm4;
PM128A Xmm5;
PM128A Xmm6;
PM128A Xmm7;
PM128A Xmm8;
PM128A Xmm9;
PM128A Xmm10;
PM128A Xmm11;
PM128A Xmm12;
PM128A Xmm13;
PM128A Xmm14;
PM128A Xmm15;
} DUMMYSTRUCTNAME;
} DUMMYUNIONNAME1;
union
{
PULONG64 IntegerContext[16];
struct
{
PULONG64 Rax;
PULONG64 Rcx;
PULONG64 Rdx;
PULONG64 Rbx;
PULONG64 Rsp;
PULONG64 Rbp;
PULONG64 Rsi;
PULONG64 Rdi;
PULONG64 R8;
PULONG64 R9;
PULONG64 R10;
PULONG64 R11;
PULONG64 R12;
PULONG64 R13;
PULONG64 R14;
PULONG64 R15;
} DUMMYSTRUCTNAME;
} DUMMYUNIONNAME2;
} KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS;
PRUNTIME_FUNCTION WINAPI RtlLookupFunctionEntry(DWORD64,DWORD64*,UNWIND_HISTORY_TABLE*);
PVOID WINAPI RtlVirtualUnwind(ULONG,ULONG64,ULONG64,RUNTIME_FUNCTION*,CONTEXT*,PVOID*,ULONG64*,KNONVOLATILE_CONTEXT_POINTERS*);
#define UNW_FLAG_NHANDLER 0
#define UNW_FLAG_EHANDLER 1
#define UNW_FLAG_UHANDLER 2
#define UNW_FLAG_CHAININFO 4
#endif /* __x86_64__ */ #endif /* __x86_64__ */
/* IA64 context definitions */
#ifdef __ia64__
typedef struct _FRAME_POINTERS {
ULONGLONG MemoryStackFp;
ULONGLONG BackingStoreFp;
} FRAME_POINTERS, *PFRAME_POINTERS;
#define UNWIND_HISTORY_TABLE_SIZE 12
typedef struct _UNWIND_HISTORY_TABLE_ENTRY {
ULONG64 ImageBase;
ULONG64 Gp;
PRUNTIME_FUNCTION FunctionEntry;
} UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY;
typedef struct _UNWIND_HISTORY_TABLE {
ULONG Count;
UCHAR Search;
ULONG64 LowAddress;
ULONG64 HighAddress;
UNWIND_HISTORY_TABLE_ENTRY Entry[UNWIND_HISTORY_TABLE_SIZE];
} UNWIND_HISTORY_TABLE, *PUNWIND_HISTORY_TABLE;
typedef struct _KNONVOLATILE_CONTEXT_POINTERS
{
PFLOAT128 FltS0;
PFLOAT128 FltS1;
PFLOAT128 FltS2;
PFLOAT128 FltS3;
PFLOAT128 HighFloatingContext[10];
PFLOAT128 FltS4;
PFLOAT128 FltS5;
PFLOAT128 FltS6;
PFLOAT128 FltS7;
PFLOAT128 FltS8;
PFLOAT128 FltS9;
PFLOAT128 FltS10;
PFLOAT128 FltS11;
PFLOAT128 FltS12;
PFLOAT128 FltS13;
PFLOAT128 FltS14;
PFLOAT128 FltS15;
PFLOAT128 FltS16;
PFLOAT128 FltS17;
PFLOAT128 FltS18;
PFLOAT128 FltS19;
PULONGLONG IntS0;
PULONGLONG IntS1;
PULONGLONG IntS2;
PULONGLONG IntS3;
PULONGLONG IntSp;
PULONGLONG IntS0Nat;
PULONGLONG IntS1Nat;
PULONGLONG IntS2Nat;
PULONGLONG IntS3Nat;
PULONGLONG IntSpNat;
PULONGLONG Preds;
PULONGLONG BrRp;
PULONGLONG BrS0;
PULONGLONG BrS1;
PULONGLONG BrS2;
PULONGLONG BrS3;
PULONGLONG BrS4;
PULONGLONG ApUNAT;
PULONGLONG ApLC;
PULONGLONG ApEC;
PULONGLONG RsPFS;
PULONGLONG StFSR;
PULONGLONG StFIR;
PULONGLONG StFDR;
PULONGLONG Cflag;
} KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS;
ULONGLONG WINAPI RtlVirtualUnwind(ULONGLONG,ULONGLONG,RUNTIME_FUNCTION*,CONTEXT*,BOOLEAN*,FRAME_POINTERS*,KNONVOLATILE_CONTEXT_POINTERS*);
#endif /* __ia64__ */
/* Alpha context definitions */ /* Alpha context definitions */
#if defined(_ALPHA_) || defined(__ALPHA__) || defined(__alpha__) #if defined(_ALPHA_) || defined(__ALPHA__) || defined(__alpha__)

View File

@ -883,174 +883,6 @@ typedef enum
UNC_DOT_PATH /* "//." */ UNC_DOT_PATH /* "//." */
} DOS_PATHNAME_TYPE; } DOS_PATHNAME_TYPE;
/***********************************************************************
* IA64 specific types and data structures
*/
#ifdef __ia64__
typedef struct _FRAME_POINTERS {
ULONGLONG MemoryStackFp;
ULONGLONG BackingStoreFp;
} FRAME_POINTERS, *PFRAME_POINTERS;
#define UNWIND_HISTORY_TABLE_SIZE 12
typedef struct _UNWIND_HISTORY_TABLE_ENTRY {
ULONG64 ImageBase;
ULONG64 Gp;
PRUNTIME_FUNCTION FunctionEntry;
} UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY;
typedef struct _UNWIND_HISTORY_TABLE {
ULONG Count;
UCHAR Search;
ULONG64 LowAddress;
ULONG64 HighAddress;
UNWIND_HISTORY_TABLE_ENTRY Entry[UNWIND_HISTORY_TABLE_SIZE];
} UNWIND_HISTORY_TABLE, *PUNWIND_HISTORY_TABLE;
typedef struct _KNONVOLATILE_CONTEXT_POINTERS
{
PFLOAT128 FltS0;
PFLOAT128 FltS1;
PFLOAT128 FltS2;
PFLOAT128 FltS3;
PFLOAT128 HighFloatingContext[10];
PFLOAT128 FltS4;
PFLOAT128 FltS5;
PFLOAT128 FltS6;
PFLOAT128 FltS7;
PFLOAT128 FltS8;
PFLOAT128 FltS9;
PFLOAT128 FltS10;
PFLOAT128 FltS11;
PFLOAT128 FltS12;
PFLOAT128 FltS13;
PFLOAT128 FltS14;
PFLOAT128 FltS15;
PFLOAT128 FltS16;
PFLOAT128 FltS17;
PFLOAT128 FltS18;
PFLOAT128 FltS19;
PULONGLONG IntS0;
PULONGLONG IntS1;
PULONGLONG IntS2;
PULONGLONG IntS3;
PULONGLONG IntSp;
PULONGLONG IntS0Nat;
PULONGLONG IntS1Nat;
PULONGLONG IntS2Nat;
PULONGLONG IntS3Nat;
PULONGLONG IntSpNat;
PULONGLONG Preds;
PULONGLONG BrRp;
PULONGLONG BrS0;
PULONGLONG BrS1;
PULONGLONG BrS2;
PULONGLONG BrS3;
PULONGLONG BrS4;
PULONGLONG ApUNAT;
PULONGLONG ApLC;
PULONGLONG ApEC;
PULONGLONG RsPFS;
PULONGLONG StFSR;
PULONGLONG StFIR;
PULONGLONG StFDR;
PULONGLONG Cflag;
} KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS;
ULONGLONG WINAPI RtlVirtualUnwind(ULONGLONG,ULONGLONG,RUNTIME_FUNCTION*,CONTEXT*,BOOLEAN*,FRAME_POINTERS*,KNONVOLATILE_CONTEXT_POINTERS*);
#endif /* defined(__ia64__) */
/***********************************************************************
* x86-64 specific types and data structures
*/
#ifdef __x86_64__
#define UNWIND_HISTORY_TABLE_SIZE 12
typedef struct _UNWIND_HISTORY_TABLE_ENTRY
{
ULONG64 ImageBase;
PRUNTIME_FUNCTION FunctionEntry;
} UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY;
#define UNWIND_HISTORY_TABLE_NONE 0
#define UNWIND_HISTORY_TABLE_GLOBAL 1
#define UNWIND_HISTORY_TABLE_LOCAL 2
typedef struct _UNWIND_HISTORY_TABLE
{
ULONG Count;
UCHAR Search;
ULONG64 LowAddress;
ULONG64 HighAddress;
UNWIND_HISTORY_TABLE_ENTRY Entry[UNWIND_HISTORY_TABLE_SIZE];
} UNWIND_HISTORY_TABLE, *PUNWIND_HISTORY_TABLE;
typedef struct _KNONVOLATILE_CONTEXT_POINTERS
{
union
{
PM128A FloatingContext[16];
struct
{
PM128A Xmm0;
PM128A Xmm1;
PM128A Xmm2;
PM128A Xmm3;
PM128A Xmm4;
PM128A Xmm5;
PM128A Xmm6;
PM128A Xmm7;
PM128A Xmm8;
PM128A Xmm9;
PM128A Xmm10;
PM128A Xmm11;
PM128A Xmm12;
PM128A Xmm13;
PM128A Xmm14;
PM128A Xmm15;
} DUMMYSTRUCTNAME;
} DUMMYUNIONNAME1;
union
{
PULONG64 IntegerContext[16];
struct
{
PULONG64 Rax;
PULONG64 Rcx;
PULONG64 Rdx;
PULONG64 Rbx;
PULONG64 Rsp;
PULONG64 Rbp;
PULONG64 Rsi;
PULONG64 Rdi;
PULONG64 R8;
PULONG64 R9;
PULONG64 R10;
PULONG64 R11;
PULONG64 R12;
PULONG64 R13;
PULONG64 R14;
PULONG64 R15;
} DUMMYSTRUCTNAME;
} DUMMYUNIONNAME2;
} KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS;
PVOID WINAPI RtlVirtualUnwind(ULONG,ULONG64,ULONG64,RUNTIME_FUNCTION*,CONTEXT*,PVOID*,ULONG64*,KNONVOLATILE_CONTEXT_POINTERS*);
#define UNW_FLAG_NHANDLER 0
#define UNW_FLAG_EHANDLER 1
#define UNW_FLAG_UHANDLER 2
#define UNW_FLAG_CHAININFO 4
#endif /* __x86_64 */
/*********************************************************************** /***********************************************************************
* Types and data structures * Types and data structures