mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 16:36:33 +00:00
2002-11-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/bus/acpi/ospm/osl.c (acpi_os_readable, acpi_os_writable): Match prototypes. * include/ascii.h (AbortSystemShutdownA): Correct prototype. * include/debug.h (assert): Wrap in #ifndef assert. * include/funcs.h (AbortSystemShutdown): Remove duplicate prototype. * include/ddk/rtltypes.h: Move ... * include/ntos/rtltypes.h: ... here. * include/ddk/rtl.h: Move ... * include/ntos/rtl.h: ... here. * include/ddk/zwtypes.h: Move ... * include/ntos/zwtypes.h: ... here. * include/ddk/zw.h: Move ... * include/ntos/zw.h: ... here. | include/ddk/cmfuncs.h: Remove file; Move NtCreateKey to ntos/zw.h. * include/ntos.h: #include ntos/rtltypes.h, ntos/rtl.h, ntos/zwtypes.h, and ntos/zw.h. * include/unicode.h: (AbortSystemShutdownW): Correct prototype. * include/ddk/ntddk.h: Include headers at new location; Don't include removed files. * include/defines.h: Wrap definitions in w32api in #ifndef __USE_W32API. * include/ntos/zwtypes.h: Ditto. * include/napi/lpc.h: Ditto. * include/napi/shared_data.h: Ditto. * include/napi/teb.h: Ditto. * include/napi/types.h: Ditto. * include/ntdll/ldr.h: Ditto. * include/ntdll/rtl.h: Ditto. * include/ntos/console.h: Ditto. * include/ntos/disk.h: Ditto. * include/ntos/except.h: Ditto. * include/ntos/file.h: Ditto. * include/ntos/gditypes.h: Ditto. * include/ntos/heap.h: Ditto. * include/ntos/keyboard.h: Ditto. * include/ntos/mm.h: Ditto. * include/ntos/ntdef.h: Ditto. * include/ntos/ps.h: Ditto. * include/ntos/registry.h: Ditto. * include/ntos/security.h: Ditto. * include/ntos/synch.h: Ditto. * include/ntos/time.h: Ditto. * include/ntos/types.h: Ditto. * include/ntos/port.h: Ditto. * lib/advapi32/misc/shutdown.c (AbortSystemShutdownW, AbortSystemShutdownA): Correct prototype. * lib/advapi32/reg/reg.c: #include ntos.h. * lib/advapi32/sec/misc.c: Ditto. * lib/advapi32/sec/sid.c: Ditto. * lib/advapi32/service/sctrl.c: Ditto. * lib/advapi32/token/token.c: Ditto. * lib/kernel32/misc/dllmain.c: Ditto. * ntoskrnl/ex/napi.c: Ditto. * ntoskrnl/rtl/i386/exception.c: Ditto. * lib/advapi32/sec/ac.c: Ditto. (FindFirstFreeAce, GetAce): Change PACE* to PACE_HEADER*. * lib/advapi32/service/scm.c (EnumServicesStatusExA, EnumServicesStatusExW, QueryServiceStatusEx): Correct prototype. * lib/ntdll/rtl/ppb.c (RtlDestroyProcessParameters): Match prototype. * ntoskrnl/dbg/errinfo.c (DbgGetErrorText): Use %08x, not %08lx. * ntoskrnl/io/arcname.c (IoCreateSystemRootLink): Use %u, not %lu. * ntoskrnl/ke/main.c (ExpInitializeExecutive): Ditto. * (_main): Use %d, not %ld. * ntoskrnl/include/internal/i386/ke.h: Add #pragma GCC system_header. * include/ddk/ntdef.h (NTSYSAPI, NTAPI, NTKERNELAPI): Define to STDCALL; Check if already defined. * include/base.h (STDCALL, CDECL, CALLBACK, PASCAL): Move to ntos/types.h. svn path=/trunk/; revision=3755
This commit is contained in:
parent
d9e3082d1f
commit
755fde7e59
59 changed files with 1900 additions and 11102 deletions
|
@ -1,3 +1,72 @@
|
|||
2002-11-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
|
||||
|
||||
* drivers/bus/acpi/ospm/osl.c (acpi_os_readable, acpi_os_writable):
|
||||
Match prototypes.
|
||||
* include/ascii.h (AbortSystemShutdownA): Correct prototype.
|
||||
* include/debug.h (assert): Wrap in #ifndef assert.
|
||||
* include/funcs.h (AbortSystemShutdown): Remove duplicate prototype.
|
||||
* include/ddk/rtltypes.h: Move ...
|
||||
* include/ntos/rtltypes.h: ... here.
|
||||
* include/ddk/rtl.h: Move ...
|
||||
* include/ntos/rtl.h: ... here.
|
||||
* include/ddk/zwtypes.h: Move ...
|
||||
* include/ntos/zwtypes.h: ... here.
|
||||
* include/ddk/zw.h: Move ...
|
||||
* include/ntos/zw.h: ... here.
|
||||
| include/ddk/cmfuncs.h: Remove file; Move NtCreateKey to ntos/zw.h.
|
||||
* include/ntos.h: #include ntos/rtltypes.h, ntos/rtl.h, ntos/zwtypes.h,
|
||||
and ntos/zw.h.
|
||||
* include/unicode.h: (AbortSystemShutdownW): Correct prototype.
|
||||
* include/ddk/ntddk.h: Include headers at new location; Don't include
|
||||
removed files.
|
||||
* include/defines.h: Wrap definitions in w32api in #ifndef __USE_W32API.
|
||||
* include/ntos/zwtypes.h: Ditto.
|
||||
* include/napi/lpc.h: Ditto.
|
||||
* include/napi/shared_data.h: Ditto.
|
||||
* include/napi/teb.h: Ditto.
|
||||
* include/napi/types.h: Ditto.
|
||||
* include/ntdll/ldr.h: Ditto.
|
||||
* include/ntdll/rtl.h: Ditto.
|
||||
* include/ntos/console.h: Ditto.
|
||||
* include/ntos/disk.h: Ditto.
|
||||
* include/ntos/except.h: Ditto.
|
||||
* include/ntos/file.h: Ditto.
|
||||
* include/ntos/gditypes.h: Ditto.
|
||||
* include/ntos/heap.h: Ditto.
|
||||
* include/ntos/keyboard.h: Ditto.
|
||||
* include/ntos/mm.h: Ditto.
|
||||
* include/ntos/ntdef.h: Ditto.
|
||||
* include/ntos/ps.h: Ditto.
|
||||
* include/ntos/registry.h: Ditto.
|
||||
* include/ntos/security.h: Ditto.
|
||||
* include/ntos/synch.h: Ditto.
|
||||
* include/ntos/time.h: Ditto.
|
||||
* include/ntos/types.h: Ditto.
|
||||
* include/ntos/port.h: Ditto.
|
||||
* lib/advapi32/misc/shutdown.c (AbortSystemShutdownW,
|
||||
AbortSystemShutdownA): Correct prototype.
|
||||
* lib/advapi32/reg/reg.c: #include ntos.h.
|
||||
* lib/advapi32/sec/misc.c: Ditto.
|
||||
* lib/advapi32/sec/sid.c: Ditto.
|
||||
* lib/advapi32/service/sctrl.c: Ditto.
|
||||
* lib/advapi32/token/token.c: Ditto.
|
||||
* lib/kernel32/misc/dllmain.c: Ditto.
|
||||
* ntoskrnl/ex/napi.c: Ditto.
|
||||
* ntoskrnl/rtl/i386/exception.c: Ditto.
|
||||
* lib/advapi32/sec/ac.c: Ditto.
|
||||
(FindFirstFreeAce, GetAce): Change PACE* to PACE_HEADER*.
|
||||
* lib/advapi32/service/scm.c (EnumServicesStatusExA,
|
||||
EnumServicesStatusExW, QueryServiceStatusEx): Correct prototype.
|
||||
* lib/ntdll/rtl/ppb.c (RtlDestroyProcessParameters): Match prototype.
|
||||
* ntoskrnl/dbg/errinfo.c (DbgGetErrorText): Use %08x, not %08lx.
|
||||
* ntoskrnl/io/arcname.c (IoCreateSystemRootLink): Use %u, not %lu.
|
||||
* ntoskrnl/ke/main.c (ExpInitializeExecutive): Ditto.
|
||||
* (_main): Use %d, not %ld.
|
||||
* ntoskrnl/include/internal/i386/ke.h: Add #pragma GCC system_header.
|
||||
* include/ddk/ntdef.h (NTSYSAPI, NTAPI, NTKERNELAPI): Define to STDCALL;
|
||||
Check if already defined.
|
||||
* include/base.h (STDCALL, CDECL, CALLBACK, PASCAL): Move to ntos/types.h.
|
||||
|
||||
2002-11-13 Rick Gaiser <RickG81@Wanadoo.nl>
|
||||
|
||||
* drivers/bus/isapnp/isapnp.c (FindNextReadPort): Increment Port before
|
||||
|
|
|
@ -592,14 +592,14 @@ acpi_os_get_line(NATIVE_CHAR *buffer)
|
|||
return 0;
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
u8
|
||||
acpi_os_readable(void *ptr, u32 len)
|
||||
{
|
||||
/* Always readable */
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
u8
|
||||
acpi_os_writable(void *ptr, u32 len)
|
||||
{
|
||||
/* Always writable */
|
||||
|
|
|
@ -2415,7 +2415,7 @@ InitiateSystemShutdownA(
|
|||
WINBOOL
|
||||
STDCALL
|
||||
AbortSystemShutdownA(
|
||||
LPSTR lpMachineName
|
||||
LPCSTR lpMachineName
|
||||
);
|
||||
|
||||
int
|
||||
|
|
|
@ -56,17 +56,6 @@ typedef long LONG;
|
|||
|
||||
#define CONST const
|
||||
|
||||
#ifdef i386
|
||||
#define STDCALL __attribute__ ((stdcall))
|
||||
#define CDECL __attribute((cdecl))
|
||||
#define CALLBACK WINAPI
|
||||
#define PASCAL WINAPI
|
||||
#else
|
||||
#define STDCALL
|
||||
#define CDECL
|
||||
#define CALLBACK
|
||||
#define PASCAL
|
||||
#endif
|
||||
#define WINAPI STDCALL
|
||||
#define APIENTRY STDCALL
|
||||
#define WINGDIAPI
|
||||
|
|
|
@ -1,47 +0,0 @@
|
|||
/*
|
||||
* FUNCTION: Creates a registry key
|
||||
* ARGUMENTS:
|
||||
* KeyHandle (OUT) = Caller supplied storage for the resulting handle
|
||||
* DesiredAccess = Specifies the allowed or desired access to the key
|
||||
* It can have a combination of the following values:
|
||||
* KEY_READ | KEY_WRITE | KEY_EXECUTE | KEY_ALL_ACCESS
|
||||
* or
|
||||
* KEY_QUERY_VALUE The values of the key can be queried.
|
||||
* KEY_SET_VALUE The values of the key can be modified.
|
||||
* KEY_CREATE_SUB_KEYS The key may contain subkeys.
|
||||
* KEY_ENUMERATE_SUB_KEYS Subkeys can be queried.
|
||||
* KEY_NOTIFY
|
||||
* KEY_CREATE_LINK A symbolic link to the key can be created.
|
||||
* ObjectAttributes = The name of the key may be specified directly in the name field
|
||||
* of object attributes or relative to a key in rootdirectory.
|
||||
* TitleIndex = Might specify the position in the sequential order of subkeys.
|
||||
* Class = Specifies the kind of data, for example REG_SZ for string data. [ ??? ]
|
||||
* CreateOptions = Specifies additional options with which the key is created
|
||||
* REG_OPTION_VOLATILE The key is not preserved across boots.
|
||||
* REG_OPTION_NON_VOLATILE The key is preserved accross boots.
|
||||
* REG_OPTION_CREATE_LINK The key is a symbolic link to another key.
|
||||
* REG_OPTION_BACKUP_RESTORE Key is being opened or created for backup/restore operations.
|
||||
* Disposition = Indicates if the call to NtCreateKey resulted in the creation of a key it
|
||||
* can have the following values: REG_CREATED_NEW_KEY | REG_OPENED_EXISTING_KEY
|
||||
* RETURNS:
|
||||
* Status
|
||||
*/
|
||||
|
||||
NTSTATUS STDCALL
|
||||
NtCreateKey(OUT PHANDLE KeyHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN ULONG TitleIndex,
|
||||
IN PUNICODE_STRING Class OPTIONAL,
|
||||
IN ULONG CreateOptions,
|
||||
IN PULONG Disposition OPTIONAL);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
ZwCreateKey(OUT PHANDLE KeyHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN ULONG TitleIndex,
|
||||
IN PUNICODE_STRING Class OPTIONAL,
|
||||
IN ULONG CreateOptions,
|
||||
IN PULONG Disposition OPTIONAL);
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: ntddk.h,v 1.31 2002/09/08 10:47:44 chorns Exp $
|
||||
/* $Id: ntddk.h,v 1.32 2002/11/14 18:21:02 chorns Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -57,17 +57,16 @@ extern "C"
|
|||
#include <ddk/extypes.h>
|
||||
#include <ddk/pstypes.h>
|
||||
#include <ddk/ldrtypes.h>
|
||||
#include <ddk/zwtypes.h>
|
||||
#include <ntos/zwtypes.h>
|
||||
#include <ddk/ioctrl.h>
|
||||
#include <ddk/rtltypes.h>
|
||||
#include <ntos/rtltypes.h>
|
||||
#include <ddk/haltypes.h>
|
||||
#include <napi/shared_data.h>
|
||||
|
||||
#include <ddk/zw.h>
|
||||
#include <ddk/rtl.h>
|
||||
#include <ntos/zw.h>
|
||||
#include <ntos/rtl.h>
|
||||
#include <ddk/dbgfuncs.h>
|
||||
#include <ddk/ldrfuncs.h>
|
||||
#include <ddk/cmfuncs.h>
|
||||
#if defined(__NTOSKRNL__) || defined(__NTDRIVER__) || defined(__NTHAL__)
|
||||
#include <ddk/exfuncs.h>
|
||||
#include <ddk/halfuncs.h>
|
||||
|
|
|
@ -5,9 +5,16 @@ struct _KTHREAD;
|
|||
struct _ETHREAD;
|
||||
struct _EPROCESS;
|
||||
|
||||
#define NTKERNELAPI
|
||||
#define NTSYSAPI
|
||||
#define NTAPI
|
||||
#ifndef NTKERNELAPI
|
||||
#define NTKERNELAPI STDCAL
|
||||
#endif
|
||||
|
||||
#ifndef NTSYSAPI
|
||||
#define NTSYSAPI STDCALL
|
||||
#endif
|
||||
|
||||
#ifndef NTAPI
|
||||
#define NTAPI STDCALL
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,214 +0,0 @@
|
|||
/* $Id: rtltypes.h,v 1.6 2002/09/08 10:47:45 chorns Exp $
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DDK_RTLTYPES_H
|
||||
#define __DDK_RTLTYPES_H
|
||||
|
||||
|
||||
#define COMPRESSION_FORMAT_NONE 0x0000
|
||||
#define COMPRESSION_FORMAT_DEFAULT 0x0001
|
||||
#define COMPRESSION_FORMAT_LZNT1 0x0002
|
||||
|
||||
#define COMPRESSION_ENGINE_STANDARD 0x0000
|
||||
#define COMPRESSION_ENGINE_MAXIMUM 0x0100
|
||||
#define COMPRESSION_ENGINE_HIBER 0x0200
|
||||
|
||||
|
||||
typedef struct _INITIAL_TEB
|
||||
{
|
||||
ULONG StackCommit;
|
||||
ULONG StackReserve;
|
||||
PVOID StackBase;
|
||||
PVOID StackLimit;
|
||||
PVOID StackAllocate;
|
||||
} INITIAL_TEB, *PINITIAL_TEB;
|
||||
|
||||
typedef struct _CONTROLLER_OBJECT
|
||||
{
|
||||
CSHORT Type;
|
||||
CSHORT Size;
|
||||
PVOID ControllerExtension;
|
||||
KDEVICE_QUEUE DeviceWaitQueue;
|
||||
ULONG Spare1;
|
||||
LARGE_INTEGER Spare2;
|
||||
} CONTROLLER_OBJECT, *PCONTROLLER_OBJECT;
|
||||
|
||||
typedef struct _STRING
|
||||
{
|
||||
/*
|
||||
* Length in bytes of the string stored in buffer
|
||||
*/
|
||||
USHORT Length;
|
||||
|
||||
/*
|
||||
* Maximum length of the string
|
||||
*/
|
||||
USHORT MaximumLength;
|
||||
|
||||
/*
|
||||
* String
|
||||
*/
|
||||
PCHAR Buffer;
|
||||
} STRING, *PSTRING;
|
||||
|
||||
typedef STRING ANSI_STRING;
|
||||
typedef PSTRING PANSI_STRING;
|
||||
|
||||
typedef STRING OEM_STRING;
|
||||
typedef PSTRING POEM_STRING;
|
||||
|
||||
|
||||
typedef struct _TIME_FIELDS
|
||||
{
|
||||
CSHORT Year;
|
||||
CSHORT Month;
|
||||
CSHORT Day;
|
||||
CSHORT Hour;
|
||||
CSHORT Minute;
|
||||
CSHORT Second;
|
||||
CSHORT Milliseconds;
|
||||
CSHORT Weekday;
|
||||
} TIME_FIELDS, *PTIME_FIELDS;
|
||||
|
||||
typedef struct _RTL_BITMAP
|
||||
{
|
||||
ULONG SizeOfBitMap;
|
||||
PULONG Buffer;
|
||||
} RTL_BITMAP, *PRTL_BITMAP;
|
||||
|
||||
typedef struct _RTL_HEAP_DEFINITION
|
||||
{
|
||||
ULONG Length;
|
||||
ULONG Unknown[11];
|
||||
} RTL_HEAP_DEFINITION, *PRTL_HEAP_DEFINITION;
|
||||
|
||||
typedef struct _RTL_ATOM_TABLE
|
||||
{
|
||||
ULONG TableSize;
|
||||
ULONG NumberOfAtoms;
|
||||
PVOID Lock; /* fast mutex (kernel mode)/ critical section (user mode) */
|
||||
PVOID HandleTable;
|
||||
LIST_ENTRY Slot[0];
|
||||
} RTL_ATOM_TABLE, *PRTL_ATOM_TABLE;
|
||||
|
||||
typedef struct _LB_RANGE
|
||||
{
|
||||
UCHAR upper;
|
||||
UCHAR lower;
|
||||
} LB_RANGE;
|
||||
|
||||
typedef struct _RTL_NLS_DATA
|
||||
{
|
||||
USHORT CodePage;
|
||||
USHORT MaxCharacterSize; // SBCS = 1, DBCS = 2
|
||||
WCHAR DefaultCharacter;
|
||||
WCHAR char1;
|
||||
WCHAR char2;
|
||||
WCHAR char3;
|
||||
USHORT DbcsFlag;
|
||||
LB_RANGE LeadByteRange[6];
|
||||
USHORT reserved;
|
||||
PWCHAR MultiByteToUnicode;
|
||||
PCHAR UnicodeToMultiByte;
|
||||
PWCHAR DosMultiByteToUnicode;
|
||||
PCHAR DbcsTags;
|
||||
} RTL_NLS_DATA, *PRTL_NLS_DATA;
|
||||
|
||||
typedef struct _RTL_NLS_TABLE
|
||||
{
|
||||
RTL_NLS_DATA OemInfo;
|
||||
RTL_NLS_DATA AnsiInfo;
|
||||
PWCHAR UpcaseTable;
|
||||
PWCHAR DowncaseTable;
|
||||
} RTL_NLS_TABLE, *PRTL_NLS_TABLE;
|
||||
|
||||
|
||||
typedef struct _RTL_SPLAY_LINKS
|
||||
{
|
||||
struct _RTL_SPLAY_LINKS *Parent;
|
||||
struct _RTL_SPLAY_LINKS *LeftChild;
|
||||
struct _RTL_SPLAY_LINKS *RightChild;
|
||||
} RTL_SPLAY_LINKS, *PRTL_SPLAY_LINKS;
|
||||
|
||||
|
||||
typedef struct _RTL_GENERIC_TABLE
|
||||
{
|
||||
PVOID RootElement;
|
||||
ULONG Unknown2;
|
||||
ULONG Unknown3;
|
||||
ULONG Unknown4;
|
||||
ULONG Unknown5;
|
||||
ULONG ElementCount;
|
||||
PVOID CompareRoutine;
|
||||
PVOID AllocateRoutine;
|
||||
PVOID FreeRoutine;
|
||||
ULONG UserParameter;
|
||||
} RTL_GENERIC_TABLE, *PRTL_GENERIC_TABLE;
|
||||
|
||||
|
||||
typedef struct _RTL_MESSAGE_RESOURCE_ENTRY
|
||||
{
|
||||
USHORT Length;
|
||||
USHORT Flags;
|
||||
UCHAR Text[1];
|
||||
} RTL_MESSAGE_RESOURCE_ENTRY, *PRTL_MESSAGE_RESOURCE_ENTRY;
|
||||
|
||||
typedef struct _RTL_MESSAGE_RESOURCE_BLOCK
|
||||
{
|
||||
ULONG LowId;
|
||||
ULONG HighId;
|
||||
ULONG OffsetToEntries;
|
||||
} RTL_MESSAGE_RESOURCE_BLOCK, *PRTL_MESSAGE_RESOURCE_BLOCK;
|
||||
|
||||
typedef struct _RTL_MESSAGE_RESOURCE_DATA
|
||||
{
|
||||
ULONG NumberOfBlocks;
|
||||
RTL_MESSAGE_RESOURCE_BLOCK Blocks[1];
|
||||
} RTL_MESSAGE_RESOURCE_DATA, *PRTL_MESSAGE_RESOURCE_DATA;
|
||||
|
||||
|
||||
typedef NTSTATUS STDCALL
|
||||
(*PRTL_QUERY_REGISTRY_ROUTINE)(PWSTR ValueName,
|
||||
ULONG ValueType,
|
||||
PVOID ValueData,
|
||||
ULONG ValueLength,
|
||||
PVOID Context,
|
||||
PVOID EntryContext);
|
||||
|
||||
typedef struct _RTL_QUERY_REGISTRY_TABLE
|
||||
{
|
||||
PRTL_QUERY_REGISTRY_ROUTINE QueryRoutine;
|
||||
ULONG Flags;
|
||||
PWSTR Name;
|
||||
PVOID EntryContext;
|
||||
ULONG DefaultType;
|
||||
PVOID DefaultData;
|
||||
ULONG DefaultLength;
|
||||
} RTL_QUERY_REGISTRY_TABLE, *PRTL_QUERY_REGISTRY_TABLE;
|
||||
|
||||
|
||||
typedef struct _GENERATE_NAME_CONTEXT
|
||||
{
|
||||
USHORT Checksum;
|
||||
BOOLEAN CheckSumInserted;
|
||||
UCHAR NameLength;
|
||||
WCHAR NameBuffer[8];
|
||||
ULONG ExtensionLength;
|
||||
WCHAR ExtensionBuffer[4];
|
||||
ULONG LastIndexValue;
|
||||
} GENERATE_NAME_CONTEXT, *PGENERATE_NAME_CONTEXT;
|
||||
|
||||
|
||||
typedef struct _COMPRESSED_DATA_INFO
|
||||
{
|
||||
USHORT CompressionFormatAndEngine;
|
||||
UCHAR CompressionUnitShift;
|
||||
UCHAR ChunkShift;
|
||||
UCHAR ClusterShift;
|
||||
UCHAR Reserved;
|
||||
USHORT NumberOfChunks;
|
||||
ULONG CompressedChunkSizes[1];
|
||||
} COMPRESSED_DATA_INFO, *PCOMPRESSED_DATA_INFO;
|
||||
|
||||
#endif /* __DDK_RTLTYPES_H */
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -23,11 +23,13 @@
|
|||
#define CHECKED
|
||||
#endif
|
||||
|
||||
#ifndef assert
|
||||
#ifndef NASSERT
|
||||
#define assert(x) if (!(x)) {RtlAssert("#x",__FILE__,__LINE__, ""); }
|
||||
#else
|
||||
#define assert(x)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define DPRINT1(args...) do { DbgPrint("(%s:%d) ",__FILE__,__LINE__); DbgPrint(args); } while(0);
|
||||
#define CHECKPOINT1 do { DbgPrint("%s:%d\n",__FILE__,__LINE__); } while(0);
|
||||
|
|
|
@ -4718,6 +4718,18 @@ DECLARE_HANDLE(HANDLE);
|
|||
#endif
|
||||
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
typedef enum _SC_STATUS_TYPE {
|
||||
SC_STATUS_PROCESS_INFO = 0
|
||||
} SC_STATUS_TYPE;
|
||||
|
||||
typedef enum _SC_ENUM_TYPE {
|
||||
SC_ENUM_PROCESS_INFO = 0
|
||||
} SC_ENUM_TYPE;
|
||||
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
|
|
@ -865,7 +865,6 @@ int STDCALL AbortDoc(HDC);
|
|||
WINBOOL STDCALL AbortPath(HDC);
|
||||
WINBOOL STDCALL AbortPrinter(HANDLE);
|
||||
WINBOOL CALLBACK AbortProc(HDC, int);
|
||||
WINBOOL STDCALL AbortSystemShutdown(LPTSTR);
|
||||
WINBOOL STDCALL AccessCheck(
|
||||
PSECURITY_DESCRIPTOR pSecurityDescriptor,
|
||||
HANDLE ClientToken,
|
||||
|
|
|
@ -1,10 +1,16 @@
|
|||
#ifndef __INCLUDE_NAPI_LPC_H
|
||||
#define __INCLUDE_NAPI_LPC_H
|
||||
|
||||
#ifdef __USE_W32API
|
||||
#include <ddk/ntapi.h>
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
#include <ntos/security.h>
|
||||
|
||||
#define MAX_MESSAGE_DATA (0x130)
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
typedef enum
|
||||
{
|
||||
UNUSED_MSG_TYPE = 0x0, /* ReactOS */
|
||||
|
@ -52,6 +58,8 @@ typedef struct _LPC_MESSAGE_HEADER
|
|||
ULONG SharedSectionSize;
|
||||
} LPC_MESSAGE, *PLPC_MESSAGE;
|
||||
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
typedef struct _LPC_TERMINATION_MESSAGE
|
||||
{
|
||||
LPC_MESSAGE Header;
|
||||
|
|
|
@ -15,9 +15,9 @@ typedef struct _KUSER_SHARED_DATA
|
|||
{
|
||||
volatile ULONG TickCountLow;
|
||||
ULONG TickCountMultiplier;
|
||||
volatile KSYSTEM_TIME InterruptTime;
|
||||
volatile KSYSTEM_TIME SystemTime;
|
||||
volatile KSYSTEM_TIME TimeZoneBias;
|
||||
volatile ULARGE_INTEGER InterruptTime;
|
||||
volatile ULARGE_INTEGER SystemTime;
|
||||
volatile ULARGE_INTEGER TimeZoneBias;
|
||||
USHORT ImageNumberLow;
|
||||
USHORT ImageNumberHigh;
|
||||
WCHAR NtSystemRoot[260];
|
||||
|
@ -61,7 +61,9 @@ typedef struct _KUSER_SHARED_DATA
|
|||
#define KI_USER_SHARED_DATA (0xFFDF0000)
|
||||
#define SharedUserData ((KUSER_SHARED_DATA * const)KI_USER_SHARED_DATA)
|
||||
#else
|
||||
#ifndef __USE_W32API
|
||||
#define SharedUserData ((KUSER_SHARED_DATA * const)USER_SHARED_DATA)
|
||||
#endif /* !__USE_W32API */
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -1,233 +1,244 @@
|
|||
/* TEB/PEB parameters */
|
||||
#ifndef __INCLUDE_INTERNAL_TEB
|
||||
#define __INCLUDE_INTERNAL_TEB
|
||||
|
||||
#include <napi/types.h>
|
||||
|
||||
typedef struct _CLIENT_ID
|
||||
{
|
||||
HANDLE UniqueProcess;
|
||||
HANDLE UniqueThread;
|
||||
} CLIENT_ID, *PCLIENT_ID;
|
||||
|
||||
typedef struct _CURDIR
|
||||
{
|
||||
UNICODE_STRING DosPath;
|
||||
PVOID Handle;
|
||||
} CURDIR, *PCURDIR;
|
||||
|
||||
typedef struct RTL_DRIVE_LETTER_CURDIR
|
||||
{
|
||||
USHORT Flags;
|
||||
USHORT Length;
|
||||
ULONG TimeStamp;
|
||||
UNICODE_STRING DosPath;
|
||||
} RTL_DRIVE_LETTER_CURDIR, *PRTL_DRIVE_LETTER_CURDIR;
|
||||
|
||||
typedef struct _PEB_FREE_BLOCK
|
||||
{
|
||||
struct _PEB_FREE_BLOCK* Next;
|
||||
ULONG Size;
|
||||
} PEB_FREE_BLOCK, *PPEB_FREE_BLOCK;
|
||||
|
||||
/* RTL_USER_PROCESS_PARAMETERS.Flags */
|
||||
#define PPF_NORMALIZED (1)
|
||||
|
||||
typedef struct _RTL_USER_PROCESS_PARAMETERS {
|
||||
ULONG AllocationSize;
|
||||
ULONG Size;
|
||||
ULONG Flags;
|
||||
ULONG DebugFlags;
|
||||
HANDLE hConsole;
|
||||
ULONG ProcessGroup;
|
||||
HANDLE hStdInput;
|
||||
HANDLE hStdOutput;
|
||||
HANDLE hStdError;
|
||||
UNICODE_STRING CurrentDirectoryName;
|
||||
HANDLE CurrentDirectoryHandle;
|
||||
UNICODE_STRING DllPath;
|
||||
UNICODE_STRING ImagePathName;
|
||||
UNICODE_STRING CommandLine;
|
||||
PWSTR Environment;
|
||||
ULONG dwX;
|
||||
ULONG dwY;
|
||||
ULONG dwXSize;
|
||||
ULONG dwYSize;
|
||||
ULONG dwXCountChars;
|
||||
ULONG dwYCountChars;
|
||||
ULONG dwFillAttribute;
|
||||
ULONG dwFlags;
|
||||
ULONG wShowWindow;
|
||||
UNICODE_STRING WindowTitle;
|
||||
UNICODE_STRING DesktopInfo;
|
||||
UNICODE_STRING ShellInfo;
|
||||
UNICODE_STRING RuntimeInfo;
|
||||
} RTL_USER_PROCESS_PARAMETERS, *PRTL_USER_PROCESS_PARAMETERS;
|
||||
|
||||
#define PEB_BASE (0x7FFDF000)
|
||||
|
||||
typedef struct _PEB_LDR_DATA
|
||||
{
|
||||
ULONG Length;
|
||||
BOOLEAN Initialized;
|
||||
PVOID SsHandle;
|
||||
LIST_ENTRY InLoadOrderModuleList;
|
||||
LIST_ENTRY InMemoryOrderModuleList;
|
||||
LIST_ENTRY InInitializationOrderModuleList;
|
||||
} PEB_LDR_DATA, *PPEB_LDR_DATA;
|
||||
|
||||
typedef VOID STDCALL (*PPEBLOCKROUTINE)(PVOID);
|
||||
|
||||
typedef struct _PEB
|
||||
{
|
||||
UCHAR InheritedAddressSpace; // 00h
|
||||
UCHAR ReadImageFileExecOptions; // 01h
|
||||
UCHAR BeingDebugged; // 02h
|
||||
UCHAR Spare; // 03h
|
||||
PVOID Mutant; // 04h
|
||||
PVOID ImageBaseAddress; // 08h
|
||||
PPEB_LDR_DATA Ldr; // 0Ch
|
||||
PRTL_USER_PROCESS_PARAMETERS ProcessParameters; // 10h
|
||||
PVOID SubSystemData; // 14h
|
||||
PVOID ProcessHeap; // 18h
|
||||
PVOID FastPebLock; // 1Ch
|
||||
PPEBLOCKROUTINE FastPebLockRoutine; // 20h
|
||||
PPEBLOCKROUTINE FastPebUnlockRoutine; // 24h
|
||||
ULONG EnvironmentUpdateCount; // 28h
|
||||
PVOID* KernelCallbackTable; // 2Ch
|
||||
PVOID EventLogSection; // 30h
|
||||
PVOID EventLog; // 34h
|
||||
PPEB_FREE_BLOCK FreeList; // 38h
|
||||
ULONG TlsExpansionCounter; // 3Ch
|
||||
PVOID TlsBitmap; // 40h
|
||||
ULONG TlsBitmapBits[0x2]; // 44h
|
||||
PVOID ReadOnlySharedMemoryBase; // 4Ch
|
||||
PVOID ReadOnlySharedMemoryHeap; // 50h
|
||||
PVOID* ReadOnlyStaticServerData; // 54h
|
||||
PVOID AnsiCodePageData; // 58h
|
||||
PVOID OemCodePageData; // 5Ch
|
||||
PVOID UnicodeCaseTableData; // 60h
|
||||
ULONG NumberOfProcessors; // 64h
|
||||
ULONG NtGlobalFlag; // 68h
|
||||
UCHAR Spare2[0x4]; // 6Ch
|
||||
LARGE_INTEGER CriticalSectionTimeout; // 70h
|
||||
ULONG HeapSegmentReserve; // 78h
|
||||
ULONG HeapSegmentCommit; // 7Ch
|
||||
ULONG HeapDeCommitTotalFreeThreshold; // 80h
|
||||
ULONG HeapDeCommitFreeBlockThreshold; // 84h
|
||||
ULONG NumberOfHeaps; // 88h
|
||||
ULONG MaximumNumberOfHeaps; // 8Ch
|
||||
PVOID** ProcessHeaps; // 90h
|
||||
PVOID GdiSharedHandleTable; // 94h
|
||||
PVOID ProcessStarterHelper; // 98h
|
||||
PVOID GdiDCAttributeList; // 9Ch
|
||||
PVOID LoaderLock; // A0h
|
||||
ULONG OSMajorVersion; // A4h
|
||||
ULONG OSMinorVersion; // A8h
|
||||
ULONG OSBuildNumber; // ACh
|
||||
ULONG OSPlatformId; // B0h
|
||||
ULONG ImageSubSystem; // B4h
|
||||
ULONG ImageSubSystemMajorVersion; // B8h
|
||||
ULONG ImageSubSystemMinorVersion; // C0h
|
||||
ULONG GdiHandleBuffer[0x22]; // C4h
|
||||
} PEB, *PPEB;
|
||||
|
||||
|
||||
typedef struct _NT_TIB {
|
||||
struct _EXCEPTION_REGISTRATION_RECORD* ExceptionList; // 00h
|
||||
PVOID StackBase; // 04h
|
||||
PVOID StackLimit; // 08h
|
||||
PVOID SubSystemTib; // 0Ch
|
||||
union {
|
||||
PVOID FiberData; // 10h
|
||||
ULONG Version; // 10h
|
||||
} Fib;
|
||||
PVOID ArbitraryUserPointer; // 14h
|
||||
struct _NT_TIB *Self; // 18h
|
||||
} NT_TIB, *PNT_TIB;
|
||||
|
||||
typedef struct _GDI_TEB_BATCH
|
||||
{
|
||||
ULONG Offset;
|
||||
ULONG HDC;
|
||||
ULONG Buffer[0x136];
|
||||
} GDI_TEB_BATCH, *PGDI_TEB_BATCH;
|
||||
|
||||
typedef struct _TEB
|
||||
{
|
||||
NT_TIB Tib; // 00h
|
||||
PVOID EnvironmentPointer; // 1Ch
|
||||
CLIENT_ID Cid; // 20h
|
||||
PVOID ActiveRpcInfo; // 28h
|
||||
PVOID ThreadLocalStoragePointer; // 2Ch
|
||||
PPEB Peb; // 30h
|
||||
ULONG LastErrorValue; // 34h
|
||||
ULONG CountOfOwnedCriticalSections; // 38h
|
||||
PVOID CsrClientThread; // 3Ch
|
||||
struct _W32THREAD* Win32ThreadInfo; // 40h
|
||||
ULONG Win32ClientInfo[0x1F]; // 44h
|
||||
PVOID WOW32Reserved; // C0h
|
||||
ULONG CurrentLocale; // C4h
|
||||
ULONG FpSoftwareStatusRegister; // C8h
|
||||
PVOID SystemReserved1[0x36]; // CCh
|
||||
PVOID Spare1; // 1A4h
|
||||
LONG ExceptionCode; // 1A8h
|
||||
ULONG SpareBytes1[0x28]; // 1ACh
|
||||
PVOID SystemReserved2[0xA]; // 1D4h
|
||||
// GDI_TEB_BATCH GdiTebBatch; // 1FCh
|
||||
ULONG gdiRgn; // 6DCh
|
||||
ULONG gdiPen; // 6E0h
|
||||
ULONG gdiBrush; // 6E4h
|
||||
CLIENT_ID RealClientId; // 6E8h
|
||||
PVOID GdiCachedProcessHandle; // 6F0h
|
||||
ULONG GdiClientPID; // 6F4h
|
||||
ULONG GdiClientTID; // 6F8h
|
||||
PVOID GdiThreadLocaleInfo; // 6FCh
|
||||
PVOID UserReserved[5]; // 700h
|
||||
PVOID glDispatchTable[0x118]; // 714h
|
||||
ULONG glReserved1[0x1A]; // B74h
|
||||
PVOID glReserved2; // BDCh
|
||||
PVOID glSectionInfo; // BE0h
|
||||
PVOID glSection; // BE4h
|
||||
PVOID glTable; // BE8h
|
||||
PVOID glCurrentRC; // BECh
|
||||
PVOID glContext; // BF0h
|
||||
NTSTATUS LastStatusValue; // BF4h
|
||||
UNICODE_STRING StaticUnicodeString; // BF8h
|
||||
WCHAR StaticUnicodeBuffer[0x105]; // C00h
|
||||
PVOID DeallocationStack; // E0Ch
|
||||
PVOID TlsSlots[0x40]; // E10h
|
||||
LIST_ENTRY TlsLinks; // F10h
|
||||
PVOID Vdm; // F18h
|
||||
PVOID ReservedForNtRpc; // F1Ch
|
||||
PVOID DbgSsReserved[0x2]; // F20h
|
||||
ULONG HardErrorDisabled; // F28h
|
||||
PVOID Instrumentation[0x10]; // F2Ch
|
||||
PVOID WinSockData; // F6Ch
|
||||
ULONG GdiBatchCount; // F70h
|
||||
ULONG Spare2; // F74h
|
||||
ULONG Spare3; // F78h
|
||||
ULONG Spare4; // F7Ch
|
||||
PVOID ReservedForOle; // F80h
|
||||
ULONG WaitingOnLoaderLock; // F84h
|
||||
PVOID WineDebugInfo; // Needed for WINE DLL's
|
||||
} TEB, *PTEB;
|
||||
|
||||
|
||||
#define NtCurrentPeb() (NtCurrentTeb()->Peb)
|
||||
|
||||
static inline PTEB NtCurrentTeb(VOID)
|
||||
{
|
||||
int x;
|
||||
|
||||
__asm__ __volatile__("movl %%fs:0x18, %0\n\t"
|
||||
: "=r" (x) /* can't have two memory operands */
|
||||
: /* no inputs */
|
||||
);
|
||||
|
||||
return((PTEB)x);
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif /* __INCLUDE_INTERNAL_TEB */
|
||||
/* TEB/PEB parameters */
|
||||
#ifndef __INCLUDE_INTERNAL_TEB
|
||||
#define __INCLUDE_INTERNAL_TEB
|
||||
|
||||
#include <napi/types.h>
|
||||
|
||||
#ifdef __USE_W32API
|
||||
#include <ddk/ntapi.h>
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
typedef struct _CLIENT_ID
|
||||
{
|
||||
HANDLE UniqueProcess;
|
||||
HANDLE UniqueThread;
|
||||
} CLIENT_ID, *PCLIENT_ID;
|
||||
|
||||
typedef struct _RTL_USER_PROCESS_PARAMETERS {
|
||||
ULONG AllocationSize;
|
||||
ULONG Size;
|
||||
ULONG Flags;
|
||||
ULONG DebugFlags;
|
||||
HANDLE hConsole;
|
||||
ULONG ProcessGroup;
|
||||
HANDLE hStdInput;
|
||||
HANDLE hStdOutput;
|
||||
HANDLE hStdError;
|
||||
UNICODE_STRING CurrentDirectoryName;
|
||||
HANDLE CurrentDirectoryHandle;
|
||||
UNICODE_STRING DllPath;
|
||||
UNICODE_STRING ImagePathName;
|
||||
UNICODE_STRING CommandLine;
|
||||
PWSTR Environment;
|
||||
ULONG dwX;
|
||||
ULONG dwY;
|
||||
ULONG dwXSize;
|
||||
ULONG dwYSize;
|
||||
ULONG dwXCountChars;
|
||||
ULONG dwYCountChars;
|
||||
ULONG dwFillAttribute;
|
||||
ULONG dwFlags;
|
||||
ULONG wShowWindow;
|
||||
UNICODE_STRING WindowTitle;
|
||||
UNICODE_STRING DesktopInfo;
|
||||
UNICODE_STRING ShellInfo;
|
||||
UNICODE_STRING RuntimeInfo;
|
||||
} RTL_USER_PROCESS_PARAMETERS, *PRTL_USER_PROCESS_PARAMETERS;
|
||||
|
||||
typedef struct _NT_TIB {
|
||||
struct _EXCEPTION_REGISTRATION_RECORD* ExceptionList; // 00h
|
||||
PVOID StackBase; // 04h
|
||||
PVOID StackLimit; // 08h
|
||||
PVOID SubSystemTib; // 0Ch
|
||||
union {
|
||||
PVOID FiberData; // 10h
|
||||
ULONG Version; // 10h
|
||||
} Fib;
|
||||
PVOID ArbitraryUserPointer; // 14h
|
||||
struct _NT_TIB *Self; // 18h
|
||||
} NT_TIB, *PNT_TIB;
|
||||
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
typedef struct _CURDIR
|
||||
{
|
||||
UNICODE_STRING DosPath;
|
||||
PVOID Handle;
|
||||
} CURDIR, *PCURDIR;
|
||||
|
||||
typedef struct RTL_DRIVE_LETTER_CURDIR
|
||||
{
|
||||
USHORT Flags;
|
||||
USHORT Length;
|
||||
ULONG TimeStamp;
|
||||
UNICODE_STRING DosPath;
|
||||
} RTL_DRIVE_LETTER_CURDIR, *PRTL_DRIVE_LETTER_CURDIR;
|
||||
|
||||
typedef struct _PEB_FREE_BLOCK
|
||||
{
|
||||
struct _PEB_FREE_BLOCK* Next;
|
||||
ULONG Size;
|
||||
} PEB_FREE_BLOCK, *PPEB_FREE_BLOCK;
|
||||
|
||||
/* RTL_USER_PROCESS_PARAMETERS.Flags */
|
||||
#define PPF_NORMALIZED (1)
|
||||
|
||||
#define PEB_BASE (0x7FFDF000)
|
||||
|
||||
typedef struct _PEB_LDR_DATA
|
||||
{
|
||||
ULONG Length;
|
||||
BOOLEAN Initialized;
|
||||
PVOID SsHandle;
|
||||
LIST_ENTRY InLoadOrderModuleList;
|
||||
LIST_ENTRY InMemoryOrderModuleList;
|
||||
LIST_ENTRY InInitializationOrderModuleList;
|
||||
} PEB_LDR_DATA, *PPEB_LDR_DATA;
|
||||
|
||||
typedef VOID STDCALL (*PPEBLOCKROUTINE)(PVOID);
|
||||
|
||||
typedef struct _PEB
|
||||
{
|
||||
UCHAR InheritedAddressSpace; // 00h
|
||||
UCHAR ReadImageFileExecOptions; // 01h
|
||||
UCHAR BeingDebugged; // 02h
|
||||
UCHAR Spare; // 03h
|
||||
PVOID Mutant; // 04h
|
||||
PVOID ImageBaseAddress; // 08h
|
||||
PPEB_LDR_DATA Ldr; // 0Ch
|
||||
PRTL_USER_PROCESS_PARAMETERS ProcessParameters; // 10h
|
||||
PVOID SubSystemData; // 14h
|
||||
PVOID ProcessHeap; // 18h
|
||||
PVOID FastPebLock; // 1Ch
|
||||
PPEBLOCKROUTINE FastPebLockRoutine; // 20h
|
||||
PPEBLOCKROUTINE FastPebUnlockRoutine; // 24h
|
||||
ULONG EnvironmentUpdateCount; // 28h
|
||||
PVOID* KernelCallbackTable; // 2Ch
|
||||
PVOID EventLogSection; // 30h
|
||||
PVOID EventLog; // 34h
|
||||
PPEB_FREE_BLOCK FreeList; // 38h
|
||||
ULONG TlsExpansionCounter; // 3Ch
|
||||
PVOID TlsBitmap; // 40h
|
||||
ULONG TlsBitmapBits[0x2]; // 44h
|
||||
PVOID ReadOnlySharedMemoryBase; // 4Ch
|
||||
PVOID ReadOnlySharedMemoryHeap; // 50h
|
||||
PVOID* ReadOnlyStaticServerData; // 54h
|
||||
PVOID AnsiCodePageData; // 58h
|
||||
PVOID OemCodePageData; // 5Ch
|
||||
PVOID UnicodeCaseTableData; // 60h
|
||||
ULONG NumberOfProcessors; // 64h
|
||||
ULONG NtGlobalFlag; // 68h
|
||||
UCHAR Spare2[0x4]; // 6Ch
|
||||
LARGE_INTEGER CriticalSectionTimeout; // 70h
|
||||
ULONG HeapSegmentReserve; // 78h
|
||||
ULONG HeapSegmentCommit; // 7Ch
|
||||
ULONG HeapDeCommitTotalFreeThreshold; // 80h
|
||||
ULONG HeapDeCommitFreeBlockThreshold; // 84h
|
||||
ULONG NumberOfHeaps; // 88h
|
||||
ULONG MaximumNumberOfHeaps; // 8Ch
|
||||
PVOID** ProcessHeaps; // 90h
|
||||
PVOID GdiSharedHandleTable; // 94h
|
||||
PVOID ProcessStarterHelper; // 98h
|
||||
PVOID GdiDCAttributeList; // 9Ch
|
||||
PVOID LoaderLock; // A0h
|
||||
ULONG OSMajorVersion; // A4h
|
||||
ULONG OSMinorVersion; // A8h
|
||||
ULONG OSBuildNumber; // ACh
|
||||
ULONG OSPlatformId; // B0h
|
||||
ULONG ImageSubSystem; // B4h
|
||||
ULONG ImageSubSystemMajorVersion; // B8h
|
||||
ULONG ImageSubSystemMinorVersion; // C0h
|
||||
ULONG GdiHandleBuffer[0x22]; // C4h
|
||||
} PEB;
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
typedef PEB *PPEB;
|
||||
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
typedef struct _GDI_TEB_BATCH
|
||||
{
|
||||
ULONG Offset;
|
||||
ULONG HDC;
|
||||
ULONG Buffer[0x136];
|
||||
} GDI_TEB_BATCH, *PGDI_TEB_BATCH;
|
||||
|
||||
typedef struct _TEB
|
||||
{
|
||||
NT_TIB Tib; // 00h
|
||||
PVOID EnvironmentPointer; // 1Ch
|
||||
CLIENT_ID Cid; // 20h
|
||||
PVOID ActiveRpcInfo; // 28h
|
||||
PVOID ThreadLocalStoragePointer; // 2Ch
|
||||
PPEB Peb; // 30h
|
||||
ULONG LastErrorValue; // 34h
|
||||
ULONG CountOfOwnedCriticalSections; // 38h
|
||||
PVOID CsrClientThread; // 3Ch
|
||||
struct _W32THREAD* Win32ThreadInfo; // 40h
|
||||
ULONG Win32ClientInfo[0x1F]; // 44h
|
||||
PVOID WOW32Reserved; // C0h
|
||||
ULONG CurrentLocale; // C4h
|
||||
ULONG FpSoftwareStatusRegister; // C8h
|
||||
PVOID SystemReserved1[0x36]; // CCh
|
||||
PVOID Spare1; // 1A4h
|
||||
LONG ExceptionCode; // 1A8h
|
||||
ULONG SpareBytes1[0x28]; // 1ACh
|
||||
PVOID SystemReserved2[0xA]; // 1D4h
|
||||
// GDI_TEB_BATCH GdiTebBatch; // 1FCh
|
||||
ULONG gdiRgn; // 6DCh
|
||||
ULONG gdiPen; // 6E0h
|
||||
ULONG gdiBrush; // 6E4h
|
||||
CLIENT_ID RealClientId; // 6E8h
|
||||
PVOID GdiCachedProcessHandle; // 6F0h
|
||||
ULONG GdiClientPID; // 6F4h
|
||||
ULONG GdiClientTID; // 6F8h
|
||||
PVOID GdiThreadLocaleInfo; // 6FCh
|
||||
PVOID UserReserved[5]; // 700h
|
||||
PVOID glDispatchTable[0x118]; // 714h
|
||||
ULONG glReserved1[0x1A]; // B74h
|
||||
PVOID glReserved2; // BDCh
|
||||
PVOID glSectionInfo; // BE0h
|
||||
PVOID glSection; // BE4h
|
||||
PVOID glTable; // BE8h
|
||||
PVOID glCurrentRC; // BECh
|
||||
PVOID glContext; // BF0h
|
||||
NTSTATUS LastStatusValue; // BF4h
|
||||
UNICODE_STRING StaticUnicodeString; // BF8h
|
||||
WCHAR StaticUnicodeBuffer[0x105]; // C00h
|
||||
PVOID DeallocationStack; // E0Ch
|
||||
PVOID TlsSlots[0x40]; // E10h
|
||||
LIST_ENTRY TlsLinks; // F10h
|
||||
PVOID Vdm; // F18h
|
||||
PVOID ReservedForNtRpc; // F1Ch
|
||||
PVOID DbgSsReserved[0x2]; // F20h
|
||||
ULONG HardErrorDisabled; // F28h
|
||||
PVOID Instrumentation[0x10]; // F2Ch
|
||||
PVOID WinSockData; // F6Ch
|
||||
ULONG GdiBatchCount; // F70h
|
||||
ULONG Spare2; // F74h
|
||||
ULONG Spare3; // F78h
|
||||
ULONG Spare4; // F7Ch
|
||||
PVOID ReservedForOle; // F80h
|
||||
ULONG WaitingOnLoaderLock; // F84h
|
||||
PVOID WineDebugInfo; // Needed for WINE DLL's
|
||||
} TEB, *PTEB;
|
||||
|
||||
|
||||
#define NtCurrentPeb() (NtCurrentTeb()->Peb)
|
||||
|
||||
static inline PTEB NtCurrentTeb(VOID)
|
||||
{
|
||||
int x;
|
||||
|
||||
__asm__ __volatile__("movl %%fs:0x18, %0\n\t"
|
||||
: "=r" (x) /* can't have two memory operands */
|
||||
: /* no inputs */
|
||||
);
|
||||
|
||||
return((PTEB)x);
|
||||
}
|
||||
|
||||
#endif /* __INCLUDE_INTERNAL_TEB */
|
||||
|
|
|
@ -3,16 +3,6 @@
|
|||
|
||||
// these should be moved to a file like ntdef.h
|
||||
|
||||
typedef const int CINT;
|
||||
|
||||
typedef LONG NTSTATUS, *PNTSTATUS;
|
||||
|
||||
typedef ULONG DEVICE_TYPE;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
enum
|
||||
{
|
||||
DIRECTORY_QUERY,
|
||||
|
@ -25,19 +15,6 @@ enum
|
|||
/*
|
||||
* General type for status information
|
||||
*/
|
||||
//typedef LONG NTSTATUS;
|
||||
|
||||
typedef struct _UNICODE_STRING
|
||||
{
|
||||
USHORT Length;
|
||||
USHORT MaximumLength;
|
||||
PWSTR Buffer;
|
||||
} UNICODE_STRING, *PUNICODE_STRING;
|
||||
|
||||
typedef enum _SECTION_INHERIT {
|
||||
ViewShare = 1,
|
||||
ViewUnmap = 2
|
||||
} SECTION_INHERIT;
|
||||
|
||||
typedef enum _NT_PRODUCT_TYPE
|
||||
{
|
||||
|
@ -46,6 +23,14 @@ typedef enum _NT_PRODUCT_TYPE
|
|||
NtProductServer
|
||||
} NT_PRODUCT_TYPE, *PNT_PRODUCT_TYPE;
|
||||
|
||||
typedef ULARGE_INTEGER TIME, *PTIME;
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
typedef const int CINT;
|
||||
typedef LONG NTSTATUS, *PNTSTATUS;
|
||||
typedef ULONG DEVICE_TYPE;
|
||||
|
||||
/* File information for IRP_MJ_QUERY_INFORMATION (and SET) */
|
||||
typedef enum _FILE_INFORMATION_CLASS
|
||||
{
|
||||
|
@ -92,17 +77,11 @@ typedef enum _FILE_INFORMATION_CLASS
|
|||
FileMaximumInformation,
|
||||
} FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;
|
||||
|
||||
typedef ULONG WAIT_TYPE;
|
||||
typedef USHORT CSHORT;
|
||||
typedef enum _SECTION_INHERIT {
|
||||
ViewShare = 1,
|
||||
ViewUnmap = 2
|
||||
} SECTION_INHERIT;
|
||||
|
||||
|
||||
#if 0
|
||||
typedef struct _TIME {
|
||||
DWORD LowPart;
|
||||
LONG HighPart;
|
||||
} TIME, *PTIME;
|
||||
#endif
|
||||
|
||||
typedef ULARGE_INTEGER TIME, *PTIME;
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
#endif /* __INCLUDE_NAPI_TYPES_H */
|
||||
|
|
|
@ -1,135 +1,136 @@
|
|||
#ifndef __NTOSKRNL_INCLUDE_INTERNAL_LDR_H
|
||||
#define __NTOSKRNL_INCLUDE_INTERNAL_LDR_H
|
||||
|
||||
#include <ntos/kdbgsyms.h>
|
||||
#include <roscfg.h>
|
||||
|
||||
typedef NTSTATUS STDCALL (*PEPFUNC)(PPEB);
|
||||
|
||||
/* Type for a DLL's entry point */
|
||||
typedef BOOL STDCALL
|
||||
(* PDLLMAIN_FUNC)(HANDLE hInst,
|
||||
ULONG ul_reason_for_call,
|
||||
LPVOID lpReserved);
|
||||
|
||||
typedef struct _LDR_MODULE
|
||||
{
|
||||
LIST_ENTRY InLoadOrderModuleList;
|
||||
LIST_ENTRY InMemoryOrderModuleList; // not used
|
||||
LIST_ENTRY InInitializationOrderModuleList; // not used
|
||||
PVOID BaseAddress;
|
||||
ULONG EntryPoint;
|
||||
ULONG SizeOfImage;
|
||||
UNICODE_STRING FullDllName;
|
||||
UNICODE_STRING BaseDllName;
|
||||
ULONG Flags;
|
||||
SHORT LoadCount;
|
||||
SHORT TlsIndex;
|
||||
HANDLE SectionHandle;
|
||||
ULONG CheckSum;
|
||||
ULONG TimeDateStamp;
|
||||
#ifdef KDBG
|
||||
IMAGE_SYMBOL_INFO SymbolInfo;
|
||||
#endif /* KDBG */
|
||||
} LDR_MODULE, *PLDR_MODULE;
|
||||
|
||||
typedef struct _LDR_SYMBOL_INFO {
|
||||
PLDR_MODULE ModuleObject;
|
||||
ULONG_PTR ImageBase;
|
||||
PVOID SymbolsBuffer;
|
||||
ULONG SymbolsBufferLength;
|
||||
PVOID SymbolStringsBuffer;
|
||||
ULONG SymbolStringsBufferLength;
|
||||
} LDR_SYMBOL_INFO, *PLDR_SYMBOL_INFO;
|
||||
|
||||
|
||||
#define RVA(m, b) ((ULONG)b + m)
|
||||
|
||||
|
||||
typedef struct _MODULE_ENTRY
|
||||
{
|
||||
ULONG Unknown0;
|
||||
ULONG Unknown1;
|
||||
PVOID BaseAddress;
|
||||
ULONG SizeOfImage;
|
||||
ULONG Flags;
|
||||
USHORT Unknown2;
|
||||
USHORT Unknown3;
|
||||
SHORT LoadCount;
|
||||
USHORT PathLength;
|
||||
CHAR ModuleName[256];
|
||||
} MODULE_ENTRY, *PMODULE_ENTRY;
|
||||
|
||||
typedef struct _MODULE_INFORMATION
|
||||
{
|
||||
ULONG ModuleCount;
|
||||
MODULE_ENTRY ModuleEntry[1];
|
||||
} MODULE_INFORMATION, *PMODULE_INFORMATION;
|
||||
|
||||
#ifdef KDBG
|
||||
|
||||
VOID
|
||||
LdrpLoadUserModuleSymbols(PLDR_MODULE LdrModule);
|
||||
|
||||
#endif
|
||||
|
||||
PEPFUNC LdrPEStartup (PVOID ImageBase,
|
||||
HANDLE SectionHandle,
|
||||
PLDR_MODULE* Module,
|
||||
PWSTR FullDosName);
|
||||
NTSTATUS LdrMapSections(HANDLE ProcessHandle,
|
||||
PVOID ImageBase,
|
||||
HANDLE SectionHandle,
|
||||
PIMAGE_NT_HEADERS NTHeaders);
|
||||
NTSTATUS LdrMapNTDllForProcess(HANDLE ProcessHandle,
|
||||
PHANDLE NTDllSectionHandle);
|
||||
|
||||
|
||||
NTSTATUS STDCALL
|
||||
LdrDisableThreadCalloutsForDll(IN PVOID BaseAddress);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
LdrGetDllHandle(IN ULONG Unknown1,
|
||||
IN ULONG Unknown2,
|
||||
IN PUNICODE_STRING DllName,
|
||||
OUT PVOID *BaseAddress);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
LdrFindEntryForAddress(PVOID Address,
|
||||
PLDR_MODULE *Module);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
LdrGetProcedureAddress(IN PVOID BaseAddress,
|
||||
IN PANSI_STRING Name,
|
||||
IN ULONG Ordinal,
|
||||
OUT PVOID *ProcedureAddress);
|
||||
|
||||
VOID STDCALL
|
||||
LdrInitializeThunk(ULONG Unknown1,
|
||||
ULONG Unknown2,
|
||||
ULONG Unknown3,
|
||||
ULONG Unknown4);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
LdrLoadDll(IN PWSTR SearchPath OPTIONAL,
|
||||
IN ULONG LoadFlags,
|
||||
IN PUNICODE_STRING Name,
|
||||
OUT PVOID *BaseAddress OPTIONAL);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
LdrQueryProcessModuleInformation(IN PMODULE_INFORMATION ModuleInformation OPTIONAL,
|
||||
IN ULONG Size OPTIONAL,
|
||||
OUT PULONG ReturnedSize);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
LdrShutdownProcess(VOID);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
LdrShutdownThread(VOID);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
LdrUnloadDll(IN PVOID BaseAddress);
|
||||
|
||||
#endif /* __NTOSKRNL_INCLUDE_INTERNAL_LDR_H */
|
||||
|
||||
/* EOF */
|
||||
#ifndef __NTOSKRNL_INCLUDE_INTERNAL_LDR_H
|
||||
#define __NTOSKRNL_INCLUDE_INTERNAL_LDR_H
|
||||
|
||||
#include <ntos/kdbgsyms.h>
|
||||
#include <roscfg.h>
|
||||
#include <napi/teb.h>
|
||||
|
||||
typedef NTSTATUS STDCALL (*PEPFUNC)(PPEB);
|
||||
|
||||
/* Type for a DLL's entry point */
|
||||
typedef BOOL STDCALL
|
||||
(* PDLLMAIN_FUNC)(HANDLE hInst,
|
||||
ULONG ul_reason_for_call,
|
||||
LPVOID lpReserved);
|
||||
|
||||
typedef struct _LDR_MODULE
|
||||
{
|
||||
LIST_ENTRY InLoadOrderModuleList;
|
||||
LIST_ENTRY InMemoryOrderModuleList; // not used
|
||||
LIST_ENTRY InInitializationOrderModuleList; // not used
|
||||
PVOID BaseAddress;
|
||||
ULONG EntryPoint;
|
||||
ULONG SizeOfImage;
|
||||
UNICODE_STRING FullDllName;
|
||||
UNICODE_STRING BaseDllName;
|
||||
ULONG Flags;
|
||||
SHORT LoadCount;
|
||||
SHORT TlsIndex;
|
||||
HANDLE SectionHandle;
|
||||
ULONG CheckSum;
|
||||
ULONG TimeDateStamp;
|
||||
#ifdef KDBG
|
||||
IMAGE_SYMBOL_INFO SymbolInfo;
|
||||
#endif /* KDBG */
|
||||
} LDR_MODULE, *PLDR_MODULE;
|
||||
|
||||
typedef struct _LDR_SYMBOL_INFO {
|
||||
PLDR_MODULE ModuleObject;
|
||||
ULONG_PTR ImageBase;
|
||||
PVOID SymbolsBuffer;
|
||||
ULONG SymbolsBufferLength;
|
||||
PVOID SymbolStringsBuffer;
|
||||
ULONG SymbolStringsBufferLength;
|
||||
} LDR_SYMBOL_INFO, *PLDR_SYMBOL_INFO;
|
||||
|
||||
|
||||
#define RVA(m, b) ((ULONG)b + m)
|
||||
|
||||
|
||||
typedef struct _MODULE_ENTRY
|
||||
{
|
||||
ULONG Unknown0;
|
||||
ULONG Unknown1;
|
||||
PVOID BaseAddress;
|
||||
ULONG SizeOfImage;
|
||||
ULONG Flags;
|
||||
USHORT Unknown2;
|
||||
USHORT Unknown3;
|
||||
SHORT LoadCount;
|
||||
USHORT PathLength;
|
||||
CHAR ModuleName[256];
|
||||
} MODULE_ENTRY, *PMODULE_ENTRY;
|
||||
|
||||
typedef struct _MODULE_INFORMATION
|
||||
{
|
||||
ULONG ModuleCount;
|
||||
MODULE_ENTRY ModuleEntry[1];
|
||||
} MODULE_INFORMATION, *PMODULE_INFORMATION;
|
||||
|
||||
#ifdef KDBG
|
||||
|
||||
VOID
|
||||
LdrpLoadUserModuleSymbols(PLDR_MODULE LdrModule);
|
||||
|
||||
#endif
|
||||
|
||||
PEPFUNC LdrPEStartup (PVOID ImageBase,
|
||||
HANDLE SectionHandle,
|
||||
PLDR_MODULE* Module,
|
||||
PWSTR FullDosName);
|
||||
NTSTATUS LdrMapSections(HANDLE ProcessHandle,
|
||||
PVOID ImageBase,
|
||||
HANDLE SectionHandle,
|
||||
PIMAGE_NT_HEADERS NTHeaders);
|
||||
NTSTATUS LdrMapNTDllForProcess(HANDLE ProcessHandle,
|
||||
PHANDLE NTDllSectionHandle);
|
||||
|
||||
|
||||
NTSTATUS STDCALL
|
||||
LdrDisableThreadCalloutsForDll(IN PVOID BaseAddress);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
LdrGetDllHandle(IN ULONG Unknown1,
|
||||
IN ULONG Unknown2,
|
||||
IN PUNICODE_STRING DllName,
|
||||
OUT PVOID *BaseAddress);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
LdrFindEntryForAddress(PVOID Address,
|
||||
PLDR_MODULE *Module);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
LdrGetProcedureAddress(IN PVOID BaseAddress,
|
||||
IN PANSI_STRING Name,
|
||||
IN ULONG Ordinal,
|
||||
OUT PVOID *ProcedureAddress);
|
||||
|
||||
VOID STDCALL
|
||||
LdrInitializeThunk(ULONG Unknown1,
|
||||
ULONG Unknown2,
|
||||
ULONG Unknown3,
|
||||
ULONG Unknown4);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
LdrLoadDll(IN PWSTR SearchPath OPTIONAL,
|
||||
IN ULONG LoadFlags,
|
||||
IN PUNICODE_STRING Name,
|
||||
OUT PVOID *BaseAddress OPTIONAL);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
LdrQueryProcessModuleInformation(IN PMODULE_INFORMATION ModuleInformation OPTIONAL,
|
||||
IN ULONG Size OPTIONAL,
|
||||
OUT PULONG ReturnedSize);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
LdrShutdownProcess(VOID);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
LdrShutdownThread(VOID);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
LdrUnloadDll(IN PVOID BaseAddress);
|
||||
|
||||
#endif /* __NTOSKRNL_INCLUDE_INTERNAL_LDR_H */
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -1,17 +1,22 @@
|
|||
/* $Id: rtl.h,v 1.35 2002/09/08 10:22:32 chorns Exp $
|
||||
/* $Id: rtl.h,v 1.36 2002/11/14 18:21:03 chorns Exp $
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __INCLUDE_NTDLL_RTL_H
|
||||
#define __INCLUDE_NTDLL_RTL_H
|
||||
|
||||
#include <ntos/types.h>
|
||||
#include <napi/teb.h>
|
||||
#include <ddk/ntddk.h>
|
||||
#include <ddk/ntifs.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
typedef struct _DEBUG_BUFFER
|
||||
{
|
||||
HANDLE SectionHandle;
|
||||
|
@ -52,6 +57,9 @@ typedef struct _CRITICAL_SECTION {
|
|||
DWORD Reserved;
|
||||
} CRITICAL_SECTION, *PCRITICAL_SECTION, *LPCRITICAL_SECTION;
|
||||
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
|
||||
typedef struct _RTL_PROCESS_INFO
|
||||
{
|
||||
ULONG Size;
|
||||
|
@ -374,7 +382,7 @@ RtlDeNormalizeProcessParams (
|
|||
IN PRTL_USER_PROCESS_PARAMETERS ProcessParameters
|
||||
);
|
||||
|
||||
VOID
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlDestroyProcessParameters (
|
||||
IN PRTL_USER_PROCESS_PARAMETERS ProcessParameters
|
||||
|
@ -569,6 +577,10 @@ RtlpNtSetValueKey (
|
|||
);
|
||||
|
||||
#ifndef __NTDRIVER__
|
||||
|
||||
#ifndef __INTERLOCKED_DECLARED
|
||||
#define __INTERLOCKED_DECLARED
|
||||
|
||||
LONG
|
||||
STDCALL
|
||||
InterlockedIncrement (
|
||||
|
@ -603,6 +615,7 @@ InterlockedExchangeAdd (
|
|||
LONG Increment
|
||||
);
|
||||
|
||||
#endif /* __INTERLOCKED_DECLARED */
|
||||
|
||||
#endif /* __NTDRIVER__ */
|
||||
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
#ifndef _NTOS_H
|
||||
#define _NTOS_H
|
||||
/* $Id: ntos.h,v 1.6 2002/10/19 14:24:15 chorns Exp $ */
|
||||
/* $Id: ntos.h,v 1.7 2002/11/14 18:21:02 chorns Exp $ */
|
||||
|
||||
#if defined(NTOS_MODE_USER)
|
||||
// include windows.h before ntddk.h to get user mode prototype for InterlockedXxx functions
|
||||
#include <windows.h>
|
||||
#include <ddk/ntddk.h>
|
||||
#include <ddk/ntifs.h>
|
||||
#include "ntos/types.h"
|
||||
#include "ntos/cdrom.h"
|
||||
#include "ntos/console.h"
|
||||
|
@ -33,6 +34,10 @@
|
|||
#include "napi/npipe.h"
|
||||
#include "napi/shared_data.h"
|
||||
#include "napi/win32.h"
|
||||
#include "ntos/rtltypes.h"
|
||||
#include "ntos/rtl.h"
|
||||
#include "ntos/zwtypes.h"
|
||||
#include "ntos/zw.h"
|
||||
#include "ntdll/csr.h"
|
||||
#include "ntdll/dbg.h"
|
||||
#include "ntdll/ldr.h"
|
||||
|
@ -70,6 +75,10 @@
|
|||
#include "napi/npipe.h"
|
||||
#include "napi/shared_data.h"
|
||||
#include "napi/win32.h"
|
||||
#include "ntos/rtltypes.h"
|
||||
#include "ntos/rtl.h"
|
||||
#include "ntos/zwtypes.h"
|
||||
#include "ntos/zw.h"
|
||||
#endif
|
||||
|
||||
#endif /* ndef _NTOS_H */
|
||||
|
|
|
@ -1,44 +1,44 @@
|
|||
/* $Id: cdrom.h,v 1.3 2002/09/17 20:35:22 hbirr Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: include/ntos/cdrom.h
|
||||
* PURPOSE: CD-ROM related definitions used by all the parts of the system
|
||||
* PROGRAMMER: Eric Kohl <ekohl@rz-online.de>
|
||||
* UPDATE HISTORY:
|
||||
* 10/04/2002: Created
|
||||
*/
|
||||
|
||||
#ifndef __INCLUDE_NTOS_CDROM_H
|
||||
#define __INCLUDE_NTOS_CDROM_H
|
||||
|
||||
#define IOCTL_CDROM_READ_TOC CTL_CODE(FILE_DEVICE_CD_ROM, 0x0000, METHOD_BUFFERED, FILE_READ_ACCESS)
|
||||
#define IOCTL_CDROM_GET_LAST_SESSION CTL_CODE(FILE_DEVICE_CD_ROM, 0x000E, METHOD_BUFFERED, FILE_READ_ACCESS)
|
||||
#define IOCTL_CDROM_GET_DRIVE_GEOMETRY CTL_CODE(FILE_DEVICE_CD_ROM, 0x0013, METHOD_BUFFERED, FILE_READ_ACCESS)
|
||||
|
||||
#define MAXIMUM_NUMBER_TRACKS 100
|
||||
#define MAXIMUM_CDROM_SIZE 804
|
||||
|
||||
typedef struct _TRACK_DATA {
|
||||
UCHAR Reserved;
|
||||
UCHAR Control : 4;
|
||||
UCHAR Adr : 4;
|
||||
UCHAR TrackNumber;
|
||||
UCHAR Reserved1;
|
||||
UCHAR Address[4];
|
||||
} TRACK_DATA, *PTRACK_DATA;
|
||||
|
||||
typedef struct _CDROM_TOC {
|
||||
UCHAR Length[2];
|
||||
UCHAR FirstTrack;
|
||||
UCHAR LastTrack;
|
||||
TRACK_DATA TrackData[MAXIMUM_NUMBER_TRACKS];
|
||||
} CDROM_TOC, *PCDROM_TOC;
|
||||
|
||||
#define CDROM_TOC_SIZE sizeof(CDROM_TOC)
|
||||
|
||||
|
||||
|
||||
#endif /* __INCLUDE_NTOS_CDROM_H */
|
||||
|
||||
/* EOF */
|
||||
/* $Id: cdrom.h,v 1.4 2002/11/14 18:21:03 chorns Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: include/ntos/cdrom.h
|
||||
* PURPOSE: CD-ROM related definitions used by all the parts of the system
|
||||
* PROGRAMMER: Eric Kohl <ekohl@rz-online.de>
|
||||
* UPDATE HISTORY:
|
||||
* 10/04/2002: Created
|
||||
*/
|
||||
|
||||
#ifndef __INCLUDE_NTOS_CDROM_H
|
||||
#define __INCLUDE_NTOS_CDROM_H
|
||||
|
||||
#define IOCTL_CDROM_READ_TOC CTL_CODE(FILE_DEVICE_CD_ROM, 0x0000, METHOD_BUFFERED, FILE_READ_ACCESS)
|
||||
#define IOCTL_CDROM_GET_LAST_SESSION CTL_CODE(FILE_DEVICE_CD_ROM, 0x000E, METHOD_BUFFERED, FILE_READ_ACCESS)
|
||||
#define IOCTL_CDROM_GET_DRIVE_GEOMETRY CTL_CODE(FILE_DEVICE_CD_ROM, 0x0013, METHOD_BUFFERED, FILE_READ_ACCESS)
|
||||
|
||||
#define MAXIMUM_NUMBER_TRACKS 100
|
||||
#define MAXIMUM_CDROM_SIZE 804
|
||||
|
||||
typedef struct _TRACK_DATA {
|
||||
UCHAR Reserved;
|
||||
UCHAR Control : 4;
|
||||
UCHAR Adr : 4;
|
||||
UCHAR TrackNumber;
|
||||
UCHAR Reserved1;
|
||||
UCHAR Address[4];
|
||||
} TRACK_DATA, *PTRACK_DATA;
|
||||
|
||||
typedef struct _CDROM_TOC {
|
||||
UCHAR Length[2];
|
||||
UCHAR FirstTrack;
|
||||
UCHAR LastTrack;
|
||||
TRACK_DATA TrackData[MAXIMUM_NUMBER_TRACKS];
|
||||
} CDROM_TOC, *PCDROM_TOC;
|
||||
|
||||
#define CDROM_TOC_SIZE sizeof(CDROM_TOC)
|
||||
|
||||
|
||||
|
||||
#endif /* __INCLUDE_NTOS_CDROM_H */
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -14,16 +14,31 @@
|
|||
#define __INCLUDE_CONSOLE_H
|
||||
|
||||
/* GetConsoleMode */
|
||||
#define ENABLE_LINE_INPUT (0x02)
|
||||
#define ENABLE_ECHO_INPUT (0x04)
|
||||
#define ENABLE_PROCESSED_INPUT (0x01)
|
||||
#define ENABLE_WINDOW_INPUT (0x08)
|
||||
#define ENABLE_MOUSE_INPUT (0x0f)
|
||||
#define CONSOLE_INPUT_MODE_VALID (0x0f)
|
||||
#define ENABLE_PROCESSED_OUTPUT (0x01)
|
||||
#define ENABLE_WRAP_AT_EOL_OUTPUT (0x02)
|
||||
#define CONSOLE_OUTPUT_MODE_VALID (0x03)
|
||||
|
||||
typedef struct _CONSOLE_FONT_INFO {
|
||||
DWORD nFont;
|
||||
COORD dwFontSize;
|
||||
} CONSOLE_FONT_INFO, *PCONSOLE_FONT_INFO;
|
||||
|
||||
typedef struct _CONSOLE_SELECTION_INFO {
|
||||
DWORD dwFlags;
|
||||
COORD dwSelectionAnchor;
|
||||
SMALL_RECT srSelection;
|
||||
} CONSOLE_SELECTION_INFO, *PCONSOLE_SELECTION_INFO;
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
/* GetConsoleMode */
|
||||
#define ENABLE_LINE_INPUT (0x02)
|
||||
#define ENABLE_ECHO_INPUT (0x04)
|
||||
#define ENABLE_PROCESSED_INPUT (0x01)
|
||||
#define ENABLE_WINDOW_INPUT (0x08)
|
||||
#define ENABLE_MOUSE_INPUT (0x0f)
|
||||
#define ENABLE_PROCESSED_OUTPUT (0x01)
|
||||
#define ENABLE_WRAP_AT_EOL_OUTPUT (0x02)
|
||||
|
||||
typedef struct _CONSOLE_SCREEN_BUFFER_INFO {
|
||||
COORD dwSize;
|
||||
COORD dwCursorPosition;
|
||||
|
@ -37,18 +52,6 @@ typedef struct _CONSOLE_CURSOR_INFO {
|
|||
BOOL bVisible;
|
||||
} CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO;
|
||||
|
||||
typedef struct _CONSOLE_FONT_INFO {
|
||||
DWORD nFont;
|
||||
COORD dwFontSize;
|
||||
} CONSOLE_FONT_INFO, *PCONSOLE_FONT_INFO;
|
||||
|
||||
typedef struct _CONSOLE_SELECTION_INFO {
|
||||
DWORD dwFlags;
|
||||
COORD dwSelectionAnchor;
|
||||
SMALL_RECT srSelection;
|
||||
} CONSOLE_SELECTION_INFO, *PCONSOLE_SELECTION_INFO;
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
#endif /* __INCLUDE_CONSOLE_H */
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: disk.h,v 1.11 2002/09/08 10:22:32 chorns Exp $
|
||||
/* $Id: disk.h,v 1.12 2002/11/14 18:21:03 chorns Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -134,13 +134,6 @@ typedef struct _PARTITION_INFORMATION
|
|||
BOOLEAN RewritePartition;
|
||||
} PARTITION_INFORMATION, *PPARTITION_INFORMATION;
|
||||
|
||||
typedef struct _DRIVE_LAYOUT_INFORMATION
|
||||
{
|
||||
DWORD PartitionCount;
|
||||
DWORD Signature;
|
||||
PARTITION_INFORMATION PartitionEntry[1];
|
||||
} DRIVE_LAYOUT_INFORMATION, *PDRIVE_LAYOUT_INFORMATION;
|
||||
|
||||
typedef struct _SET_PARTITION_INFORMATION
|
||||
{
|
||||
ULONG PartitionType;
|
||||
|
@ -155,6 +148,17 @@ typedef struct _DISK_GEOMETRY
|
|||
DWORD BytesPerSector;
|
||||
} DISK_GEOMETRY, *PDISK_GEOMETRY;
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
typedef struct _DRIVE_LAYOUT_INFORMATION
|
||||
{
|
||||
DWORD PartitionCount;
|
||||
DWORD Signature;
|
||||
PARTITION_INFORMATION PartitionEntry[1];
|
||||
} DRIVE_LAYOUT_INFORMATION, *PDRIVE_LAYOUT_INFORMATION;
|
||||
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
#endif /* __INCLUDE_DISK_H */
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -31,6 +31,7 @@ typedef EXCEPTION_DISPOSITION CDECL (*PEXCEPTION_HANDLER)(
|
|||
PCONTEXT Context,
|
||||
PVOID DispatcherContext);
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
#define EXCEPTION_MAXIMUM_PARAMETERS (15)
|
||||
|
||||
|
@ -43,6 +44,8 @@ typedef struct _EXCEPTION_RECORD {
|
|||
DWORD ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
|
||||
} EXCEPTION_RECORD, *PEXCEPTION_RECORD, *LPEXCEPTION_RECORD;
|
||||
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
/* ExceptionFlags */
|
||||
#ifndef _GNU_H_WINDOWS32_DEFINES
|
||||
#ifdef __NTOSKRNL__
|
||||
|
@ -55,12 +58,6 @@ typedef struct _EXCEPTION_RECORD {
|
|||
#define EXCEPTION_NESTED_CALL 0x10
|
||||
|
||||
|
||||
typedef struct _EXCEPTION_POINTERS {
|
||||
PEXCEPTION_RECORD ExceptionRecord;
|
||||
PCONTEXT ContextRecord;
|
||||
} EXCEPTION_POINTERS, *PEXCEPTION_POINTERS, *LPEXCEPTION_POINTERS;
|
||||
|
||||
|
||||
typedef struct _EXCEPTION_REGISTRATION
|
||||
{
|
||||
struct _EXCEPTION_REGISTRATION* prev;
|
||||
|
@ -142,4 +139,15 @@ typedef PRTL_EXCEPTION_REGISTRATION_I386 PRTL_EXCEPTION_REGISTRATION;
|
|||
|
||||
#endif
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
#define EXCEPTION_MAXIMUM_PARAMETERS (15)
|
||||
|
||||
typedef struct _EXCEPTION_POINTERS {
|
||||
PEXCEPTION_RECORD ExceptionRecord;
|
||||
PCONTEXT ContextRecord;
|
||||
} EXCEPTION_POINTERS, *PEXCEPTION_POINTERS, *LPEXCEPTION_POINTERS;
|
||||
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
#endif /* __INCLUDE_EXCEPT_H */
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
#ifndef __INCLUDE_FILE_H
|
||||
#define __INCLUDE_FILE_H
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
#define GENERIC_READ (0x80000000L)
|
||||
#define GENERIC_WRITE (0x40000000L)
|
||||
#define FILE_READ_DATA ( 0x0001 ) /* file & pipe */
|
||||
|
@ -40,28 +42,6 @@
|
|||
|
||||
#define FILE_WRITE_ATTRIBUTES ( 0x0100 ) /* all */
|
||||
|
||||
#define FILE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF)
|
||||
|
||||
#define FILE_GENERIC_READ (STANDARD_RIGHTS_READ |\
|
||||
FILE_READ_DATA |\
|
||||
FILE_READ_ATTRIBUTES |\
|
||||
FILE_READ_EA |\
|
||||
SYNCHRONIZE)
|
||||
|
||||
|
||||
#define FILE_GENERIC_WRITE (STANDARD_RIGHTS_WRITE |\
|
||||
FILE_WRITE_DATA |\
|
||||
FILE_WRITE_ATTRIBUTES |\
|
||||
FILE_WRITE_EA |\
|
||||
FILE_APPEND_DATA |\
|
||||
SYNCHRONIZE)
|
||||
|
||||
|
||||
#define FILE_GENERIC_EXECUTE (STANDARD_RIGHTS_EXECUTE |\
|
||||
FILE_READ_ATTRIBUTES |\
|
||||
FILE_EXECUTE |\
|
||||
SYNCHRONIZE)
|
||||
|
||||
#define FILE_SHARE_DELETE (4)
|
||||
#define FILE_SHARE_READ (1)
|
||||
#define FILE_SHARE_WRITE (2)
|
||||
|
@ -112,5 +92,28 @@
|
|||
#define FILE_FILE_COMPRESSION (0x00000010)
|
||||
#define FILE_VOLUME_IS_COMPRESSED (0x00008000)
|
||||
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
#define FILE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF)
|
||||
|
||||
#define FILE_GENERIC_READ (STANDARD_RIGHTS_READ |\
|
||||
FILE_READ_DATA |\
|
||||
FILE_READ_ATTRIBUTES |\
|
||||
FILE_READ_EA |\
|
||||
SYNCHRONIZE)
|
||||
|
||||
|
||||
#define FILE_GENERIC_WRITE (STANDARD_RIGHTS_WRITE |\
|
||||
FILE_WRITE_DATA |\
|
||||
FILE_WRITE_ATTRIBUTES |\
|
||||
FILE_WRITE_EA |\
|
||||
FILE_APPEND_DATA |\
|
||||
SYNCHRONIZE)
|
||||
|
||||
|
||||
#define FILE_GENERIC_EXECUTE (STANDARD_RIGHTS_EXECUTE |\
|
||||
FILE_READ_ATTRIBUTES |\
|
||||
FILE_EXECUTE |\
|
||||
SYNCHRONIZE)
|
||||
|
||||
#endif /* __INCLUDE_FILE_H */
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#ifndef __INCLUDE_NTOS_GDITYPES_H
|
||||
#define __INCLUDE_NTOS_GDITYPES_H
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
#define CCHDEVICENAME (32)
|
||||
#define CCHFORMNAME (32)
|
||||
|
||||
|
@ -86,6 +88,8 @@ typedef struct _devicemodeW
|
|||
DWORD dmICCModel;
|
||||
} DEVMODEW,*LPDEVMODEW,*PDEVMODEW;
|
||||
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
#endif /* __INCLUDE_NTOS_GDITYPES_H */
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -9,16 +9,20 @@
|
|||
* 27/06/00: Created
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __INCLUDE_HEAP_H
|
||||
#define __INCLUDE_HEAP_H
|
||||
|
||||
/* HeapAlloc, HeapReAlloc */
|
||||
#define HEAP_NO_VALLOC (64)
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
#define HEAP_GENERATE_EXCEPTIONS (4)
|
||||
#define HEAP_NO_SERIALIZE (1)
|
||||
#define HEAP_ZERO_MEMORY (8)
|
||||
#define HEAP_REALLOC_IN_PLACE_ONLY (16)
|
||||
#define HEAP_GROWABLE (2)
|
||||
#define HEAP_NO_VALLOC (64)
|
||||
#define HEAP_GROWABLE (32)
|
||||
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
#endif /* __INCLUDE_HEAP_H */
|
||||
|
|
|
@ -1,46 +1,46 @@
|
|||
|
||||
#ifndef __KDBGSYMS_H
|
||||
#define __KDBGSYMS_H
|
||||
|
||||
#include <ddk/ntddk.h>
|
||||
|
||||
#define ST_FILENAME 0x00
|
||||
#define ST_FUNCTION 0x01
|
||||
#define ST_LINENUMBER 0x02
|
||||
|
||||
typedef struct _SYMBOL
|
||||
{
|
||||
struct _SYMBOL *Next;
|
||||
/* Address relative to module base address */
|
||||
ULONG RelativeAddress;
|
||||
ULONG SymbolType;
|
||||
ANSI_STRING Name;
|
||||
ULONG LineNumber;
|
||||
} SYMBOL, *PSYMBOL;
|
||||
|
||||
typedef struct _SYMBOL_TABLE
|
||||
{
|
||||
ULONG SymbolCount;
|
||||
PSYMBOL Symbols;
|
||||
} SYMBOL_TABLE, *PSYMBOL_TABLE;
|
||||
|
||||
typedef struct _IMAGE_SYMBOL_INFO
|
||||
{
|
||||
SYMBOL_TABLE FileNameSymbols;
|
||||
SYMBOL_TABLE FunctionSymbols;
|
||||
SYMBOL_TABLE LineNumberSymbols;
|
||||
ULONG_PTR ImageBase;
|
||||
ULONG_PTR ImageSize;
|
||||
PVOID FileBuffer;
|
||||
PVOID SymbolsBase;
|
||||
ULONG SymbolsLength;
|
||||
PVOID SymbolStringsBase;
|
||||
ULONG SymbolStringsLength;
|
||||
} IMAGE_SYMBOL_INFO, *PIMAGE_SYMBOL_INFO;
|
||||
|
||||
#define AreSymbolsParsed(si)((si)->FileNameSymbols.Symbols \
|
||||
|| (si)->FunctionSymbols.Symbols \
|
||||
|| (si)->LineNumberSymbols.Symbols)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef __KDBGSYMS_H
|
||||
#define __KDBGSYMS_H
|
||||
|
||||
#include <ddk/ntddk.h>
|
||||
|
||||
#define ST_FILENAME 0x00
|
||||
#define ST_FUNCTION 0x01
|
||||
#define ST_LINENUMBER 0x02
|
||||
|
||||
typedef struct _SYMBOL
|
||||
{
|
||||
struct _SYMBOL *Next;
|
||||
/* Address relative to module base address */
|
||||
ULONG RelativeAddress;
|
||||
ULONG SymbolType;
|
||||
ANSI_STRING Name;
|
||||
ULONG LineNumber;
|
||||
} SYMBOL, *PSYMBOL;
|
||||
|
||||
typedef struct _SYMBOL_TABLE
|
||||
{
|
||||
ULONG SymbolCount;
|
||||
PSYMBOL Symbols;
|
||||
} SYMBOL_TABLE, *PSYMBOL_TABLE;
|
||||
|
||||
typedef struct _IMAGE_SYMBOL_INFO
|
||||
{
|
||||
SYMBOL_TABLE FileNameSymbols;
|
||||
SYMBOL_TABLE FunctionSymbols;
|
||||
SYMBOL_TABLE LineNumberSymbols;
|
||||
ULONG_PTR ImageBase;
|
||||
ULONG_PTR ImageSize;
|
||||
PVOID FileBuffer;
|
||||
PVOID SymbolsBase;
|
||||
ULONG SymbolsLength;
|
||||
PVOID SymbolStringsBase;
|
||||
ULONG SymbolStringsLength;
|
||||
} IMAGE_SYMBOL_INFO, *PIMAGE_SYMBOL_INFO;
|
||||
|
||||
#define AreSymbolsParsed(si)((si)->FileNameSymbols.Symbols \
|
||||
|| (si)->FunctionSymbols.Symbols \
|
||||
|| (si)->LineNumberSymbols.Symbols)
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -15,6 +15,46 @@
|
|||
|
||||
#include <ntos/types.h>
|
||||
|
||||
/* Virtual Key codes */
|
||||
#define VK_0 (48)
|
||||
#define VK_1 (49)
|
||||
#define VK_2 (50)
|
||||
#define VK_3 (51)
|
||||
#define VK_4 (52)
|
||||
#define VK_5 (53)
|
||||
#define VK_6 (54)
|
||||
#define VK_7 (55)
|
||||
#define VK_8 (56)
|
||||
#define VK_9 (57)
|
||||
#define VK_A (65)
|
||||
#define VK_B (66)
|
||||
#define VK_C (67)
|
||||
#define VK_D (68)
|
||||
#define VK_E (69)
|
||||
#define VK_F (70)
|
||||
#define VK_G (71)
|
||||
#define VK_H (72)
|
||||
#define VK_I (73)
|
||||
#define VK_J (74)
|
||||
#define VK_K (75)
|
||||
#define VK_L (76)
|
||||
#define VK_M (77)
|
||||
#define VK_N (78)
|
||||
#define VK_O (79)
|
||||
#define VK_P (80)
|
||||
#define VK_Q (81)
|
||||
#define VK_R (82)
|
||||
#define VK_S (83)
|
||||
#define VK_T (84)
|
||||
#define VK_U (85)
|
||||
#define VK_V (86)
|
||||
#define VK_W (87)
|
||||
#define VK_X (88)
|
||||
#define VK_Y (89)
|
||||
#define VK_Z (90)
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
/* KEY_EVENT_RECORD structure */
|
||||
#define CAPSLOCK_ON (128)
|
||||
#define ENHANCED_KEY (256)
|
||||
|
@ -88,7 +128,7 @@ typedef struct _INPUT_RECORD {
|
|||
} Event;
|
||||
} INPUT_RECORD, *PINPUT_RECORD;
|
||||
|
||||
/* Virtual Key codes */
|
||||
/* Virtual Key codes */
|
||||
#define VK_LBUTTON (1)
|
||||
#define VK_RBUTTON (2)
|
||||
#define VK_CANCEL (3)
|
||||
|
@ -119,42 +159,6 @@ typedef struct _INPUT_RECORD {
|
|||
#define VK_INSERT (45)
|
||||
#define VK_DELETE (46)
|
||||
#define VK_HELP (47)
|
||||
#define VK_0 (48)
|
||||
#define VK_1 (49)
|
||||
#define VK_2 (50)
|
||||
#define VK_3 (51)
|
||||
#define VK_4 (52)
|
||||
#define VK_5 (53)
|
||||
#define VK_6 (54)
|
||||
#define VK_7 (55)
|
||||
#define VK_8 (56)
|
||||
#define VK_9 (57)
|
||||
#define VK_A (65)
|
||||
#define VK_B (66)
|
||||
#define VK_C (67)
|
||||
#define VK_D (68)
|
||||
#define VK_E (69)
|
||||
#define VK_F (70)
|
||||
#define VK_G (71)
|
||||
#define VK_H (72)
|
||||
#define VK_I (73)
|
||||
#define VK_J (74)
|
||||
#define VK_K (75)
|
||||
#define VK_L (76)
|
||||
#define VK_M (77)
|
||||
#define VK_N (78)
|
||||
#define VK_O (79)
|
||||
#define VK_P (80)
|
||||
#define VK_Q (81)
|
||||
#define VK_R (82)
|
||||
#define VK_S (83)
|
||||
#define VK_T (84)
|
||||
#define VK_U (85)
|
||||
#define VK_V (86)
|
||||
#define VK_W (87)
|
||||
#define VK_X (88)
|
||||
#define VK_Y (89)
|
||||
#define VK_Z (90)
|
||||
#define VK_NUMPAD0 (96)
|
||||
#define VK_NUMPAD1 (97)
|
||||
#define VK_NUMPAD2 (98)
|
||||
|
@ -206,6 +210,7 @@ typedef struct _INPUT_RECORD {
|
|||
#define VK_RCONTROL (163)
|
||||
#define VK_RMENU (165)
|
||||
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
#endif /* __INCLUDE_KEYBOARD_H */
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef max
|
||||
#define max(a, b) (((a) > (b)) ? (a) : (b))
|
||||
#endif
|
||||
|
||||
#ifndef min
|
||||
#define min(a, b) (((a) < (b)) ? (a) : (b))
|
||||
#endif
|
||||
#ifndef max
|
||||
#define max(a, b) (((a) > (b)) ? (a) : (b))
|
||||
#endif
|
||||
|
||||
#ifndef min
|
||||
#define min(a, b) (((a) < (b)) ? (a) : (b))
|
||||
#endif
|
||||
|
|
|
@ -13,12 +13,8 @@
|
|||
#ifndef __INCLUDE_MM_H
|
||||
#define __INCLUDE_MM_H
|
||||
|
||||
#if 0
|
||||
#define SEC_COMMIT (134217728)
|
||||
#define SEC_IMAGE (16777216)
|
||||
#define SEC_NOCACHE (268435456)
|
||||
#define SEC_RESERVE (67108864)
|
||||
#else
|
||||
#ifndef __USE_W32API
|
||||
|
||||
#define SEC_BASED (0x00200000)
|
||||
#define SEC_NO_CHANGE (0x00400000)
|
||||
#define SEC_IMAGE (0x01000000)
|
||||
|
@ -26,7 +22,6 @@
|
|||
#define SEC_RESERVE (0x04000000)
|
||||
#define SEC_COMMIT (0x08000000)
|
||||
#define SEC_NOCACHE (0x10000000)
|
||||
#endif
|
||||
#define PAGE_READONLY (2)
|
||||
#define PAGE_READWRITE (4)
|
||||
#define PAGE_WRITECOPY (8)
|
||||
|
@ -58,6 +53,10 @@
|
|||
#define FILE_MAP_READ (4)
|
||||
#define FILE_MAP_WRITE (2)
|
||||
#define FILE_MAP_COPY (1)
|
||||
#else /* __USE_W32API */
|
||||
|
||||
#include <ddk/ntifs.h>
|
||||
|
||||
#endif /* __USE_W32API */
|
||||
|
||||
#endif /* __INCLUDE_MM_H */
|
||||
|
|
|
@ -11,6 +11,12 @@
|
|||
#ifndef __INCLUDE_NTDEF_H
|
||||
#define __INCLUDE_NTDEF_H
|
||||
|
||||
#define PACKED __attribute__((packed))
|
||||
|
||||
#define EX_MAXIMUM_WAIT_OBJECTS (64)
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
#define ANYSIZE_ARRAY (1)
|
||||
|
||||
#define DELETE (0x00010000L)
|
||||
|
@ -20,10 +26,8 @@
|
|||
#define DUPLICATE_CLOSE_SOURCE (1)
|
||||
#define DUPLICATE_SAME_ACCESS (2)
|
||||
|
||||
#define PACKED __attribute__((packed))
|
||||
|
||||
#define INVALID_HANDLE_VALUE ((HANDLE)-1)
|
||||
|
||||
#define EX_MAXIMUM_WAIT_OBJECTS (64)
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
#endif /* __INCLUDE_NTDEF_H */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: port.h,v 1.1 2001/02/02 20:44:21 ekohl Exp $
|
||||
/* $Id: port.h,v 1.2 2002/11/14 18:21:03 chorns Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -13,11 +13,18 @@
|
|||
#ifndef __INCLUDE_PORT_H
|
||||
#define __INCLUDE_PORT_H
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
/* Port Object Access */
|
||||
|
||||
#define PORT_ALL_ACCESS (0x1)
|
||||
|
||||
#else /* __USE_W32API */
|
||||
|
||||
#include <ddk/ntifs.h>
|
||||
|
||||
#endif /* __USE_W32API */
|
||||
|
||||
#endif /* __INCLUDE_PORT_H */
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -13,6 +13,21 @@
|
|||
#ifndef __INCLUDE_PS_H
|
||||
#define __INCLUDE_PS_H
|
||||
|
||||
#define THREAD_READ (0x020048L)
|
||||
#define THREAD_WRITE (0x020037L)
|
||||
#define THREAD_EXECUTE (0x120000L)
|
||||
|
||||
#define PROCESS_READ (0x020410L)
|
||||
#define PROCESS_WRITE (0x020bebL)
|
||||
#define PROCESS_EXECUTE (0x120000L)
|
||||
|
||||
/* Thread priorities */
|
||||
#define THREAD_PRIORITY_BELOW_NORMAL (-1)
|
||||
#define THREAD_PRIORITY_IDLE (-15)
|
||||
#define THREAD_PRIORITY_LOWEST (-2)
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
/* Thread access rights */
|
||||
#define THREAD_TERMINATE (0x0001L)
|
||||
#define THREAD_SUSPEND_RESUME (0x0002L)
|
||||
|
@ -25,9 +40,6 @@
|
|||
#define THREAD_DIRECT_IMPERSONATION (0x0200L)
|
||||
|
||||
#define THREAD_ALL_ACCESS (0x1f03ffL)
|
||||
#define THREAD_READ (0x020048L)
|
||||
#define THREAD_WRITE (0x020037L)
|
||||
#define THREAD_EXECUTE (0x120000L)
|
||||
|
||||
/* Process access rights */
|
||||
#define PROCESS_TERMINATE (0x0001L)
|
||||
|
@ -43,16 +55,10 @@
|
|||
#define PROCESS_QUERY_INFORMATION (0x0400L)
|
||||
|
||||
#define PROCESS_ALL_ACCESS (0x1f0fffL)
|
||||
#define PROCESS_READ (0x020410L)
|
||||
#define PROCESS_WRITE (0x020bebL)
|
||||
#define PROCESS_EXECUTE (0x120000L)
|
||||
|
||||
/* Thread priorities */
|
||||
#define THREAD_PRIORITY_ABOVE_NORMAL (1)
|
||||
#define THREAD_PRIORITY_BELOW_NORMAL (-1)
|
||||
#define THREAD_PRIORITY_HIGHEST (2)
|
||||
#define THREAD_PRIORITY_IDLE (-15)
|
||||
#define THREAD_PRIORITY_LOWEST (-2)
|
||||
#define THREAD_PRIORITY_NORMAL (0)
|
||||
#define THREAD_PRIORITY_TIME_CRITICAL (15)
|
||||
#define THREAD_PRIORITY_ERROR_RETURN (2147483647)
|
||||
|
@ -75,4 +81,6 @@
|
|||
/* ResumeThread / SuspendThread */
|
||||
#define MAXIMUM_SUSPEND_COUNT (0x7f)
|
||||
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
#endif /* __INCLUDE_PS_H */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: registry.h,v 1.3 2002/06/19 22:30:29 ekohl Exp $
|
||||
/* $Id: registry.h,v 1.4 2002/11/14 18:21:03 chorns Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -13,6 +13,8 @@
|
|||
#ifndef __INCLUDE_NTOS_REGISTRY_H
|
||||
#define __INCLUDE_NTOS_REGISTRY_H
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
/* Key access rights */
|
||||
#define KEY_QUERY_VALUE (1)
|
||||
#define KEY_SET_VALUE (2)
|
||||
|
@ -51,5 +53,6 @@
|
|||
#define REG_FULL_RESOURCE_DESCRIPTOR (9)
|
||||
#define REG_RESOURCE_REQUIREMENTS_LIST (10)
|
||||
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
#endif /* __INCLUDE_NTOS_REGISTRY_H */
|
||||
|
|
|
@ -4,6 +4,71 @@
|
|||
#include <ntos/ntdef.h>
|
||||
#include <ntos/types.h>
|
||||
|
||||
/* Privileges */
|
||||
#define SE_MIN_WELL_KNOWN_PRIVILEGE (2L)
|
||||
#define SE_CREATE_TOKEN_PRIVILEGE (2L)
|
||||
#define SE_ASSIGNPRIMARYTOKEN_PRIVILEGE (3L)
|
||||
#define SE_LOCK_MEMORY_PRIVILEGE (4L)
|
||||
#define SE_INCREASE_QUOTA_PRIVILEGE (5L)
|
||||
#define SE_UNSOLICITED_INPUT_PRIVILEGE (6L) /* unused */
|
||||
#define SE_MACHINE_ACCOUNT_PRIVILEGE (6L)
|
||||
#define SE_TCB_PRIVILEGE (7L)
|
||||
#define SE_SECURITY_PRIVILEGE (8L)
|
||||
#define SE_TAKE_OWNERSHIP_PRIVILEGE (9L)
|
||||
#define SE_LOAD_DRIVER_PRIVILEGE (10L)
|
||||
#define SE_SYSTEM_PROFILE_PRIVILEGE (11L)
|
||||
#define SE_SYSTEMTIME_PRIVILEGE (12L)
|
||||
#define SE_PROF_SINGLE_PROCESS_PRIVILEGE (13L)
|
||||
#define SE_INC_BASE_PRIORITY_PRIVILEGE (14L)
|
||||
#define SE_CREATE_PAGEFILE_PRIVILEGE (15L)
|
||||
#define SE_CREATE_PERMANENT_PRIVILEGE (16L)
|
||||
#define SE_BACKUP_PRIVILEGE (17L)
|
||||
#define SE_RESTORE_PRIVILEGE (18L)
|
||||
#define SE_SHUTDOWN_PRIVILEGE (19L)
|
||||
#define SE_DEBUG_PRIVILEGE (20L)
|
||||
#define SE_AUDIT_PRIVILEGE (21L)
|
||||
#define SE_SYSTEM_ENVIRONMENT_PRIVILEGE (22L)
|
||||
#define SE_CHANGE_NOTIFY_PRIVILEGE (23L)
|
||||
#define SE_REMOTE_SHUTDOWN_PRIVILEGE (24L)
|
||||
#define SE_MAX_WELL_KNOWN_PRIVILEGE SE_REMOTE_SHUTDOWN_PRIVILEGE
|
||||
|
||||
#if 0
|
||||
/* Security descriptor control. */
|
||||
#define SECURITY_DESCRIPTOR_REVISION (1)
|
||||
#define SECURITY_DESCRIPTOR_MIN_LENGTH (20)
|
||||
#define SE_OWNER_DEFAULTED (1)
|
||||
#define SE_GROUP_DEFAULTED (2)
|
||||
#define SE_DACL_PRESENT (4)
|
||||
#define SE_DACL_DEFAULTED (8)
|
||||
#define SE_SACL_PRESENT (16)
|
||||
#define SE_SACL_DEFAULTED (32)
|
||||
#define SE_SELF_RELATIVE (32768)
|
||||
#endif
|
||||
|
||||
typedef ULONG ACCESS_MODE, *PACCESS_MODE;
|
||||
|
||||
#if 0
|
||||
typedef struct _ACE_HEADER
|
||||
{
|
||||
CHAR AceType;
|
||||
CHAR AceFlags;
|
||||
USHORT AceSize;
|
||||
ACCESS_MASK AccessMask;
|
||||
} ACE_HEADER, *PACE_HEADER;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
ACE_HEADER Header;
|
||||
} ACE, *PACE;
|
||||
#endif
|
||||
|
||||
typedef struct _SECURITY_DESCRIPTOR_CONTEXT
|
||||
{
|
||||
} SECURITY_DESCRIPTOR_CONTEXT, *PSECURITY_DESCRIPTOR_CONTEXT;
|
||||
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
/* SID Auhority */
|
||||
#define SECURITY_NULL_SID_AUTHORITY {0,0,0,0,0,0}
|
||||
#define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1}
|
||||
|
@ -51,47 +116,6 @@
|
|||
#define DOMAIN_ALIAS_RID_BACKUP_OPS (0x227L)
|
||||
#define DOMAIN_ALIAS_RID_REPLICATOR (0x228L)
|
||||
|
||||
/* Privileges */
|
||||
#define SE_MIN_WELL_KNOWN_PRIVILEGE (2L)
|
||||
#define SE_CREATE_TOKEN_PRIVILEGE (2L)
|
||||
#define SE_ASSIGNPRIMARYTOKEN_PRIVILEGE (3L)
|
||||
#define SE_LOCK_MEMORY_PRIVILEGE (4L)
|
||||
#define SE_INCREASE_QUOTA_PRIVILEGE (5L)
|
||||
#define SE_UNSOLICITED_INPUT_PRIVILEGE (6L) /* unused */
|
||||
#define SE_MACHINE_ACCOUNT_PRIVILEGE (6L)
|
||||
#define SE_TCB_PRIVILEGE (7L)
|
||||
#define SE_SECURITY_PRIVILEGE (8L)
|
||||
#define SE_TAKE_OWNERSHIP_PRIVILEGE (9L)
|
||||
#define SE_LOAD_DRIVER_PRIVILEGE (10L)
|
||||
#define SE_SYSTEM_PROFILE_PRIVILEGE (11L)
|
||||
#define SE_SYSTEMTIME_PRIVILEGE (12L)
|
||||
#define SE_PROF_SINGLE_PROCESS_PRIVILEGE (13L)
|
||||
#define SE_INC_BASE_PRIORITY_PRIVILEGE (14L)
|
||||
#define SE_CREATE_PAGEFILE_PRIVILEGE (15L)
|
||||
#define SE_CREATE_PERMANENT_PRIVILEGE (16L)
|
||||
#define SE_BACKUP_PRIVILEGE (17L)
|
||||
#define SE_RESTORE_PRIVILEGE (18L)
|
||||
#define SE_SHUTDOWN_PRIVILEGE (19L)
|
||||
#define SE_DEBUG_PRIVILEGE (20L)
|
||||
#define SE_AUDIT_PRIVILEGE (21L)
|
||||
#define SE_SYSTEM_ENVIRONMENT_PRIVILEGE (22L)
|
||||
#define SE_CHANGE_NOTIFY_PRIVILEGE (23L)
|
||||
#define SE_REMOTE_SHUTDOWN_PRIVILEGE (24L)
|
||||
#define SE_MAX_WELL_KNOWN_PRIVILEGE SE_REMOTE_SHUTDOWN_PRIVILEGE
|
||||
|
||||
#if 0
|
||||
/* Security descriptor control. */
|
||||
#define SECURITY_DESCRIPTOR_REVISION (1)
|
||||
#define SECURITY_DESCRIPTOR_MIN_LENGTH (20)
|
||||
#define SE_OWNER_DEFAULTED (1)
|
||||
#define SE_GROUP_DEFAULTED (2)
|
||||
#define SE_DACL_PRESENT (4)
|
||||
#define SE_DACL_DEFAULTED (8)
|
||||
#define SE_SACL_PRESENT (16)
|
||||
#define SE_SACL_DEFAULTED (32)
|
||||
#define SE_SELF_RELATIVE (32768)
|
||||
#endif
|
||||
|
||||
/* ACCESS_MASK */
|
||||
#define MAXIMUM_ALLOWED (0x2000000L)
|
||||
#define GENERIC_ALL (0x10000000L)
|
||||
|
@ -148,19 +172,12 @@ typedef ULONG SECURITY_IMPERSONATION_LEVEL, *PSECURITY_IMPERSONATION_LEVEL;
|
|||
#define SecurityImpersonation ((SECURITY_IMPERSONATION_LEVEL)3)
|
||||
#define SecurityDelegation ((SECURITY_IMPERSONATION_LEVEL)4)
|
||||
|
||||
typedef ULONG ACCESS_MASK, *PACCESS_MASK;
|
||||
typedef ULONG TOKEN_TYPE, *PTOKEN_TYPE;
|
||||
|
||||
#define TokenPrimary ((TOKEN_TYPE)1)
|
||||
#define TokenImpersonation ((TOKEN_TYPE)2)
|
||||
|
||||
//typedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE, *PSECURITY_CONTEXT_TRACKING_MODE;
|
||||
|
||||
//#define SECURITY_DYNAMIC_TRACKING (TRUE)
|
||||
//#define SECURITY_STATIC_TRACKING (FALSE)
|
||||
|
||||
typedef ULONG ACCESS_MASK, *PACCESS_MASK;
|
||||
typedef ULONG ACCESS_MODE, *PACCESS_MODE;
|
||||
|
||||
typedef struct _SECURITY_QUALITY_OF_SERVICE
|
||||
{
|
||||
ULONG Length;
|
||||
|
@ -178,12 +195,6 @@ typedef struct _ACE_HEADER
|
|||
WORD AceSize;
|
||||
} ACE_HEADER, *PACE_HEADER;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
ACE_HEADER Header;
|
||||
ACCESS_MASK AccessMask;
|
||||
} ACE, *PACE;
|
||||
|
||||
typedef struct _SID_IDENTIFIER_AUTHORITY
|
||||
{
|
||||
BYTE Value[6];
|
||||
|
@ -226,10 +237,6 @@ typedef enum _ACL_INFORMATION_CLASS
|
|||
|
||||
typedef USHORT SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
|
||||
|
||||
typedef struct _SECURITY_DESCRIPTOR_CONTEXT
|
||||
{
|
||||
} SECURITY_DESCRIPTOR_CONTEXT, *PSECURITY_DESCRIPTOR_CONTEXT;
|
||||
|
||||
typedef LARGE_INTEGER LUID, *PLUID;
|
||||
|
||||
typedef struct _SECURITY_DESCRIPTOR
|
||||
|
@ -340,5 +347,12 @@ typedef struct _SECURITY_ATTRIBUTES
|
|||
BOOL bInheritHandle;
|
||||
} SECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
|
||||
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
typedef struct
|
||||
{
|
||||
ACE_HEADER Header;
|
||||
ACCESS_MASK AccessMask;
|
||||
} ACE, *PACE;
|
||||
|
||||
#endif /* __INCLUDE_SECURITY_H */
|
||||
|
|
|
@ -12,13 +12,13 @@
|
|||
#ifndef __INCLUDE_SYNCH_H
|
||||
#define __INCLUDE_SYNCH_H
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
#define EVENT_ALL_ACCESS (0x1f0003L)
|
||||
#define EVENT_QUERY_STATE (1)
|
||||
#define EVENT_MODIFY_STATE (2)
|
||||
#define EVENT_QUERY_STATE (1)
|
||||
#define EVENT_PAIR_ALL_ACCESS (0x1f0000L)
|
||||
#define MUTEX_ALL_ACCESS (0x1f0001L)
|
||||
#define MUTEX_QUERY_STATE (1)
|
||||
#define MUTANT_ALL_ACCESS (0x1f0001L)
|
||||
#define MUTANT_QUERY_STATE (1)
|
||||
#define SEMAPHORE_ALL_ACCESS (0x1f0003L)
|
||||
|
@ -28,5 +28,8 @@
|
|||
#define TIMER_QUERY_STATE (1)
|
||||
#define TIMER_MODIFY_STATE (2)
|
||||
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
#define MUTEX_QUERY_STATE (1)
|
||||
|
||||
#endif /* __INCLUDE_SYNCH_H */
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
|
||||
#include <ntos/types.h>
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
typedef struct _SYSTEMTIME
|
||||
{
|
||||
WORD wYear;
|
||||
|
@ -37,4 +39,13 @@ typedef struct _TIME_ZONE_INFORMATION
|
|||
LONG DaylightBias;
|
||||
} TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
|
||||
|
||||
#else /* __USE_W32API */
|
||||
|
||||
#include <ddk/ntapi.h>
|
||||
|
||||
typedef LPTIME_ZONE_INFORMATION PTIME_ZONE_INFORMATION;
|
||||
|
||||
#endif /* __USE_W32API */
|
||||
|
||||
|
||||
#endif /* __INCLUDE_NTOS_TIME_H */
|
||||
|
|
|
@ -1,432 +1,423 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: include/types.h
|
||||
* PURPOSE: Types used by all the parts of the system
|
||||
* PROGRAMMER: David Welch <welch@cwcom.net>
|
||||
* DEFINES: _WIN64: 64-bit architecture
|
||||
* _WIN32: 32-bit architecture (default)
|
||||
* UPDATE HISTORY:
|
||||
* 27/06/00: Created
|
||||
* 01/05/01: Portabillity changes
|
||||
*/
|
||||
|
||||
#ifndef __INCLUDE_TYPES_H
|
||||
#define __INCLUDE_TYPES_H
|
||||
|
||||
/* Fixed precision types */
|
||||
typedef signed char INT8, *PINT8;
|
||||
typedef signed short INT16, *PINT16;
|
||||
typedef signed int INT32, *PINT32;
|
||||
typedef signed long long INT64, *PINT64;
|
||||
typedef unsigned char UINT8, *PUINT8;
|
||||
typedef unsigned short UINT16, *PUINT16;
|
||||
typedef unsigned int UINT32, *PUINT32;
|
||||
typedef unsigned long long UINT64, *PUINT64;
|
||||
|
||||
typedef signed long int LONG32, *PLONG32;
|
||||
typedef unsigned long int ULONG32, *PULONG32;
|
||||
typedef unsigned long int DWORD32, *PDWORD32;
|
||||
|
||||
|
||||
#ifdef _WIN64
|
||||
|
||||
/* 64-bit architecture */
|
||||
|
||||
typedef INT64 INT, *PINT;
|
||||
typedef LONG64 LONG, *PLONG;
|
||||
typedef DWORD64 DWORD, *PDWORD;
|
||||
typedef UINT64 UINT, *PUINT;
|
||||
typedef ULONG64 ULONG, *PULONG;
|
||||
|
||||
/* Pointer precision types */
|
||||
typedef long long INT_PTR, *PINT_PTR;
|
||||
typedef unsigned long long UINT_PTR, *PUINT_PTR;
|
||||
typedef long long LONG_PTR, *PLONG_PTR;
|
||||
typedef unsigned long long ULONG_PTR, *PULONG_PTR;
|
||||
typedef unsigned long long HANDLE_PTR;
|
||||
typedef unsigned int UHALF_PTR, *PUHALF_PTR;
|
||||
typedef int HALF_PTR, *PHALF_PTR;
|
||||
|
||||
#else /* _WIN64 */
|
||||
|
||||
/* 32-bit architecture */
|
||||
|
||||
typedef INT32 INT, *PINT;
|
||||
typedef LONG32 LONG, *PLONG;
|
||||
typedef DWORD32 DWORD, *PDWORD;
|
||||
typedef UINT32 UINT, *PUINT;
|
||||
typedef ULONG32 ULONG, *PULONG;
|
||||
|
||||
|
||||
/* Pointer precision types */
|
||||
typedef int INT_PTR, *PINT_PTR;
|
||||
typedef unsigned int UINT_PTR, *PUINT_PTR;
|
||||
typedef long LONG_PTR, *PLONG_PTR;
|
||||
typedef unsigned long ULONG_PTR, *PULONG_PTR;
|
||||
typedef unsigned short UHALF_PTR, *PUHALF_PTR;
|
||||
typedef short HALF_PTR, *PHALF_PTR;
|
||||
typedef unsigned long HANDLE_PTR;
|
||||
|
||||
#endif /* _WIN64 */
|
||||
|
||||
typedef ULONG_PTR DWORD_PTR, *PDWORD_PTR;
|
||||
|
||||
typedef long long LONG64, *PLONG64;
|
||||
|
||||
typedef unsigned long long ULONG64, *PULONG64;
|
||||
typedef unsigned long long DWORD64, *PDWORD64;
|
||||
|
||||
|
||||
typedef unsigned char UCHAR;
|
||||
typedef unsigned short USHORT;
|
||||
typedef unsigned short WCHAR;
|
||||
typedef unsigned short WORD;
|
||||
typedef int BOOL;
|
||||
typedef unsigned char BOOLEAN;
|
||||
typedef BOOLEAN* PBOOLEAN;
|
||||
typedef unsigned short *LPWSTR;
|
||||
typedef unsigned short *PWSTR;
|
||||
typedef unsigned char *PUCHAR;
|
||||
typedef unsigned short *PUSHORT;
|
||||
typedef void *PVOID;
|
||||
typedef unsigned char BYTE;
|
||||
typedef void *LPVOID;
|
||||
typedef float *PFLOAT;
|
||||
typedef unsigned short *PWCH;
|
||||
typedef unsigned short *PWORD;
|
||||
|
||||
typedef long long LONGLONG;
|
||||
typedef unsigned long long ULONGLONG;
|
||||
typedef long long *PLONGLONG;
|
||||
typedef unsigned long long *PULONGLONG;
|
||||
|
||||
/* Check VOID before defining CHAR, SHORT */
|
||||
#ifndef VOID
|
||||
#define VOID void
|
||||
typedef char CHAR;
|
||||
typedef short SHORT;
|
||||
#endif
|
||||
|
||||
typedef CHAR *PCHAR;
|
||||
typedef CHAR *PCH;
|
||||
typedef void *HANDLE;
|
||||
typedef char CCHAR;
|
||||
typedef CCHAR *PCCHAR;
|
||||
|
||||
|
||||
#define FALSE 0
|
||||
#define TRUE 1
|
||||
|
||||
#ifndef NULL
|
||||
#ifdef __cplusplus
|
||||
#define NULL 0
|
||||
#else
|
||||
#define NULL ((void*)0)
|
||||
#endif /* __cplusplus */
|
||||
#endif /* NULL */
|
||||
|
||||
typedef const unsigned short *PCWSTR;
|
||||
|
||||
typedef char* PCSZ;
|
||||
|
||||
typedef union _LARGE_INTEGER
|
||||
{
|
||||
struct
|
||||
{
|
||||
DWORD LowPart;
|
||||
LONG HighPart;
|
||||
} u;
|
||||
#ifdef ANONYMOUSUNIONS
|
||||
struct
|
||||
{
|
||||
DWORD LowPart;
|
||||
LONG HighPart;
|
||||
};
|
||||
#endif /* ANONYMOUSUNIONS */
|
||||
LONGLONG QuadPart;
|
||||
} LARGE_INTEGER, *PLARGE_INTEGER;
|
||||
|
||||
typedef union _ULARGE_INTEGER
|
||||
{
|
||||
struct
|
||||
{
|
||||
DWORD LowPart;
|
||||
DWORD HighPart;
|
||||
} u;
|
||||
#ifdef ANONYMOUSUNIONS
|
||||
struct
|
||||
{
|
||||
DWORD LowPart;
|
||||
DWORD HighPart;
|
||||
};
|
||||
#endif /* ANONYMOUSUNIONS */
|
||||
ULONGLONG QuadPart;
|
||||
} ULARGE_INTEGER, *PULARGE_INTEGER;
|
||||
|
||||
typedef struct _FILETIME
|
||||
{
|
||||
DWORD dwLowDateTime;
|
||||
DWORD dwHighDateTime;
|
||||
} FILETIME, *LPFILETIME, *PFILETIME;
|
||||
|
||||
#define CONST const
|
||||
|
||||
#ifdef i386
|
||||
#define STDCALL __attribute__ ((stdcall))
|
||||
#define CDECL __attribute((cdecl))
|
||||
#define CALLBACK WINAPI
|
||||
#define PASCAL WINAPI
|
||||
#else
|
||||
#define STDCALL
|
||||
#define CDECL
|
||||
#define CALLBACK
|
||||
#define PASCAL
|
||||
#endif
|
||||
|
||||
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;
|
||||
|
||||
typedef DWORD STDCALL (*PTHREAD_START_ROUTINE) (LPVOID);
|
||||
typedef PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE;
|
||||
|
||||
typedef unsigned short *PWCHAR;
|
||||
|
||||
#ifdef __PPC__
|
||||
#define CONTEXT_CONTROL 1L
|
||||
#define CONTEXT_FLOATING_POINT 2L
|
||||
#define CONTEXT_INTEGER 4L
|
||||
#define CONTEXT_DEBUG_REGISTERS 8L
|
||||
|
||||
#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER)
|
||||
#define CONTEXT_DEBUGGER (CONTEXT_FULL)
|
||||
|
||||
#else /* x86 */
|
||||
/* The doc refered me to winnt.h, so I had to look... */
|
||||
#define SIZE_OF_80387_REGISTERS 80
|
||||
|
||||
/* Values for contextflags */
|
||||
#define CONTEXT_i386 0x10000
|
||||
#define CONTEXT_CONTROL (CONTEXT_i386 | 1)
|
||||
#define CONTEXT_INTEGER (CONTEXT_i386 | 2)
|
||||
#define CONTEXT_SEGMENTS (CONTEXT_i386 | 4)
|
||||
#define CONTEXT_FLOATING_POINT (CONTEXT_i386 | 8)
|
||||
#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386 | 0x10)
|
||||
#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS)
|
||||
|
||||
/* our own invention */
|
||||
#define FLAG_TRACE_BIT 0x100
|
||||
#define CONTEXT_DEBUGGER (CONTEXT_FULL | CONTEXT_FLOATING_POINT)
|
||||
|
||||
#endif
|
||||
|
||||
typedef struct _FLOATING_SAVE_AREA {
|
||||
DWORD ControlWord;
|
||||
DWORD StatusWord;
|
||||
DWORD TagWord;
|
||||
DWORD ErrorOffset;
|
||||
DWORD ErrorSelector;
|
||||
DWORD DataOffset;
|
||||
DWORD DataSelector;
|
||||
BYTE RegisterArea[80];
|
||||
DWORD Cr0NpxState;
|
||||
} FLOATING_SAVE_AREA;
|
||||
|
||||
typedef struct _CONTEXT_X86 {
|
||||
DWORD ContextFlags;
|
||||
|
||||
DWORD Dr0;
|
||||
DWORD Dr1;
|
||||
DWORD Dr2;
|
||||
DWORD Dr3;
|
||||
DWORD Dr6;
|
||||
DWORD Dr7;
|
||||
|
||||
FLOATING_SAVE_AREA FloatSave;
|
||||
|
||||
DWORD SegGs;
|
||||
DWORD SegFs;
|
||||
DWORD SegEs;
|
||||
DWORD SegDs;
|
||||
|
||||
DWORD Edi;
|
||||
DWORD Esi;
|
||||
DWORD Ebx;
|
||||
DWORD Edx;
|
||||
DWORD Ecx;
|
||||
DWORD Eax;
|
||||
|
||||
DWORD Ebp;
|
||||
DWORD Eip;
|
||||
DWORD SegCs;
|
||||
DWORD EFlags;
|
||||
DWORD Esp;
|
||||
DWORD SegSs;
|
||||
} CONTEXT_X86, *PCONTEXT_X86, *LPCONTEXT_X86;
|
||||
|
||||
typedef struct _CONTEXT_PPC
|
||||
{
|
||||
/* Floating point registers returned when CONTEXT_FLOATING_POINT is set */
|
||||
double Fpr0;
|
||||
double Fpr1;
|
||||
double Fpr2;
|
||||
double Fpr3;
|
||||
double Fpr4;
|
||||
double Fpr5;
|
||||
double Fpr6;
|
||||
double Fpr7;
|
||||
double Fpr8;
|
||||
double Fpr9;
|
||||
double Fpr10;
|
||||
double Fpr11;
|
||||
double Fpr12;
|
||||
double Fpr13;
|
||||
double Fpr14;
|
||||
double Fpr15;
|
||||
double Fpr16;
|
||||
double Fpr17;
|
||||
double Fpr18;
|
||||
double Fpr19;
|
||||
double Fpr20;
|
||||
double Fpr21;
|
||||
double Fpr22;
|
||||
double Fpr23;
|
||||
double Fpr24;
|
||||
double Fpr25;
|
||||
double Fpr26;
|
||||
double Fpr27;
|
||||
double Fpr28;
|
||||
double Fpr29;
|
||||
double Fpr30;
|
||||
double Fpr31;
|
||||
double Fpscr;
|
||||
|
||||
/* Integer registers returned when CONTEXT_INTEGER is set. */
|
||||
DWORD Gpr0;
|
||||
DWORD Gpr1;
|
||||
DWORD Gpr2;
|
||||
DWORD Gpr3;
|
||||
DWORD Gpr4;
|
||||
DWORD Gpr5;
|
||||
DWORD Gpr6;
|
||||
DWORD Gpr7;
|
||||
DWORD Gpr8;
|
||||
DWORD Gpr9;
|
||||
DWORD Gpr10;
|
||||
DWORD Gpr11;
|
||||
DWORD Gpr12;
|
||||
DWORD Gpr13;
|
||||
DWORD Gpr14;
|
||||
DWORD Gpr15;
|
||||
DWORD Gpr16;
|
||||
DWORD Gpr17;
|
||||
DWORD Gpr18;
|
||||
DWORD Gpr19;
|
||||
DWORD Gpr20;
|
||||
DWORD Gpr21;
|
||||
DWORD Gpr22;
|
||||
DWORD Gpr23;
|
||||
DWORD Gpr24;
|
||||
DWORD Gpr25;
|
||||
DWORD Gpr26;
|
||||
DWORD Gpr27;
|
||||
DWORD Gpr28;
|
||||
DWORD Gpr29;
|
||||
DWORD Gpr30;
|
||||
DWORD Gpr31;
|
||||
|
||||
DWORD Cr; /* Condition register */
|
||||
DWORD Xer; /* Fixed point exception register */
|
||||
|
||||
/* The following are set when CONTEXT_CONTROL is set. */
|
||||
DWORD Msr; /* Machine status register */
|
||||
DWORD Iar; /* Instruction address register */
|
||||
DWORD Lr; /* Link register */
|
||||
DWORD Ctr; /* Control register */
|
||||
|
||||
/* Control which context values are returned */
|
||||
DWORD ContextFlags;
|
||||
DWORD Fill[3];
|
||||
|
||||
/* Registers returned if CONTEXT_DEBUG_REGISTERS is set. */
|
||||
DWORD Dr0; /* Breakpoint Register 1 */
|
||||
DWORD Dr1; /* Breakpoint Register 2 */
|
||||
DWORD Dr2; /* Breakpoint Register 3 */
|
||||
DWORD Dr3; /* Breakpoint Register 4 */
|
||||
DWORD Dr4; /* Breakpoint Register 5 */
|
||||
DWORD Dr5; /* Breakpoint Register 6 */
|
||||
DWORD Dr6; /* Debug Status Register */
|
||||
DWORD Dr7; /* Debug Control Register */
|
||||
} CONTEXT_PPC, *PCONTEXT_PPC, *LPCONTEXT_PPC;
|
||||
|
||||
#ifdef __i386__
|
||||
|
||||
typedef CONTEXT_X86 CONTEXT;
|
||||
typedef PCONTEXT_X86 PCONTEXT;
|
||||
typedef LPCONTEXT_X86 LPCONTEXT;
|
||||
|
||||
#else /* __ppc__ */
|
||||
|
||||
typedef CONTEXT_PPC CONTEXT;
|
||||
typedef PCONTEXT_PPC PCONTEXT;
|
||||
typedef LPCONTEXT_PPC LPCONTEXT;
|
||||
|
||||
#endif
|
||||
|
||||
typedef HANDLE *PHANDLE;
|
||||
|
||||
typedef struct value_ent {
|
||||
LPWSTR ve_valuename;
|
||||
DWORD ve_valuelen;
|
||||
DWORD ve_valueptr;
|
||||
DWORD ve_type;
|
||||
} WVALENT, *PWVALENT;
|
||||
|
||||
|
||||
typedef const void *LPCVOID;
|
||||
typedef BYTE *LPBYTE, *PBYTE;
|
||||
|
||||
typedef BOOL *PBOOL;
|
||||
|
||||
typedef DWORD LCID;
|
||||
typedef DWORD *PLCID;
|
||||
|
||||
typedef const char *LPCSTR;
|
||||
|
||||
typedef char *LPSTR;
|
||||
|
||||
typedef const unsigned short *LPCWSTR;
|
||||
|
||||
typedef unsigned short RTL_ATOM;
|
||||
typedef unsigned short *PRTL_ATOM;
|
||||
typedef WORD ATOM;
|
||||
|
||||
typedef struct _COORD {
|
||||
SHORT X;
|
||||
SHORT Y;
|
||||
} COORD;
|
||||
|
||||
typedef struct _SMALL_RECT {
|
||||
SHORT Left;
|
||||
SHORT Top;
|
||||
SHORT Right;
|
||||
SHORT Bottom;
|
||||
} SMALL_RECT, *PSMALL_RECT;
|
||||
|
||||
|
||||
typedef VOID STDCALL
|
||||
(*PTIMERAPCROUTINE)(
|
||||
LPVOID lpArgToCompletionRoutine,
|
||||
DWORD dwTimerLowValue,
|
||||
DWORD dwTimerHighValue
|
||||
);
|
||||
|
||||
#include "except.h"
|
||||
|
||||
#endif /* __INCLUDE_TYPES_H */
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: include/types.h
|
||||
* PURPOSE: Types used by all the parts of the system
|
||||
* PROGRAMMER: David Welch <welch@cwcom.net>
|
||||
* DEFINES: _WIN64: 64-bit architecture
|
||||
* _WIN32: 32-bit architecture (default)
|
||||
* UPDATE HISTORY:
|
||||
* 27/06/00: Created
|
||||
* 01/05/01: Portabillity changes
|
||||
*/
|
||||
|
||||
#ifndef __INCLUDE_TYPES_H
|
||||
#define __INCLUDE_TYPES_H
|
||||
|
||||
#include <basetsd.h>
|
||||
|
||||
/* Fixed precision types */
|
||||
typedef signed char INT8, *PINT8;
|
||||
typedef signed short INT16, *PINT16;
|
||||
|
||||
typedef unsigned short UINT8, *PUINT8;
|
||||
typedef unsigned short UINT16, *PUINT16;
|
||||
|
||||
|
||||
/* Check VOID before defining CHAR, SHORT */
|
||||
#ifndef VOID
|
||||
#define VOID void
|
||||
typedef char CHAR;
|
||||
typedef short SHORT;
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
#ifdef i386
|
||||
#define STDCALL __attribute__ ((stdcall))
|
||||
#define CDECL __attribute__ ((cdecl))
|
||||
#define CALLBACK WINAPI
|
||||
#define PASCAL WINAPI
|
||||
#else
|
||||
#define STDCALL
|
||||
#define CDECL
|
||||
#define CALLBACK
|
||||
#define PASCAL
|
||||
#endif
|
||||
|
||||
#ifdef _WIN64
|
||||
|
||||
/* 64-bit architecture */
|
||||
|
||||
typedef INT64 INT, *PINT;
|
||||
typedef LONG64 LONG, *PLONG;
|
||||
typedef DWORD64 DWORD, *PDWORD;
|
||||
typedef UINT64 UINT, *PUINT;
|
||||
typedef ULONG64 ULONG, *PULONG;
|
||||
|
||||
#else /* _WIN64 */
|
||||
|
||||
/* 32-bit architecture */
|
||||
|
||||
typedef INT32 INT, *PINT;
|
||||
typedef LONG32 LONG, *PLONG;
|
||||
typedef DWORD32 DWORD, *PDWORD;
|
||||
typedef UINT32 UINT, *PUINT;
|
||||
typedef ULONG32 ULONG, *PULONG;
|
||||
|
||||
#endif /* _WIN64 */
|
||||
|
||||
typedef unsigned char UCHAR;
|
||||
typedef unsigned short USHORT;
|
||||
typedef unsigned short WCHAR;
|
||||
typedef unsigned short WORD;
|
||||
typedef int BOOL;
|
||||
typedef unsigned char BOOLEAN;
|
||||
typedef BOOLEAN* PBOOLEAN;
|
||||
typedef unsigned short *LPWSTR;
|
||||
typedef unsigned short *PWSTR;
|
||||
typedef unsigned char *PUCHAR;
|
||||
typedef unsigned short *PUSHORT;
|
||||
typedef void *PVOID;
|
||||
typedef unsigned char BYTE;
|
||||
typedef void *LPVOID;
|
||||
typedef float *PFLOAT;
|
||||
typedef unsigned short *PWCH;
|
||||
typedef unsigned short *PWORD;
|
||||
typedef long long LONGLONG;
|
||||
typedef unsigned long long ULONGLONG;
|
||||
typedef long long *PLONGLONG;
|
||||
typedef unsigned long long *PULONGLONG;
|
||||
typedef const void *LPCVOID;
|
||||
typedef BYTE *LPBYTE, *PBYTE;
|
||||
typedef BOOL *PBOOL;
|
||||
typedef DWORD LCID;
|
||||
typedef DWORD *PLCID;
|
||||
typedef const char *LPCSTR;
|
||||
typedef char *LPSTR;
|
||||
typedef const unsigned short *LPCWSTR;
|
||||
typedef CHAR *PCHAR;
|
||||
typedef CHAR *PCH;
|
||||
typedef void *HANDLE;
|
||||
typedef HANDLE *PHANDLE;
|
||||
typedef char CCHAR;
|
||||
typedef CCHAR *PCCHAR;
|
||||
typedef unsigned short *PWCHAR;
|
||||
typedef ULONG WAIT_TYPE;
|
||||
typedef USHORT CSHORT;
|
||||
typedef const unsigned short *PCWSTR;
|
||||
typedef char* PCSZ;
|
||||
|
||||
typedef DWORD STDCALL (*PTHREAD_START_ROUTINE) (LPVOID);
|
||||
|
||||
typedef union _LARGE_INTEGER
|
||||
{
|
||||
struct
|
||||
{
|
||||
DWORD LowPart;
|
||||
LONG HighPart;
|
||||
} u;
|
||||
#ifdef ANONYMOUSUNIONS
|
||||
struct
|
||||
{
|
||||
DWORD LowPart;
|
||||
LONG HighPart;
|
||||
};
|
||||
#endif /* ANONYMOUSUNIONS */
|
||||
LONGLONG QuadPart;
|
||||
} LARGE_INTEGER, *PLARGE_INTEGER;
|
||||
|
||||
typedef union _ULARGE_INTEGER
|
||||
{
|
||||
struct
|
||||
{
|
||||
DWORD LowPart;
|
||||
DWORD HighPart;
|
||||
} u;
|
||||
#ifdef ANONYMOUSUNIONS
|
||||
struct
|
||||
{
|
||||
DWORD LowPart;
|
||||
DWORD HighPart;
|
||||
};
|
||||
#endif /* ANONYMOUSUNIONS */
|
||||
ULONGLONG QuadPart;
|
||||
} ULARGE_INTEGER, *PULARGE_INTEGER;
|
||||
|
||||
typedef struct _FILETIME
|
||||
{
|
||||
DWORD dwLowDateTime;
|
||||
DWORD dwHighDateTime;
|
||||
} FILETIME, *LPFILETIME, *PFILETIME;
|
||||
|
||||
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;
|
||||
|
||||
typedef struct _UNICODE_STRING
|
||||
{
|
||||
USHORT Length;
|
||||
USHORT MaximumLength;
|
||||
PWSTR Buffer;
|
||||
} UNICODE_STRING, *PUNICODE_STRING;
|
||||
|
||||
typedef struct _FLOATING_SAVE_AREA {
|
||||
DWORD ControlWord;
|
||||
DWORD StatusWord;
|
||||
DWORD TagWord;
|
||||
DWORD ErrorOffset;
|
||||
DWORD ErrorSelector;
|
||||
DWORD DataOffset;
|
||||
DWORD DataSelector;
|
||||
BYTE RegisterArea[80];
|
||||
DWORD Cr0NpxState;
|
||||
} FLOATING_SAVE_AREA;
|
||||
|
||||
typedef unsigned short RTL_ATOM;
|
||||
typedef unsigned short *PRTL_ATOM;
|
||||
|
||||
#else /* __USE_W32API */
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
#endif /* __USE_W32API */
|
||||
|
||||
#define FALSE 0
|
||||
#define TRUE 1
|
||||
|
||||
#ifndef NULL
|
||||
#ifdef __cplusplus
|
||||
#define NULL 0
|
||||
#else
|
||||
#define NULL ((void*)0)
|
||||
#endif /* __cplusplus */
|
||||
#endif /* NULL */
|
||||
|
||||
#define CONST const
|
||||
|
||||
#ifdef __PPC__
|
||||
#define CONTEXT_CONTROL 1L
|
||||
#define CONTEXT_FLOATING_POINT 2L
|
||||
#define CONTEXT_INTEGER 4L
|
||||
#define CONTEXT_DEBUG_REGISTERS 8L
|
||||
|
||||
#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER)
|
||||
#define CONTEXT_DEBUGGER (CONTEXT_FULL)
|
||||
|
||||
#else /* x86 */
|
||||
|
||||
#define SIZE_OF_80387_REGISTERS 80
|
||||
|
||||
/* Values for contextflags */
|
||||
#define CONTEXT_i386 0x10000
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
#define CONTEXT_CONTROL (CONTEXT_i386 | 1)
|
||||
#define CONTEXT_INTEGER (CONTEXT_i386 | 2)
|
||||
#define CONTEXT_SEGMENTS (CONTEXT_i386 | 4)
|
||||
#define CONTEXT_FLOATING_POINT (CONTEXT_i386 | 8)
|
||||
#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386 | 0x10)
|
||||
#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS)
|
||||
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
/* our own invention */
|
||||
#define FLAG_TRACE_BIT 0x100
|
||||
#define CONTEXT_DEBUGGER (CONTEXT_FULL | CONTEXT_FLOATING_POINT)
|
||||
|
||||
#endif
|
||||
|
||||
typedef struct _CONTEXT_X86 {
|
||||
DWORD ContextFlags;
|
||||
|
||||
DWORD Dr0;
|
||||
DWORD Dr1;
|
||||
DWORD Dr2;
|
||||
DWORD Dr3;
|
||||
DWORD Dr6;
|
||||
DWORD Dr7;
|
||||
|
||||
FLOATING_SAVE_AREA FloatSave;
|
||||
|
||||
DWORD SegGs;
|
||||
DWORD SegFs;
|
||||
DWORD SegEs;
|
||||
DWORD SegDs;
|
||||
|
||||
DWORD Edi;
|
||||
DWORD Esi;
|
||||
DWORD Ebx;
|
||||
DWORD Edx;
|
||||
DWORD Ecx;
|
||||
DWORD Eax;
|
||||
|
||||
DWORD Ebp;
|
||||
DWORD Eip;
|
||||
DWORD SegCs;
|
||||
DWORD EFlags;
|
||||
DWORD Esp;
|
||||
DWORD SegSs;
|
||||
} CONTEXT_X86, *PCONTEXT_X86, *LPCONTEXT_X86;
|
||||
|
||||
typedef struct _CONTEXT_PPC
|
||||
{
|
||||
/* Floating point registers returned when CONTEXT_FLOATING_POINT is set */
|
||||
double Fpr0;
|
||||
double Fpr1;
|
||||
double Fpr2;
|
||||
double Fpr3;
|
||||
double Fpr4;
|
||||
double Fpr5;
|
||||
double Fpr6;
|
||||
double Fpr7;
|
||||
double Fpr8;
|
||||
double Fpr9;
|
||||
double Fpr10;
|
||||
double Fpr11;
|
||||
double Fpr12;
|
||||
double Fpr13;
|
||||
double Fpr14;
|
||||
double Fpr15;
|
||||
double Fpr16;
|
||||
double Fpr17;
|
||||
double Fpr18;
|
||||
double Fpr19;
|
||||
double Fpr20;
|
||||
double Fpr21;
|
||||
double Fpr22;
|
||||
double Fpr23;
|
||||
double Fpr24;
|
||||
double Fpr25;
|
||||
double Fpr26;
|
||||
double Fpr27;
|
||||
double Fpr28;
|
||||
double Fpr29;
|
||||
double Fpr30;
|
||||
double Fpr31;
|
||||
double Fpscr;
|
||||
|
||||
/* Integer registers returned when CONTEXT_INTEGER is set. */
|
||||
DWORD Gpr0;
|
||||
DWORD Gpr1;
|
||||
DWORD Gpr2;
|
||||
DWORD Gpr3;
|
||||
DWORD Gpr4;
|
||||
DWORD Gpr5;
|
||||
DWORD Gpr6;
|
||||
DWORD Gpr7;
|
||||
DWORD Gpr8;
|
||||
DWORD Gpr9;
|
||||
DWORD Gpr10;
|
||||
DWORD Gpr11;
|
||||
DWORD Gpr12;
|
||||
DWORD Gpr13;
|
||||
DWORD Gpr14;
|
||||
DWORD Gpr15;
|
||||
DWORD Gpr16;
|
||||
DWORD Gpr17;
|
||||
DWORD Gpr18;
|
||||
DWORD Gpr19;
|
||||
DWORD Gpr20;
|
||||
DWORD Gpr21;
|
||||
DWORD Gpr22;
|
||||
DWORD Gpr23;
|
||||
DWORD Gpr24;
|
||||
DWORD Gpr25;
|
||||
DWORD Gpr26;
|
||||
DWORD Gpr27;
|
||||
DWORD Gpr28;
|
||||
DWORD Gpr29;
|
||||
DWORD Gpr30;
|
||||
DWORD Gpr31;
|
||||
|
||||
DWORD Cr; /* Condition register */
|
||||
DWORD Xer; /* Fixed point exception register */
|
||||
|
||||
/* The following are set when CONTEXT_CONTROL is set. */
|
||||
DWORD Msr; /* Machine status register */
|
||||
DWORD Iar; /* Instruction address register */
|
||||
DWORD Lr; /* Link register */
|
||||
DWORD Ctr; /* Control register */
|
||||
|
||||
/* Control which context values are returned */
|
||||
DWORD ContextFlags;
|
||||
DWORD Fill[3];
|
||||
|
||||
/* Registers returned if CONTEXT_DEBUG_REGISTERS is set. */
|
||||
DWORD Dr0; /* Breakpoint Register 1 */
|
||||
DWORD Dr1; /* Breakpoint Register 2 */
|
||||
DWORD Dr2; /* Breakpoint Register 3 */
|
||||
DWORD Dr3; /* Breakpoint Register 4 */
|
||||
DWORD Dr4; /* Breakpoint Register 5 */
|
||||
DWORD Dr5; /* Breakpoint Register 6 */
|
||||
DWORD Dr6; /* Debug Status Register */
|
||||
DWORD Dr7; /* Debug Control Register */
|
||||
} CONTEXT_PPC, *PCONTEXT_PPC, *LPCONTEXT_PPC;
|
||||
|
||||
typedef struct value_ent {
|
||||
LPWSTR ve_valuename;
|
||||
DWORD ve_valuelen;
|
||||
DWORD ve_valueptr;
|
||||
DWORD ve_type;
|
||||
} WVALENT, *PWVALENT;
|
||||
|
||||
//#include "except.h"
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
typedef PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE;
|
||||
|
||||
#ifdef __i386__
|
||||
|
||||
typedef CONTEXT_X86 CONTEXT;
|
||||
typedef PCONTEXT_X86 PCONTEXT;
|
||||
typedef LPCONTEXT_X86 LPCONTEXT;
|
||||
|
||||
#else /* __ppc__ */
|
||||
|
||||
typedef CONTEXT_PPC CONTEXT;
|
||||
typedef PCONTEXT_PPC PCONTEXT;
|
||||
typedef LPCONTEXT_PPC LPCONTEXT;
|
||||
|
||||
#endif
|
||||
|
||||
typedef WORD ATOM;
|
||||
|
||||
typedef struct _COORD {
|
||||
SHORT X;
|
||||
SHORT Y;
|
||||
} COORD;
|
||||
|
||||
typedef struct _SMALL_RECT {
|
||||
SHORT Left;
|
||||
SHORT Top;
|
||||
SHORT Right;
|
||||
SHORT Bottom;
|
||||
} SMALL_RECT, *PSMALL_RECT;
|
||||
|
||||
|
||||
typedef VOID STDCALL
|
||||
(*PTIMERAPCROUTINE)(
|
||||
LPVOID lpArgToCompletionRoutine,
|
||||
DWORD dwTimerLowValue,
|
||||
DWORD dwTimerHighValue
|
||||
);
|
||||
|
||||
#include "except.h"
|
||||
|
||||
#else /* __USE_W32API */
|
||||
|
||||
typedef LPTHREAD_START_ROUTINE PTHREAD_START_ROUTINE;
|
||||
|
||||
#include <ddk/ntapi.h>
|
||||
|
||||
#endif /* __USE_W32API */
|
||||
|
||||
#endif /* __INCLUDE_TYPES_H */
|
||||
|
|
|
@ -3,33 +3,21 @@
|
|||
|
||||
#define _ANONYMOUS_UNION __extension__
|
||||
#define _ANONYMOUS_STRUCT __extension__
|
||||
#define NTAPI
|
||||
|
||||
#define ROUND_UP(N, S) ((((N) + (S) - 1) / (S)) * (S))
|
||||
#ifndef NTAPI
|
||||
#define NTAPI STDCALL
|
||||
#endif
|
||||
|
||||
#define IMAGE_SECTION_CHAR_CODE 0x00000020
|
||||
#define IMAGE_SECTION_CHAR_DATA 0x00000040
|
||||
#define IMAGE_SECTION_CHAR_BSS 0x00000080
|
||||
#define IMAGE_SECTION_CHAR_NON_CACHABLE 0x04000000
|
||||
#define IMAGE_SECTION_CHAR_NON_PAGEABLE 0x08000000
|
||||
#define IMAGE_SECTION_CHAR_SHARED 0x10000000
|
||||
#define IMAGE_SECTION_CHAR_EXECUTABLE 0x20000000
|
||||
#define IMAGE_SECTION_CHAR_READABLE 0x40000000
|
||||
#define IMAGE_SECTION_CHAR_WRITABLE 0x80000000
|
||||
#define IMAGE_SECTION_NOLOAD 0x00000002
|
||||
#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16
|
||||
#define IMAGE_SIZEOF_SHORT_NAME 8
|
||||
#define IMAGE_SIZEOF_SYMBOL 18
|
||||
|
||||
#define IMAGE_DOS_MAGIC 0x5a4d
|
||||
#define IMAGE_PE_MAGIC 0x00004550
|
||||
#ifndef __USE_W32API
|
||||
|
||||
#define IMAGE_DOS_SIGNATURE 0x5a4d
|
||||
#define IMAGE_OS2_SIGNATURE 0x454e
|
||||
|
||||
#define IMAGE_OS2_SIGNATURE_LE 0x454c
|
||||
#define IMAGE_VXD_SIGNATURE 0x454c
|
||||
#define IMAGE_NT_SIGNATURE 0x00004550
|
||||
|
||||
|
||||
#define IMAGE_SIZEOF_FILE_HEADER 20
|
||||
|
||||
#define IMAGE_FILE_RELOCS_STRIPPED 0x0001 // Relocation info stripped from file.
|
||||
#define IMAGE_FILE_EXECUTABLE_IMAGE 0x0002 // File is executable (i.e. no unresolved externel references).
|
||||
|
@ -53,250 +41,6 @@
|
|||
#define IMAGE_FILE_MACHINE_ALPHA 0x184 // Alpha_AXP
|
||||
#define IMAGE_FILE_MACHINE_POWERPC 0x1F0 // IBM PowerPC Little-Endian
|
||||
|
||||
|
||||
#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16
|
||||
|
||||
|
||||
#define IMAGE_SUBSYSTEM_UNKNOWN 0
|
||||
#define IMAGE_SUBSYSTEM_NATIVE 1
|
||||
#define IMAGE_SUBSYSTEM_WINDOWS_GUI 2
|
||||
#define IMAGE_SUBSYSTEM_WINDOWS_CUI 3
|
||||
#define IMAGE_SUBSYSTEM_OS2_GUI 4
|
||||
#define IMAGE_SUBSYSTEM_OS2_CUI 5
|
||||
#define IMAGE_SUBSYSTEM_POSIX_GUI 6
|
||||
#define IMAGE_SUBSYSTEM_POSIX_CUI 7
|
||||
#define IMAGE_SUBSYSTEM_WINDOWS_CE_GUI 9
|
||||
|
||||
|
||||
|
||||
// Directory Entries
|
||||
|
||||
#define IMAGE_DIRECTORY_ENTRY_EXPORT 0 // Export Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_IMPORT 1 // Import Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_RESOURCE 2 // Resource Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3 // Exception Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_SECURITY 4 // Security Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_BASERELOC 5 // Base Relocation Table
|
||||
#define IMAGE_DIRECTORY_ENTRY_DEBUG 6 // Debug Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_COPYRIGHT 7 // Description String
|
||||
#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8 // Machine Value (MIPS GP)
|
||||
#define IMAGE_DIRECTORY_ENTRY_TLS 9 // TLS Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10 // Load Configuration Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT 11 // Bound Import Directory in headers
|
||||
#define IMAGE_DIRECTORY_ENTRY_IAT 12 // Import Address
|
||||
//
|
||||
// Section header format.
|
||||
//
|
||||
#define IMAGE_SIZEOF_FILE_HEADER 20
|
||||
#define IMAGE_FILE_MACHINE_UNKNOWN 0
|
||||
#define IMAGE_NT_SIGNATURE 0x00004550
|
||||
#define IMAGE_NT_OPTIONAL_HDR_MAGIC 0x10b
|
||||
#define IMAGE_ROM_OPTIONAL_HDR_MAGIC 0x107
|
||||
#define IMAGE_SEPARATE_DEBUG_SIGNATURE 0x4944
|
||||
#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16
|
||||
#define IMAGE_SIZEOF_ROM_OPTIONAL_HEADER 56
|
||||
#define IMAGE_SIZEOF_STD_OPTIONAL_HEADER 28
|
||||
#define IMAGE_SIZEOF_NT_OPTIONAL_HEADER 224
|
||||
#define IMAGE_SIZEOF_SHORT_NAME 8
|
||||
#define IMAGE_SIZEOF_SECTION_HEADER 40
|
||||
#define IMAGE_SIZEOF_SYMBOL 18
|
||||
#define IMAGE_SIZEOF_AUX_SYMBOL 18
|
||||
#define IMAGE_SIZEOF_RELOCATION 10
|
||||
#define IMAGE_SIZEOF_BASE_RELOCATION 8
|
||||
#define IMAGE_SIZEOF_LINENUMBER 6
|
||||
#define IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR 60
|
||||
#define SIZEOF_RFPO_DATA 16
|
||||
#define IMAGE_FIRST_SECTION(h) ((PIMAGE_SECTION_HEADER) ((DWORD)h+FIELD_OFFSET(IMAGE_NT_HEADERS,OptionalHeader)+((PIMAGE_NT_HEADERS)(h))->FileHeader.SizeOfOptionalHeader))
|
||||
#define IMAGE_SCN_TYPE_NO_PAD 8
|
||||
#define IMAGE_SCN_CNT_CODE 32
|
||||
#define IMAGE_SCN_CNT_INITIALIZED_DATA 64
|
||||
#define IMAGE_SCN_CNT_UNINITIALIZED_DATA 128
|
||||
#define IMAGE_SCN_LNK_OTHER 256
|
||||
#define IMAGE_SCN_LNK_INFO 512
|
||||
#define IMAGE_SCN_LNK_REMOVE 2048
|
||||
#define IMAGE_SCN_LNK_COMDAT 4096
|
||||
#define IMAGE_SCN_MEM_FARDATA 0x8000
|
||||
#define IMAGE_SCN_MEM_PURGEABLE 0x20000
|
||||
#define IMAGE_SCN_MEM_16BIT 0x20000
|
||||
#define IMAGE_SCN_MEM_LOCKED 0x40000
|
||||
#define IMAGE_SCN_MEM_PRELOAD 0x80000
|
||||
#define IMAGE_SCN_ALIGN_1BYTES 0x100000
|
||||
#define IMAGE_SCN_ALIGN_2BYTES 0x200000
|
||||
#define IMAGE_SCN_ALIGN_4BYTES 0x300000
|
||||
#define IMAGE_SCN_ALIGN_8BYTES 0x400000
|
||||
#define IMAGE_SCN_ALIGN_16BYTES 0x500000
|
||||
#define IMAGE_SCN_ALIGN_32BYTES 0x600000
|
||||
#define IMAGE_SCN_ALIGN_64BYTES 0x700000
|
||||
#define IMAGE_SCN_LNK_NRELOC_OVFL 0x1000000
|
||||
#define IMAGE_SCN_MEM_DISCARDABLE 0x2000000
|
||||
#define IMAGE_SCN_MEM_NOT_CACHED 0x4000000
|
||||
#define IMAGE_SCN_MEM_NOT_PAGED 0x8000000
|
||||
#define IMAGE_SCN_MEM_SHARED 0x10000000
|
||||
#define IMAGE_SCN_MEM_EXECUTE 0x20000000
|
||||
#define IMAGE_SCN_MEM_READ 0x40000000
|
||||
#define IMAGE_SCN_MEM_WRITE 0x80000000
|
||||
#define IMAGE_SYM_UNDEFINED 0
|
||||
#define IMAGE_SYM_ABSOLUTE (-1)
|
||||
#define IMAGE_SYM_DEBUG (-2)
|
||||
#define IMAGE_SYM_TYPE_NULL 0
|
||||
#define IMAGE_SYM_TYPE_VOID 1
|
||||
#define IMAGE_SYM_TYPE_CHAR 2
|
||||
#define IMAGE_SYM_TYPE_SHORT 3
|
||||
#define IMAGE_SYM_TYPE_INT 4
|
||||
#define IMAGE_SYM_TYPE_LONG 5
|
||||
#define IMAGE_SYM_TYPE_FLOAT 6
|
||||
#define IMAGE_SYM_TYPE_DOUBLE 7
|
||||
#define IMAGE_SYM_TYPE_STRUCT 8
|
||||
#define IMAGE_SYM_TYPE_UNION 9
|
||||
#define IMAGE_SYM_TYPE_ENUM 10
|
||||
#define IMAGE_SYM_TYPE_MOE 11
|
||||
#define IMAGE_SYM_TYPE_BYTE 12
|
||||
#define IMAGE_SYM_TYPE_WORD 13
|
||||
#define IMAGE_SYM_TYPE_UINT 14
|
||||
#define IMAGE_SYM_TYPE_DWORD 15
|
||||
#define IMAGE_SYM_TYPE_PCODE 32768
|
||||
#define IMAGE_SYM_DTYPE_NULL 0
|
||||
#define IMAGE_SYM_DTYPE_POINTER 1
|
||||
#define IMAGE_SYM_DTYPE_FUNCTION 2
|
||||
#define IMAGE_SYM_DTYPE_ARRAY 3
|
||||
#define IMAGE_SYM_CLASS_END_OF_FUNCTION (-1)
|
||||
#define IMAGE_SYM_CLASS_NULL 0
|
||||
#define IMAGE_SYM_CLASS_AUTOMATIC 1
|
||||
#define IMAGE_SYM_CLASS_EXTERNAL 2
|
||||
#define IMAGE_SYM_CLASS_STATIC 3
|
||||
#define IMAGE_SYM_CLASS_REGISTER 4
|
||||
#define IMAGE_SYM_CLASS_EXTERNAL_DEF 5
|
||||
#define IMAGE_SYM_CLASS_LABEL 6
|
||||
#define IMAGE_SYM_CLASS_UNDEFINED_LABEL 7
|
||||
#define IMAGE_SYM_CLASS_MEMBER_OF_STRUCT 8
|
||||
#define IMAGE_SYM_CLASS_ARGUMENT 9
|
||||
#define IMAGE_SYM_CLASS_STRUCT_TAG 10
|
||||
#define IMAGE_SYM_CLASS_MEMBER_OF_UNION 11
|
||||
#define IMAGE_SYM_CLASS_UNION_TAG 12
|
||||
#define IMAGE_SYM_CLASS_TYPE_DEFINITION 13
|
||||
#define IMAGE_SYM_CLASS_UNDEFINED_STATIC 14
|
||||
#define IMAGE_SYM_CLASS_ENUM_TAG 15
|
||||
#define IMAGE_SYM_CLASS_MEMBER_OF_ENUM 16
|
||||
#define IMAGE_SYM_CLASS_REGISTER_PARAM 17
|
||||
#define IMAGE_SYM_CLASS_BIT_FIELD 18
|
||||
#define IMAGE_SYM_CLASS_FAR_EXTERNAL 68
|
||||
#define IMAGE_SYM_CLASS_BLOCK 100
|
||||
#define IMAGE_SYM_CLASS_FUNCTION 101
|
||||
#define IMAGE_SYM_CLASS_END_OF_STRUCT 102
|
||||
#define IMAGE_SYM_CLASS_FILE 103
|
||||
#define IMAGE_SYM_CLASS_SECTION 104
|
||||
#define IMAGE_SYM_CLASS_WEAK_EXTERNAL 105
|
||||
#define IMAGE_COMDAT_SELECT_NODUPLICATES 1
|
||||
#define IMAGE_COMDAT_SELECT_ANY 2
|
||||
#define IMAGE_COMDAT_SELECT_SAME_SIZE 3
|
||||
#define IMAGE_COMDAT_SELECT_EXACT_MATCH 4
|
||||
#define IMAGE_COMDAT_SELECT_ASSOCIATIVE 5
|
||||
#define IMAGE_COMDAT_SELECT_LARGEST 6
|
||||
#define IMAGE_COMDAT_SELECT_NEWEST 7
|
||||
#define IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY 1
|
||||
#define IMAGE_WEAK_EXTERN_SEARCH_LIBRARY 2
|
||||
#define IMAGE_WEAK_EXTERN_SEARCH_ALIAS 3
|
||||
#define IMAGE_REL_I386_ABSOLUTE 0
|
||||
#define IMAGE_REL_I386_DIR16 1
|
||||
#define IMAGE_REL_I386_REL16 2
|
||||
#define IMAGE_REL_I386_DIR32 6
|
||||
#define IMAGE_REL_I386_DIR32NB 7
|
||||
#define IMAGE_REL_I386_SEG12 9
|
||||
#define IMAGE_REL_I386_SECTION 10
|
||||
#define IMAGE_REL_I386_SECREL 11
|
||||
#define IMAGE_REL_I386_REL32 20
|
||||
#define IMAGE_REL_MIPS_ABSOLUTE 0
|
||||
#define IMAGE_REL_MIPS_REFHALF 1
|
||||
#define IMAGE_REL_MIPS_REFWORD 2
|
||||
#define IMAGE_REL_MIPS_JMPADDR 3
|
||||
#define IMAGE_REL_MIPS_REFHI 4
|
||||
#define IMAGE_REL_MIPS_REFLO 5
|
||||
#define IMAGE_REL_MIPS_GPREL 6
|
||||
#define IMAGE_REL_MIPS_LITERAL 7
|
||||
#define IMAGE_REL_MIPS_SECTION 10
|
||||
#define IMAGE_REL_MIPS_SECREL 11
|
||||
#define IMAGE_REL_MIPS_SECRELLO 12
|
||||
#define IMAGE_REL_MIPS_SECRELHI 13
|
||||
#define IMAGE_REL_MIPS_REFWORDNB 34
|
||||
#define IMAGE_REL_MIPS_PAIR 35
|
||||
#define IMAGE_REL_ALPHA_ABSOLUTE 0
|
||||
#define IMAGE_REL_ALPHA_REFLONG 1
|
||||
#define IMAGE_REL_ALPHA_REFQUAD 2
|
||||
#define IMAGE_REL_ALPHA_GPREL32 3
|
||||
#define IMAGE_REL_ALPHA_LITERAL 4
|
||||
#define IMAGE_REL_ALPHA_LITUSE 5
|
||||
#define IMAGE_REL_ALPHA_GPDISP 6
|
||||
#define IMAGE_REL_ALPHA_BRADDR 7
|
||||
#define IMAGE_REL_ALPHA_HINT 8
|
||||
#define IMAGE_REL_ALPHA_INLINE_REFLONG 9
|
||||
#define IMAGE_REL_ALPHA_REFHI 10
|
||||
#define IMAGE_REL_ALPHA_REFLO 11
|
||||
#define IMAGE_REL_ALPHA_PAIR 12
|
||||
#define IMAGE_REL_ALPHA_MATCH 13
|
||||
#define IMAGE_REL_ALPHA_SECTION 14
|
||||
#define IMAGE_REL_ALPHA_SECREL 15
|
||||
#define IMAGE_REL_ALPHA_REFLONGNB 16
|
||||
#define IMAGE_REL_ALPHA_SECRELLO 17
|
||||
#define IMAGE_REL_ALPHA_SECRELHI 18
|
||||
#define IMAGE_REL_PPC_ABSOLUTE 0
|
||||
#define IMAGE_REL_PPC_ADDR64 1
|
||||
#define IMAGE_REL_PPC_ADDR32 2
|
||||
#define IMAGE_REL_PPC_ADDR24 3
|
||||
#define IMAGE_REL_PPC_ADDR16 4
|
||||
#define IMAGE_REL_PPC_ADDR14 5
|
||||
#define IMAGE_REL_PPC_REL24 6
|
||||
#define IMAGE_REL_PPC_REL14 7
|
||||
#define IMAGE_REL_PPC_TOCREL16 8
|
||||
#define IMAGE_REL_PPC_TOCREL14 9
|
||||
#define IMAGE_REL_PPC_ADDR32NB 10
|
||||
#define IMAGE_REL_PPC_SECREL 11
|
||||
#define IMAGE_REL_PPC_SECTION 12
|
||||
#define IMAGE_REL_PPC_IFGLUE 13
|
||||
#define IMAGE_REL_PPC_IMGLUE 14
|
||||
#define IMAGE_REL_PPC_SECREL16 15
|
||||
#define IMAGE_REL_PPC_REFHI 16
|
||||
#define IMAGE_REL_PPC_REFLO 17
|
||||
#define IMAGE_REL_PPC_PAIR 18
|
||||
#define IMAGE_REL_PPC_TYPEMASK 255
|
||||
#define IMAGE_REL_PPC_NEG 256
|
||||
#define IMAGE_REL_PPC_BRTAKEN 512
|
||||
#define IMAGE_REL_PPC_BRNTAKEN 1024
|
||||
#define IMAGE_REL_PPC_TOCDEFN 2048
|
||||
#define IMAGE_REL_BASED_ABSOLUTE 0
|
||||
#define IMAGE_REL_BASED_HIGH 1
|
||||
#define IMAGE_REL_BASED_LOW 2
|
||||
#define IMAGE_REL_BASED_HIGHLOW 3
|
||||
#define IMAGE_REL_BASED_HIGHADJ 4
|
||||
#define IMAGE_REL_BASED_MIPS_JMPADDR 5
|
||||
#define IMAGE_ARCHIVE_START_SIZE 8
|
||||
#define IMAGE_ARCHIVE_START "!<arch>\n"
|
||||
#define IMAGE_ARCHIVE_END "`\n"
|
||||
#define IMAGE_ARCHIVE_PAD "\n"
|
||||
#define IMAGE_ARCHIVE_LINKER_MEMBER "/ "
|
||||
#define IMAGE_ARCHIVE_LONGNAMES_MEMBER "// "
|
||||
#define IMAGE_ORDINAL_FLAG 0x80000000
|
||||
#define IMAGE_SNAP_BY_ORDINAL(o) ((o&IMAGE_ORDINAL_FLAG)!=0)
|
||||
#define IMAGE_RESOURCE_NAME_IS_STRING 0x80000000
|
||||
#define IMAGE_RESOURCE_DATA_IS_DIRECTORY 0x80000000
|
||||
#define IMAGE_DEBUG_TYPE_UNKNOWN 0
|
||||
#define IMAGE_DEBUG_TYPE_COFF 1
|
||||
#define IMAGE_DEBUG_TYPE_CODEVIEW 2
|
||||
#define IMAGE_DEBUG_TYPE_FPO 3
|
||||
#define IMAGE_DEBUG_TYPE_MISC 4
|
||||
#define IMAGE_DEBUG_TYPE_EXCEPTION 5
|
||||
#define IMAGE_DEBUG_TYPE_FIXUP 6
|
||||
#define IMAGE_DEBUG_TYPE_OMAP_TO_SRC 7
|
||||
#define IMAGE_DEBUG_TYPE_OMAP_FROM_SRC 8
|
||||
|
||||
|
||||
#define IMAGE_SIZEOF_SHORT_NAME 8
|
||||
|
||||
#define IMAGE_SIZEOF_SECTION_HEADER 40
|
||||
|
||||
#define IMAGE_SECTION_CODE (0x20)
|
||||
#define IMAGE_SECTION_INITIALIZED_DATA (0x40)
|
||||
#define IMAGE_SECTION_UNINITIALIZED_DATA (0x80)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct _IMAGE_FILE_HEADER {
|
||||
WORD Machine;
|
||||
|
@ -701,12 +445,305 @@ typedef struct _IMAGE_SEPARATE_DEBUG_HEADER {
|
|||
} IMAGE_SEPARATE_DEBUG_HEADER,*PIMAGE_SEPARATE_DEBUG_HEADER;
|
||||
#pragma pack(pop)
|
||||
|
||||
#define IMAGE_ORDINAL(Ordinal) (Ordinal & 0xffff)
|
||||
|
||||
//
|
||||
// Each directory contains the 32-bit Name of the entry and an offset,
|
||||
// relative to the beginning of the resource directory of the data associated
|
||||
// with this directory entry. If the name of the entry is an actual text
|
||||
// string instead of an integer Id, then the high order bit of the name field
|
||||
// is set to one and the low order 31-bits are an offset, relative to the
|
||||
// beginning of the resource directory of the string, which is of type
|
||||
// IMAGE_RESOURCE_DIRECTORY_STRING. Otherwise the high bit is clear and the
|
||||
// low-order 16-bits are the integer Id that identify this resource directory
|
||||
// entry. If the directory entry is yet another resource directory (i.e. a
|
||||
// subdirectory), then the high order bit of the offset field will be
|
||||
// set to indicate this. Otherwise the high bit is clear and the offset
|
||||
// field points to a resource data entry.
|
||||
//
|
||||
typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY {
|
||||
DWORD Name;
|
||||
DWORD OffsetToData;
|
||||
} IMAGE_RESOURCE_DIRECTORY_ENTRY, *PIMAGE_RESOURCE_DIRECTORY_ENTRY;
|
||||
/*
|
||||
typedef struct _IMAGE_RESOURCE_DIRECTORY {
|
||||
DWORD Characteristics;
|
||||
DWORD TimeDateStamp;
|
||||
WORD MajorVersion;
|
||||
WORD MinorVersion;
|
||||
WORD NumberOfNamedEntries;
|
||||
WORD NumberOfIdEntries;
|
||||
IMAGE_RESOURCE_DIRECTORY_ENTRY DirectoryEntries[0];
|
||||
} IMAGE_RESOURCE_DIRECTORY, *PIMAGE_RESOURCE_DIRECTORY;
|
||||
*/
|
||||
|
||||
#endif /* !__USE_W32API */
|
||||
|
||||
#define ROUND_UP(N, S) ((((N) + (S) - 1) / (S)) * (S))
|
||||
|
||||
#define IMAGE_SECTION_CHAR_CODE 0x00000020
|
||||
#define IMAGE_SECTION_CHAR_DATA 0x00000040
|
||||
#define IMAGE_SECTION_CHAR_BSS 0x00000080
|
||||
#define IMAGE_SECTION_CHAR_NON_CACHABLE 0x04000000
|
||||
#define IMAGE_SECTION_CHAR_NON_PAGEABLE 0x08000000
|
||||
#define IMAGE_SECTION_CHAR_SHARED 0x10000000
|
||||
#define IMAGE_SECTION_CHAR_EXECUTABLE 0x20000000
|
||||
#define IMAGE_SECTION_CHAR_READABLE 0x40000000
|
||||
#define IMAGE_SECTION_CHAR_WRITABLE 0x80000000
|
||||
#define IMAGE_SECTION_NOLOAD 0x00000002
|
||||
|
||||
#define IMAGE_DOS_MAGIC 0x5a4d
|
||||
#define IMAGE_PE_MAGIC 0x00004550
|
||||
|
||||
#define IMAGE_NT_SIGNATURE 0x00004550
|
||||
|
||||
|
||||
#define IMAGE_SIZEOF_FILE_HEADER 20
|
||||
|
||||
|
||||
#define IMAGE_SUBSYSTEM_UNKNOWN 0
|
||||
#define IMAGE_SUBSYSTEM_NATIVE 1
|
||||
#define IMAGE_SUBSYSTEM_WINDOWS_GUI 2
|
||||
#define IMAGE_SUBSYSTEM_WINDOWS_CUI 3
|
||||
#define IMAGE_SUBSYSTEM_OS2_GUI 4
|
||||
#define IMAGE_SUBSYSTEM_OS2_CUI 5
|
||||
#define IMAGE_SUBSYSTEM_POSIX_GUI 6
|
||||
#define IMAGE_SUBSYSTEM_POSIX_CUI 7
|
||||
#define IMAGE_SUBSYSTEM_WINDOWS_CE_GUI 9
|
||||
|
||||
|
||||
|
||||
// Directory Entries
|
||||
|
||||
#define IMAGE_DIRECTORY_ENTRY_EXPORT 0 // Export Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_IMPORT 1 // Import Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_RESOURCE 2 // Resource Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3 // Exception Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_SECURITY 4 // Security Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_BASERELOC 5 // Base Relocation Table
|
||||
#define IMAGE_DIRECTORY_ENTRY_DEBUG 6 // Debug Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_COPYRIGHT 7 // Description String
|
||||
#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8 // Machine Value (MIPS GP)
|
||||
#define IMAGE_DIRECTORY_ENTRY_TLS 9 // TLS Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10 // Load Configuration Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT 11 // Bound Import Directory in headers
|
||||
#define IMAGE_DIRECTORY_ENTRY_IAT 12 // Import Address
|
||||
//
|
||||
// Section header format.
|
||||
//
|
||||
#define IMAGE_SIZEOF_FILE_HEADER 20
|
||||
#define IMAGE_FILE_MACHINE_UNKNOWN 0
|
||||
#define IMAGE_NT_SIGNATURE 0x00004550
|
||||
#define IMAGE_NT_OPTIONAL_HDR_MAGIC 0x10b
|
||||
#define IMAGE_ROM_OPTIONAL_HDR_MAGIC 0x107
|
||||
#define IMAGE_SEPARATE_DEBUG_SIGNATURE 0x4944
|
||||
#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16
|
||||
#define IMAGE_SIZEOF_ROM_OPTIONAL_HEADER 56
|
||||
#define IMAGE_SIZEOF_STD_OPTIONAL_HEADER 28
|
||||
#define IMAGE_SIZEOF_NT_OPTIONAL_HEADER 224
|
||||
#define IMAGE_SIZEOF_SECTION_HEADER 40
|
||||
#define IMAGE_SIZEOF_AUX_SYMBOL 18
|
||||
#define IMAGE_SIZEOF_RELOCATION 10
|
||||
#define IMAGE_SIZEOF_BASE_RELOCATION 8
|
||||
#define IMAGE_SIZEOF_LINENUMBER 6
|
||||
#define IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR 60
|
||||
#define SIZEOF_RFPO_DATA 16
|
||||
#define IMAGE_FIRST_SECTION(h) ((PIMAGE_SECTION_HEADER) ((DWORD)h+FIELD_OFFSET(IMAGE_NT_HEADERS,OptionalHeader)+((PIMAGE_NT_HEADERS)(h))->FileHeader.SizeOfOptionalHeader))
|
||||
#define IMAGE_SCN_TYPE_NO_PAD 8
|
||||
#define IMAGE_SCN_CNT_CODE 32
|
||||
#define IMAGE_SCN_CNT_INITIALIZED_DATA 64
|
||||
#define IMAGE_SCN_CNT_UNINITIALIZED_DATA 128
|
||||
#define IMAGE_SCN_LNK_OTHER 256
|
||||
#define IMAGE_SCN_LNK_INFO 512
|
||||
#define IMAGE_SCN_LNK_REMOVE 2048
|
||||
#define IMAGE_SCN_LNK_COMDAT 4096
|
||||
#define IMAGE_SCN_MEM_FARDATA 0x8000
|
||||
#define IMAGE_SCN_MEM_PURGEABLE 0x20000
|
||||
#define IMAGE_SCN_MEM_16BIT 0x20000
|
||||
#define IMAGE_SCN_MEM_LOCKED 0x40000
|
||||
#define IMAGE_SCN_MEM_PRELOAD 0x80000
|
||||
#define IMAGE_SCN_ALIGN_1BYTES 0x100000
|
||||
#define IMAGE_SCN_ALIGN_2BYTES 0x200000
|
||||
#define IMAGE_SCN_ALIGN_4BYTES 0x300000
|
||||
#define IMAGE_SCN_ALIGN_8BYTES 0x400000
|
||||
#define IMAGE_SCN_ALIGN_16BYTES 0x500000
|
||||
#define IMAGE_SCN_ALIGN_32BYTES 0x600000
|
||||
#define IMAGE_SCN_ALIGN_64BYTES 0x700000
|
||||
#define IMAGE_SCN_LNK_NRELOC_OVFL 0x1000000
|
||||
#define IMAGE_SCN_MEM_DISCARDABLE 0x2000000
|
||||
#define IMAGE_SCN_MEM_NOT_CACHED 0x4000000
|
||||
#define IMAGE_SCN_MEM_NOT_PAGED 0x8000000
|
||||
#define IMAGE_SCN_MEM_SHARED 0x10000000
|
||||
#define IMAGE_SCN_MEM_EXECUTE 0x20000000
|
||||
#define IMAGE_SCN_MEM_READ 0x40000000
|
||||
#define IMAGE_SCN_MEM_WRITE 0x80000000
|
||||
#define IMAGE_SYM_UNDEFINED 0
|
||||
#define IMAGE_SYM_ABSOLUTE (-1)
|
||||
#define IMAGE_SYM_DEBUG (-2)
|
||||
#define IMAGE_SYM_TYPE_NULL 0
|
||||
#define IMAGE_SYM_TYPE_VOID 1
|
||||
#define IMAGE_SYM_TYPE_CHAR 2
|
||||
#define IMAGE_SYM_TYPE_SHORT 3
|
||||
#define IMAGE_SYM_TYPE_INT 4
|
||||
#define IMAGE_SYM_TYPE_LONG 5
|
||||
#define IMAGE_SYM_TYPE_FLOAT 6
|
||||
#define IMAGE_SYM_TYPE_DOUBLE 7
|
||||
#define IMAGE_SYM_TYPE_STRUCT 8
|
||||
#define IMAGE_SYM_TYPE_UNION 9
|
||||
#define IMAGE_SYM_TYPE_ENUM 10
|
||||
#define IMAGE_SYM_TYPE_MOE 11
|
||||
#define IMAGE_SYM_TYPE_BYTE 12
|
||||
#define IMAGE_SYM_TYPE_WORD 13
|
||||
#define IMAGE_SYM_TYPE_UINT 14
|
||||
#define IMAGE_SYM_TYPE_DWORD 15
|
||||
#define IMAGE_SYM_TYPE_PCODE 32768
|
||||
#define IMAGE_SYM_DTYPE_NULL 0
|
||||
#define IMAGE_SYM_DTYPE_POINTER 1
|
||||
#define IMAGE_SYM_DTYPE_FUNCTION 2
|
||||
#define IMAGE_SYM_DTYPE_ARRAY 3
|
||||
#define IMAGE_SYM_CLASS_END_OF_FUNCTION (-1)
|
||||
#define IMAGE_SYM_CLASS_NULL 0
|
||||
#define IMAGE_SYM_CLASS_AUTOMATIC 1
|
||||
#define IMAGE_SYM_CLASS_EXTERNAL 2
|
||||
#define IMAGE_SYM_CLASS_STATIC 3
|
||||
#define IMAGE_SYM_CLASS_REGISTER 4
|
||||
#define IMAGE_SYM_CLASS_EXTERNAL_DEF 5
|
||||
#define IMAGE_SYM_CLASS_LABEL 6
|
||||
#define IMAGE_SYM_CLASS_UNDEFINED_LABEL 7
|
||||
#define IMAGE_SYM_CLASS_MEMBER_OF_STRUCT 8
|
||||
#define IMAGE_SYM_CLASS_ARGUMENT 9
|
||||
#define IMAGE_SYM_CLASS_STRUCT_TAG 10
|
||||
#define IMAGE_SYM_CLASS_MEMBER_OF_UNION 11
|
||||
#define IMAGE_SYM_CLASS_UNION_TAG 12
|
||||
#define IMAGE_SYM_CLASS_TYPE_DEFINITION 13
|
||||
#define IMAGE_SYM_CLASS_UNDEFINED_STATIC 14
|
||||
#define IMAGE_SYM_CLASS_ENUM_TAG 15
|
||||
#define IMAGE_SYM_CLASS_MEMBER_OF_ENUM 16
|
||||
#define IMAGE_SYM_CLASS_REGISTER_PARAM 17
|
||||
#define IMAGE_SYM_CLASS_BIT_FIELD 18
|
||||
#define IMAGE_SYM_CLASS_FAR_EXTERNAL 68
|
||||
#define IMAGE_SYM_CLASS_BLOCK 100
|
||||
#define IMAGE_SYM_CLASS_FUNCTION 101
|
||||
#define IMAGE_SYM_CLASS_END_OF_STRUCT 102
|
||||
#define IMAGE_SYM_CLASS_FILE 103
|
||||
#define IMAGE_SYM_CLASS_SECTION 104
|
||||
#define IMAGE_SYM_CLASS_WEAK_EXTERNAL 105
|
||||
#define IMAGE_COMDAT_SELECT_NODUPLICATES 1
|
||||
#define IMAGE_COMDAT_SELECT_ANY 2
|
||||
#define IMAGE_COMDAT_SELECT_SAME_SIZE 3
|
||||
#define IMAGE_COMDAT_SELECT_EXACT_MATCH 4
|
||||
#define IMAGE_COMDAT_SELECT_ASSOCIATIVE 5
|
||||
#define IMAGE_COMDAT_SELECT_LARGEST 6
|
||||
#define IMAGE_COMDAT_SELECT_NEWEST 7
|
||||
#define IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY 1
|
||||
#define IMAGE_WEAK_EXTERN_SEARCH_LIBRARY 2
|
||||
#define IMAGE_WEAK_EXTERN_SEARCH_ALIAS 3
|
||||
#define IMAGE_REL_I386_ABSOLUTE 0
|
||||
#define IMAGE_REL_I386_DIR16 1
|
||||
#define IMAGE_REL_I386_REL16 2
|
||||
#define IMAGE_REL_I386_DIR32 6
|
||||
#define IMAGE_REL_I386_DIR32NB 7
|
||||
#define IMAGE_REL_I386_SEG12 9
|
||||
#define IMAGE_REL_I386_SECTION 10
|
||||
#define IMAGE_REL_I386_SECREL 11
|
||||
#define IMAGE_REL_I386_REL32 20
|
||||
#define IMAGE_REL_MIPS_ABSOLUTE 0
|
||||
#define IMAGE_REL_MIPS_REFHALF 1
|
||||
#define IMAGE_REL_MIPS_REFWORD 2
|
||||
#define IMAGE_REL_MIPS_JMPADDR 3
|
||||
#define IMAGE_REL_MIPS_REFHI 4
|
||||
#define IMAGE_REL_MIPS_REFLO 5
|
||||
#define IMAGE_REL_MIPS_GPREL 6
|
||||
#define IMAGE_REL_MIPS_LITERAL 7
|
||||
#define IMAGE_REL_MIPS_SECTION 10
|
||||
#define IMAGE_REL_MIPS_SECREL 11
|
||||
#define IMAGE_REL_MIPS_SECRELLO 12
|
||||
#define IMAGE_REL_MIPS_SECRELHI 13
|
||||
#define IMAGE_REL_MIPS_REFWORDNB 34
|
||||
#define IMAGE_REL_MIPS_PAIR 35
|
||||
#define IMAGE_REL_ALPHA_ABSOLUTE 0
|
||||
#define IMAGE_REL_ALPHA_REFLONG 1
|
||||
#define IMAGE_REL_ALPHA_REFQUAD 2
|
||||
#define IMAGE_REL_ALPHA_GPREL32 3
|
||||
#define IMAGE_REL_ALPHA_LITERAL 4
|
||||
#define IMAGE_REL_ALPHA_LITUSE 5
|
||||
#define IMAGE_REL_ALPHA_GPDISP 6
|
||||
#define IMAGE_REL_ALPHA_BRADDR 7
|
||||
#define IMAGE_REL_ALPHA_HINT 8
|
||||
#define IMAGE_REL_ALPHA_INLINE_REFLONG 9
|
||||
#define IMAGE_REL_ALPHA_REFHI 10
|
||||
#define IMAGE_REL_ALPHA_REFLO 11
|
||||
#define IMAGE_REL_ALPHA_PAIR 12
|
||||
#define IMAGE_REL_ALPHA_MATCH 13
|
||||
#define IMAGE_REL_ALPHA_SECTION 14
|
||||
#define IMAGE_REL_ALPHA_SECREL 15
|
||||
#define IMAGE_REL_ALPHA_REFLONGNB 16
|
||||
#define IMAGE_REL_ALPHA_SECRELLO 17
|
||||
#define IMAGE_REL_ALPHA_SECRELHI 18
|
||||
#define IMAGE_REL_PPC_ABSOLUTE 0
|
||||
#define IMAGE_REL_PPC_ADDR64 1
|
||||
#define IMAGE_REL_PPC_ADDR32 2
|
||||
#define IMAGE_REL_PPC_ADDR24 3
|
||||
#define IMAGE_REL_PPC_ADDR16 4
|
||||
#define IMAGE_REL_PPC_ADDR14 5
|
||||
#define IMAGE_REL_PPC_REL24 6
|
||||
#define IMAGE_REL_PPC_REL14 7
|
||||
#define IMAGE_REL_PPC_TOCREL16 8
|
||||
#define IMAGE_REL_PPC_TOCREL14 9
|
||||
#define IMAGE_REL_PPC_ADDR32NB 10
|
||||
#define IMAGE_REL_PPC_SECREL 11
|
||||
#define IMAGE_REL_PPC_SECTION 12
|
||||
#define IMAGE_REL_PPC_IFGLUE 13
|
||||
#define IMAGE_REL_PPC_IMGLUE 14
|
||||
#define IMAGE_REL_PPC_SECREL16 15
|
||||
#define IMAGE_REL_PPC_REFHI 16
|
||||
#define IMAGE_REL_PPC_REFLO 17
|
||||
#define IMAGE_REL_PPC_PAIR 18
|
||||
#define IMAGE_REL_PPC_TYPEMASK 255
|
||||
#define IMAGE_REL_PPC_NEG 256
|
||||
#define IMAGE_REL_PPC_BRTAKEN 512
|
||||
#define IMAGE_REL_PPC_BRNTAKEN 1024
|
||||
#define IMAGE_REL_PPC_TOCDEFN 2048
|
||||
#define IMAGE_REL_BASED_ABSOLUTE 0
|
||||
#define IMAGE_REL_BASED_HIGH 1
|
||||
#define IMAGE_REL_BASED_LOW 2
|
||||
#define IMAGE_REL_BASED_HIGHLOW 3
|
||||
#define IMAGE_REL_BASED_HIGHADJ 4
|
||||
#define IMAGE_REL_BASED_MIPS_JMPADDR 5
|
||||
#define IMAGE_ARCHIVE_START_SIZE 8
|
||||
#define IMAGE_ARCHIVE_START "!<arch>\n"
|
||||
#define IMAGE_ARCHIVE_END "`\n"
|
||||
#define IMAGE_ARCHIVE_PAD "\n"
|
||||
#define IMAGE_ARCHIVE_LINKER_MEMBER "/ "
|
||||
#define IMAGE_ARCHIVE_LONGNAMES_MEMBER "// "
|
||||
#define IMAGE_ORDINAL_FLAG 0x80000000
|
||||
#define IMAGE_SNAP_BY_ORDINAL(o) ((o&IMAGE_ORDINAL_FLAG)!=0)
|
||||
#define IMAGE_RESOURCE_NAME_IS_STRING 0x80000000
|
||||
#define IMAGE_RESOURCE_DATA_IS_DIRECTORY 0x80000000
|
||||
#define IMAGE_DEBUG_TYPE_UNKNOWN 0
|
||||
#define IMAGE_DEBUG_TYPE_COFF 1
|
||||
#define IMAGE_DEBUG_TYPE_CODEVIEW 2
|
||||
#define IMAGE_DEBUG_TYPE_FPO 3
|
||||
#define IMAGE_DEBUG_TYPE_MISC 4
|
||||
#define IMAGE_DEBUG_TYPE_EXCEPTION 5
|
||||
#define IMAGE_DEBUG_TYPE_FIXUP 6
|
||||
#define IMAGE_DEBUG_TYPE_OMAP_TO_SRC 7
|
||||
#define IMAGE_DEBUG_TYPE_OMAP_FROM_SRC 8
|
||||
|
||||
|
||||
#define IMAGE_SIZEOF_SHORT_NAME 8
|
||||
|
||||
#define IMAGE_SIZEOF_SECTION_HEADER 40
|
||||
|
||||
#define IMAGE_SECTION_CODE (0x20)
|
||||
#define IMAGE_SECTION_INITIALIZED_DATA (0x40)
|
||||
#define IMAGE_SECTION_UNINITIALIZED_DATA (0x80)
|
||||
|
||||
//
|
||||
// Import Format
|
||||
//
|
||||
|
||||
#define IMAGE_ORDINAL_FLAG 0x80000000
|
||||
#define IMAGE_ORDINAL(Ordinal) (Ordinal & 0xffff)
|
||||
|
||||
|
||||
// Predefined resource types ... there may be some more, but I don't have
|
||||
|
@ -738,35 +775,6 @@ typedef struct _IMAGE_SEPARATE_DEBUG_HEADER {
|
|||
//
|
||||
|
||||
|
||||
//
|
||||
// Each directory contains the 32-bit Name of the entry and an offset,
|
||||
// relative to the beginning of the resource directory of the data associated
|
||||
// with this directory entry. If the name of the entry is an actual text
|
||||
// string instead of an integer Id, then the high order bit of the name field
|
||||
// is set to one and the low order 31-bits are an offset, relative to the
|
||||
// beginning of the resource directory of the string, which is of type
|
||||
// IMAGE_RESOURCE_DIRECTORY_STRING. Otherwise the high bit is clear and the
|
||||
// low-order 16-bits are the integer Id that identify this resource directory
|
||||
// entry. If the directory entry is yet another resource directory (i.e. a
|
||||
// subdirectory), then the high order bit of the offset field will be
|
||||
// set to indicate this. Otherwise the high bit is clear and the offset
|
||||
// field points to a resource data entry.
|
||||
//
|
||||
typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY {
|
||||
DWORD Name;
|
||||
DWORD OffsetToData;
|
||||
} IMAGE_RESOURCE_DIRECTORY_ENTRY, *PIMAGE_RESOURCE_DIRECTORY_ENTRY;
|
||||
/*
|
||||
typedef struct _IMAGE_RESOURCE_DIRECTORY {
|
||||
DWORD Characteristics;
|
||||
DWORD TimeDateStamp;
|
||||
WORD MajorVersion;
|
||||
WORD MinorVersion;
|
||||
WORD NumberOfNamedEntries;
|
||||
WORD NumberOfIdEntries;
|
||||
IMAGE_RESOURCE_DIRECTORY_ENTRY DirectoryEntries[0];
|
||||
} IMAGE_RESOURCE_DIRECTORY, *PIMAGE_RESOURCE_DIRECTORY;
|
||||
*/
|
||||
#define IMAGE_RESOURCE_NAME_IS_STRING 0x80000000
|
||||
#define IMAGE_RESOURCE_DATA_IS_DIRECTORY 0x80000000
|
||||
|
||||
|
|
|
@ -2251,7 +2251,7 @@ InitiateSystemShutdownW(
|
|||
WINBOOL
|
||||
STDCALL
|
||||
AbortSystemShutdownW(
|
||||
LPWSTR lpMachineName
|
||||
LPCWSTR lpMachineName
|
||||
);
|
||||
|
||||
LONG
|
||||
|
|
|
@ -1,193 +1,194 @@
|
|||
/* $Id: shutdown.c,v 1.5 2002/09/08 10:22:36 chorns Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS system libraries
|
||||
* FILE: lib/advapi32/misc/shutdown.c
|
||||
* PURPOSE: System shutdown functions
|
||||
* PROGRAMMER: Emanuele Aliberti
|
||||
* UPDATE HISTORY:
|
||||
* 19990413 EA created
|
||||
* 19990515 EA
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
#include <ddk/ntddk.h>
|
||||
|
||||
#define USZ {0,0,0}
|
||||
|
||||
/**********************************************************************
|
||||
* AbortSystemShutdownW
|
||||
*/
|
||||
BOOL
|
||||
STDCALL
|
||||
AbortSystemShutdownW(
|
||||
LPWSTR lpMachineName
|
||||
)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* AbortSystemShutdownA
|
||||
*/
|
||||
BOOL
|
||||
STDCALL
|
||||
AbortSystemShutdownA(
|
||||
LPSTR lpMachineName
|
||||
)
|
||||
{
|
||||
ANSI_STRING MachineNameA;
|
||||
UNICODE_STRING MachineNameW;
|
||||
NTSTATUS Status;
|
||||
BOOL rv;
|
||||
|
||||
RtlInitAnsiString(
|
||||
& MachineNameA,
|
||||
lpMachineName
|
||||
);
|
||||
Status = RtlAnsiStringToUnicodeString(
|
||||
& MachineNameW,
|
||||
& MachineNameA,
|
||||
TRUE
|
||||
);
|
||||
if (STATUS_SUCCESS != Status)
|
||||
{
|
||||
SetLastError(RtlNtStatusToDosError(Status));
|
||||
return FALSE;
|
||||
}
|
||||
rv = AbortSystemShutdownW(
|
||||
MachineNameW.Buffer
|
||||
);
|
||||
RtlFreeAnsiString(
|
||||
& MachineNameA
|
||||
);
|
||||
RtlFreeUnicodeString(
|
||||
& MachineNameW
|
||||
);
|
||||
SetLastError(ERROR_SUCCESS);
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* InitiateSystemShutdownW
|
||||
*/
|
||||
BOOL
|
||||
STDCALL
|
||||
InitiateSystemShutdownW(
|
||||
LPWSTR lpMachineName,
|
||||
LPWSTR lpMessage,
|
||||
DWORD dwTimeout,
|
||||
BOOL bForceAppsClosed,
|
||||
BOOL bRebootAfterShutdown
|
||||
)
|
||||
{
|
||||
SHUTDOWN_ACTION Action = ShutdownNoReboot;
|
||||
NTSTATUS Status;
|
||||
|
||||
if (lpMachineName)
|
||||
{
|
||||
/* FIXME: remote machine shutdown not supported yet */
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
}
|
||||
if (dwTimeout)
|
||||
{
|
||||
}
|
||||
Status = NtShutdownSystem(Action);
|
||||
SetLastError(RtlNtStatusToDosError(Status));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* InitiateSystemShutdownA
|
||||
*/
|
||||
BOOL
|
||||
STDCALL
|
||||
InitiateSystemShutdownA(
|
||||
LPSTR lpMachineName,
|
||||
LPSTR lpMessage,
|
||||
DWORD dwTimeout,
|
||||
BOOL bForceAppsClosed,
|
||||
BOOL bRebootAfterShutdown
|
||||
)
|
||||
{
|
||||
ANSI_STRING MachineNameA;
|
||||
ANSI_STRING MessageA;
|
||||
UNICODE_STRING MachineNameW;
|
||||
UNICODE_STRING MessageW;
|
||||
NTSTATUS Status;
|
||||
INT LastError;
|
||||
BOOL rv;
|
||||
|
||||
if (lpMachineName)
|
||||
{
|
||||
RtlInitAnsiString(
|
||||
& MachineNameA,
|
||||
lpMachineName
|
||||
);
|
||||
Status = RtlAnsiStringToUnicodeString(
|
||||
& MachineNameW,
|
||||
& MachineNameA,
|
||||
TRUE
|
||||
);
|
||||
if (STATUS_SUCCESS != Status)
|
||||
{
|
||||
RtlFreeAnsiString(&MachineNameA);
|
||||
SetLastError(RtlNtStatusToDosError(Status));
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
if (lpMessage)
|
||||
{
|
||||
RtlInitAnsiString(
|
||||
& MessageA,
|
||||
lpMessage
|
||||
);
|
||||
Status = RtlAnsiStringToUnicodeString(
|
||||
& MessageW,
|
||||
& MessageA,
|
||||
TRUE
|
||||
);
|
||||
if (STATUS_SUCCESS != Status)
|
||||
{
|
||||
if (MachineNameW.Length)
|
||||
{
|
||||
RtlFreeAnsiString(&MachineNameA);
|
||||
RtlFreeUnicodeString(&MachineNameW);
|
||||
}
|
||||
RtlFreeAnsiString(&MessageA);
|
||||
SetLastError(RtlNtStatusToDosError(Status));
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
rv = InitiateSystemShutdownW(
|
||||
MachineNameW.Buffer,
|
||||
MessageW.Buffer,
|
||||
dwTimeout,
|
||||
bForceAppsClosed,
|
||||
bRebootAfterShutdown
|
||||
);
|
||||
LastError = GetLastError();
|
||||
if (lpMachineName)
|
||||
{
|
||||
RtlFreeAnsiString(&MachineNameA);
|
||||
RtlFreeUnicodeString(&MachineNameW);
|
||||
}
|
||||
if (lpMessage)
|
||||
{
|
||||
RtlFreeAnsiString(&MessageA);
|
||||
RtlFreeUnicodeString(&MessageW);
|
||||
}
|
||||
SetLastError(LastError);
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
||||
/* EOF */
|
||||
|
||||
/* $Id: shutdown.c,v 1.6 2002/11/14 18:21:03 chorns Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS system libraries
|
||||
* FILE: lib/advapi32/misc/shutdown.c
|
||||
* PURPOSE: System shutdown functions
|
||||
* PROGRAMMER: Emanuele Aliberti
|
||||
* UPDATE HISTORY:
|
||||
* 19990413 EA created
|
||||
* 19990515 EA
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
|
||||
#define USZ {0,0,0}
|
||||
|
||||
/**********************************************************************
|
||||
* AbortSystemShutdownW
|
||||
*/
|
||||
WINBOOL
|
||||
STDCALL
|
||||
AbortSystemShutdownW(
|
||||
LPCWSTR lpMachineName
|
||||
)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* AbortSystemShutdownA
|
||||
*/
|
||||
BOOL
|
||||
STDCALL
|
||||
AbortSystemShutdownA(
|
||||
LPCSTR lpMachineName
|
||||
)
|
||||
{
|
||||
ANSI_STRING MachineNameA;
|
||||
UNICODE_STRING MachineNameW;
|
||||
NTSTATUS Status;
|
||||
BOOL rv;
|
||||
|
||||
RtlInitAnsiString(
|
||||
& MachineNameA,
|
||||
lpMachineName
|
||||
);
|
||||
Status = RtlAnsiStringToUnicodeString(
|
||||
& MachineNameW,
|
||||
& MachineNameA,
|
||||
TRUE
|
||||
);
|
||||
if (STATUS_SUCCESS != Status)
|
||||
{
|
||||
SetLastError(RtlNtStatusToDosError(Status));
|
||||
return FALSE;
|
||||
}
|
||||
rv = AbortSystemShutdownW(
|
||||
MachineNameW.Buffer
|
||||
);
|
||||
RtlFreeAnsiString(
|
||||
& MachineNameA
|
||||
);
|
||||
RtlFreeUnicodeString(
|
||||
& MachineNameW
|
||||
);
|
||||
SetLastError(ERROR_SUCCESS);
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* InitiateSystemShutdownW
|
||||
*/
|
||||
BOOL
|
||||
STDCALL
|
||||
InitiateSystemShutdownW(
|
||||
LPWSTR lpMachineName,
|
||||
LPWSTR lpMessage,
|
||||
DWORD dwTimeout,
|
||||
BOOL bForceAppsClosed,
|
||||
BOOL bRebootAfterShutdown
|
||||
)
|
||||
{
|
||||
SHUTDOWN_ACTION Action = ShutdownNoReboot;
|
||||
NTSTATUS Status;
|
||||
|
||||
if (lpMachineName)
|
||||
{
|
||||
/* FIXME: remote machine shutdown not supported yet */
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
}
|
||||
if (dwTimeout)
|
||||
{
|
||||
}
|
||||
Status = NtShutdownSystem(Action);
|
||||
SetLastError(RtlNtStatusToDosError(Status));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* InitiateSystemShutdownA
|
||||
*/
|
||||
BOOL
|
||||
STDCALL
|
||||
InitiateSystemShutdownA(
|
||||
LPSTR lpMachineName,
|
||||
LPSTR lpMessage,
|
||||
DWORD dwTimeout,
|
||||
BOOL bForceAppsClosed,
|
||||
BOOL bRebootAfterShutdown
|
||||
)
|
||||
{
|
||||
ANSI_STRING MachineNameA;
|
||||
ANSI_STRING MessageA;
|
||||
UNICODE_STRING MachineNameW;
|
||||
UNICODE_STRING MessageW;
|
||||
NTSTATUS Status;
|
||||
INT LastError;
|
||||
BOOL rv;
|
||||
|
||||
if (lpMachineName)
|
||||
{
|
||||
RtlInitAnsiString(
|
||||
& MachineNameA,
|
||||
lpMachineName
|
||||
);
|
||||
Status = RtlAnsiStringToUnicodeString(
|
||||
& MachineNameW,
|
||||
& MachineNameA,
|
||||
TRUE
|
||||
);
|
||||
if (STATUS_SUCCESS != Status)
|
||||
{
|
||||
RtlFreeAnsiString(&MachineNameA);
|
||||
SetLastError(RtlNtStatusToDosError(Status));
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
if (lpMessage)
|
||||
{
|
||||
RtlInitAnsiString(
|
||||
& MessageA,
|
||||
lpMessage
|
||||
);
|
||||
Status = RtlAnsiStringToUnicodeString(
|
||||
& MessageW,
|
||||
& MessageA,
|
||||
TRUE
|
||||
);
|
||||
if (STATUS_SUCCESS != Status)
|
||||
{
|
||||
if (MachineNameW.Length)
|
||||
{
|
||||
RtlFreeAnsiString(&MachineNameA);
|
||||
RtlFreeUnicodeString(&MachineNameW);
|
||||
}
|
||||
RtlFreeAnsiString(&MessageA);
|
||||
SetLastError(RtlNtStatusToDosError(Status));
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
rv = InitiateSystemShutdownW(
|
||||
MachineNameW.Buffer,
|
||||
MessageW.Buffer,
|
||||
dwTimeout,
|
||||
bForceAppsClosed,
|
||||
bRebootAfterShutdown
|
||||
);
|
||||
LastError = GetLastError();
|
||||
if (lpMachineName)
|
||||
{
|
||||
RtlFreeAnsiString(&MachineNameA);
|
||||
RtlFreeUnicodeString(&MachineNameW);
|
||||
}
|
||||
if (lpMessage)
|
||||
{
|
||||
RtlFreeAnsiString(&MessageA);
|
||||
RtlFreeUnicodeString(&MessageW);
|
||||
}
|
||||
SetLastError(LastError);
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
||||
/* EOF */
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: reg.c,v 1.19 2002/11/10 13:44:48 robd Exp $
|
||||
/* $Id: reg.c,v 1.20 2002/11/14 18:21:04 chorns Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS system libraries
|
||||
|
@ -9,6 +9,8 @@
|
|||
* Created 01/11/98
|
||||
* 19990309 EA Stubs
|
||||
*/
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
|
||||
#ifdef WIN32_REGDBG
|
||||
#include "cm_win32.h"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: ac.c,v 1.4 2002/09/08 10:22:37 chorns Exp $
|
||||
/* $Id: ac.c,v 1.5 2002/11/14 18:21:04 chorns Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS system libraries
|
||||
|
@ -6,8 +6,8 @@
|
|||
* PURPOSE: ACL/ACE functions
|
||||
*/
|
||||
|
||||
#include <ddk/ntddk.h>
|
||||
#include <ntdll/rtl.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#include <windows.h>
|
||||
|
||||
|
||||
|
@ -346,7 +346,7 @@ FindFirstFreeAce (
|
|||
)
|
||||
{
|
||||
return RtlFirstFreeAce (pAcl,
|
||||
(PACE*)pAce);
|
||||
(PACE_HEADER*)pAce);
|
||||
}
|
||||
|
||||
|
||||
|
@ -362,7 +362,7 @@ GetAce (
|
|||
|
||||
Status = RtlGetAce (pAcl,
|
||||
dwAceIndex,
|
||||
(PACE*)pAce);
|
||||
(PACE_HEADER*)pAce);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
SetLastError (RtlNtStatusToDosError (Status));
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
/*
|
||||
*/
|
||||
|
||||
#include <ddk/ntddk.h>
|
||||
#include <ntdll/rtl.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#include <windows.h>
|
||||
|
||||
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
* Created 01/11/98
|
||||
*/
|
||||
|
||||
#include <ddk/ntddk.h>
|
||||
#include <ntdll/rtl.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#include <windows.h>
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: sid.c,v 1.6 2002/09/08 10:22:37 chorns Exp $
|
||||
/* $Id: sid.c,v 1.7 2002/11/14 18:21:04 chorns Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS system libraries
|
||||
|
@ -6,8 +6,8 @@
|
|||
* PURPOSE: Security ID functions
|
||||
*/
|
||||
|
||||
#include <ddk/ntddk.h>
|
||||
#include <ntdll/rtl.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#include <windows.h>
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: scm.c,v 1.12 2002/09/08 10:22:37 chorns Exp $
|
||||
/* $Id: scm.c,v 1.13 2002/11/14 18:21:04 chorns Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS system libraries
|
||||
|
@ -12,8 +12,10 @@
|
|||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#include <windows.h>
|
||||
#include <ddk/ntddk.h>
|
||||
#include <tchar.h>
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
|
@ -245,7 +247,17 @@ EnumServicesStatusA (
|
|||
*/
|
||||
BOOL
|
||||
STDCALL
|
||||
EnumServicesStatusExA(VOID)
|
||||
EnumServicesStatusExA(SC_HANDLE hSCManager,
|
||||
SC_ENUM_TYPE InfoLevel,
|
||||
DWORD dwServiceType,
|
||||
DWORD dwServiceState,
|
||||
LPBYTE lpServices,
|
||||
DWORD cbBufSize,
|
||||
LPDWORD pcbBytesNeeded,
|
||||
LPDWORD lpServicesReturned,
|
||||
LPDWORD lpResumeHandle,
|
||||
LPCSTR pszGroupName
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
|
@ -257,7 +269,17 @@ EnumServicesStatusExA(VOID)
|
|||
*/
|
||||
BOOL
|
||||
STDCALL
|
||||
EnumServicesStatusExW(VOID)
|
||||
EnumServicesStatusExW(SC_HANDLE hSCManager,
|
||||
SC_ENUM_TYPE InfoLevel,
|
||||
DWORD dwServiceType,
|
||||
DWORD dwServiceState,
|
||||
LPBYTE lpServices,
|
||||
DWORD cbBufSize,
|
||||
LPDWORD pcbBytesNeeded,
|
||||
LPDWORD lpServicesReturned,
|
||||
LPDWORD lpResumeHandle,
|
||||
LPCWSTR pszGroupName
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
|
@ -691,7 +713,12 @@ QueryServiceStatus(
|
|||
*/
|
||||
BOOL
|
||||
STDCALL
|
||||
QueryServiceStatusEx(VOID)
|
||||
QueryServiceStatusEx(SC_HANDLE hService,
|
||||
SC_STATUS_TYPE InfoLevel,
|
||||
LPBYTE lpBuffer,
|
||||
DWORD cbBufSize,
|
||||
LPDWORD pcbBytesNeeded
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: sctrl.c,v 1.7 2002/09/08 10:22:37 chorns Exp $
|
||||
/* $Id: sctrl.c,v 1.8 2002/11/14 18:21:04 chorns Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS system libraries
|
||||
|
@ -12,8 +12,9 @@
|
|||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#include <windows.h>
|
||||
#include <ddk/ntddk.h>
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
|
|
@ -8,8 +8,9 @@
|
|||
* Created 01/11/98
|
||||
*/
|
||||
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#include <windows.h>
|
||||
#include <ddk/ntddk.h>
|
||||
|
||||
WINBOOL
|
||||
STDCALL
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: dllmain.c,v 1.23 2002/09/08 10:22:43 chorns Exp $
|
||||
/* $Id: dllmain.c,v 1.24 2002/11/14 18:21:05 chorns Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS system libraries
|
||||
|
@ -11,10 +11,8 @@
|
|||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include <ddk/ntddk.h>
|
||||
#include <ntdll/csr.h>
|
||||
#include <ntdll/ldr.h>
|
||||
#include <windows.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#include <wchar.h>
|
||||
|
||||
#define NDEBUG
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: ppb.c,v 1.16 2002/10/20 11:56:00 chorns Exp $
|
||||
/* $Id: ppb.c,v 1.17 2002/11/14 18:21:05 chorns Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS system libraries
|
||||
|
@ -97,10 +97,10 @@ RtlCreateProcessParameters(PRTL_USER_PROCESS_PARAMETERS *ProcessParameters,
|
|||
if (Environment == NULL)
|
||||
Environment = NtCurrentPeb()->ProcessParameters->Environment;
|
||||
if (CurrentDirectory == NULL)
|
||||
CurrentDirectory = &NtCurrentPeb()->ProcessParameters->CurrentDirectoryName;
|
||||
CurrentDirectoryHandle = NtCurrentPeb()->ProcessParameters->CurrentDirectoryHandle;
|
||||
ConsoleHandle = NtCurrentPeb()->ProcessParameters->hConsole;
|
||||
ConsoleFlags = NtCurrentPeb()->ProcessParameters->ProcessGroup;
|
||||
CurrentDirectory = &NtCurrentPeb()->ProcessParameters->CurrentDirectoryName;
|
||||
CurrentDirectoryHandle = NtCurrentPeb()->ProcessParameters->CurrentDirectoryHandle;
|
||||
ConsoleHandle = NtCurrentPeb()->ProcessParameters->hConsole;
|
||||
ConsoleFlags = NtCurrentPeb()->ProcessParameters->ProcessGroup;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -156,33 +156,33 @@ RtlCreateProcessParameters(PRTL_USER_PROCESS_PARAMETERS *ProcessParameters,
|
|||
|
||||
DPRINT ("Process parameters allocated\n");
|
||||
|
||||
Param->AllocationSize = RegionSize;
|
||||
Param->Size = Length;
|
||||
Param->AllocationSize = RegionSize;
|
||||
Param->Size = Length;
|
||||
Param->Flags = PPF_NORMALIZED;
|
||||
Param->Environment = Environment;
|
||||
Param->CurrentDirectoryHandle = CurrentDirectoryHandle;
|
||||
Param->hConsole = ConsoleHandle;
|
||||
Param->ProcessGroup = ConsoleFlags;
|
||||
Param->CurrentDirectoryHandle = CurrentDirectoryHandle;
|
||||
Param->hConsole = ConsoleHandle;
|
||||
Param->ProcessGroup = ConsoleFlags;
|
||||
|
||||
Dest = (PWCHAR)(((PBYTE)Param) + sizeof(RTL_USER_PROCESS_PARAMETERS));
|
||||
|
||||
/* copy current directory */
|
||||
RtlpCopyParameterString(&Dest,
|
||||
&Param->CurrentDirectoryName,
|
||||
&Param->CurrentDirectoryName,
|
||||
CurrentDirectory,
|
||||
MAX_PATH * sizeof(WCHAR));
|
||||
|
||||
/* make sure the current directory has a trailing backslash */
|
||||
if (Param->CurrentDirectoryName.Length > 0)
|
||||
if (Param->CurrentDirectoryName.Length > 0)
|
||||
{
|
||||
ULONG Length;
|
||||
|
||||
Length = Param->CurrentDirectoryName.Length / sizeof(WCHAR);
|
||||
if (Param->CurrentDirectoryName.Buffer[Length-1] != L'\\')
|
||||
Length = Param->CurrentDirectoryName.Length / sizeof(WCHAR);
|
||||
if (Param->CurrentDirectoryName.Buffer[Length-1] != L'\\')
|
||||
{
|
||||
Param->CurrentDirectoryName.Buffer[Length] = L'\\';
|
||||
Param->CurrentDirectoryName.Buffer[Length + 1] = 0;
|
||||
Param->CurrentDirectoryName.Length += sizeof(WCHAR);
|
||||
Param->CurrentDirectoryName.Buffer[Length] = L'\\';
|
||||
Param->CurrentDirectoryName.Buffer[Length + 1] = 0;
|
||||
Param->CurrentDirectoryName.Length += sizeof(WCHAR);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -235,12 +235,12 @@ RtlCreateProcessParameters(PRTL_USER_PROCESS_PARAMETERS *ProcessParameters,
|
|||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
VOID STDCALL
|
||||
NTSTATUS STDCALL
|
||||
RtlDestroyProcessParameters(PRTL_USER_PROCESS_PARAMETERS ProcessParameters)
|
||||
{
|
||||
ULONG RegionSize = 0;
|
||||
|
||||
NtFreeVirtualMemory (NtCurrentProcess (),
|
||||
return NtFreeVirtualMemory (NtCurrentProcess (),
|
||||
(PVOID)ProcessParameters,
|
||||
&RegionSize,
|
||||
MEM_RELEASE);
|
||||
|
@ -254,7 +254,7 @@ RtlDeNormalizeProcessParams(PRTL_USER_PROCESS_PARAMETERS Params)
|
|||
{
|
||||
if (Params && (Params->Flags & PPF_NORMALIZED))
|
||||
{
|
||||
DENORMALIZE(Params->CurrentDirectoryName.Buffer, Params);
|
||||
DENORMALIZE(Params->CurrentDirectoryName.Buffer, Params);
|
||||
DENORMALIZE(Params->DllPath.Buffer, Params);
|
||||
DENORMALIZE(Params->ImagePathName.Buffer, Params);
|
||||
DENORMALIZE(Params->CommandLine.Buffer, Params);
|
||||
|
@ -277,7 +277,7 @@ RtlNormalizeProcessParams(PRTL_USER_PROCESS_PARAMETERS Params)
|
|||
{
|
||||
if (Params && !(Params->Flags & PPF_NORMALIZED))
|
||||
{
|
||||
NORMALIZE(Params->CurrentDirectoryName.Buffer, Params);
|
||||
NORMALIZE(Params->CurrentDirectoryName.Buffer, Params);
|
||||
NORMALIZE(Params->DllPath.Buffer, Params);
|
||||
NORMALIZE(Params->ImagePathName.Buffer, Params);
|
||||
NORMALIZE(Params->CommandLine.Buffer, Params);
|
||||
|
|
|
@ -257,11 +257,11 @@ DbgGetErrorText(NTSTATUS ErrorCode, PUNICODE_STRING ErrorText, ULONG Flags)
|
|||
{
|
||||
if (Flags & DBG_GET_SHOW_FACILITY)
|
||||
{
|
||||
sprintf(NumBuf, "%08lx", ErrorCode);
|
||||
sprintf(NumBuf, "%08x", ErrorCode);
|
||||
strcat(TempBuf, NumBuf);
|
||||
strcat(TempBuf, " ");
|
||||
}
|
||||
sprintf(NumBuf, "Unknown Message #%08lx", ErrorCode);
|
||||
sprintf(NumBuf, "Unknown Message #%08x", ErrorCode);
|
||||
strcat(TempBuf, NumBuf);
|
||||
}
|
||||
RtlInitAnsiString(&AnsiString, TempBuf);
|
||||
|
|
|
@ -8,8 +8,7 @@
|
|||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <ddk/ntddk.h>
|
||||
#include <napi/lpc.h>
|
||||
#include <ntos.h>
|
||||
#include <internal/debug.h>
|
||||
|
||||
/* GLOBALS ******************************************************************/
|
||||
|
|
|
@ -19,6 +19,10 @@
|
|||
#ifndef __NTOSKRNL_INCLUDE_INTERNAL_I386_KE_H
|
||||
#define __NTOSKRNL_INCLUDE_INTERNAL_I386_KE_H
|
||||
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#define KTRAP_FRAME_DEBUGEBP (0x0)
|
||||
#define KTRAP_FRAME_DEBUGEIP (0x4)
|
||||
#define KTRAP_FRAME_DEBUGARGMARK (0x8)
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: arcname.c,v 1.9 2002/09/08 10:23:24 chorns Exp $
|
||||
/* $Id: arcname.c,v 1.10 2002/11/14 18:21:07 chorns Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -296,7 +296,7 @@ IoCreateSystemRootLink(PCHAR ParameterLine)
|
|||
return(Status);
|
||||
}
|
||||
|
||||
sprintf(p, "cdrom(%lu)", DeviceNumber);
|
||||
sprintf(p, "cdrom(%u)", DeviceNumber);
|
||||
|
||||
DPRINT("New ARC name: %s\n", ParamBuffer);
|
||||
|
||||
|
@ -313,7 +313,7 @@ IoCreateSystemRootLink(PCHAR ParameterLine)
|
|||
|
||||
q++;
|
||||
strcpy(temp, q);
|
||||
sprintf(p, "cdrom(%lu)", DeviceNumber);
|
||||
sprintf(p, "cdrom(%u)", DeviceNumber);
|
||||
strcat(p, temp);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: main.c,v 1.141 2002/11/13 06:01:12 robd Exp $
|
||||
/* $Id: main.c,v 1.142 2002/11/14 18:21:07 chorns Exp $
|
||||
*
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: ntoskrnl/ke/main.c
|
||||
|
@ -399,14 +399,14 @@ ExpInitializeExecutive(VOID)
|
|||
if (KeNumberProcessors > 1)
|
||||
{
|
||||
sprintf(str,
|
||||
"Found %d system processors. [%lu MB Memory]\n",
|
||||
"Found %d system processors. [%u MB Memory]\n",
|
||||
KeNumberProcessors,
|
||||
(KeLoaderBlock.MemHigher + 1088)/ 1024);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(str,
|
||||
"Found 1 system processor. [%lu MB Memory]\n",
|
||||
"Found 1 system processor. [%u MB Memory]\n",
|
||||
(KeLoaderBlock.MemHigher + 1088)/ 1024);
|
||||
}
|
||||
HalDisplayString(str);
|
||||
|
@ -695,7 +695,7 @@ _main (ULONG MultiBootMagic, PLOADER_PARAMETER_BLOCK _LoaderBlock)
|
|||
}
|
||||
}
|
||||
sprintf(KeLoaderCommandLine,
|
||||
"multi(0)disk(0)rdisk(%ld)partition(%ld)%s %s",
|
||||
"multi(0)disk(0)rdisk(%d)partition(%d)%s %s",
|
||||
DiskNumber, PartNumber + 1, Temp, options);
|
||||
|
||||
p = KeLoaderCommandLine;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: exception.c,v 1.3 2002/11/10 18:17:42 chorns Exp $
|
||||
/* $Id: exception.c,v 1.4 2002/11/14 18:21:07 chorns Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -9,7 +9,7 @@
|
|||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <ddk/ntddk.h>
|
||||
#include <ntos.h>
|
||||
#include <internal/ke.h>
|
||||
#include <internal/ps.h>
|
||||
|
||||
|
@ -58,8 +58,8 @@ __ret_label:
|
|||
|
||||
/* Implemented in except.s */
|
||||
|
||||
VOID
|
||||
RtlpCaptureContext(PCONTEXT pContext);
|
||||
VOID
|
||||
RtlpCaptureContext(PCONTEXT pContext);
|
||||
|
||||
/* Macros that will help streamline the SEH implementations for
|
||||
kernel mode and user mode */
|
||||
|
|
Loading…
Reference in a new issue