⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 winnt.h

📁 coreavc for linux in unix_linux
💻 H
📖 第 1 页 / 共 5 页
字号:
/* * Win32 definitions for Windows NT * * Copyright 1996 Alexandre Julliard */#ifndef MPLAYER_WINNT_H#define MPLAYER_WINNT_H#include "windef.h"#ifndef RC_INVOKED#include <string.h>#endif#include "pshpack1.h"/* Defines *//* Argument 1 passed to the DllEntryProc. */#define	DLL_PROCESS_DETACH	0	/* detach process (unload library) */#define	DLL_PROCESS_ATTACH	1	/* attach process (load library) */#define	DLL_THREAD_ATTACH	2	/* attach new thread */#define	DLL_THREAD_DETACH	3	/* detach thread *//* u.x.wProcessorArchitecture (NT) */#define PROCESSOR_ARCHITECTURE_INTEL	0#define PROCESSOR_ARCHITECTURE_MIPS	1#define PROCESSOR_ARCHITECTURE_ALPHA	2#define PROCESSOR_ARCHITECTURE_PPC	3#define PROCESSOR_ARCHITECTURE_SHX	4#define PROCESSOR_ARCHITECTURE_ARM	5#define PROCESSOR_ARCHITECTURE_UNKNOWN	0xFFFF/* dwProcessorType */#define PROCESSOR_INTEL_386      386#define PROCESSOR_INTEL_486      486#define PROCESSOR_INTEL_PENTIUM  586#define PROCESSOR_INTEL_860      860#define PROCESSOR_MIPS_R2000     2000#define PROCESSOR_MIPS_R3000     3000#define PROCESSOR_MIPS_R4000     4000#define PROCESSOR_ALPHA_21064    21064#define PROCESSOR_PPC_601        601#define PROCESSOR_PPC_603        603#define PROCESSOR_PPC_604        604#define PROCESSOR_PPC_620        620#define PROCESSOR_HITACHI_SH3    10003#define PROCESSOR_HITACHI_SH3E   10004#define PROCESSOR_HITACHI_SH4    10005#define PROCESSOR_MOTOROLA_821   821#define PROCESSOR_SHx_SH3        103#define PROCESSOR_SHx_SH4        104#define PROCESSOR_STRONGARM      2577#define PROCESSOR_ARM720         1824    /* 0x720 */#define PROCESSOR_ARM820         2080    /* 0x820 */#define PROCESSOR_ARM920         2336    /* 0x920 */#define PROCESSOR_ARM_7TDMI      70001#define ANYSIZE_ARRAY 1#define MINCHAR       0x80#define MAXCHAR       0x7f#define MINSHORT      0x8000#define MAXSHORT      0x7fff#define MINLONG       0x80000000#define MAXLONG       0x7fffffff#define MAXBYTE       0xff#define MAXWORD       0xffff#define MAXDWORD      0xffffffff#define FIELD_OFFSET(type, field) \  ((LONG)(INT)&(((type *)0)->field))#define CONTAINING_RECORD(address, type, field) \  ((type *)((PCHAR)(address) - (PCHAR)(&((type *)0)->field)))/* Types *//* TCHAR data types definitions for Winelib. *//* These types are _not_ defined for the emulator, because they *//* depend on the UNICODE macro that only exists in user's code. */# ifdef UNICODEtypedef WCHAR TCHAR, *PTCHAR;typedef LPWSTR PTSTR, LPTSTR;typedef LPCWSTR PCTSTR, LPCTSTR;#define TEXT(string) L##string /*probably wrong */# else  /* UNICODE */typedef char TCHAR, *PTCHAR;typedef LPSTR PTSTR, LPTSTR;typedef LPCSTR PCTSTR, LPCTSTR;#define TEXT(string) string# endif /* UNICODE */typedef BYTE     BOOLEAN;typedef BOOLEAN *PBOOLEAN;typedef struct LIST_ENTRY {  struct LIST_ENTRY *Flink;  struct LIST_ENTRY *Blink;} LIST_ENTRY, *PLIST_ENTRY;typedef struct SINGLE_LIST_ENTRY {  struct SINGLE_LIST_ENTRY *Next;} SINGLE_LIST_ENTRY, *PSINGLE_LIST_ENTRY;/* Heap flags */#define HEAP_NO_SERIALIZE               0x00000001#define HEAP_GROWABLE                   0x00000002#define HEAP_GENERATE_EXCEPTIONS        0x00000004#define HEAP_ZERO_MEMORY                0x00000008#define HEAP_REALLOC_IN_PLACE_ONLY      0x00000010#define HEAP_TAIL_CHECKING_ENABLED      0x00000020#define HEAP_FREE_CHECKING_ENABLED      0x00000040#define HEAP_DISABLE_COALESCE_ON_FREE   0x00000080#define HEAP_CREATE_ALIGN_16            0x00010000#define HEAP_CREATE_ENABLE_TRACING      0x00020000#define HEAP_WINE_SEGPTR                0x01000000  /* Not a Win32 flag */#define HEAP_WINE_CODESEG               0x02000000  /* Not a Win32 flag */#define HEAP_WINE_CODE16SEG             0x04000000  /* Not a Win32 flag */#define HEAP_WINE_SHARED                0x08000000  /* Not a Win32 flag *//* Processor feature flags.  */#define PF_FLOATING_POINT_PRECISION_ERRATA	0#define PF_FLOATING_POINT_EMULATED		1#define PF_COMPARE_EXCHANGE_DOUBLE		2#define PF_MMX_INSTRUCTIONS_AVAILABLE		3#define PF_PPC_MOVEMEM_64BIT_OK			4#define PF_ALPHA_BYTE_INSTRUCTIONS		5/* based on wine-20010510 -- alex */#define PF_XMMI_INSTRUCTIONS_AVAILABLE		6#define PF_AMD3D_INSTRUCTIONS_AVAILABLE		7#define PF_RDTSC_INSTRUCTION_AVAILABLE		8#define PF_XMMI64_INSTRUCTIONS_AVAILABLE	10/* The Win32 register context *//* CONTEXT is the CPU-dependent context; it should be used        *//* wherever a platform-specific context is needed (e.g. exception *//* handling, Win32 register functions). *//* CONTEXT86 is the i386-specific context; it should be used     *//* wherever only a 386 context makes sense (e.g. DOS interrupts, *//* Win16 register functions), so that this code can be compiled  *//* on all platforms. */#define SIZE_OF_80387_REGISTERS      80typedef struct FLOATING_SAVE_AREA{    DWORD   ControlWord;    DWORD   StatusWord;    DWORD   TagWord;        DWORD   ErrorOffset;    DWORD   ErrorSelector;    DWORD   DataOffset;    DWORD   DataSelector;        BYTE    RegisterArea[SIZE_OF_80387_REGISTERS];    DWORD   Cr0NpxState;} FLOATING_SAVE_AREA, *PFLOATING_SAVE_AREA;typedef struct CONTEXT86{    DWORD   ContextFlags;    /* These are selected by CONTEXT_DEBUG_REGISTERS */    DWORD   Dr0;    DWORD   Dr1;    DWORD   Dr2;    DWORD   Dr3;    DWORD   Dr6;    DWORD   Dr7;    /* These are selected by CONTEXT_FLOATING_POINT */    FLOATING_SAVE_AREA FloatSave;    /* These are selected by CONTEXT_SEGMENTS */    DWORD   SegGs;    DWORD   SegFs;    DWORD   SegEs;    DWORD   SegDs;        /* These are selected by CONTEXT_INTEGER */    DWORD   Edi;    DWORD   Esi;    DWORD   Ebx;    DWORD   Edx;        DWORD   Ecx;    DWORD   Eax;    /* These are selected by CONTEXT_CONTROL */    DWORD   Ebp;        DWORD   Eip;    DWORD   SegCs;    DWORD   EFlags;    DWORD   Esp;    DWORD   SegSs;} CONTEXT86;#define CONTEXT_X86       0x00010000#define CONTEXT_i386      CONTEXT_X86#define CONTEXT_i486      CONTEXT_X86#define CONTEXT86_CONTROL   (CONTEXT_i386 | 0x0001) /* SS:SP, CS:IP, FLAGS, BP */#define CONTEXT86_INTEGER   (CONTEXT_i386 | 0x0002) /* AX, BX, CX, DX, SI, DI */#define CONTEXT86_SEGMENTS  (CONTEXT_i386 | 0x0004) /* DS, ES, FS, GS */#define CONTEXT86_FLOATING_POINT  (CONTEXT_i386 | 0x0008L) /* 387 state */#define CONTEXT86_DEBUG_REGISTERS (CONTEXT_i386 | 0x0010L) /* DB 0-3,6,7 */#define CONTEXT86_FULL (CONTEXT86_CONTROL | CONTEXT86_INTEGER | CONTEXT86_SEGMENTS)/* i386 context definitions */#ifdef __i386__#define CONTEXT_CONTROL         CONTEXT86_CONTROL#define CONTEXT_INTEGER         CONTEXT86_INTEGER#define CONTEXT_SEGMENTS        CONTEXT86_SEGMENTS#define CONTEXT_FLOATING_POINT  CONTEXT86_FLOATING_POINT#define CONTEXT_DEBUG_REGISTERS CONTEXT86_DEBUG_REGISTERS#define CONTEXT_FULL            CONTEXT86_FULLtypedef CONTEXT86 CONTEXT;#endif  /* __i386__ *//* Alpha context definitions */#if defined(_ALPHA_) || defined(__alpha__)#define CONTEXT_ALPHA   0x00020000 #define CONTEXT_CONTROL		(CONTEXT_ALPHA | 0x00000001L)#define CONTEXT_FLOATING_POINT	(CONTEXT_ALPHA | 0x00000002L)#define CONTEXT_INTEGER		(CONTEXT_ALPHA | 0x00000004L)#define CONTEXT_FULL  (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER)typedef struct CONTEXT{    /* selected by CONTEXT_FLOATING_POINT */    ULONGLONG FltF0;    ULONGLONG FltF1;    ULONGLONG FltF2;    ULONGLONG FltF3;    ULONGLONG FltF4;    ULONGLONG FltF5;    ULONGLONG FltF6;    ULONGLONG FltF7;    ULONGLONG FltF8;    ULONGLONG FltF9;    ULONGLONG FltF10;    ULONGLONG FltF11;    ULONGLONG FltF12;    ULONGLONG FltF13;    ULONGLONG FltF14;    ULONGLONG FltF15;    ULONGLONG FltF16;    ULONGLONG FltF17;    ULONGLONG FltF18;    ULONGLONG FltF19;    ULONGLONG FltF20;    ULONGLONG FltF21;    ULONGLONG FltF22;    ULONGLONG FltF23;    ULONGLONG FltF24;    ULONGLONG FltF25;    ULONGLONG FltF26;    ULONGLONG FltF27;    ULONGLONG FltF28;    ULONGLONG FltF29;    ULONGLONG FltF30;    ULONGLONG FltF31;    /* selected by CONTEXT_INTEGER */    ULONGLONG IntV0;    ULONGLONG IntT0;    ULONGLONG IntT1;    ULONGLONG IntT2;    ULONGLONG IntT3;    ULONGLONG IntT4;    ULONGLONG IntT5;    ULONGLONG IntT6;    ULONGLONG IntT7;    ULONGLONG IntS0;    ULONGLONG IntS1;    ULONGLONG IntS2;    ULONGLONG IntS3;    ULONGLONG IntS4;    ULONGLONG IntS5;    ULONGLONG IntFp;    ULONGLONG IntA0;    ULONGLONG IntA1;    ULONGLONG IntA2;    ULONGLONG IntA3;    ULONGLONG IntA4;    ULONGLONG IntA5;    ULONGLONG IntT8;    ULONGLONG IntT9;    ULONGLONG IntT10;    ULONGLONG IntT11;    ULONGLONG IntRa;    ULONGLONG IntT12;    ULONGLONG IntAt;    ULONGLONG IntGp;    ULONGLONG IntSp;    ULONGLONG IntZero;    /* selected by CONTEXT_FLOATING_POINT */    ULONGLONG Fpcr;    ULONGLONG SoftFpcr;    /* selected by CONTEXT_CONTROL */    ULONGLONG Fir;    DWORD Psr;    DWORD ContextFlags;    DWORD Fill[4];} CONTEXT;#define QUAD_PSR_OFFSET   HighSoftFpcr#define QUAD_FLAGS_OFFSET HighFir#endif  /* _ALPHA_ *//* Mips context definitions */#ifdef _MIPS_#define CONTEXT_R4000   0x00010000#define CONTEXT_CONTROL         (CONTEXT_R4000 | 0x00000001)#define CONTEXT_FLOATING_POINT  (CONTEXT_R4000 | 0x00000002)#define CONTEXT_INTEGER         (CONTEXT_R4000 | 0x00000004)#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER)typedef struct CONTEXT{    DWORD Argument[4];    /* These are selected by CONTEXT_FLOATING_POINT */    DWORD FltF0;    DWORD FltF1;    DWORD FltF2;    DWORD FltF3;    DWORD FltF4;    DWORD FltF5;    DWORD FltF6;    DWORD FltF7;    DWORD FltF8;    DWORD FltF9;    DWORD FltF10;    DWORD FltF11;    DWORD FltF12;    DWORD FltF13;    DWORD FltF14;    DWORD FltF15;    DWORD FltF16;    DWORD FltF17;    DWORD FltF18;    DWORD FltF19;    DWORD FltF20;    DWORD FltF21;    DWORD FltF22;    DWORD FltF23;    DWORD FltF24;    DWORD FltF25;    DWORD FltF26;    DWORD FltF27;    DWORD FltF28;    DWORD FltF29;    DWORD FltF30;    DWORD FltF31;    /* These are selected by CONTEXT_INTEGER */    DWORD IntZero;    DWORD IntAt;    DWORD IntV0;    DWORD IntV1;    DWORD IntA0;    DWORD IntA1;    DWORD IntA2;    DWORD IntA3;    DWORD IntT0;    DWORD IntT1;    DWORD IntT2;    DWORD IntT3;    DWORD IntT4;    DWORD IntT5;    DWORD IntT6;    DWORD IntT7;    DWORD IntS0;    DWORD IntS1;    DWORD IntS2;    DWORD IntS3;    DWORD IntS4;    DWORD IntS5;    DWORD IntS6;    DWORD IntS7;    DWORD IntT8;    DWORD IntT9;    DWORD IntK0;    DWORD IntK1;    DWORD IntGp;    DWORD IntSp;    DWORD IntS8;    DWORD IntRa;    DWORD IntLo;    DWORD IntHi;    /* These are selected by CONTEXT_FLOATING_POINT */    DWORD Fsr;    /* These are selected by CONTEXT_CONTROL */    DWORD Fir;    DWORD Psr;    DWORD ContextFlags;    DWORD Fill[2];} CONTEXT;#endif  /* _MIPS_ *//* PowerPC context definitions */#ifdef __PPC__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -