X-Git-Url: http://git.jankratochvil.net/?p=reactos.git;a=blobdiff_plain;f=include%2Fntos%2Ftypes.h;h=58e7a381bfdb6b46246837efc634bd9f24e9efac;hp=e7739afe63f555756c604607e611250fdf4f37df;hb=HEAD;hpb=7c0db166f81fbe8c8b913d7f26048e337d383605 diff --git a/include/ntos/types.h b/include/ntos/types.h index e7739af..58e7a38 100644 --- a/include/ntos/types.h +++ b/include/ntos/types.h @@ -14,6 +14,9 @@ #ifndef __INCLUDE_TYPES_H #define __INCLUDE_TYPES_H +#define EXPORTED __declspec(dllexport) +#define IMPORTED __declspec(dllimport) + #include #ifdef __GNUC__ @@ -41,8 +44,13 @@ typedef short SHORT; #ifndef __USE_W32API #ifdef i386 +#ifdef __GNUC__ #define STDCALL __attribute__ ((stdcall)) #define CDECL __attribute__ ((cdecl)) +#else +#define STDCALL __stdcall +#define CDECL __cdecl +#endif #define CALLBACK WINAPI #define PASCAL WINAPI #else @@ -82,12 +90,13 @@ typedef __WCHAR_TYPE__ wchar_t; #endif /* wchar_t not already defined */ -//#ifndef __cplusplus -//#ifndef _WCHAR_T_DEFINED -//#define _WCHAR_T_DEFINED -//typedef unsigned short wchar_t; -//#endif -//#endif +/* #ifndef __cplusplus +#ifndef _WCHAR_T_DEFINED +#define _WCHAR_T_DEFINED +typedef unsigned short wchar_t; +#endif +#endif +*/ typedef unsigned char UCHAR; typedef unsigned short USHORT; @@ -107,7 +116,7 @@ typedef float *PFLOAT; typedef wchar_t *PWCH; typedef unsigned short *PWORD; -#include // for definition of LONGLONG, PLONGLONG etc +#include /* for definition of LONGLONG, PLONGLONG etc */ typedef const void *LPCVOID; typedef BYTE *LPBYTE, *PBYTE; @@ -169,6 +178,12 @@ typedef union _ULARGE_INTEGER ULONGLONG QuadPart; } ULARGE_INTEGER, *PULARGE_INTEGER; + +/* + * Moved here by AG + * typedef ULARGE_INTEGER TIME, *PTIME; + */ + typedef struct _FILETIME { DWORD dwLowDateTime; @@ -186,6 +201,9 @@ typedef struct _SINGLE_LIST_ENTRY struct _SINGLE_LIST_ENTRY *Next; } SINGLE_LIST_ENTRY, *PSINGLE_LIST_ENTRY; +#define SLIST_ENTRY SINGLE_LIST_ENTRY +#define PSLIST_ENTRY PSINGLE_LIST_ENTRY + typedef struct _UNICODE_STRING { USHORT Length; @@ -193,6 +211,10 @@ typedef struct _UNICODE_STRING PWSTR Buffer; } UNICODE_STRING, *PUNICODE_STRING; +typedef const UNICODE_STRING* PCUNICODE_STRING; + +#define UNICODE_NULL ((WCHAR)0) + typedef struct _FLOATING_SAVE_AREA { DWORD ControlWord; @@ -401,7 +423,7 @@ typedef struct value_ent DWORD ve_type; } WVALENT, *PWVALENT; -//#include "except.h" +/* #include "except.h" */ #ifndef __USE_W32API @@ -464,4 +486,77 @@ typedef LPTHREAD_START_ROUTINE PTHREAD_START_ROUTINE; #endif /* __USE_W32API */ +typedef struct _ADDRESS_RANGE +{ + ULONG BaseAddrLow; + ULONG BaseAddrHigh; + ULONG LengthLow; + ULONG LengthHigh; + ULONG Type; +} ADDRESS_RANGE, *PADDRESS_RANGE; + +#define MB_FLAGS_MEM_INFO (0x1) +#define MB_FLAGS_BOOT_DEVICE (0x2) +#define MB_FLAGS_COMMAND_LINE (0x4) +#define MB_FLAGS_MODULE_INFO (0x8) +#define MB_FLAGS_AOUT_SYMS (0x10) +#define MB_FLAGS_ELF_SYMS (0x20) +#define MB_FLAGS_MMAP_INFO (0x40) +#define MB_FLAGS_DRIVES_INFO (0x80) +#define MB_FLAGS_CONFIG_TABLE (0x100) +#define MB_FLAGS_BOOT_LOADER_NAME (0x200) +#define MB_FLAGS_APM_TABLE (0x400) +#define MB_FLAGS_GRAPHICS_TABLE (0x800) + +typedef struct _LOADER_MODULE +{ + ULONG ModStart; + ULONG ModEnd; + ULONG String; + ULONG Reserved; +} LOADER_MODULE, *PLOADER_MODULE; + +typedef struct _LOADER_PARAMETER_BLOCK +{ + ULONG Flags; + ULONG MemLower; + ULONG MemHigher; + ULONG BootDevice; + ULONG CommandLine; + ULONG ModsCount; + ULONG ModsAddr; + UCHAR Syms[12]; + ULONG MmapLength; + ULONG MmapAddr; + ULONG DrivesCount; + ULONG DrivesAddr; + ULONG ConfigTable; + ULONG BootLoaderName; +} LOADER_PARAMETER_BLOCK, *PLOADER_PARAMETER_BLOCK; + +typedef enum _KAPC_ENVIRONMENT +{ + OriginalApcEnvironment, + AttachedApcEnvironment, + CurrentApcEnvironment +} KAPC_ENVIRONMENT; + +/* FIXME: Are these official values ?? */ +#define STATUS_FS_QUERY_REQUIRED ((NTSTATUS)0xC1000001) +#define STATUS_HANDLE_NOT_WAITABLE ((NTSTATUS)0xC1000002) +#define STATUS_OBJECT_FILE_MISMATCH ((NTSTATUS)0xC1000003) +#define STATUS_INVALID_PARAMETER_MAX ((NTSTATUS)0xC1000004) +#define STATUS_CONFLICTING_ADDRESS ((NTSTATUS)0xC1000005) +#define STATUS_NO_MEDIA_IN_DRIVE ((NTSTATUS)0xC1000006) + +#define NTSTAT_SEVERITY_SHIFT 30 +#define NTSTAT_SEVERITY_MASK 0x00000003 +#define NTSTAT_FACILITY_SHIFT 16 +#define NTSTAT_FACILITY_MASK 0x00000FFF +#define NTSTAT_CUSTOMER_MASK 0x20000000 + +#define NT_SEVERITY(StatCode) (((StatCode) >> NTSTAT_SEVERITY_SHIFT) & NTSTAT_SEVERITY_MASK) +#define NT_FACILITY(StatCode) (((StatCode) >> NTSTAT_FACILITY_SHIFT) & NTSTAT_FACILITY_MASK) +#define NT_CUSTOMER(StatCode) ((StatCode) & NTSTAT_CUSTOMER_MASK) + #endif /* __INCLUDE_TYPES_H */