svn path=/trunk/; revision=595
This commit is contained in:
Emanuele Aliberti 1999-07-17 23:10:31 +00:00
parent 04f2911330
commit 6ac1592420
69 changed files with 9043 additions and 6499 deletions

View file

@ -1,4 +1,4 @@
/* $Id: conport.c,v 1.4 1999/07/04 22:04:31 ea Exp $
/* $Id: conport.c,v 1.5 1999/07/17 23:10:12 ea Exp $
*
* reactos/apps/lpc/conport.c
*
@ -119,7 +119,7 @@ TryConnectPort(char *port_name)
if (Status == STATUS_SUCCESS)
{
DumpInfo(
port_name_save,
Name,
Status,
"connected",
Port

View file

@ -1,4 +1,4 @@
/* $Id: creport.c,v 1.1 1999/07/04 22:04:31 ea Exp $
/* $Id: creport.c,v 1.2 1999/07/17 23:10:12 ea Exp $
*
* reactos/apps/lpc/creport.c
*
@ -106,7 +106,7 @@ TryCreatePort(char *port_name)
if (Status == STATUS_SUCCESS)
{
DumpInfo(
port_name_save,
Name,
Status,
"created",
Port

View file

@ -1,4 +1,4 @@
/* $Id: dumpinfo.c,v 1.1 1999/07/04 22:04:31 ea Exp $
/* $Id: dumpinfo.c,v 1.2 1999/07/17 23:10:12 ea Exp $
*
* reactos/apps/lpc/dumpinfo.c
*
@ -11,6 +11,8 @@
* 19990704 (EA)
* Added code to find the basic information buffer size
* for the LPC port object.
* 19990710 (EA)
*
*/
#include <windows.h>
#include <stdio.h>
@ -31,6 +33,17 @@ NTSTATUS
OUT PULONG ResultLength
);
extern
NTSTATUS
(STDCALL * QueryInformationPort)(
IN HANDLE PortHandle,
IN CINT PortInformationClass, /* guess */
OUT PVOID PortInformation, /* guess */
IN ULONG PortInformationLength, /* guess */
OUT PULONG ReturnLength /* guess */
);
/*
static
VOID
@ -56,16 +69,20 @@ DumpBuffer(
VOID
DumpInfo (
LPCSTR Name,
LPCWSTR Name,
NTSTATUS Status,
LPCSTR Comment,
LPCWSTR Comment,
HANDLE Port
)
{
BYTE ObjectInformation [BUF_SIZE] = {0};
ULONG ResultLength;
printf("Port \"%s\" %s:\n",Name,Comment);
wprintf(
L"Port \"%s\" %s:\n",
Name,
Comment
);
printf("\tStatus = %08X\n",Status);
printf("\tPort = %08X\n\n",Port);
@ -191,6 +208,31 @@ FIXME: why this always raise an access violation exception?
{
printf("\tStatus = %08X\n",Status);
}
//---
printf("Port Information:\n");
/* Status = QueryInformationPort(
Port,
1, /* info class * /
ObjectInformation,
sizeof ObjectInformation,
& ResultLength
);
if (Status == STATUS_SUCCESS)
{
DWORD * i = ObjectInformation;
int j = 0;
while (j < ResultLength / sizeof (DWORD))
{
printf("\t%08X\n",i[j]);
++j;
}
}
else
{
printf("\tStatus = %08X\n",Status);
}
*/
}

View file

@ -1,8 +1,8 @@
VOID
DumpInfo (
LPCSTR Name,
LPCWSTR Name,
NTSTATUS Status,
LPCSTR Comment,
LPCWSTR Comment,
HANDLE Port
);

View file

@ -1,4 +1,4 @@
# $Id: makefile,v 1.2 1999/07/04 22:04:31 ea Exp $
# $Id: makefile,v 1.3 1999/07/17 23:10:12 ea Exp $
# ReactOS Operating System
# LPC test
CC=gcc
@ -6,7 +6,7 @@ LD=ld
CFLAGS=-I../../include
all: conport.exe creport.exe
all: conport.exe creport.exe simpless.exe
conport.exe: conport.o dumpinfo.o
$(CC) -o conport conport.o dumpinfo.o
@ -14,6 +14,9 @@ conport.exe: conport.o dumpinfo.o
creport.exe: creport.o dumpinfo.o.
$(CC) -o creport creport.o dumpinfo.o
simpless.exe: simpless.o dumpinfo.o.
$(CC) -o simpless simpless.o dumpinfo.o
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@

View file

@ -0,0 +1 @@

View file

@ -1,3 +1,6 @@
#ifndef _DDK_DEFINES_H
#define _DDK_DEFINES_H
/* GENERAL DEFINITIONS ****************************************************/
#include <internal/hal/irq.h>
@ -234,3 +237,5 @@ enum
#define DISPATCH_LEVEL (3)
#define FIRST_DEVICE_SPECIFIC_LEVEL (4)
#define HIGH_LEVEL (FIRST_DEVICE_SPECIFIC_LEVEL + NR_DEVICE_SPECIFIC_LEVELS)
#endif /* ndef _DDK_DEFINES_H */

View file

@ -1,8 +1,11 @@
/* IO MANAGER ***************************************************************/
BOOLEAN IoRaiseInformationalHardError(NTSTATUS ErrorStatus,
PUNICODE_STRING String,
PKTHREAD Thread);
BOOLEAN
IoRaiseInformationalHardError (
NTSTATUS ErrorStatus,
PUNICODE_STRING String,
PKTHREAD Thread
);
/*
@ -20,12 +23,19 @@ BOOLEAN IoRaiseInformationalHardError(NTSTATUS ErrorStatus,
* ARGUMENTS:
* Irpl = Variable to store the current IRQ level
*/
VOID IoAcquireCancelSpinLock(PKIRQL Irpl);
VOID
IoAcquireCancelSpinLock (
PKIRQL Irpl
);
typedef IO_ALLOCATION_ACTION (*PDRIVER_CONTROL)(PDEVICE_OBJECT DeviceObject,
PIRP irp,
PVOID MapRegisterBase,
PVOID Context);
typedef
IO_ALLOCATION_ACTION
(*PDRIVER_CONTROL) (
PDEVICE_OBJECT DeviceObject,
PIRP irp,
PVOID MapRegisterBase,
PVOID Context
);
/*
* FUNCTION: Allocates an adaptor object for a DMA operation on the target
@ -40,11 +50,14 @@ typedef IO_ALLOCATION_ACTION (*PDRIVER_CONTROL)(PDEVICE_OBJECT DeviceObject,
* execution routine
* RETURNS: Success or failure code
*/
NTSTATUS IoAllocateAdapterChannel(PADAPTER_OBJECT AdaperObject,
PDEVICE_OBJECT DeviceObject,
ULONG NumberOfMapRegisters,
PDRIVER_CONTROL ExecutionRoutine,
PVOID Context);
NTSTATUS
IoAllocateAdapterChannel (
PADAPTER_OBJECT AdaperObject,
PDEVICE_OBJECT DeviceObject,
ULONG NumberOfMapRegisters,
PDRIVER_CONTROL ExecutionRoutine,
PVOID Context
);
/*
* FUNCTION: Sets up a call to a driver supplied controller object as
@ -55,10 +68,13 @@ NTSTATUS IoAllocateAdapterChannel(PADAPTER_OBJECT AdaperObject,
* ExecutionObject = Routine to be called
* Context = Driver determined context to be based to the routine
*/
VOID IoAllocateController(PCONTROLLER_OBJECT ControllerObject,
PDEVICE_OBJECT DeviceObject,
PDRIVER_CONTROL ExecutionRoutine,
PVOID Context);
VOID
IoAllocateController (
PCONTROLLER_OBJECT ControllerObject,
PDEVICE_OBJECT DeviceObject,
PDRIVER_CONTROL ExecutionRoutine,
PVOID Context
);
/*
* FUNCTION: Allocates an error log packet
@ -68,7 +84,11 @@ VOID IoAllocateController(PCONTROLLER_OBJECT ControllerObject,
* RETURNS: On success a pointer to the allocated packet
* On failure returns NULL
*/
PVOID IoAllocateErrorLogEntry(PVOID IoObject, UCHAR EntrySize);
PVOID
IoAllocateErrorLogEntry (
PVOID IoObject,
UCHAR EntrySize
);
/*
* FUNCTION: Allocates an IRP
@ -78,7 +98,11 @@ PVOID IoAllocateErrorLogEntry(PVOID IoObject, UCHAR EntrySize);
* RETURNS: On success the allocated IRP
* On failure NULL
*/
PIRP IoAllocateIrp(CCHAR StackSize, BOOLEAN ChargeQuota);
PIRP
IoAllocateIrp (
CCHAR StackSize,
BOOLEAN ChargeQuota
);
/*
* FUNCTION: Allocates an MDL large enough to map the supplied buffer
@ -91,9 +115,14 @@ PIRP IoAllocateIrp(CCHAR StackSize, BOOLEAN ChargeQuota);
* RETURNS: On the success the allocated MDL
* On failure NULL
*/
PMDL IoAllocateMdl(PVOID VirtualAddress, ULONG Length,
BOOLEAN SecondaryBuffer, BOOLEAN ChargeQuota,
PIRP Irp);
PMDL
IoAllocateMdl (
PVOID VirtualAddress,
ULONG Length,
BOOLEAN SecondaryBuffer,
BOOLEAN ChargeQuota,
PIRP Irp
);
/*
* FUNCTION: Creates a symbolic link between the ARC name of a physical
@ -102,7 +131,11 @@ PMDL IoAllocateMdl(PVOID VirtualAddress, ULONG Length,
* ArcName = ARC name of the device
* DeviceName = Name of the device object
*/
VOID IoAssignArcName(PUNICODE_STRING ArcName, PUNICODE_STRING DeviceName);
VOID
IoAssignArcName (
PUNICODE_STRING ArcName,
PUNICODE_STRING DeviceName
);
enum
{
@ -119,12 +152,15 @@ enum
* RequestedResources = List of resources
* RETURNS:
*/
NTSTATUS IoAssignResources(PUNICODE_STRING RegistryPath,
PUNICODE_STRING DriverClassName,
PDRIVER_OBJECT DriverObject,
PDEVICE_OBJECT DeviceObject,
PIO_RESOURCE_REQUIREMENTS_LIST RequestedResources,
PCM_RESOURCE_LIST* AllocatedResources);
NTSTATUS
IoAssignResources (
PUNICODE_STRING RegistryPath,
PUNICODE_STRING DriverClassName,
PDRIVER_OBJECT DriverObject,
PDEVICE_OBJECT DeviceObject,
PIO_RESOURCE_REQUIREMENTS_LIST RequestedResources,
PCM_RESOURCE_LIST * AllocatedResources
);
/*
* FUNCTION: Attaches the callers device object to a named target device
@ -135,9 +171,12 @@ NTSTATUS IoAssignResources(PUNICODE_STRING RegistryPath,
* a pointer to the target device
* RETURNS: Success or failure code
*/
NTSTATUS IoAttachDevice(PDEVICE_OBJECT SourceDevice,
PUNICODE_STRING TargetDevice,
PDEVICE_OBJECT* AttachedDevice);
NTSTATUS
IoAttachDevice (
PDEVICE_OBJECT SourceDevice,
PUNICODE_STRING TargetDevice,
PDEVICE_OBJECT * AttachedDevice
);
/*
* FUNCTION: Obsolete
@ -146,8 +185,11 @@ NTSTATUS IoAttachDevice(PDEVICE_OBJECT SourceDevice,
* TargetDevice = device to be attached to
* RETURNS: Success or failure code
*/
NTSTATUS IoAttachDeviceByPointer(PDEVICE_OBJECT SourceDevice,
PDEVICE_OBJECT TargetDevice);
NTSTATUS
IoAttachDeviceByPointer (
PDEVICE_OBJECT SourceDevice,
PDEVICE_OBJECT TargetDevice
);
/*
* FUNCTION: Attaches the callers device to the highest device in the chain
@ -157,8 +199,11 @@ NTSTATUS IoAttachDeviceByPointer(PDEVICE_OBJECT SourceDevice,
* RETURNS: On success the previously highest device
* On failure NULL
*/
PDEVICE_OBJECT IoAttachDeviceToDeviceStack(PDEVICE_OBJECT SourceDevice,
PDEVICE_OBJECT TargetDevice);
PDEVICE_OBJECT
IoAttachDeviceToDeviceStack (
PDEVICE_OBJECT SourceDevice,
PDEVICE_OBJECT TargetDevice
);
/*
* FUNCTION: Builds a irp to be sent to lower level drivers
@ -172,12 +217,15 @@ PDEVICE_OBJECT IoAttachDeviceToDeviceStack(PDEVICE_OBJECT SourceDevice,
* RETURNS: On success the IRP allocated
* On failure NULL
*/
PIRP IoBuildAsynchronousFsdRequest(ULONG MajorFunction,
PDEVICE_OBJECT DeviceObject,
PVOID Buffer,
ULONG Length,
PLARGE_INTEGER StartingOffset,
PIO_STATUS_BLOCK IoStatusBlock);
PIRP
IoBuildAsynchronousFsdRequest (
ULONG MajorFunction,
PDEVICE_OBJECT DeviceObject,
PVOID Buffer,
ULONG Length,
PLARGE_INTEGER StartingOffset,
PIO_STATUS_BLOCK IoStatusBlock
);
/*
* FUNCTION: Allocates and sets up an IRP for a device control request
@ -195,42 +243,61 @@ PIRP IoBuildAsynchronousFsdRequest(ULONG MajorFunction,
* completed
* RETURNS: Returns the IRP created
*/
PIRP IoBuildDeviceIoControlRequest(ULONG IoControlCode,
PDEVICE_OBJECT DeviceObject,
PVOID InputBuffer,
ULONG InputBufferLength,
PVOID OutputBuffer,
ULONG OutputBufferLength,
BOOLEAN InternalDeviceIoControl,
PKEVENT Event,
PIO_STATUS_BLOCK IoStatusBlock);
PIRP
IoBuildDeviceIoControlRequest (
ULONG IoControlCode,
PDEVICE_OBJECT DeviceObject,
PVOID InputBuffer,
ULONG InputBufferLength,
PVOID OutputBuffer,
ULONG OutputBufferLength,
BOOLEAN InternalDeviceIoControl,
PKEVENT Event,
PIO_STATUS_BLOCK IoStatusBlock
);
VOID IoBuildPartialMdl(PMDL SourceMdl,
PMDL TargetMdl,
PVOID VirtualAddress,
ULONG Length);
VOID
IoBuildPartialMdl (
PMDL SourceMdl,
PMDL TargetMdl,
PVOID VirtualAddress,
ULONG Length
);
PIRP IoBuildSynchronousFsdRequest(ULONG MajorFunction,
PDEVICE_OBJECT DeviceObject,
PVOID Buffer,
ULONG Length,
PLARGE_INTEGER StartingOffset,
PKEVENT Event,
PIO_STATUS_BLOCK IoStatusBlock);
PIRP
IoBuildSynchronousFsdRequest (
ULONG MajorFunction,
PDEVICE_OBJECT DeviceObject,
PVOID Buffer,
ULONG Length,
PLARGE_INTEGER StartingOffset,
PKEVENT Event,
PIO_STATUS_BLOCK IoStatusBlock
);
/*
* FUNCTION: Sends an irp to the next lower driver
*/
NTSTATUS IoCallDriver(PDEVICE_OBJECT DeviceObject, PIRP irp);
NTSTATUS
IoCallDriver (
PDEVICE_OBJECT DeviceObject,
PIRP irp
);
BOOLEAN IoCancelIrp(PIRP Irp);
BOOLEAN
IoCancelIrp (
PIRP Irp
);
NTSTATUS IoCheckShareAccess(ACCESS_MASK DesiredAccess,
ULONG DesiredShareAccess,
PFILE_OBJECT FileObject,
PSHARE_ACCESS ShareAccess,
BOOLEAN Update);
NTSTATUS
IoCheckShareAccess (
ACCESS_MASK DesiredAccess,
ULONG DesiredShareAccess,
PFILE_OBJECT FileObject,
PSHARE_ACCESS ShareAccess,
BOOLEAN Update
);
/*
* FUNCTION: Indicates the caller has finished all processing for a given
@ -240,21 +307,31 @@ NTSTATUS IoCheckShareAccess(ACCESS_MASK DesiredAccess,
* PriorityBoost = Increment by which to boost the priority of the
* thread making the request
*/
VOID IoCompleteRequest(PIRP Irp, CCHAR PriorityBoost);
VOID
IoCompleteRequest (
PIRP Irp,
CCHAR PriorityBoost
);
NTSTATUS IoConnectInterrupt(PKINTERRUPT* InterruptObject,
PKSERVICE_ROUTINE ServiceRoutine,
PVOID ServiceContext,
PKSPIN_LOCK SpinLock,
ULONG Vector,
KIRQL Irql,
KIRQL SynchronizeIrql,
KINTERRUPT_MODE InterruptMode,
BOOLEAN ShareVector,
KAFFINITY ProcessorEnableMask,
BOOLEAN FloatingSave);
NTSTATUS
IoConnectInterrupt (
PKINTERRUPT * InterruptObject,
PKSERVICE_ROUTINE ServiceRoutine,
PVOID ServiceContext,
PKSPIN_LOCK SpinLock,
ULONG Vector,
KIRQL Irql,
KIRQL SynchronizeIrql,
KINTERRUPT_MODE InterruptMode,
BOOLEAN ShareVector,
KAFFINITY ProcessorEnableMask,
BOOLEAN FloatingSave
);
PCONTROLLER_OBJECT IoCreateController(ULONG Size);
PCONTROLLER_OBJECT
IoCreateController (
ULONG Size
);
/*
* FUNCTION: Allocates memory for and intializes a device object for use for
@ -274,86 +351,167 @@ PCONTROLLER_OBJECT IoCreateController(ULONG Size);
* if the call succeeded
* NOTES: See the DDK documentation for more information
*/
NTSTATUS IoCreateDevice(PDRIVER_OBJECT DriverObject,
ULONG DeviceExtensionSize,
PUNICODE_STRING DeviceName,
DEVICE_TYPE DeviceType,
ULONG DeviceCharacteristics,
BOOLEAN Exclusive,
PDEVICE_OBJECT* DeviceObject);
NTSTATUS
IoCreateDevice (
PDRIVER_OBJECT DriverObject,
ULONG DeviceExtensionSize,
PUNICODE_STRING DeviceName,
DEVICE_TYPE DeviceType,
ULONG DeviceCharacteristics,
BOOLEAN Exclusive,
PDEVICE_OBJECT * DeviceObject
);
PKEVENT IoCreateNotificationEvent(PUNICODE_STRING EventName,
PHANDLE EventHandle);
PKEVENT
IoCreateNotificationEvent (
PUNICODE_STRING EventName,
PHANDLE EventHandle
);
NTSTATUS IoCreateSymbolicLink(PUNICODE_STRING SymbolicLinkName,
PUNICODE_STRING DeviceName);
NTSTATUS
IoCreateSymbolicLink (
PUNICODE_STRING SymbolicLinkName,
PUNICODE_STRING DeviceName
);
PKEVENT IoCreateSynchronizationEvent(PUNICODE_STRING EventName,
PHANDLE EventHandle);
PKEVENT
IoCreateSynchronizationEvent (
PUNICODE_STRING EventName,
PHANDLE EventHandle
);
NTSTATUS IoCreateUnprotectedSymbolicLink(PUNICODE_STRING SymbolicLinkName,
PUNICODE_STRING DeviceName);
NTSTATUS
IoCreateUnprotectedSymbolicLink (
PUNICODE_STRING SymbolicLinkName,
PUNICODE_STRING DeviceName
);
VOID IoDeassignArcName(PUNICODE_STRING ArcName);
VOID
IoDeassignArcName (
PUNICODE_STRING ArcName
);
VOID IoDeleteController(PCONTROLLER_OBJECT ControllerObject);
VOID
IoDeleteController (
PCONTROLLER_OBJECT ControllerObject
);
VOID IoDeleteDevice(PDEVICE_OBJECT DeviceObject);
VOID
IoDeleteDevice (
PDEVICE_OBJECT DeviceObject
);
NTSTATUS IoDeleteSymbolicLink(PUNICODE_STRING SymbolicLinkName);
NTSTATUS
IoDeleteSymbolicLink (
PUNICODE_STRING SymbolicLinkName
);
VOID IoDetachDevice(PDEVICE_OBJECT TargetDevice);
VOID
IoDetachDevice (
PDEVICE_OBJECT TargetDevice
);
VOID IoDisconnectInterrupt(PKINTERRUPT InterruptObject);
VOID
IoDisconnectInterrupt (
PKINTERRUPT InterruptObject
);
BOOLEAN IoFlushAdapterBuffers(PADAPTER_OBJECT AdapterObject,
PMDL Mdl,
PVOID MapRegisterBase,
PVOID CurrentVa,
ULONG Length,
BOOLEAN WriteToDevice);
BOOLEAN
IoFlushAdapterBuffers (
PADAPTER_OBJECT AdapterObject,
PMDL Mdl,
PVOID MapRegisterBase,
PVOID CurrentVa,
ULONG Length,
BOOLEAN WriteToDevice
);
VOID IoFreeAdapterChannel(PADAPTER_OBJECT AdapterObject);
VOID IoFreeController(PCONTROLLER_OBJECT ControllerObject);
VOID IoFreeIrp(PIRP Irp);
VOID IoFreeMapRegisters(PADAPTER_OBJECT AdapterObject,
PVOID MapRegisterBase,
ULONG NumberOfMapRegisters);
VOID IoFreeMdl(PMDL Mdl);
PCONFIGURATION_INFORMATION IoGetConfigurationInformation(VOID);
VOID
IoFreeAdapterChannel (
PADAPTER_OBJECT AdapterObject
);
VOID
IoFreeController (
PCONTROLLER_OBJECT ControllerObject
);
VOID
IoFreeIrp (
PIRP Irp
);
VOID
IoFreeMapRegisters (
PADAPTER_OBJECT AdapterObject,
PVOID MapRegisterBase,
ULONG NumberOfMapRegisters
);
VOID
IoFreeMdl (
PMDL Mdl
);
PCONFIGURATION_INFORMATION
IoGetConfigurationInformation (VOID);
/*
* FUNCTION: Returns a pointer to the callers stack location in the irp
*/
PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(IRP* irp);
PIO_STACK_LOCATION
IoGetCurrentIrpStackLocation (
IRP * irp
);
struct _EPROCESS* IoGetCurrentProcess(VOID);
struct _EPROCESS *
IoGetCurrentProcess (VOID);
NTSTATUS IoGetDeviceObjectPointer(PUNICODE_STRING ObjectName,
ACCESS_MASK DesiredAccess,
PFILE_OBJECT* FileObject,
PDEVICE_OBJECT* DeviceObject);
NTSTATUS
IoGetDeviceObjectPointer (
PUNICODE_STRING ObjectName,
ACCESS_MASK DesiredAccess,
PFILE_OBJECT * FileObject,
PDEVICE_OBJECT * DeviceObject
);
PDEVICE_OBJECT IoGetDeviceToVerify(PETHREAD Thread);
PDEVICE_OBJECT
IoGetDeviceToVerify (
PETHREAD Thread
);
PGENERIC_MAPPING IoGetFileObjectGenericMapping(VOID);
PGENERIC_MAPPING
IoGetFileObjectGenericMapping (VOID);
ULONG IoGetFunctionCodeFromCtlCode(ULONG ControlCode);
ULONG
IoGetFunctionCodeFromCtlCode (
ULONG ControlCode
);
PVOID IoGetInitialStack(VOID);
PVOID
IoGetInitialStack (VOID);
/*
* FUNCTION:
*/
PIO_STACK_LOCATION IoGetNextIrpStackLocation(IRP* irp);
PIO_STACK_LOCATION
IoGetNextIrpStackLocation (
IRP * irp
);
PDEVICE_OBJECT IoGetRelatedDeviceObject(PFILE_OBJECT FileObject);
PDEVICE_OBJECT
IoGetRelatedDeviceObject (
PFILE_OBJECT FileObject
);
VOID IoInitializeDpcRequest(PDEVICE_OBJECT DeviceObject,
PIO_DPC_ROUTINE DpcRoutine);
VOID
IoInitializeDpcRequest (
PDEVICE_OBJECT DeviceObject,
PIO_DPC_ROUTINE DpcRoutine
);
/*
* FUNCTION: Initalizes an irp allocated by the caller
@ -362,24 +520,45 @@ VOID IoInitializeDpcRequest(PDEVICE_OBJECT DeviceObject,
* PacketSize = Size in bytes of the IRP
* StackSize = Number of stack locations in the IRP
*/
VOID IoInitializeIrp(PIRP Irp, USHORT PacketSize, CCHAR StackSize);
VOID
IoInitializeIrp (
PIRP Irp,
USHORT PacketSize,
CCHAR StackSize
);
NTSTATUS IoInitializeTimer(PDEVICE_OBJECT DeviceObject,
PIO_TIMER_ROUTINE TimerRoutine,
PVOID Context);
NTSTATUS
IoInitializeTimer (
PDEVICE_OBJECT DeviceObject,
PIO_TIMER_ROUTINE TimerRoutine,
PVOID Context
);
BOOLEAN IoIsErrorUserInduced(NTSTATUS Status);
BOOLEAN
IoIsErrorUserInduced (
NTSTATUS Status
);
BOOLEAN IoIsTotalDeviceFailure(NTSTATUS Status);
BOOLEAN
IoIsTotalDeviceFailure (
NTSTATUS Status
);
PIRP IoMakeAssociatedIrp(PIRP Irp, CCHAR StackSize);
PIRP
IoMakeAssociatedIrp (
PIRP Irp,
CCHAR StackSize
);
PHYSICAL_ADDRESS IoMapTransfer(PADAPTER_OBJECT AdapterObject,
PMDL Mdl,
PVOID MapRegisterBase,
PVOID CurrentVa,
PULONG Length,
BOOLEAN WriteToDevice);
PHYSICAL_ADDRESS
IoMapTransfer (
PADAPTER_OBJECT AdapterObject,
PMDL Mdl,
PVOID MapRegisterBase,
PVOID CurrentVa,
PULONG Length,
BOOLEAN WriteToDevice
);
/*
* FUNCTION: Marks an IRP as pending
@ -389,75 +568,130 @@ PHYSICAL_ADDRESS IoMapTransfer(PADAPTER_OBJECT AdapterObject,
* must mark it pending otherwise the I/O manager will complete it on
* return from the dispatch routine.
*/
VOID IoMarkIrpPending(PIRP Irp);
VOID
IoMarkIrpPending (
PIRP Irp
);
NTSTATUS IoQueryDeviceDescription(PINTERFACE_TYPE BusType,
PULONG BusNumber,
PCONFIGURATION_TYPE ControllerType,
PULONG ControllerNumber,
PCONFIGURATION_TYPE PeripheralType,
PULONG PeripheralNumber,
PIO_QUERY_DEVICE_ROUTINE CalloutRoutine,
PVOID Context);
NTSTATUS
IoQueryDeviceDescription (
PINTERFACE_TYPE BusType,
PULONG BusNumber,
PCONFIGURATION_TYPE ControllerType,
PULONG ControllerNumber,
PCONFIGURATION_TYPE PeripheralType,
PULONG PeripheralNumber,
PIO_QUERY_DEVICE_ROUTINE CalloutRoutine,
PVOID Context
);
VOID IoRaiseHardError(PIRP Irp, PVPB Vpb, PDEVICE_OBJECT RealDeviceObject);
VOID
IoRaiseHardError (
PIRP Irp,
PVPB Vpb,
PDEVICE_OBJECT RealDeviceObject
);
BOOLEAN IoRaiseHardInformationalError(NTSTATUS ErrorStatus,
PUNICODE_STRING String,
PKTHREAD Thread);
BOOLEAN
IoRaiseHardInformationalError (
NTSTATUS ErrorStatus,
PUNICODE_STRING String,
PKTHREAD Thread
);
NTSTATUS IoReadPartitionTable(PDEVICE_OBJECT DeviceObject,
ULONG SectorSize,
BOOLEAN ReturnedRecognizedPartitions,
struct _DRIVE_LAYOUT_INFORMATION** PBuffer);
NTSTATUS
IoReadPartitionTable (
PDEVICE_OBJECT DeviceObject,
ULONG SectorSize,
BOOLEAN ReturnedRecognizedPartitions,
struct _DRIVE_LAYOUT_INFORMATION ** PBuffer
);
VOID IoRegisterDriverReinitialization(PDRIVER_OBJECT DriverObject,
PDRIVER_REINITIALIZE ReinitRoutine,
PVOID Context);
VOID
IoRegisterDriverReinitialization (
PDRIVER_OBJECT DriverObject,
PDRIVER_REINITIALIZE ReinitRoutine,
PVOID Context
);
NTSTATUS IoRegisterShutdownNotification(PDEVICE_OBJECT DeviceObject);
NTSTATUS
IoRegisterShutdownNotification (
PDEVICE_OBJECT DeviceObject
);
VOID IoReleaseCancelSpinLock(KIRQL Irql);
VOID
IoReleaseCancelSpinLock (
KIRQL Irql
);
VOID IoRemoveShareAccess(PFILE_OBJECT FileObject,
PSHARE_ACCESS ShareAccess);
VOID
IoRemoveShareAccess (
PFILE_OBJECT FileObject,
PSHARE_ACCESS ShareAccess
);
NTSTATUS IoReportResourceUsage(PUNICODE_STRING DriverClassName,
PDRIVER_OBJECT DriverObject,
PCM_RESOURCE_LIST DriverList,
ULONG DriverListSize,
PDEVICE_OBJECT DeviceObject,
PCM_RESOURCE_LIST DeviceList,
ULONG DeviceListSize,
BOOLEAN OverrideConflict,
PBOOLEAN ConflictDetected);
NTSTATUS
IoReportResourceUsage (
PUNICODE_STRING DriverClassName,
PDRIVER_OBJECT DriverObject,
PCM_RESOURCE_LIST DriverList,
ULONG DriverListSize,
PDEVICE_OBJECT DeviceObject,
PCM_RESOURCE_LIST DeviceList,
ULONG DeviceListSize,
BOOLEAN OverrideConflict,
PBOOLEAN ConflictDetected
);
VOID IoRequestDpc(PDEVICE_OBJECT DeviceObject,
PIRP Irp,
PVOID Context);
VOID
IoRequestDpc (
PDEVICE_OBJECT DeviceObject,
PIRP Irp,
PVOID Context
);
PDRIVER_CANCEL IoSetCancelRoutine(PIRP Irp, PDRIVER_CANCEL CancelRoutine);
PDRIVER_CANCEL
IoSetCancelRoutine (
PIRP Irp,
PDRIVER_CANCEL CancelRoutine
);
VOID IoSetCompletionRoutine(PIRP Irp,
PIO_COMPLETION_ROUTINE CompletionRoutine,
PVOID Context,
BOOLEAN InvokeOnSuccess,
BOOLEAN InvokeOnError,
BOOLEAN InvokeOnCancel);
VOID
IoSetCompletionRoutine (
PIRP Irp,
PIO_COMPLETION_ROUTINE CompletionRoutine,
PVOID Context,
BOOLEAN InvokeOnSuccess,
BOOLEAN InvokeOnError,
BOOLEAN InvokeOnCancel
);
VOID IoSetHardErrorOrVerifyDevice(PIRP Irp, PDEVICE_OBJECT DeviceObject);
VOID
IoSetHardErrorOrVerifyDevice (
PIRP Irp,
PDEVICE_OBJECT DeviceObject
);
VOID IoSetNextIrpStackLocation(PIRP Irp);
VOID
IoSetNextIrpStackLocation (
PIRP Irp
);
NTSTATUS IoSetPartitionInformation(PDEVICE_OBJECT DeviceObject,
ULONG SectorSize,
ULONG PartitionNumber,
ULONG PartitionType);
NTSTATUS
IoSetPartitionInformation (
PDEVICE_OBJECT DeviceObject,
ULONG SectorSize,
ULONG PartitionNumber,
ULONG PartitionType
);
VOID IoSetShareAccess(ACCESS_MASK DesiredAccess,
ULONG DesiredShareAccess,
PFILE_OBJECT FileObject,
PSHARE_ACCESS ShareAccess);
VOID
IoSetShareAccess (
ACCESS_MASK DesiredAccess,
ULONG DesiredShareAccess,
PFILE_OBJECT FileObject,
PSHARE_ACCESS ShareAccess
);
/*
* FUNCTION: Determines the size of an IRP
@ -465,7 +699,10 @@ VOID IoSetShareAccess(ACCESS_MASK DesiredAccess,
* StackSize = number of stack locations in the IRP
* RETURNS: The size of the IRP in bytes
*/
USHORT IoSizeOfIrp(CCHAR StackSize);
USHORT
IoSizeOfIrp (
CCHAR StackSize
);
/*
* FUNCTION: Dequeues the next IRP from the device's associated queue and
@ -474,11 +711,18 @@ USHORT IoSizeOfIrp(CCHAR StackSize);
* DeviceObject = Device object
* Cancelable = True if IRPs in the queue can be cancelled
*/
VOID IoStartNextPacket(PDEVICE_OBJECT DeviceObject, BOOLEAN Cancelable);
VOID
IoStartNextPacket (
PDEVICE_OBJECT DeviceObject,
BOOLEAN Cancelable
);
VOID IoStartNextPacketByKey(PDEVICE_OBJECT DeviceObject,
BOOLEAN Cancelable,
ULONG Key);
VOID
IoStartNextPacketByKey (
PDEVICE_OBJECT DeviceObject,
BOOLEAN Cancelable,
ULONG Key
);
/*
* FUNCTION: Calls the drivers StartIO routine with the IRP or queues it if
@ -489,43 +733,84 @@ VOID IoStartNextPacketByKey(PDEVICE_OBJECT DeviceObject,
* Key = Optional value for where to insert the IRP
* CancelFunction = Entry point for a driver supplied cancel function
*/
VOID IoStartPacket(PDEVICE_OBJECT DeviceObject, PIRP Irp, PULONG Key,
PDRIVER_CANCEL CancelFunction);
VOID
IoStartPacket (
PDEVICE_OBJECT DeviceObject,
PIRP Irp,
PULONG Key,
PDRIVER_CANCEL CancelFunction
);
VOID IoStartTimer(PDEVICE_OBJECT DeviceObject);
VOID
IoStartTimer (
PDEVICE_OBJECT DeviceObject
);
VOID IoStopTimer(PDEVICE_OBJECT DeviceObject);
VOID
IoStopTimer (
PDEVICE_OBJECT DeviceObject
);
VOID IoUnregisterShutdownNotification(PDEVICE_OBJECT DeviceObject);
VOID
IoUnregisterShutdownNotification (
PDEVICE_OBJECT DeviceObject
);
VOID IoUpdateShareAccess(PFILE_OBJECT FileObject, PSHARE_ACCESS ShareAccess);
VOID
IoUpdateShareAccess (
PFILE_OBJECT FileObject,
PSHARE_ACCESS ShareAccess
);
VOID IoWriteErrorLogEntry(PVOID ElEntry);
VOID
IoWriteErrorLogEntry (
PVOID ElEntry
);
NTSTATUS IoWritePartitionTable(PDEVICE_OBJECT DeviceObject,
ULONG SectorSize,
ULONG SectorsPerTrack,
ULONG NumberOfHeads,
struct _DRIVE_LAYOUT_INFORMATION* PBuffer);
NTSTATUS
IoWritePartitionTable (
PDEVICE_OBJECT DeviceObject,
ULONG SectorSize,
ULONG SectorsPerTrack,
ULONG NumberOfHeads,
struct _DRIVE_LAYOUT_INFORMATION* PBuffer
);
// Preliminary guess
NTKERNELAPI NTSTATUS IoQueryFileVolumeInformation(IN PFILE_OBJECT FileObject,
IN FS_INFORMATION_CLASS FsInformationClass,
IN ULONG Length,
OUT PVOID FsInformation,
OUT PULONG ReturnedLength);
NTKERNELAPI
NTSTATUS
IoQueryFileVolumeInformation (
IN PFILE_OBJECT FileObject,
IN FS_INFORMATION_CLASS FsInformationClass,
IN ULONG Length,
OUT PVOID FsInformation,
OUT PULONG ReturnedLength
);
NTKERNELAPI // confirmed - Undocumented because it does not require a valid file handle
NTSTATUS
IoQueryFileInformation(
IN PFILE_OBJECT FileObject,
IN FILE_INFORMATION_CLASS FileInformationClass,
IN ULONG Length,
OUT PVOID FileInformation,
OUT PULONG ReturnedLength
);
VOID IoRegisterFileSystem(PDEVICE_OBJECT DeviceObject);
PDEVICE_OBJECT IoGetAttachedDevice(PDEVICE_OBJECT DeviceObject);
PFILE_OBJECT IoCreateStreamFileObject(PFILE_OBJECT FileObject,
PDEVICE_OBJECT DeviceObject);
IoQueryFileInformation (
IN PFILE_OBJECT FileObject,
IN FILE_INFORMATION_CLASS FileInformationClass,
IN ULONG Length,
OUT PVOID FileInformation,
OUT PULONG ReturnedLength
);
VOID
IoRegisterFileSystem (
PDEVICE_OBJECT DeviceObject
);
PDEVICE_OBJECT
IoGetAttachedDevice (
PDEVICE_OBJECT DeviceObject
);
PFILE_OBJECT
IoCreateStreamFileObject (
PFILE_OBJECT FileObject,
PDEVICE_OBJECT DeviceObject
);

File diff suppressed because it is too large Load diff

View file

@ -111,167 +111,539 @@ enum
* RootDirectory = Where the object should be placed or NULL
* SecurityDescriptor = Ignored
*/
VOID InitializeObjectAttributes(POBJECT_ATTRIBUTES InitializedAttributes,
PUNICODE_STRING ObjectName,
ULONG Attributes,
HANDLE RootDirectory,
PSECURITY_DESCRIPTOR SecurityDescriptor);
VOID
InitializeObjectAttributes (
POBJECT_ATTRIBUTES InitializedAttributes,
PUNICODE_STRING ObjectName,
ULONG Attributes,
HANDLE RootDirectory,
PSECURITY_DESCRIPTOR SecurityDescriptor
);
VOID InitializeListHead(PLIST_ENTRY ListHead);
VOID InsertHeadList(PLIST_ENTRY ListHead, PLIST_ENTRY Entry);
VOID InsertTailList(PLIST_ENTRY ListHead, PLIST_ENTRY Entry);
BOOLEAN IsListEmpty(PLIST_ENTRY ListHead);
PSINGLE_LIST_ENTRY PopEntryList(PSINGLE_LIST_ENTRY ListHead);
VOID PushEntryList(PSINGLE_LIST_ENTRY ListHead, PSINGLE_LIST_ENTRY Entry);
VOID RemoveEntryList(PLIST_ENTRY Entry);
PLIST_ENTRY RemoveHeadList(PLIST_ENTRY ListHead);
PLIST_ENTRY RemoveTailList(PLIST_ENTRY ListHead);
ULONG RtlAnsiStringToUnicodeSize(PANSI_STRING AnsiString);
NTSTATUS RtlAnsiStringToUnicodeString(PUNICODE_STRING DestinationString,
PANSI_STRING SourceString,
BOOLEAN AllocateDestinationString);
NTSTATUS RtlAppendUnicodeStringToString(PUNICODE_STRING Destination,
PUNICODE_STRING Source);
NTSTATUS RtlAppendUnicodeToString(PUNICODE_STRING Destination,
PWSTR Source);
NTSTATUS RtlCharToInteger(PCSZ String, ULONG Base, PULONG Value);
NTSTATUS RtlCheckRegistryKey(ULONG RelativeTo, PWSTR Path);
ULONG RtlCompareMemory(PVOID Source1, PVOID Source2, ULONG Length);
LONG RtlCompareString(PSTRING String1, PSTRING String2,
BOOLEAN CaseInsensitive);
LONG RtlCompareUnicodeString(PUNICODE_STRING String1,
PUNICODE_STRING String2,
BOOLEAN BaseInsensitive);
LARGE_INTEGER RtlConvertLongToLargeInteger(LONG SignedInteger);
LARGE_INTEGER RtlConvertUlongToLargeInteger(ULONG UnsignedInteger);
VOID RtlCopyBytes(PVOID Destination, CONST VOID* Source, ULONG Length);
VOID RtlCopyMemory(VOID* Destination, CONST VOID* Source, ULONG Length);
VOID RtlCopyString(PSTRING DestinationString, PSTRING SourceString);
VOID RtlCopyUnicodeString(PUNICODE_STRING DestinationString,
PUNICODE_STRING SourceString);
NTSTATUS RtlCreateRegistryKey(ULONG RelativeTo,
PWSTR Path);
NTSTATUS RtlCreateSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
ULONG Revision);
NTSTATUS RtlDeleteRegistryValue(ULONG RelativeTo,
PWSTR Path,
PWSTR ValueName);
LARGE_INTEGER RtlEnlargedIntegerMultiply(LONG Multiplicand,
LONG Multiplier);
ULONG RtlEnlargedUnsignedDivide(ULARGE_INTEGER Dividend,
ULONG Divisor,
PULONG Remainder);
LARGE_INTEGER RtlEnlargedUnsignedMultiply(ULONG Multiplicand,
ULONG Multiplier);
BOOLEAN RtlEqualString(PSTRING String1,
PSTRING String2,
BOOLEAN CaseInSensitive);
BOOLEAN RtlEqualUnicodeString(PUNICODE_STRING String1,
PUNICODE_STRING String2,
BOOLEAN CaseInSensitive);
LARGE_INTEGER RtlExtendedIntegerMultiply(LARGE_INTEGER Multiplicand,
LONG Multiplier);
LARGE_INTEGER RtlExtendedLargeIntegerDivide(LARGE_INTEGER Dividend,
ULONG Divisor,
PULONG Remainder);
LARGE_INTEGER RtlExtendedMagicDivide(LARGE_INTEGER Dividend,
LARGE_INTEGER MagicDivisor,
CCHAR ShiftCount);
VOID RtlFillMemory(PVOID Destination, ULONG Length, UCHAR Fill);
VOID RtlFreeAnsiString(PANSI_STRING AnsiString);
VOID RtlFreeUnicodeString(PUNICODE_STRING UnicodeString);
VOID RtlInitAnsiString(PANSI_STRING DestinationString,
PCSZ SourceString);
VOID RtlInitString(PSTRING DestinationString, PCSZ SourceString);
VOID RtlInitUnicodeString(PUNICODE_STRING DestinationString,
PCWSTR SourceString);
NTSTATUS RtlIntegerToUnicodeString(ULONG Value,
ULONG Base,
PUNICODE_STRING String);
LARGE_INTEGER RtlLargeIntegerAdd(LARGE_INTEGER Addend1,
LARGE_INTEGER Addend2);
VOID RtlLargeIntegerAnd(PLARGE_INTEGER Result,
LARGE_INTEGER Source,
LARGE_INTEGER Mask);
VOID
InitializeListHead (
PLIST_ENTRY ListHead
);
VOID
InsertHeadList (
PLIST_ENTRY ListHead,
PLIST_ENTRY Entry
);
VOID
InsertTailList (
PLIST_ENTRY ListHead,
PLIST_ENTRY Entry
);
BOOLEAN
IsListEmpty (
PLIST_ENTRY ListHead
);
PSINGLE_LIST_ENTRY
PopEntryList (
PSINGLE_LIST_ENTRY ListHead
);
VOID
PushEntryList (
PSINGLE_LIST_ENTRY ListHead,
PSINGLE_LIST_ENTRY Entry
);
VOID
RemoveEntryList (
PLIST_ENTRY Entry
);
PLIST_ENTRY
RemoveHeadList (
PLIST_ENTRY ListHead
);
PLIST_ENTRY
RemoveTailList (
PLIST_ENTRY ListHead
);
ULONG
RtlAnsiStringToUnicodeSize (
PANSI_STRING AnsiString
);
NTSTATUS
RtlAnsiStringToUnicodeString (
PUNICODE_STRING DestinationString,
PANSI_STRING SourceString,
BOOLEAN AllocateDestinationString
);
NTSTATUS
RtlAppendUnicodeStringToString (
PUNICODE_STRING Destination,
PUNICODE_STRING Source
);
NTSTATUS
RtlAppendUnicodeToString (
PUNICODE_STRING Destination,
PWSTR Source
);
NTSTATUS
RtlCharToInteger (
PCSZ String,
ULONG Base,
PULONG Value
);
NTSTATUS
RtlCheckRegistryKey (
ULONG RelativeTo,
PWSTR Path
);
ULONG
RtlCompareMemory (
PVOID Source1,
PVOID Source2,
ULONG Length
);
LONG
RtlCompareString (
PSTRING String1,
PSTRING String2,
BOOLEAN CaseInsensitive
);
LONG
RtlCompareUnicodeString (
PUNICODE_STRING String1,
PUNICODE_STRING String2,
BOOLEAN BaseInsensitive
);
LARGE_INTEGER
RtlConvertLongToLargeInteger (
LONG SignedInteger
);
LARGE_INTEGER
RtlConvertUlongToLargeInteger (
ULONG UnsignedInteger
);
VOID
RtlCopyBytes (
PVOID Destination,
CONST VOID * Source,
ULONG Length
);
VOID
RtlCopyMemory (
VOID * Destination,
CONST VOID * Source,
ULONG Length
);
VOID
RtlCopyString (
PSTRING DestinationString,
PSTRING SourceString
);
VOID
RtlCopyUnicodeString (
PUNICODE_STRING DestinationString,
PUNICODE_STRING SourceString
);
NTSTATUS
RtlCreateRegistryKey (
ULONG RelativeTo,
PWSTR Path
);
NTSTATUS
RtlCreateSecurityDescriptor (
PSECURITY_DESCRIPTOR SecurityDescriptor,
ULONG Revision
);
NTSTATUS
RtlDeleteRegistryValue (
ULONG RelativeTo,
PWSTR Path,
PWSTR ValueName
);
LARGE_INTEGER
RtlEnlargedIntegerMultiply (
LONG Multiplicand,
LONG Multiplier
);
ULONG
RtlEnlargedUnsignedDivide (
ULARGE_INTEGER Dividend,
ULONG Divisor,
PULONG Remainder
);
LARGE_INTEGER
RtlEnlargedUnsignedMultiply (
ULONG Multiplicand,
ULONG Multiplier
);
BOOLEAN
RtlEqualString (
PSTRING String1,
PSTRING String2,
BOOLEAN CaseInSensitive
);
BOOLEAN
RtlEqualUnicodeString (
PUNICODE_STRING String1,
PUNICODE_STRING String2,
BOOLEAN CaseInSensitive
);
LARGE_INTEGER
RtlExtendedIntegerMultiply (
LARGE_INTEGER Multiplicand,
LONG Multiplier
);
LARGE_INTEGER
RtlExtendedLargeIntegerDivide (
LARGE_INTEGER Dividend,
ULONG Divisor,
PULONG Remainder
);
LARGE_INTEGER
RtlExtendedMagicDivide (
LARGE_INTEGER Dividend,
LARGE_INTEGER MagicDivisor,
CCHAR ShiftCount
);
VOID
RtlFillMemory (
PVOID Destination,
ULONG Length,
UCHAR Fill
);
VOID
RtlFreeAnsiString (
PANSI_STRING AnsiString
);
VOID
RtlFreeUnicodeString (
PUNICODE_STRING UnicodeString
);
VOID
RtlInitAnsiString (
PANSI_STRING DestinationString,
PCSZ SourceString
);
VOID
RtlInitString (
PSTRING DestinationString,
PCSZ SourceString
);
VOID
RtlInitUnicodeString (
PUNICODE_STRING DestinationString,
PCWSTR SourceString
);
NTSTATUS
RtlIntegerToUnicodeString (
ULONG Value,
ULONG Base,
PUNICODE_STRING String
);
LARGE_INTEGER
RtlLargeIntegerAdd (
LARGE_INTEGER Addend1,
LARGE_INTEGER Addend2
);
VOID
RtlLargeIntegerAnd (
PLARGE_INTEGER Result,
LARGE_INTEGER Source,
LARGE_INTEGER Mask
);
/* MISSING FUNCTIONS GO HERE */
LARGE_INTEGER RtlConvertLongToLargeInteger(LONG SignedInteger);
LARGE_INTEGER RtlConvertUlongToLargeInteger(ULONG UnsignedInteger);
LARGE_INTEGER RtlEnlargedIntegerMultiply(LONG Multiplicand,
LONG Multiplier);
ULONG RtlEnlargedUnsignedDivide(ULARGE_INTEGER Dividend,
ULONG Divisor,
PULONG Remainder);
LARGE_INTEGER RtlEnlargedUnsignedMultiply(ULONG Multiplicand,
ULONG Multipler);
LARGE_INTEGER RtlExtendedIntegerMultiply(LARGE_INTEGER Multiplicand,
LONG Multiplier);
LARGE_INTEGER RtlExtendedLargeIntegerDivide(LARGE_INTEGER Dividend,
ULONG Divisor,
PULONG Remainder);
LARGE_INTEGER RtlExtendedMagicDivide(LARGE_INTEGER Dividend,
LARGE_INTEGER MagicDivisor,
CCHAR ShiftCount);
LARGE_INTEGER ExInterlockedAddLargeInteger(PLARGE_INTEGER Addend,
LARGE_INTEGER Increment,
PKSPIN_LOCK Lock);
LARGE_INTEGER RtlLargeIntegerAdd(LARGE_INTEGER Addend1,
LARGE_INTEGER Addend2);
VOID RtlLargeIntegerAnd(PLARGE_INTEGER Result,
LARGE_INTEGER Source,
LARGE_INTEGER Mask);
LARGE_INTEGER RtlLargeIntegerArithmeticShift(LARGE_INTEGER LargeInteger,
CCHAR ShiftCount);
LARGE_INTEGER RtlLargeIntegerDivide(LARGE_INTEGER Dividend,
LARGE_INTEGER Divisor,
PLARGE_INTEGER Remainder);
BOOLEAN RtlLargeIntegerEqualTo(LARGE_INTEGER Operand1,
LARGE_INTEGER Operand2);
BOOLEAN RtlLargeIntegerEqualToZero(LARGE_INTEGER Operand);
BOOLEAN RtlLargeIntegerGreaterThan(LARGE_INTEGER Operand1,
LARGE_INTEGER Operand2);
BOOLEAN RtlLargeIntegerGreaterThanOrEqualTo(LARGE_INTEGER Operand1,
LARGE_INTEGER Operand2);
BOOLEAN RtlLargeIntegerGreaterThanOrEqualToZero(LARGE_INTEGER Operand1);
BOOLEAN RtlLargeIntegerGreaterThanZero(LARGE_INTEGER Operand1);
BOOLEAN RtlLargeIntegerLessThan(LARGE_INTEGER Operand1,
LARGE_INTEGER Operand2);
BOOLEAN RtlLargeIntegerLessThanOrEqualTo(LARGE_INTEGER Operand1,
LARGE_INTEGER Operand2);
BOOLEAN RtlLargeIntegerLessThanOrEqualToZero(LARGE_INTEGER Operand);
BOOLEAN RtlLargeIntegerLessThanZero(LARGE_INTEGER Operand);
LARGE_INTEGER RtlLargeIntegerNegate(LARGE_INTEGER Subtrahend);
BOOLEAN RtlLargeIntegerNotEqualTo(LARGE_INTEGER Operand1,
LARGE_INTEGER Operand2);
BOOLEAN RtlLargeIntegerNotEqualToZero(LARGE_INTEGER Operand);
LARGE_INTEGER RtlLargeIntegerShiftLeft(LARGE_INTEGER LargeInteger,
CCHAR ShiftCount);
LARGE_INTEGER RtlLargeIntegerShiftRight(LARGE_INTEGER LargeInteger,
CCHAR ShiftCount);
LARGE_INTEGER RtlLargeIntegerSubtract(LARGE_INTEGER Minuend,
LARGE_INTEGER Subtrahend);
ULONG RtlLengthSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor);
VOID RtlMoveMemory(PVOID Destination, CONST VOID* Source, ULONG Length);
NTSTATUS RtlQueryRegistryValues(ULONG RelativeTo,
PWSTR Path,
PRTL_QUERY_REGISTRY_TABLE QueryTable,
PVOID Context, PVOID Environment);
VOID RtlRetrieveUlong(PULONG DestinationAddress,
PULONG SourceAddress);
VOID RtlRetrieveUshort(PUSHORT DestinationAddress,
PUSHORT SourceAddress);
NTSTATUS RtlSetDaclSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
BOOLEAN DaclPresent,
PACL Dacl,
BOOLEAN DaclDefaulted);
VOID RtlStoreLong(PULONG Address, ULONG Value);
VOID RtlStoreUshort(PUSHORT Address, USHORT Value);
BOOLEAN RtlTimeFieldsToTime(PTIME_FIELDS TimeFields, PLARGE_INTEGER Time);
VOID RtlTimeToTimeFields(PLARGE_INTEGER Time, PTIME_FIELDS TimeFields);
PWSTR RtlStrtok(PUNICODE_STRING _string, PWSTR _sep, PWSTR* temp);
VOID RtlGetCallersAddress(PVOID* CallersAddress);
VOID RtlZeroMemory(PVOID Destination, ULONG Length);
LARGE_INTEGER
RtlConvertLongToLargeInteger (
LONG SignedInteger
);
LARGE_INTEGER
RtlConvertUlongToLargeInteger (
ULONG UnsignedInteger
);
LARGE_INTEGER
RtlEnlargedIntegerMultiply (
LONG Multiplicand,
LONG Multiplier
);
ULONG
RtlEnlargedUnsignedDivide (
ULARGE_INTEGER Dividend,
ULONG Divisor,
PULONG Remainder
);
LARGE_INTEGER
RtlEnlargedUnsignedMultiply (
ULONG Multiplicand,
ULONG Multipler
);
LARGE_INTEGER
RtlExtendedIntegerMultiply (
LARGE_INTEGER Multiplicand,
LONG Multiplier
);
LARGE_INTEGER
RtlExtendedLargeIntegerDivide (
LARGE_INTEGER Dividend,
ULONG Divisor,
PULONG Remainder
);
LARGE_INTEGER
RtlExtendedMagicDivide (
LARGE_INTEGER Dividend,
LARGE_INTEGER MagicDivisor,
CCHAR ShiftCount
);
LARGE_INTEGER
ExInterlockedAddLargeInteger (
PLARGE_INTEGER Addend,
LARGE_INTEGER Increment,
PKSPIN_LOCK Lock
);
LARGE_INTEGER
RtlLargeIntegerAdd (
LARGE_INTEGER Addend1,
LARGE_INTEGER Addend2
);
VOID
RtlLargeIntegerAnd (
PLARGE_INTEGER Result,
LARGE_INTEGER Source,
LARGE_INTEGER Mask
);
LARGE_INTEGER
RtlLargeIntegerArithmeticShift (
LARGE_INTEGER LargeInteger,
CCHAR ShiftCount
);
LARGE_INTEGER
RtlLargeIntegerDivide (
LARGE_INTEGER Dividend,
LARGE_INTEGER Divisor,
PLARGE_INTEGER Remainder
);
BOOLEAN
RtlLargeIntegerEqualTo (
LARGE_INTEGER Operand1,
LARGE_INTEGER Operand2
);
BOOLEAN
RtlLargeIntegerEqualToZero (
LARGE_INTEGER Operand
);
BOOLEAN
RtlLargeIntegerGreaterThan (
LARGE_INTEGER Operand1,
LARGE_INTEGER Operand2
);
BOOLEAN
RtlLargeIntegerGreaterThanOrEqualTo (
LARGE_INTEGER Operand1,
LARGE_INTEGER Operand2
);
BOOLEAN
RtlLargeIntegerGreaterThanOrEqualToZero (
LARGE_INTEGER Operand1
);
BOOLEAN
RtlLargeIntegerGreaterThanZero (
LARGE_INTEGER Operand1
);
BOOLEAN
RtlLargeIntegerLessThan (
LARGE_INTEGER Operand1,
LARGE_INTEGER Operand2
);
BOOLEAN
RtlLargeIntegerLessThanOrEqualTo (
LARGE_INTEGER Operand1,
LARGE_INTEGER Operand2
);
BOOLEAN
RtlLargeIntegerLessThanOrEqualToZero (
LARGE_INTEGER Operand
);
BOOLEAN
RtlLargeIntegerLessThanZero (
LARGE_INTEGER Operand
);
LARGE_INTEGER
RtlLargeIntegerNegate (
LARGE_INTEGER Subtrahend
);
BOOLEAN
RtlLargeIntegerNotEqualTo (
LARGE_INTEGER Operand1,
LARGE_INTEGER Operand2
);
BOOLEAN
RtlLargeIntegerNotEqualToZero (
LARGE_INTEGER Operand
);
LARGE_INTEGER
RtlLargeIntegerShiftLeft (
LARGE_INTEGER LargeInteger,
CCHAR ShiftCount
);
LARGE_INTEGER
RtlLargeIntegerShiftRight (
LARGE_INTEGER LargeInteger,
CCHAR ShiftCount
);
LARGE_INTEGER
RtlLargeIntegerSubtract (
LARGE_INTEGER Minuend,
LARGE_INTEGER Subtrahend
);
ULONG
RtlLengthSecurityDescriptor (
PSECURITY_DESCRIPTOR SecurityDescriptor
);
VOID
RtlMoveMemory (
PVOID Destination,
CONST VOID * Source,
ULONG Length
);
NTSTATUS
RtlQueryRegistryValues (
ULONG RelativeTo,
PWSTR Path,
PRTL_QUERY_REGISTRY_TABLE QueryTable,
PVOID Context,
PVOID Environment
);
VOID
RtlRetrieveUlong (
PULONG DestinationAddress,
PULONG SourceAddress
);
VOID
RtlRetrieveUshort (
PUSHORT DestinationAddress,
PUSHORT SourceAddress
);
NTSTATUS
RtlSetDaclSecurityDescriptor (
PSECURITY_DESCRIPTOR SecurityDescriptor,
BOOLEAN DaclPresent,
PACL Dacl,
BOOLEAN DaclDefaulted
);
VOID
RtlStoreLong (
PULONG Address,
ULONG Value
);
VOID
RtlStoreUshort (
PUSHORT Address,
USHORT Value
);
BOOLEAN
RtlTimeFieldsToTime (
PTIME_FIELDS TimeFields,
PLARGE_INTEGER Time
);
VOID
RtlTimeToTimeFields (
PLARGE_INTEGER Time,
PTIME_FIELDS TimeFields
);
PWSTR
RtlStrtok (
PUNICODE_STRING _string,
PWSTR _sep,
PWSTR * temp
);
VOID
RtlGetCallersAddress (
PVOID * CallersAddress
);
VOID
RtlZeroMemory (
PVOID Destination,
ULONG Length
);
typedef struct {
ULONG Length;
@ -280,60 +652,154 @@ typedef struct {
// Heap creation routine
HANDLE STDCALL RtlCreateHeap(ULONG Flags,
PVOID BaseAddress,
ULONG SizeToReserve,
ULONG SizeToCommit,
PVOID Unknown,
PRTL_HEAP_DEFINITION Definition);
HANDLE
STDCALL
RtlCreateHeap (
ULONG Flags,
PVOID BaseAddress,
ULONG SizeToReserve,
ULONG SizeToCommit,
PVOID Unknown,
PRTL_HEAP_DEFINITION Definition
);
PVOID STDCALL RtlAllocateHeap(HANDLE Heap,
ULONG Flags,
ULONG Size);
PVOID
STDCALL
RtlAllocateHeap (
HANDLE Heap,
ULONG Flags,
ULONG Size
);
BOOLEAN STDCALL RtlFreeHeap(HANDLE Heap,
ULONG Flags,
PVOID Address);
BOOLEAN
STDCALL
RtlFreeHeap (
HANDLE Heap,
ULONG Flags,
PVOID Address
);
NTSTATUS RtlUnicodeStringToAnsiString(IN OUT PANSI_STRING DestinationString,
IN PUNICODE_STRING SourceString,
IN BOOLEAN AllocateDestinationString);
NTSTATUS RtlUnicodeStringToInteger(IN PUNICODE_STRING String, IN ULONG Base,
OUT PULONG Value);
NTSTATUS RtlUpcaseUnicodeString(IN OUT PUNICODE_STRING DestinationString,
IN PUNICODE_STRING SourceString,
IN BOOLEAN AllocateDestinationString);
VOID RtlUpperString(PSTRING DestinationString, PSTRING SourceString);
BOOLEAN RtlValidSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor);
NTSTATUS RtlWriteRegistryValue(ULONG RelativeTo,
PWSTR Path,
PWSTR ValueName,
ULONG ValueType,
PVOID ValueData,
ULONG ValueLength);
NTSTATUS
RtlUnicodeStringToAnsiString (
IN OUT PANSI_STRING DestinationString,
IN PUNICODE_STRING SourceString,
IN BOOLEAN AllocateDestinationString
);
NTSTATUS
RtlUnicodeStringToInteger (
IN PUNICODE_STRING String,
IN ULONG Base,
OUT PULONG Value
);
NTSTATUS
RtlUpcaseUnicodeString (
IN OUT PUNICODE_STRING DestinationString,
IN PUNICODE_STRING SourceString,
IN BOOLEAN AllocateDestinationString
);
VOID
RtlUpperString (
PSTRING DestinationString,
PSTRING SourceString
);
BOOLEAN
RtlValidSecurityDescriptor (
PSECURITY_DESCRIPTOR SecurityDescriptor
);
NTSTATUS
RtlWriteRegistryValue (
ULONG RelativeTo,
PWSTR Path,
PWSTR ValueName,
ULONG ValueType,
PVOID ValueData,
ULONG ValueLength
);
VOID
RtlStoreUlong (
PULONG Address,
ULONG Value
);
DWORD
RtlNtStatusToDosError (
NTSTATUS StatusCode
);
BOOL
WINAPI
RtlDestroyHeap (
HANDLE hheap
);
LPVOID
STDCALL
RtlReAllocHeap (
HANDLE hheap,
DWORD flags,
LPVOID ptr,
DWORD size
);
VOID RtlStoreUlong(PULONG Address,
ULONG Value);
HANDLE
WINAPI
RtlGetProcessHeap (VOID);
BOOL
WINAPI
RtlLockHeap (
HANDLE hheap
);
DWORD RtlNtStatusToDosError(NTSTATUS StatusCode);
BOOL
WINAPI
RtlUnlockHeap (
HANDLE hheap
);
UINT
RtlCompactHeap (
HANDLE hheap,
DWORD flags
);
DWORD
WINAPI
RtlSizeHeap (
HANDLE hheap,
DWORD flags,
PVOID pmem
);
BOOL WINAPI RtlDestroyHeap(HANDLE hheap);
LPVOID STDCALL RtlReAllocHeap(HANDLE hheap, DWORD flags, LPVOID ptr,
DWORD size);
HANDLE WINAPI RtlGetProcessHeap(VOID);
BOOL WINAPI RtlLockHeap(HANDLE hheap);
BOOL WINAPI RtlUnlockHeap(HANDLE hheap);
UINT RtlCompactHeap(HANDLE hheap, DWORD flags);
DWORD WINAPI RtlSizeHeap(HANDLE hheap, DWORD flags, PVOID pmem);
BOOL WINAPI RtlValidateHeap(HANDLE hheap, DWORD flags, PVOID pmem);
BOOL
WINAPI
RtlValidateHeap (
HANDLE hheap,
DWORD flags,
PVOID pmem
);
/* NtProcessStartup */
VOID
WINAPI
RtlDestroyProcessParameters(
IN OUT PSTARTUP_ARGUMENT pArgument
);
VOID
WINAPI
RtlDenormalizeProcessParams (
IN OUT PSTARTUP_ARGUMENT pArgument
);
#endif /* __DDK_RTL_H */

View file

@ -1,4 +1,4 @@
/* $Id: zw.h,v 1.15 1999/07/13 01:08:47 rex Exp $
/* $Id: zw.h,v 1.16 1999/07/17 23:10:15 ea Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -1069,14 +1069,14 @@ ZwCreateSymbolicLinkObject(
NTSTATUS
STDCALL
NtCreateThread(
OUT PHANDLE ThreadHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
IN HANDLE ProcessHandle,
OUT PCLIENT_ID ClientId,
IN PCONTEXT ThreadContext,
IN PINITIAL_TEB InitialTeb,
IN BOOLEAN CreateSuspended
OUT PHANDLE ThreadHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
IN HANDLE ProcessHandle,
OUT PCLIENT_ID ClientId,
IN PCONTEXT ThreadContext,
IN PINITIAL_TEB InitialTeb,
IN BOOLEAN CreateSuspended
);
NTSTATUS
@ -4638,51 +4638,7 @@ ZwSetVolumeInformationFile(
PVOID VolumeInformation,
ULONG Length
);
/*
* FUNCTION: Shuts the system down
* ARGUMENTS:
* Action: Specifies the type of shutdown, it can be one of the following values:
ShutdownNoReboot, ShutdownReboot, ShutdownPowerOff
* RETURNS: Status
*/
NTSTATUS
STDCALL
NtShutdownSystem(
IN SHUTDOWN_ACTION Action
);
NTSTATUS
STDCALL
ZwShutdownSystem(
IN SHUTDOWN_ACTION Action
);
/*
* FUNCTION: Signals an event and wait for it to be signaled again.
* ARGUMENTS:
* EventHandle = Handle to the event that should be signaled
* Alertable = True if the wait is alertable
* Time = The time to wait
* NumberOfWaitingThreads = Number of waiting threads
* RETURNS: Status
*/
NTSTATUS
STDCALL
NtSignalAndWaitForSingleObject(
IN HANDLE EventHandle,
IN BOOLEAN Alertable,
IN PLARGE_INTEGER Time,
PULONG NumberOfWaitingThreads OPTIONAL
);
NTSTATUS
STDCALL
ZwSignalAndWaitForSingleObject(
IN HANDLE EventHandle,
IN BOOLEAN Alertable,
IN PLARGE_INTEGER Time,
PULONG NumberOfWaitingThreads OPTIONAL
);
/* --- PROFILING --- */
/*
* FUNCTION: Starts profiling
@ -4723,29 +4679,7 @@ ZwStopProfile(
HANDLE ProfileHandle
);
/*
* FUNCTION: Increments a thread's resume count
* ARGUMENTS:
* ThreadHandle = Handle to the thread that should be resumed
* PreviousSuspendCount = The resulting/previous suspend count.
* REMARK:
* A thread will be suspended if its suspend count is greater than 0. This procedure maps to
* the win32 SuspendThread function. ( documentation about the the suspend count can be found here aswell )
* The suspend count is not increased if it is greater than MAXIMUM_SUSPEND_COUNT.
* RETURNS: Status
*/
NTSTATUS
STDCALL
NtSuspendThread(
IN HANDLE ThreadHandle,
IN PULONG PreviousSuspendCount
);
NTSTATUS
STDCALL
ZwSuspendThread(
IN HANDLE ThreadHandle,
IN PULONG PreviousSuspendCount
);
/* --- PROCESS MANAGEMENT --- */
//--NtSystemDebugControl
/*
@ -4769,39 +4703,9 @@ ZwTerminateProcess(
IN HANDLE ProcessHandle ,
IN NTSTATUS ExitStatus
);
/*
* FUNCTION: Terminates the execution of a thread.
* ARGUMENTS:
* ThreadHandle = Handle to the thread
* ExitStatus = The exit status of the thread to terminate with.
* RETURNS: Status
*/
NTSTATUS
STDCALL
NtTerminateThread(
IN HANDLE ThreadHandle ,
IN NTSTATUS ExitStatus
);
NTSTATUS
STDCALL
ZwTerminateThread(
IN HANDLE ThreadHandle ,
IN NTSTATUS ExitStatus
);
/*
* FUNCTION: Tests to see if there are any pending alerts for the calling thread
* RETURNS: Status
*/
NTSTATUS
STDCALL
NtTestAlert(
VOID
);
NTSTATUS
STDCALL
ZwTestAlert(
VOID
);
/* --- DEVICE DRIVER CONTROL --- */
/*
* FUNCTION: Unloads a driver.
* ARGUMENTS:
@ -4819,63 +4723,40 @@ ZwUnloadDriver(
IN PUNICODE_STRING DriverServiceName
);
//FIXME: NtUnloadKey needs more arguments
/*
* FUNCTION: Unloads a registry key.
* ARGUMENTS:
* KeyHandle = Handle to the registry key
* REMARK:
This procedure maps to the win32 procedure RegUnloadKey
* RETURNS: Status
*/
NTSTATUS
STDCALL
NtUnloadKey(
HANDLE KeyHandle
);
NTSTATUS
STDCALL
ZwUnloadKey(
HANDLE KeyHandle
);
/* --- VIRTUAL MEMORY MANAGEMENT --- */
/*
* FUNCTION: Unlocks a range of bytes in a file.
* FUNCTION: Writes a range of virtual memory
* ARGUMENTS:
* FileHandle = Handle to the file
* IoStatusBlock = Caller should supply storage for a structure containing
* the completion status and information about the requested unlock operation.
The information field is set to the number of bytes unlocked.
* ByteOffset = Offset to start the range of bytes to unlock
* Length = Number of bytes to unlock.
* Key = Special value to enable other threads to unlock a file than the
thread that locked the file. The key supplied must match with the one obtained
in a previous call to NtLockFile.
* REMARK:
This procedure maps to the win32 procedure UnlockFileEx. STATUS_PENDING is returned if the lock could
not be obtained immediately, the device queue is busy and the IRP is queued.
* RETURNS: Status [ STATUS_SUCCESS | STATUS_PENDING | STATUS_ACCESS_DENIED | STATUS_INSUFFICIENT_RESOURCES |
STATUS_INVALID_PARAMETER | STATUS_INVALID_DEVICE_REQUEST | STATUS_RANGE_NOT_LOCKED ]
*/
NTSTATUS
STDCALL
NtUnlockFile(
IN HANDLE FileHandle,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN PLARGE_INTEGER ByteOffset,
IN PLARGE_INTEGER Lenght,
OUT PULONG Key OPTIONAL
* ProcessHandle = The handle to the process owning the address space.
* BaseAddress = The points to the address to write to
* Buffer = Pointer to the buffer to write
* NumberOfBytesToWrite = Offset to the upper boundary to write
* NumberOfBytesWritten = Total bytes written
* REMARKS:
* This function maps to the win32 WriteProcessMemory
* RETURNS: Status
*/
NTSTATUS
STDCALL
NtWriteVirtualMemory(
IN HANDLE ProcessHandle,
IN PVOID BaseAddress,
IN PVOID Buffer,
IN ULONG NumberOfBytesToWrite,
OUT PULONG NumberOfBytesWritten
);
NTSTATUS
STDCALL
ZwUnlockFile(
IN HANDLE FileHandle,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN PLARGE_INTEGER ByteOffset,
IN PLARGE_INTEGER Lenght,
OUT PULONG Key OPTIONAL
NTSTATUS
STDCALL
ZwWriteVirtualMemory(
IN HANDLE ProcessHandle,
IN PVOID BaseAddress,
IN PVOID Buffer,
IN ULONG NumberOfBytesToWrite,
OUT PULONG NumberOfBytesWritten
);
/*
* FUNCTION: Unlocks a range of virtual memory.
* ARGUMENTS:
@ -4925,6 +4806,37 @@ ZwUnmapViewOfSection(
IN HANDLE ProcessHandle,
IN PVOID BaseAddress
);
/* --- OBJECT SYNCHRONIZATION --- */
/*
* FUNCTION: Signals an event and wait for it to be signaled again.
* ARGUMENTS:
* EventHandle = Handle to the event that should be signaled
* Alertable = True if the wait is alertable
* Time = The time to wait
* NumberOfWaitingThreads = Number of waiting threads
* RETURNS: Status
*/
NTSTATUS
STDCALL
NtSignalAndWaitForSingleObject(
IN HANDLE EventHandle,
IN BOOLEAN Alertable,
IN PLARGE_INTEGER Time,
PULONG NumberOfWaitingThreads OPTIONAL
);
NTSTATUS
STDCALL
ZwSignalAndWaitForSingleObject(
IN HANDLE EventHandle,
IN BOOLEAN Alertable,
IN PLARGE_INTEGER Time,
PULONG NumberOfWaitingThreads OPTIONAL
);
/*
* FUNCTION: Waits for multiple objects to become signalled.
* ARGUMENTS:
@ -4982,6 +4894,8 @@ ZwWaitForSingleObject (
IN PLARGE_INTEGER Time
);
/* --- EVENT PAIR OBJECT --- */
/*
* FUNCTION: Waits for the high part of an eventpair to become signalled
* ARGUMENTS:
@ -5013,6 +4927,46 @@ STDCALL
ZwWaitLowEventPair(
IN HANDLE EventPairHandle
);
/* --- FILE MANAGEMENT --- */
/*
* FUNCTION: Unlocks a range of bytes in a file.
* ARGUMENTS:
* FileHandle = Handle to the file
* IoStatusBlock = Caller should supply storage for a structure containing
* the completion status and information about the requested unlock operation.
The information field is set to the number of bytes unlocked.
* ByteOffset = Offset to start the range of bytes to unlock
* Length = Number of bytes to unlock.
* Key = Special value to enable other threads to unlock a file than the
thread that locked the file. The key supplied must match with the one obtained
in a previous call to NtLockFile.
* REMARK:
This procedure maps to the win32 procedure UnlockFileEx. STATUS_PENDING is returned if the lock could
not be obtained immediately, the device queue is busy and the IRP is queued.
* RETURNS: Status [ STATUS_SUCCESS | STATUS_PENDING | STATUS_ACCESS_DENIED | STATUS_INSUFFICIENT_RESOURCES |
STATUS_INVALID_PARAMETER | STATUS_INVALID_DEVICE_REQUEST | STATUS_RANGE_NOT_LOCKED ]
*/
NTSTATUS
STDCALL
NtUnlockFile(
IN HANDLE FileHandle,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN PLARGE_INTEGER ByteOffset,
IN PLARGE_INTEGER Lenght,
OUT PULONG Key OPTIONAL
);
NTSTATUS
STDCALL
ZwUnlockFile(
IN HANDLE FileHandle,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN PLARGE_INTEGER ByteOffset,
IN PLARGE_INTEGER Lenght,
OUT PULONG Key OPTIONAL
);
/*
* FUNCTION: Writes data to a file
* ARGUMENTS:
@ -5113,37 +5067,67 @@ ZwWriteFileGather(
);
/* --- THREAD MANAGEMENT --- */
/*
* FUNCTION: Writes a range of virtual memory
* FUNCTION: Increments a thread's resume count
* ARGUMENTS:
* ProcessHandle = The handle to the process owning the address space.
* BaseAddress = The points to the address to write to
* Buffer = Pointer to the buffer to write
* NumberOfBytesToWrite = Offset to the upper boundary to write
* NumberOfBytesWritten = Total bytes written
* REMARKS:
* This function maps to the win32 WriteProcessMemory
* ThreadHandle = Handle to the thread that should be resumed
* PreviousSuspendCount = The resulting/previous suspend count.
* REMARK:
* A thread will be suspended if its suspend count is greater than 0. This procedure maps to
* the win32 SuspendThread function. ( documentation about the the suspend count can be found here aswell )
* The suspend count is not increased if it is greater than MAXIMUM_SUSPEND_COUNT.
* RETURNS: Status
*/
NTSTATUS
*/
NTSTATUS
STDCALL
NtWriteVirtualMemory(
IN HANDLE ProcessHandle,
IN PVOID BaseAddress,
IN PVOID Buffer,
IN ULONG NumberOfBytesToWrite,
OUT PULONG NumberOfBytesWritten
NtSuspendThread(
IN HANDLE ThreadHandle,
IN PULONG PreviousSuspendCount
);
NTSTATUS
NTSTATUS
STDCALL
ZwWriteVirtualMemory(
IN HANDLE ProcessHandle,
IN PVOID BaseAddress,
IN PVOID Buffer,
IN ULONG NumberOfBytesToWrite,
OUT PULONG NumberOfBytesWritten
ZwSuspendThread(
IN HANDLE ThreadHandle,
IN PULONG PreviousSuspendCount
);
/*
* FUNCTION: Terminates the execution of a thread.
* ARGUMENTS:
* ThreadHandle = Handle to the thread
* ExitStatus = The exit status of the thread to terminate with.
* RETURNS: Status
*/
NTSTATUS
STDCALL
NtTerminateThread(
IN HANDLE ThreadHandle ,
IN NTSTATUS ExitStatus
);
NTSTATUS
STDCALL
ZwTerminateThread(
IN HANDLE ThreadHandle ,
IN NTSTATUS ExitStatus
);
/*
* FUNCTION: Tests to see if there are any pending alerts for the calling thread
* RETURNS: Status
*/
NTSTATUS
STDCALL
NtTestAlert(
VOID
);
NTSTATUS
STDCALL
ZwTestAlert(
VOID
);
/*
* FUNCTION: Yields the callers thread.
* RETURNS: Status
@ -5200,15 +5184,15 @@ STDCALL
NtAcceptConnectPort ( /* @24 */
IN HANDLE PortHandle,
OUT PHANDLE ConnectedPort,
DWORD a2,
DWORD a3,
DWORD a4,
DWORD a5
IN DWORD Unknown2,
IN DWORD Unknown3,
IN DWORD Unknown4,
IN DWORD Unknown5
);
NTSTATUS
STDCALL
NtCompleteConnectPort ( /* @4 */
HANDLE PortHandle
IN HANDLE PortHandle
);
NTSTATUS
STDCALL
@ -5307,38 +5291,174 @@ NtWriteRequestData ( /* @24 */
);
#endif /* ndef PROTO_LPC */
NTSTATUS STDCALL NtGetPlugPlayEvent(VOID);
/* --- REGISTRY --- */
NTSTATUS STDCALL NtLoadKey2(VOID);
//FIXME: NtUnloadKey needs more arguments
/*
* FUNCTION: Unloads a registry key.
* ARGUMENTS:
* KeyHandle = Handle to the registry key
* REMARK:
This procedure maps to the win32 procedure RegUnloadKey
* RETURNS: Status
*/
NTSTATUS
STDCALL
NtUnloadKey(
HANDLE KeyHandle
);
NTSTATUS
STDCALL
ZwUnloadKey(
HANDLE KeyHandle
);
NTSTATUS
STDCALL
NtLoadKey2 (
VOID
);
/* --- PLUG AND PLAY --- */
NTSTATUS
STDCALL
NtPlugPlayControl (
VOID
);
NTSTATUS
STDCALL
NtGetPlugPlayEvent (
VOID
);
/* --- NATIONAL LANGUAGE SUPPORT (NLS) --- */
NTSTATUS
STDCALL
NtQueryDefaultLocale (
VOID
);
NTSTATUS
STDCALL
NtSetDefaultLocale (
VOID
);
/* --- POWER MANAGEMENT --- */
NTSTATUS
STDCALL
NtSetSystemPowerState (
VOID
);
/* --- DEBUG SUBSYSTEM --- */
NTSTATUS
STDCALL
NtSystemDebugControl (
VOID
);
NTSTATUS STDCALL NtPlugPlayControl(VOID);
/* --- VIRTUAL DOS MACHINE (VDM) --- */
NTSTATUS STDCALL NtQueryDefaultLocale(VOID);
NTSTATUS
STDCALL
NtVdmControl (
VOID
);
/* --- WIN32 --- */
NTSTATUS STDCALL NtQueryOleDirectoryFile(VOID);
NTSTATUS
STDCALL
NtW32Call (
VOID
);
NTSTATUS STDCALL NtRaiseHardError(VOID);
/* --- CHANNELS --- */
NTSTATUS STDCALL NtSetDefaultLocale(VOID);
NTSTATUS
STDCALL
NtCreateChannel (
VOID
);
NTSTATUS
STDCALL
NtListenChannel (
VOID
);
NTSTATUS
STDCALL
NtOpenChannel (
VOID
);
NTSTATUS
STDCALL
NtReplyWaitSendChannel (
VOID
);
NTSTATUS
STDCALL
NtSendWaitReplyChannel (
VOID
);
NTSTATUS
STDCALL
NtSetContextChannel (
VOID
);
/* --- MISCELLANEA --- */
//NTSTATUS STDCALL NtSetLdtEntries(VOID);
NTSTATUS STDCALL NtSetLdtEntries(PETHREAD Thread,
ULONG FirstEntry,
PULONG Entries);
NTSTATUS
STDCALL
NtSetLdtEntries (
PETHREAD Thread,
ULONG FirstEntry,
PULONG Entries
);
NTSTATUS STDCALL NtSetSystemPowerState(VOID);
/*
* FUNCTION: Shuts the system down
* ARGUMENTS:
* Action: Specifies the type of shutdown, it can be one of the following values:
ShutdownNoReboot, ShutdownReboot, ShutdownPowerOff
* RETURNS: Status
*/
NTSTATUS
STDCALL
NtShutdownSystem(
IN SHUTDOWN_ACTION Action
);
NTSTATUS STDCALL NtSystemDebugControl(VOID);
NTSTATUS STDCALL NtVdmControl(VOID);
NTSTATUS
STDCALL
ZwShutdownSystem(
IN SHUTDOWN_ACTION Action
);
NTSTATUS
STDCALL
NtQueryOleDirectoryFile (
VOID
);
NTSTATUS
STDCALL
NtRaiseHardError (
VOID
);
NTSTATUS STDCALL NtW32Call(VOID);
NTSTATUS STDCALL NtCreateChannel(VOID);
NTSTATUS STDCALL NtListenChannel(VOID);
NTSTATUS STDCALL NtOpenChannel(VOID);
NTSTATUS STDCALL NtReplyWaitSendChannel(VOID);
NTSTATUS STDCALL NtSendWaitReplyChannel(VOID);
NTSTATUS STDCALL NtSetContextChannel(VOID);
#endif /* __DDK_ZW_H */

View file

@ -7,7 +7,7 @@
#define RES_UINT_FV_MINOR 0
#define RES_UINT_FV_REVISION 14
/* Build number as YYYYMMDD */
#define RES_UINT_FV_BUILD 19990618
#define RES_UINT_FV_BUILD 19990717
/* ReactOS Product Version UINTs */
@ -15,7 +15,7 @@
#define RES_UINT_PV_MINOR 0
#define RES_UINT_PV_REVISION 14
/* Build number as YYYYMMDD */
#define RES_UINT_PV_BUILD 19990618
#define RES_UINT_PV_BUILD 19990606
/* Common version strings for rc scripts */

View file

@ -1,4 +1,4 @@
; $Id: advapi32.def,v 1.2 1999/05/19 16:43:30 ea Exp $
; $Id: advapi32.def,v 1.3 1999/07/17 23:10:16 ea Exp $
;
; advapi32.def
;
@ -8,404 +8,404 @@
;
LIBRARY advapi32
EXPORTS
AbortSystemShutdownA = AbortSystemShutdownA@4
AbortSystemShutdownW = AbortSystemShutdownW@4
AccessCheck = AccessCheck@32
AccessCheckAndAuditAlarmA = AccessCheckAndAuditAlarmA@44
AccessCheckAndAuditAlarmW = AccessCheckAndAuditAlarmW@44
AddAccessAllowedAce = AddAccessAllowedAce@16
AddAccessDeniedAce = AddAccessDeniedAce@16
AddAce = AddAce@20
AddAuditAccessAce = AddAuditAccessAce@24
AdjustTokenGroups = AdjustTokenGroups@24
AdjustTokenPrivileges = AdjustTokenPrivileges@24
AllocateAndInitializeSid = AllocateAndInitializeSid@44
AllocateLocallyUniqueId = AllocateLocallyUniqueId@4
AreAllAccessesGranted = AreAllAccessesGranted@8
AreAnyAccessesGranted = AreAnyAccessesGranted@8
BackupEventLogA = BackupEventLogA@8
BackupEventLogW = BackupEventLogW@8
BuildAccessRequestA =
BuildAccessRequestW =
BuildExplicitAccessWithNameA = BuildExplicitAccessWithNameA@20
BuildExplicitAccessWithNameW = BuildExplicitAccessWithNameW@20
BuildImpersonateExplicitAccessWithNameA =
BuildImpersonateExplicitAccessWithNameW =
BuildImpersonateTrusteeA =
BuildImpersonateTrusteeW =
BuildSecurityDescriptorA = BuildSecurityDescriptorA@36
BuildSecurityDescriptorW = BuildSecurityDescriptorW@36
BuildTrusteeWithNameA = BuildTrusteeWithNameA@8
BuildTrusteeWithNameW = BuildTrusteeWithNameW@8
BuildTrusteeWithSidA = BuildTrusteeWithSidA@8
BuildTrusteeWithSidW = BuildTrusteeWithSidW@8
ChangeServiceConfigA = ChangeServiceConfigA@44
ChangeServiceConfigW = ChangeServiceConfigW@44
ClearEventLogA = ClearEventLogA@8
ClearEventLogW = ClearEventLogW@8
CloseEventLog = ClearEventLogA@8
CloseServiceHandle = CloseServiceHandle@4
ControlService = ControlService@12
CopySid = CopySid@12
CreatePrivateObjectSecurity = CreatePrivateObjectSecurity@24
CreateProcessAsUserA = CreateProcessAsUserA@44
CreateProcessAsUserW = CreateProcessAsUserW@44
CreateServiceA = CreateServiceA@52
CreateServiceW = CreateServiceW@52
CryptAcquireContextA = CryptAcquireContextA@20
CryptAcquireContextW = CryptAcquireContextW@20
CryptCreateHash = CryptCreateHash@20
CryptDecrypt = CryptDecrypt@24
CryptDeriveKey = CryptDeriveKey@20
CryptDestroyHash = CryptDestroyHash@4
CryptDestroyKey = CryptDestroyKey@4
CryptEncrypt = CryptEncrypt@28
CryptExportKey = CryptExportKey@24
CryptGenKey = CryptGenKey@16
CryptGenRandom = CryptGenRandom@12
CryptGetHashParam = CryptGetHashParam@20
CryptGetKeyParam = CryptGetKeyParam@20
CryptGetProvParam = CryptGetProvParam@20
CryptGetUserKey = CryptGetUserKey@12
CryptHashData = CryptHashData@16
CryptHashSessionKey = CryptHashSessionKey@12
CryptImportKey = CryptImportKey@24
CryptReleaseContext = CryptReleaseContext@8
CryptSetHashParam = CryptSetHashParam@16
CryptSetKeyParam = CryptSetKeyParam@16
CryptSetProvParam = CryptSetProvParam@16
CryptSetProviderA = CryptSetProviderA@8
CryptSetProviderW = CryptSetProviderW@8
CryptSignHashA = CryptSignHashA@24
CryptSignHashW = CryptSignHashW@24
CryptVerifySignatureA = CryptVerifySignatureA@24
CryptVerifySignatureW = CryptVerifySignatureW@24
DeleteAce = DeleteAce@8
DeleteService = DeleteService@4
DenyAccessRightsA =
DenyAccessRightsW =
DeregisterEventSource = DeregisterEventSource@4
DestroyPrivateObjectSecurity = DestroyPrivateObjectSecurity@4
DuplicateToken = DuplicateToken@12
DuplicateTokenEx = DuplicateTokenEx@24
ElfBackupEventLogFileA = ElfBackupEventLogFileA@8
ElfBackupEventLogFileW = ElfBackupEventLogFileW@8
ElfChangeNotify = ElfChangeNotify@8
ElfClearEventLogFileA = ElfClearEventLogFileA@8
ElfClearEventLogFileW = ElfClearEventLogFileW@8
ElfCloseEventLog = ElfCloseEventLog@4
ElfDeregisterEventSource = ElfDeregisterEventSource@4
ElfNumberOfRecords = ElfNumberOfRecords@8
ElfOldestRecord = ElfOldestRecord@8
ElfOpenBackupEventLogA = ElfOpenBackupEventLogA@12
ElfOpenBackupEventLogW = ElfOpenBackupEventLogW@12
ElfOpenEventLogA = ElfOpenEventLogA@12
ElfOpenEventLogW = ElfOpenEventLogW@12
ElfReadEventLogA = ElfReadEventLogA@28
ElfReadEventLogW = ElfReadEventLogW@28
ElfRegisterEventSourceA = ElfRegisterEventSourceA@12
ElfRegisterEventSourceW = ElfRegisterEventSourceW@12
ElfReportEventA = ElfReportEventA@48
ElfReportEventW = ElfReportEventW@48
EnumDependentServicesA = EnumDependentServicesA@24
EnumDependentServicesW = EnumDependentServicesW@24
EnumServiceGroupW =
EnumServicesStatusA = EnumServicesStatusA@32
EnumServicesStatusW = EnumServicesStatusW@32
EqualPrefixSid = EqualPrefixSid@8
EqualSid = EqualSid@8
FindFirstFreeAce = FindFirstFreeAce@8
FreeSid = FreeSid@4
GetAce = GetAce@12
GetAclInformation = GetAclInformation@16
GetAuditedPermissionsFromAclA =
GetAuditedPermissionsFromAclW =
GetAuditedPermissionsFromSDA =
GetAuditedPermissionsFromSDW =
GetCurrentHwProfileA =
GetCurrentHwProfileW =
GetEffectiveAccessRightsA =
GetEffectiveAccessRightsW =
GetEffectiveRightsFromAclA =
GetEffectiveRightsFromAclW =
GetEffectiveRightsFromSDA =
GetEffectiveRightsFromSDW =
GetExplicitAccessRightsA =
GetExplicitAccessRightsW =
GetExplicitEntriesFromAclA =
GetExplicitEntriesFromAclW =
GetFileSecurityA = GetFileSecurityA@20
GetFileSecurityW = GetFileSecurityW@20
GetKernelObjectSecurity = GetKernelObjectSecurity@20
GetLengthSid = GetLengthSid@4
GetMultipleTrusteeA =
GetMultipleTrusteeOperationA =
GetMultipleTrusteeOperationW =
GetMultipleTrusteeW =
GetNamedSecurityInfoA = GetNamedSecurityInfoA@32
GetNamedSecurityInfoW = GetNamedSecurityInfoW@32
GetNumberOfEventLogRecords = GetNumberOfEventLogRecords@8
GetOldestEventLogRecord = GetOldestEventLogRecord@8
GetPrivateObjectSecurity = GetPrivateObjectSecurity@20
GetSecurityDescriptorControl = GetSecurityDescriptorControl@12
GetSecurityDescriptorDacl = GetSecurityDescriptorDacl@16
GetSecurityDescriptorGroup = GetSecurityDescriptorGroup@12
GetSecurityDescriptorLength = GetSecurityDescriptorLength@4
GetSecurityDescriptorOwner = GetSecurityDescriptorOwner@12
GetSecurityDescriptorSacl = GetSecurityDescriptorSacl@16
GetSecurityInfo = GetSecurityInfo@32
GetServiceDisplayNameA = GetServiceDisplayNameA@16
GetServiceDisplayNameW = GetServiceDisplayNameW@16
GetServiceKeyNameA = GetServiceKeyNameA@16
GetServiceKeyNameW = GetServiceKeyNameW@16
GetSidIdentifierAuthority = GetSidIdentifierAuthority@4
GetSidLengthRequired = GetSidLengthRequired@4
GetSidSubAuthority = GetSidSubAuthority@8
GetSidSubAuthorityCount = GetSidSubAuthorityCount@4
GetTokenInformation = GetTokenInformation@20
GetTrusteeForm = GetTrusteeForm@4
GetTrusteeNameA = GetTrusteeNameA@4
GetTrusteeNameW = GetTrusteeNameW@4
GetTrusteeTypeA = GetTrusteeTypeA@4
GetTrusteeTypeW = GetTrusteeTypeW@4
GetUserNameA = GetUserNameA@8
GetUserNameW = GetUserNameW@8
GrantAccessRightsA =
GrantAccessRightsW =
I_ScGetCurrentGroupStateW =
I_ScSetServiceBitsA = I_ScSetServiceBitsA@20
I_ScSetServiceBitsW = I_ScSetServiceBitsW@20
ImpersonateLoggedOnUser = ImpersonateLoggedOnUser@4
ImpersonateNamedPipeClient = ImpersonateNamedPipeClient@4
ImpersonateSelf = ImpersonateSelf@4
InitializeAcl = InitializeAcl@12
InitializeSecurityDescriptor = InitializeSecurityDescriptor@8
InitializeSid = InitializeSid@12
InitiateSystemShutdownA = InitiateSystemShutdownA@20
InitiateSystemShutdownW = InitiateSystemShutdownW@20
IsAccessPermittedA =
IsAccessPermittedW =
IsTextUnicode = IsTextUnicode@12
IsValidAcl = IsValidAcl@4
IsValidSecurityDescriptor = IsValidSecurityDescriptor@4
IsValidSid = IsValidSid@4
LockServiceDatabase = LockServiceDatabase@4
LogonUserA = LogonUserA@24
LogonUserW = LogonUserW@24
LookupAccountNameA = LookupAccountNameA@28
LookupAccountNameW = LookupAccountNameW@28
LookupAccountSidA = LookupAccountSidA@28
LookupAccountSidW = LookupAccountSidW@28
LookupPrivilegeDisplayNameA = LookupPrivilegeDisplayNameA@20
LookupPrivilegeDisplayNameW = LookupPrivilegeDisplayNameW@20
LookupPrivilegeNameA = LookupPrivilegeNameA@16
LookupPrivilegeNameW = LookupPrivilegeNameW@16
LookupPrivilegeValueA = LookupPrivilegeValueA@12
LookupPrivilegeValueW = LookupPrivilegeValueW@12
LookupSecurityDescriptorPartsA = LookupSecurityDescriptorPartsA@28
LookupSecurityDescriptorPartsW = LookupSecurityDescriptorPartsW@28
LsaAddAccountRights = LsaAddAccountRights@16
LsaAddPrivilegesToAccount = LsaAddPrivilegesToAccount@8
LsaClearAuditLog = LsaClearAuditLog@4
LsaClose = LsaClose@4
LsaCreateAccount = LsaCreateAccount@16
LsaCreateSecret = LsaCreateSecret@16
LsaCreateTrustedDomain = LsaCreateTrustedDomain@16
LsaDelete = LsaDelete@4
LsaDeleteTrustedDomain = LsaDeleteTrustedDomain@8
LsaEnumerateAccountRights = LsaEnumerateAccountRights@16
LsaEnumerateAccounts = LsaEnumerateAccounts@20
LsaEnumerateAccountsWithUserRight = LsaEnumerateAccountsWithUserRight@16
LsaEnumeratePrivileges = LsaEnumeratePrivileges@20
LsaEnumeratePrivilegesOfAccount = LsaEnumeratePrivilegesOfAccount@8
LsaEnumerateTrustedDomains = LsaEnumerateTrustedDomains@20
LsaFreeMemory = LsaFreeMemory@4
LsaGetQuotasForAccount = LsaGetQuotasForAccount@8
LsaGetSystemAccessAccount = LsaGetSystemAccessAccount@8
LsaGetUserName =
LsaICLookupNames = LsaICLookupNames@28
LsaICLookupSids = LsaICLookupSids@28
LsaLookupNames = LsaLookupNames@20
LsaLookupPrivilegeDisplayName = LsaLookupPrivilegeDisplayName@16
LsaLookupPrivilegeName = LsaLookupPrivilegeName@12
LsaLookupPrivilegeValue = LsaLookupPrivilegeValue@12
LsaLookupSids = LsaLookupSids@20
LsaNtStatusToWinError = LsaNtStatusToWinError@4
LsaOpenAccount = LsaOpenAccount@16
LsaOpenPolicy = LsaOpenPolicy@16
LsaOpenSecret = LsaOpenSecret@16
LsaOpenTrustedDomain = LsaOpenTrustedDomain@16
LsaQueryInfoTrustedDomain = LsaQueryInfoTrustedDomain@12
LsaQueryInformationPolicy = LsaQueryInformationPolicy@12
LsaQuerySecret = LsaQuerySecret@20
LsaQuerySecurityObject = LsaQuerySecurityObject@12
LsaQueryTrustedDomainInfo = LsaQueryTrustedDomainInfo@16
LsaRemoveAccountRights = LsaRemoveAccountRights@20
LsaRemovePrivilegesFromAccount = LsaRemovePrivilegesFromAccount@12
LsaRetrievePrivateData = LsaRetrievePrivateData@12
LsaSetInformationPolicy = LsaSetInformationPolicy@12
LsaSetInformationTrustedDomain = LsaSetInformationTrustedDomain@12
LsaSetQuotasForAccount = LsaSetQuotasForAccount@8
LsaSetSecret = LsaSetSecret@12
LsaSetSecurityObject = LsaSetSecurityObject@12
LsaSetSystemAccessAccount = LsaSetSystemAccessAccount@8
LsaSetTrustedDomainInformation = LsaSetTrustedDomainInformation@16
LsaStorePrivateData = LsaStorePrivateData@12
MakeAbsoluteSD = MakeAbsoluteSD@44
MakeSelfRelativeSD = MakeSelfRelativeSD@12
MapGenericMask = MapGenericMask@8
NTAccessMaskToProvAccessRights =
NotifyBootConfigStatus = NotifyBootConfigStatus@4
NotifyChangeEventLog = NotifyChangeEventLog@8
ObjectCloseAuditAlarmA = ObjectCloseAuditAlarmA@12
ObjectCloseAuditAlarmW = ObjectCloseAuditAlarmW@12
ObjectDeleteAuditAlarmA = ObjectDeleteAuditAlarmA@12
ObjectDeleteAuditAlarmW = ObjectDeleteAuditAlarmW@12
ObjectOpenAuditAlarmA = ObjectOpenAuditAlarmA@48
ObjectOpenAuditAlarmW = ObjectOpenAuditAlarmW@48
ObjectPrivilegeAuditAlarmA = ObjectPrivilegeAuditAlarmA@24
ObjectPrivilegeAuditAlarmW = ObjectPrivilegeAuditAlarmW@24
OpenBackupEventLogA = OpenBackupEventLogA@8
OpenBackupEventLogW = OpenBackupEventLogW@8
OpenEventLogA = OpenEventLogA@8
OpenEventLogW = OpenEventLogW@8
OpenProcessToken = OpenProcessToken@12
OpenSCManagerA = OpenSCManagerA@12
OpenSCManagerW = OpenSCManagerW@12
OpenServiceA = OpenServiceA@12
OpenServiceW = OpenServiceW@12
OpenThreadToken = OpenThreadToken@16
PrivilegeCheck = PrivilegeCheck@12
PrivilegedServiceAuditAlarmA = PrivilegedServiceAuditAlarmA@20
PrivilegedServiceAuditAlarmW = PrivilegedServiceAuditAlarmW@20
ProvAccessRightsToNTAccessMask =
QueryServiceConfigA = QueryServiceConfigA@16
QueryServiceConfigW = QueryServiceConfigW@16
QueryServiceLockStatusA = QueryServiceLockStatusA@16
QueryServiceLockStatusW = QueryServiceLockStatusW@16
QueryServiceObjectSecurity = QueryServiceObjectSecurity@20
QueryServiceStatus = QueryServiceStatus@8
QueryWindows31FilesMigration = QueryWindows31FilesMigration@4
ReadEventLogA = ReadEventLogA@28
ReadEventLogW = ReadEventLogW@28
RegCloseKey = RegCloseKey@4
RegConnectRegistryA = RegConnectRegistryA@12
RegConnectRegistryW = RegConnectRegistryW@12
RegCreateKeyA = RegCreateKeyA@12
RegCreateKeyExA = RegCreateKeyExA@36
RegCreateKeyExW = RegCreateKeyExW@36
RegCreateKeyW = RegCreateKeyW@12
RegDeleteKeyA = RegDeleteKeyA@8
RegDeleteKeyW = RegDeleteKeyW@8
RegDeleteValueA = RegDeleteValueA@8
RegDeleteValueW = RegDeleteValueW@8
RegEnumKeyA = RegEnumKeyA@16
RegEnumKeyExA = RegEnumKeyExA@32
RegEnumKeyExW = RegEnumKeyExW@32
RegEnumKeyW = RegEnumKeyW@16
RegEnumValueA = RegEnumValueA@32
RegEnumValueW = RegEnumValueW@32
RegFlushKey = RegFlushKey@4
RegGetKeySecurity = RegGetKeySecurity@16
RegLoadKeyA = RegLoadKeyA@12
RegLoadKeyW = RegLoadKeyW@12
RegNotifyChangeKeyValue = RegNotifyChangeKeyValue@20
RegOpenKeyA = RegOpenKeyA@12
RegOpenKeyExA = RegOpenKeyExA@20
RegOpenKeyExW = RegOpenKeyExW@20
RegOpenKeyW = RegOpenKeyW@12
RegQueryInfoKeyA = RegQueryInfoKeyA@48
RegQueryInfoKeyW = RegQueryInfoKeyW@48
RegQueryMultipleValuesA = RegQueryMultipleValuesA@20
RegQueryMultipleValuesW = RegQueryMultipleValuesW@20
RegQueryValueA = RegQueryValueA@16
RegQueryValueExA = RegQueryValueExA@24
RegQueryValueExW = RegQueryValueExW@24
RegQueryValueW = RegQueryValueW@16
RegReplaceKeyA = RegReplaceKeyA@16
RegReplaceKeyW = RegReplaceKeyW@16
RegRestoreKeyA = RegRestoreKeyA@12
RegRestoreKeyW = RegRestoreKeyW@12
RegSaveKeyA = RegSaveKeyA@12
RegSaveKeyW = RegSaveKeyW@12
RegSetKeySecurity = RegSetKeySecurity@12
RegSetValueA = RegSetValueA@20
RegSetValueExA = RegSetValueExA@24
RegSetValueExW = RegSetValueExW@24
RegSetValueW = RegSetValueW@20
RegUnLoadKeyA = RegUnLoadKeyA@8
RegUnLoadKeyW = RegUnLoadKeyW@8
RegisterEventSourceA = RegisterEventSourceA@8
RegisterEventSourceW = RegisterEventSourceW@8
RegisterServiceCtrlHandlerA = RegisterServiceCtrlHandlerA@8
RegisterServiceCtrlHandlerW = RegisterServiceCtrlHandlerW@8
ReplaceAllAccessRightsA =
ReplaceAllAccessRightsW =
ReportEventA = ReportEventA@36
ReportEventW = ReportEventW@36
RevertToSelf = RevertToSelf@0
RevokeExplicitAccessRightsA =
RevokeExplicitAccessRightsW =
SetAccessRightsA =
SetAccessRightsW =
SetAclInformation = SetAclInformation@16
SetEntriesInAclA = SetEntriesInAclA@16
SetEntriesInAclW = SetEntriesInAclA@16
SetFileSecurityA = SetFileSecurityA@12
SetFileSecurityW = SetFileSecurityW@12
SetKernelObjectSecurity = SetKernelObjectSecurity@12
SetNamedSecurityInfoA = SetNamedSecurityInfoA@28
SetNamedSecurityInfoW = SetNamedSecurityInfoW@28
SetPrivateObjectSecurity = SetPrivateObjectSecurity@20
SetSecurityDescriptorDacl = SetSecurityDescriptorDacl@16
SetSecurityDescriptorGroup = SetSecurityDescriptorGroup@12
SetSecurityDescriptorOwner = SetSecurityDescriptorOwner@12
SetSecurityDescriptorSacl = SetSecurityDescriptorSacl@16
SetSecurityInfo = SetSecurityInfo@28
SetServiceBits = SetServiceBits@16
SetServiceObjectSecurity = SetServiceObjectSecurity@12
SetServiceStatus = SetServiceStatus@8
SetThreadToken = SetThreadToken@8
SetTokenInformation = SetTokenInformation@16
StartServiceA = StartServiceA@12
StartServiceCtrlDispatcherA = StartServiceCtrlDispatcherA@4
StartServiceCtrlDispatcherW = StartServiceCtrlDispatcherW@4
StartServiceW = StartServiceW@12
SynchronizeWindows31FilesAndWindowsNTRegistry = SynchronizeWindows31FilesAndWindowsNTRegistry@16
SystemFunction001 = SystemFunction001@12
SystemFunction002 = SystemFunction002@12
SystemFunction003 = SystemFunction003@8
SystemFunction004 = SystemFunction004@12
SystemFunction005 = SystemFunction005@12
SystemFunction006 = SystemFunction006@8
SystemFunction007 = SystemFunction007@8
SystemFunction008 = SystemFunction008@12
SystemFunction009 = SystemFunction009@12
SystemFunction010 = SystemFunction010@12
SystemFunction011 = SystemFunction011@12
SystemFunction012 = SystemFunction012@12
SystemFunction013 = SystemFunction013@12
SystemFunction014 = SystemFunction014@12
SystemFunction015 = SystemFunction015@12
SystemFunction016 = SystemFunction016@12
SystemFunction017 = SystemFunction017@12
SystemFunction018 = SystemFunction018@12
SystemFunction019 = SystemFunction019@12
SystemFunction020 = SystemFunction020@12
SystemFunction021 = SystemFunction021@12
SystemFunction022 = SystemFunction022@12
SystemFunction023 = SystemFunction023@12
SystemFunction024 = SystemFunction024@12
SystemFunction025 = SystemFunction025@12
SystemFunction026 = SystemFunction026@12
SystemFunction027 = SystemFunction027@12
SystemFunction028 = SystemFunction028@8
SystemFunction029 = SystemFunction029@8
SystemFunction030 = SystemFunction030@8
SystemFunction031 = SystemFunction031@8
SystemFunction032 = SystemFunction032@8
SystemFunction033 = SystemFunction033@8
UnlockServiceDatabase = UnlockServiceDatabase@4
WinLoadTrustProvider = WinLoadTrustProvider@4
WinSubmitCertificate = WinSubmitCertificate@4
WinVerifyTrust = WinVerifyTrust@12
AbortSystemShutdownA@4
AbortSystemShutdownW@4
AccessCheck@32
AccessCheckAndAuditAlarmA@44
AccessCheckAndAuditAlarmW@44
AddAccessAllowedAce@16
AddAccessDeniedAce@16
AddAce@20
AddAuditAccessAce@24
AdjustTokenGroups@24
AdjustTokenPrivileges@24
AllocateAndInitializeSid@44
AllocateLocallyUniqueId@4
AreAllAccessesGranted@8
AreAnyAccessesGranted@8
BackupEventLogA@8
BackupEventLogW@8
BuildAccessRequestA
BuildAccessRequestW
BuildExplicitAccessWithNameA@20
BuildExplicitAccessWithNameW@20
BuildImpersonateExplicitAccessWithNameA
BuildImpersonateExplicitAccessWithNameW
BuildImpersonateTrusteeA
BuildImpersonateTrusteeW
BuildSecurityDescriptorA@36
BuildSecurityDescriptorW@36
BuildTrusteeWithNameA@8
BuildTrusteeWithNameW@8
BuildTrusteeWithSidA@8
BuildTrusteeWithSidW@8
ChangeServiceConfigA@44
ChangeServiceConfigW@44
ClearEventLogA@8
ClearEventLogW@8
ClearEventLogA@8
CloseServiceHandle@4
ControlService@12
CopySid@12
CreatePrivateObjectSecurity@24
CreateProcessAsUserA@44
CreateProcessAsUserW@44
CreateServiceA@52
CreateServiceW@52
CryptAcquireContextA@20
CryptAcquireContextW@20
CryptCreateHash@20
CryptDecrypt@24
CryptDeriveKey@20
CryptDestroyHash@4
CryptDestroyKey@4
CryptEncrypt@28
CryptExportKey@24
CryptGenKey@16
CryptGenRandom@12
CryptGetHashParam@20
CryptGetKeyParam@20
CryptGetProvParam@20
CryptGetUserKey@12
CryptHashData@16
CryptHashSessionKey@12
CryptImportKey@24
CryptReleaseContext@8
CryptSetHashParam@16
CryptSetKeyParam@16
CryptSetProvParam@16
CryptSetProviderA@8
CryptSetProviderW@8
CryptSignHashA@24
CryptSignHashW@24
CryptVerifySignatureA@24
CryptVerifySignatureW@24
DeleteAce@8
DeleteService@4
DenyAccessRightsA
DenyAccessRightsW
DeregisterEventSource@4
DestroyPrivateObjectSecurity@4
DuplicateToken@12
DuplicateTokenEx@24
ElfBackupEventLogFileA@8
ElfBackupEventLogFileW@8
ElfChangeNotify@8
ElfClearEventLogFileA@8
ElfClearEventLogFileW@8
ElfCloseEventLog@4
ElfDeregisterEventSource@4
ElfNumberOfRecords@8
ElfOldestRecord@8
ElfOpenBackupEventLogA@12
ElfOpenBackupEventLogW@12
ElfOpenEventLogA@12
ElfOpenEventLogW@12
ElfReadEventLogA@28
ElfReadEventLogW@28
ElfRegisterEventSourceA@12
ElfRegisterEventSourceW@12
ElfReportEventA@48
ElfReportEventW@48
EnumDependentServicesA@24
EnumDependentServicesW@24
EnumServiceGroupW
EnumServicesStatusA@32
EnumServicesStatusW@32
EqualPrefixSid@8
EqualSid@8
FindFirstFreeAce@8
FreeSid@4
GetAce@12
GetAclInformation@16
GetAuditedPermissionsFromAclA
GetAuditedPermissionsFromAclW
GetAuditedPermissionsFromSDA
GetAuditedPermissionsFromSDW
GetCurrentHwProfileA
GetCurrentHwProfileW
GetEffectiveAccessRightsA
GetEffectiveAccessRightsW
GetEffectiveRightsFromAclA
GetEffectiveRightsFromAclW
GetEffectiveRightsFromSDA
GetEffectiveRightsFromSDW
GetExplicitAccessRightsA
GetExplicitAccessRightsW
GetExplicitEntriesFromAclA
GetExplicitEntriesFromAclW
GetFileSecurityA@20
GetFileSecurityW@20
GetKernelObjectSecurity@20
GetLengthSid@4
GetMultipleTrusteeA
GetMultipleTrusteeOperationA
GetMultipleTrusteeOperationW
GetMultipleTrusteeW
GetNamedSecurityInfoA@32
GetNamedSecurityInfoW@32
GetNumberOfEventLogRecords@8
GetOldestEventLogRecord@8
GetPrivateObjectSecurity@20
GetSecurityDescriptorControl@12
GetSecurityDescriptorDacl@16
GetSecurityDescriptorGroup@12
GetSecurityDescriptorLength@4
GetSecurityDescriptorOwner@12
GetSecurityDescriptorSacl@16
GetSecurityInfo@32
GetServiceDisplayNameA@16
GetServiceDisplayNameW@16
GetServiceKeyNameA@16
GetServiceKeyNameW@16
GetSidIdentifierAuthority@4
GetSidLengthRequired@4
GetSidSubAuthority@8
GetSidSubAuthorityCount@4
GetTokenInformation@20
GetTrusteeForm@4
GetTrusteeNameA@4
GetTrusteeNameW@4
GetTrusteeTypeA@4
GetTrusteeTypeW@4
GetUserNameA@8
GetUserNameW@8
GrantAccessRightsA
GrantAccessRightsW
I_ScGetCurrentGroupStateW
I_ScSetServiceBitsA@20
I_ScSetServiceBitsW@20
ImpersonateLoggedOnUser@4
ImpersonateNamedPipeClient@4
ImpersonateSelf@4
InitializeAcl@12
InitializeSecurityDescriptor@8
InitializeSid@12
InitiateSystemShutdownA@20
InitiateSystemShutdownW@20
IsAccessPermittedA
IsAccessPermittedW
IsTextUnicode@12
IsValidAcl@4
IsValidSecurityDescriptor@4
IsValidSid@4
LockServiceDatabase@4
LogonUserA@24
LogonUserW@24
LookupAccountNameA@28
LookupAccountNameW@28
LookupAccountSidA@28
LookupAccountSidW@28
LookupPrivilegeDisplayNameA@20
LookupPrivilegeDisplayNameW@20
LookupPrivilegeNameA@16
LookupPrivilegeNameW@16
LookupPrivilegeValueA@12
LookupPrivilegeValueW@12
LookupSecurityDescriptorPartsA@28
LookupSecurityDescriptorPartsW@28
LsaAddAccountRights@16
LsaAddPrivilegesToAccount@8
LsaClearAuditLog@4
LsaClose@4
LsaCreateAccount@16
LsaCreateSecret@16
LsaCreateTrustedDomain@16
LsaDelete@4
LsaDeleteTrustedDomain@8
LsaEnumerateAccountRights@16
LsaEnumerateAccounts@20
LsaEnumerateAccountsWithUserRight@16
LsaEnumeratePrivileges@20
LsaEnumeratePrivilegesOfAccount@8
LsaEnumerateTrustedDomains@20
LsaFreeMemory@4
LsaGetQuotasForAccount@8
LsaGetSystemAccessAccount@8
LsaGetUserName
LsaICLookupNames@28
LsaICLookupSids@28
LsaLookupNames@20
LsaLookupPrivilegeDisplayName@16
LsaLookupPrivilegeName@12
LsaLookupPrivilegeValue@12
LsaLookupSids@20
LsaNtStatusToWinError@4
LsaOpenAccount@16
LsaOpenPolicy@16
LsaOpenSecret@16
LsaOpenTrustedDomain@16
LsaQueryInfoTrustedDomain@12
LsaQueryInformationPolicy@12
LsaQuerySecret@20
LsaQuerySecurityObject@12
LsaQueryTrustedDomainInfo@16
LsaRemoveAccountRights@20
LsaRemovePrivilegesFromAccount@12
LsaRetrievePrivateData@12
LsaSetInformationPolicy@12
LsaSetInformationTrustedDomain@12
LsaSetQuotasForAccount@8
LsaSetSecret@12
LsaSetSecurityObject@12
LsaSetSystemAccessAccount@8
LsaSetTrustedDomainInformation@16
LsaStorePrivateData@12
MakeAbsoluteSD@44
MakeSelfRelativeSD@12
MapGenericMask@8
NTAccessMaskToProvAccessRights
NotifyBootConfigStatus@4
NotifyChangeEventLog@8
ObjectCloseAuditAlarmA@12
ObjectCloseAuditAlarmW@12
ObjectDeleteAuditAlarmA@12
ObjectDeleteAuditAlarmW@12
ObjectOpenAuditAlarmA@48
ObjectOpenAuditAlarmW@48
ObjectPrivilegeAuditAlarmA@24
ObjectPrivilegeAuditAlarmW@24
OpenBackupEventLogA@8
OpenBackupEventLogW@8
OpenEventLogA@8
OpenEventLogW@8
OpenProcessToken@12
OpenSCManagerA@12
OpenSCManagerW@12
OpenServiceA@12
OpenServiceW@12
OpenThreadToken@16
PrivilegeCheck@12
PrivilegedServiceAuditAlarmA@20
PrivilegedServiceAuditAlarmW@20
ProvAccessRightsToNTAccessMask
QueryServiceConfigA@16
QueryServiceConfigW@16
QueryServiceLockStatusA@16
QueryServiceLockStatusW@16
QueryServiceObjectSecurity@20
QueryServiceStatus@8
QueryWindows31FilesMigration@4
ReadEventLogA@28
ReadEventLogW@28
RegCloseKey@4
RegConnectRegistryA@12
RegConnectRegistryW@12
RegCreateKeyA@12
RegCreateKeyExA@36
RegCreateKeyExW@36
RegCreateKeyW@12
RegDeleteKeyA@8
RegDeleteKeyW@8
RegDeleteValueA@8
RegDeleteValueW@8
RegEnumKeyA@16
RegEnumKeyExA@32
RegEnumKeyExW@32
RegEnumKeyW@16
RegEnumValueA@32
RegEnumValueW@32
RegFlushKey@4
RegGetKeySecurity@16
RegLoadKeyA@12
RegLoadKeyW@12
RegNotifyChangeKeyValue@20
RegOpenKeyA@12
RegOpenKeyExA@20
RegOpenKeyExW@20
RegOpenKeyW@12
RegQueryInfoKeyA@48
RegQueryInfoKeyW@48
RegQueryMultipleValuesA@20
RegQueryMultipleValuesW@20
RegQueryValueA@16
RegQueryValueExA@24
RegQueryValueExW@24
RegQueryValueW@16
RegReplaceKeyA@16
RegReplaceKeyW@16
RegRestoreKeyA@12
RegRestoreKeyW@12
RegSaveKeyA@12
RegSaveKeyW@12
RegSetKeySecurity@12
RegSetValueA@20
RegSetValueExA@24
RegSetValueExW@24
RegSetValueW@20
RegUnLoadKeyA@8
RegUnLoadKeyW@8
RegisterEventSourceA@8
RegisterEventSourceW@8
RegisterServiceCtrlHandlerA@8
RegisterServiceCtrlHandlerW@8
ReplaceAllAccessRightsA
ReplaceAllAccessRightsW
ReportEventA@36
ReportEventW@36
RevertToSelf@0
RevokeExplicitAccessRightsA
RevokeExplicitAccessRightsW
SetAccessRightsA
SetAccessRightsW
SetAclInformation@16
SetEntriesInAclA@16
SetEntriesInAclA@16
SetFileSecurityA@12
SetFileSecurityW@12
SetKernelObjectSecurity@12
SetNamedSecurityInfoA@28
SetNamedSecurityInfoW@28
SetPrivateObjectSecurity@20
SetSecurityDescriptorDacl@16
SetSecurityDescriptorGroup@12
SetSecurityDescriptorOwner@12
SetSecurityDescriptorSacl@16
SetSecurityInfo@28
SetServiceBits@16
SetServiceObjectSecurity@12
SetServiceStatus@8
SetThreadToken@8
SetTokenInformation@16
StartServiceA@12
StartServiceCtrlDispatcherA@4
StartServiceCtrlDispatcherW@4
StartServiceW@12
SynchronizeWindows31FilesAndWindowsNTRegistry@16
SystemFunction001@12
SystemFunction002@12
SystemFunction003@8
SystemFunction004@12
SystemFunction005@12
SystemFunction006@8
SystemFunction007@8
SystemFunction008@12
SystemFunction009@12
SystemFunction010@12
SystemFunction011@12
SystemFunction012@12
SystemFunction013@12
SystemFunction014@12
SystemFunction015@12
SystemFunction016@12
SystemFunction017@12
SystemFunction018@12
SystemFunction019@12
SystemFunction020@12
SystemFunction021@12
SystemFunction022@12
SystemFunction023@12
SystemFunction024@12
SystemFunction025@12
SystemFunction026@12
SystemFunction027@12
SystemFunction028@8
SystemFunction029@8
SystemFunction030@8
SystemFunction031@8
SystemFunction032@8
SystemFunction033@8
UnlockServiceDatabase@4
WinLoadTrustProvider@4
WinSubmitCertificate@4
WinVerifyTrust@12

View file

@ -0,0 +1,411 @@
; $Id: advapi32.edf,v 1.1 1999/07/17 23:10:17 ea Exp $
;
; advapi32.def
;
; ReactOS Operating System
;
; Some stack sizes are taken from Ander Norlander's .DEFs.
;
LIBRARY advapi32
EXPORTS
AbortSystemShutdownA=AbortSystemShutdownA@4
AbortSystemShutdownW=AbortSystemShutdownW@4
AccessCheck=AccessCheck@32
AccessCheckAndAuditAlarmA=AccessCheckAndAuditAlarmA@44
AccessCheckAndAuditAlarmW=AccessCheckAndAuditAlarmW@44
AddAccessAllowedAce=AddAccessAllowedAce@16
AddAccessDeniedAce=AddAccessDeniedAce@16
AddAce=AddAce@20
AddAuditAccessAce=AddAuditAccessAce@24
AdjustTokenGroups=AdjustTokenGroups@24
AdjustTokenPrivileges=AdjustTokenPrivileges@24
AllocateAndInitializeSid=AllocateAndInitializeSid@44
AllocateLocallyUniqueId=AllocateLocallyUniqueId@4
AreAllAccessesGranted=AreAllAccessesGranted@8
AreAnyAccessesGranted=AreAnyAccessesGranted@8
BackupEventLogA=BackupEventLogA@8
BackupEventLogW=BackupEventLogW@8
BuildAccessRequestA
BuildAccessRequestW
BuildExplicitAccessWithNameA=BuildExplicitAccessWithNameA@20
BuildExplicitAccessWithNameW=BuildExplicitAccessWithNameW@20
BuildImpersonateExplicitAccessWithNameA
BuildImpersonateExplicitAccessWithNameW
BuildImpersonateTrusteeA
BuildImpersonateTrusteeW
BuildSecurityDescriptorA=BuildSecurityDescriptorA@36
BuildSecurityDescriptorW=BuildSecurityDescriptorW@36
BuildTrusteeWithNameA=BuildTrusteeWithNameA@8
BuildTrusteeWithNameW=BuildTrusteeWithNameW@8
BuildTrusteeWithSidA=BuildTrusteeWithSidA@8
BuildTrusteeWithSidW=BuildTrusteeWithSidW@8
ChangeServiceConfigA=ChangeServiceConfigA@44
ChangeServiceConfigW=ChangeServiceConfigW@44
ClearEventLogA=ClearEventLogA@8
ClearEventLogW=ClearEventLogW@8
ClearEventLogA=ClearEventLogA@8
CloseServiceHandle=CloseServiceHandle@4
ControlService=ControlService@12
CopySid=CopySid@12
CreatePrivateObjectSecurity=CreatePrivateObjectSecurity@24
CreateProcessAsUserA=CreateProcessAsUserA@44
CreateProcessAsUserW=CreateProcessAsUserW@44
CreateServiceA=CreateServiceA@52
CreateServiceW=CreateServiceW@52
CryptAcquireContextA=CryptAcquireContextA@20
CryptAcquireContextW=CryptAcquireContextW@20
CryptCreateHash=CryptCreateHash@20
CryptDecrypt=CryptDecrypt@24
CryptDeriveKey=CryptDeriveKey@20
CryptDestroyHash=CryptDestroyHash@4
CryptDestroyKey=CryptDestroyKey@4
CryptEncrypt=CryptEncrypt@28
CryptExportKey=CryptExportKey@24
CryptGenKey=CryptGenKey@16
CryptGenRandom=CryptGenRandom@12
CryptGetHashParam=CryptGetHashParam@20
CryptGetKeyParam=CryptGetKeyParam@20
CryptGetProvParam=CryptGetProvParam@20
CryptGetUserKey=CryptGetUserKey@12
CryptHashData=CryptHashData@16
CryptHashSessionKey=CryptHashSessionKey@12
CryptImportKey=CryptImportKey@24
CryptReleaseContext=CryptReleaseContext@8
CryptSetHashParam=CryptSetHashParam@16
CryptSetKeyParam=CryptSetKeyParam@16
CryptSetProvParam=CryptSetProvParam@16
CryptSetProviderA=CryptSetProviderA@8
CryptSetProviderW=CryptSetProviderW@8
CryptSignHashA=CryptSignHashA@24
CryptSignHashW=CryptSignHashW@24
CryptVerifySignatureA=CryptVerifySignatureA@24
CryptVerifySignatureW=CryptVerifySignatureW@24
DeleteAce=DeleteAce@8
DeleteService=DeleteService@4
DenyAccessRightsA
DenyAccessRightsW
DeregisterEventSource=DeregisterEventSource@4
DestroyPrivateObjectSecurity=DestroyPrivateObjectSecurity@4
DuplicateToken=DuplicateToken@12
DuplicateTokenEx=DuplicateTokenEx@24
ElfBackupEventLogFileA=ElfBackupEventLogFileA@8
ElfBackupEventLogFileW=ElfBackupEventLogFileW@8
ElfChangeNotify=ElfChangeNotify@8
ElfClearEventLogFileA=ElfClearEventLogFileA@8
ElfClearEventLogFileW=ElfClearEventLogFileW@8
ElfCloseEventLog=ElfCloseEventLog@4
ElfDeregisterEventSource=ElfDeregisterEventSource@4
ElfNumberOfRecords=ElfNumberOfRecords@8
ElfOldestRecord=ElfOldestRecord@8
ElfOpenBackupEventLogA=ElfOpenBackupEventLogA@12
ElfOpenBackupEventLogW=ElfOpenBackupEventLogW@12
ElfOpenEventLogA=ElfOpenEventLogA@12
ElfOpenEventLogW=ElfOpenEventLogW@12
ElfReadEventLogA=ElfReadEventLogA@28
ElfReadEventLogW=ElfReadEventLogW@28
ElfRegisterEventSourceA=ElfRegisterEventSourceA@12
ElfRegisterEventSourceW=ElfRegisterEventSourceW@12
ElfReportEventA=ElfReportEventA@48
ElfReportEventW=ElfReportEventW@48
EnumDependentServicesA=EnumDependentServicesA@24
EnumDependentServicesW=EnumDependentServicesW@24
EnumServiceGroupW
EnumServicesStatusA=EnumServicesStatusA@32
EnumServicesStatusW=EnumServicesStatusW@32
EqualPrefixSid=EqualPrefixSid@8
EqualSid=EqualSid@8
FindFirstFreeAce=FindFirstFreeAce@8
FreeSid=FreeSid@4
GetAce=GetAce@12
GetAclInformation=GetAclInformation@16
GetAuditedPermissionsFromAclA
GetAuditedPermissionsFromAclW
GetAuditedPermissionsFromSDA
GetAuditedPermissionsFromSDW
GetCurrentHwProfileA
GetCurrentHwProfileW
GetEffectiveAccessRightsA
GetEffectiveAccessRightsW
GetEffectiveRightsFromAclA
GetEffectiveRightsFromAclW
GetEffectiveRightsFromSDA
GetEffectiveRightsFromSDW
GetExplicitAccessRightsA
GetExplicitAccessRightsW
GetExplicitEntriesFromAclA
GetExplicitEntriesFromAclW
GetFileSecurityA=GetFileSecurityA@20
GetFileSecurityW=GetFileSecurityW@20
GetKernelObjectSecurity=GetKernelObjectSecurity@20
GetLengthSid=GetLengthSid@4
GetMultipleTrusteeA
GetMultipleTrusteeOperationA
GetMultipleTrusteeOperationW
GetMultipleTrusteeW
GetNamedSecurityInfoA=GetNamedSecurityInfoA@32
GetNamedSecurityInfoW=GetNamedSecurityInfoW@32
GetNumberOfEventLogRecords=GetNumberOfEventLogRecords@8
GetOldestEventLogRecord=GetOldestEventLogRecord@8
GetPrivateObjectSecurity=GetPrivateObjectSecurity@20
GetSecurityDescriptorControl=GetSecurityDescriptorControl@12
GetSecurityDescriptorDacl=GetSecurityDescriptorDacl@16
GetSecurityDescriptorGroup=GetSecurityDescriptorGroup@12
GetSecurityDescriptorLength=GetSecurityDescriptorLength@4
GetSecurityDescriptorOwner=GetSecurityDescriptorOwner@12
GetSecurityDescriptorSacl=GetSecurityDescriptorSacl@16
GetSecurityInfo=GetSecurityInfo@32
GetServiceDisplayNameA=GetServiceDisplayNameA@16
GetServiceDisplayNameW=GetServiceDisplayNameW@16
GetServiceKeyNameA=GetServiceKeyNameA@16
GetServiceKeyNameW=GetServiceKeyNameW@16
GetSidIdentifierAuthority=GetSidIdentifierAuthority@4
GetSidLengthRequired=GetSidLengthRequired@4
GetSidSubAuthority=GetSidSubAuthority@8
GetSidSubAuthorityCount=GetSidSubAuthorityCount@4
GetTokenInformation=GetTokenInformation@20
GetTrusteeForm=GetTrusteeForm@4
GetTrusteeNameA=GetTrusteeNameA@4
GetTrusteeNameW=GetTrusteeNameW@4
GetTrusteeTypeA=GetTrusteeTypeA@4
GetTrusteeTypeW=GetTrusteeTypeW@4
GetUserNameA=GetUserNameA@8
GetUserNameW=GetUserNameW@8
GrantAccessRightsA
GrantAccessRightsW
I_ScGetCurrentGroupStateW
I_ScSetServiceBitsA=I_ScSetServiceBitsA@20
I_ScSetServiceBitsW=I_ScSetServiceBitsW@20
ImpersonateLoggedOnUser=ImpersonateLoggedOnUser@4
ImpersonateNamedPipeClient=ImpersonateNamedPipeClient@4
ImpersonateSelf=ImpersonateSelf@4
InitializeAcl=InitializeAcl@12
InitializeSecurityDescriptor=InitializeSecurityDescriptor@8
InitializeSid=InitializeSid@12
InitiateSystemShutdownA=InitiateSystemShutdownA@20
InitiateSystemShutdownW=InitiateSystemShutdownW@20
IsAccessPermittedA
IsAccessPermittedW
IsTextUnicode=IsTextUnicode@12
IsValidAcl=IsValidAcl@4
IsValidSecurityDescriptor=IsValidSecurityDescriptor@4
IsValidSid=IsValidSid@4
LockServiceDatabase=LockServiceDatabase@4
LogonUserA=LogonUserA@24
LogonUserW=LogonUserW@24
LookupAccountNameA=LookupAccountNameA@28
LookupAccountNameW=LookupAccountNameW@28
LookupAccountSidA=LookupAccountSidA@28
LookupAccountSidW=LookupAccountSidW@28
LookupPrivilegeDisplayNameA=LookupPrivilegeDisplayNameA@20
LookupPrivilegeDisplayNameW=LookupPrivilegeDisplayNameW@20
LookupPrivilegeNameA=LookupPrivilegeNameA@16
LookupPrivilegeNameW=LookupPrivilegeNameW@16
LookupPrivilegeValueA=LookupPrivilegeValueA@12
LookupPrivilegeValueW=LookupPrivilegeValueW@12
LookupSecurityDescriptorPartsA=LookupSecurityDescriptorPartsA@28
LookupSecurityDescriptorPartsW=LookupSecurityDescriptorPartsW@28
LsaAddAccountRights=LsaAddAccountRights@16
LsaAddPrivilegesToAccount=LsaAddPrivilegesToAccount@8
LsaClearAuditLog=LsaClearAuditLog@4
LsaClose=LsaClose@4
LsaCreateAccount=LsaCreateAccount@16
LsaCreateSecret=LsaCreateSecret@16
LsaCreateTrustedDomain=LsaCreateTrustedDomain@16
LsaDelete=LsaDelete@4
LsaDeleteTrustedDomain=LsaDeleteTrustedDomain@8
LsaEnumerateAccountRights=LsaEnumerateAccountRights@16
LsaEnumerateAccounts=LsaEnumerateAccounts@20
LsaEnumerateAccountsWithUserRight=LsaEnumerateAccountsWithUserRight@16
LsaEnumeratePrivileges=LsaEnumeratePrivileges@20
LsaEnumeratePrivilegesOfAccount=LsaEnumeratePrivilegesOfAccount@8
LsaEnumerateTrustedDomains=LsaEnumerateTrustedDomains@20
LsaFreeMemory=LsaFreeMemory@4
LsaGetQuotasForAccount=LsaGetQuotasForAccount@8
LsaGetSystemAccessAccount=LsaGetSystemAccessAccount@8
LsaGetUserName
LsaICLookupNames=LsaICLookupNames@28
LsaICLookupSids=LsaICLookupSids@28
LsaLookupNames=LsaLookupNames@20
LsaLookupPrivilegeDisplayName=LsaLookupPrivilegeDisplayName@16
LsaLookupPrivilegeName=LsaLookupPrivilegeName@12
LsaLookupPrivilegeValue=LsaLookupPrivilegeValue@12
LsaLookupSids=LsaLookupSids@20
LsaNtStatusToWinError=LsaNtStatusToWinError@4
LsaOpenAccount=LsaOpenAccount@16
LsaOpenPolicy=LsaOpenPolicy@16
LsaOpenSecret=LsaOpenSecret@16
LsaOpenTrustedDomain=LsaOpenTrustedDomain@16
LsaQueryInfoTrustedDomain=LsaQueryInfoTrustedDomain@12
LsaQueryInformationPolicy=LsaQueryInformationPolicy@12
LsaQuerySecret=LsaQuerySecret@20
LsaQuerySecurityObject=LsaQuerySecurityObject@12
LsaQueryTrustedDomainInfo=LsaQueryTrustedDomainInfo@16
LsaRemoveAccountRights=LsaRemoveAccountRights@20
LsaRemovePrivilegesFromAccount=LsaRemovePrivilegesFromAccount@12
LsaRetrievePrivateData=LsaRetrievePrivateData@12
LsaSetInformationPolicy=LsaSetInformationPolicy@12
LsaSetInformationTrustedDomain=LsaSetInformationTrustedDomain@12
LsaSetQuotasForAccount=LsaSetQuotasForAccount@8
LsaSetSecret=LsaSetSecret@12
LsaSetSecurityObject=LsaSetSecurityObject@12
LsaSetSystemAccessAccount=LsaSetSystemAccessAccount@8
LsaSetTrustedDomainInformation=LsaSetTrustedDomainInformation@16
LsaStorePrivateData=LsaStorePrivateData@12
MakeAbsoluteSD=MakeAbsoluteSD@44
MakeSelfRelativeSD=MakeSelfRelativeSD@12
MapGenericMask=MapGenericMask@8
NTAccessMaskToProvAccessRights
NotifyBootConfigStatus=NotifyBootConfigStatus@4
NotifyChangeEventLog=NotifyChangeEventLog@8
ObjectCloseAuditAlarmA=ObjectCloseAuditAlarmA@12
ObjectCloseAuditAlarmW=ObjectCloseAuditAlarmW@12
ObjectDeleteAuditAlarmA=ObjectDeleteAuditAlarmA@12
ObjectDeleteAuditAlarmW=ObjectDeleteAuditAlarmW@12
ObjectOpenAuditAlarmA=ObjectOpenAuditAlarmA@48
ObjectOpenAuditAlarmW=ObjectOpenAuditAlarmW@48
ObjectPrivilegeAuditAlarmA=ObjectPrivilegeAuditAlarmA@24
ObjectPrivilegeAuditAlarmW=ObjectPrivilegeAuditAlarmW@24
OpenBackupEventLogA=OpenBackupEventLogA@8
OpenBackupEventLogW=OpenBackupEventLogW@8
OpenEventLogA=OpenEventLogA@8
OpenEventLogW=OpenEventLogW@8
OpenProcessToken=OpenProcessToken@12
OpenSCManagerA=OpenSCManagerA@12
OpenSCManagerW=OpenSCManagerW@12
OpenServiceA=OpenServiceA@12
OpenServiceW=OpenServiceW@12
OpenThreadToken=OpenThreadToken@16
PrivilegeCheck=PrivilegeCheck@12
PrivilegedServiceAuditAlarmA=PrivilegedServiceAuditAlarmA@20
PrivilegedServiceAuditAlarmW=PrivilegedServiceAuditAlarmW@20
ProvAccessRightsToNTAccessMask
QueryServiceConfigA=QueryServiceConfigA@16
QueryServiceConfigW=QueryServiceConfigW@16
QueryServiceLockStatusA=QueryServiceLockStatusA@16
QueryServiceLockStatusW=QueryServiceLockStatusW@16
QueryServiceObjectSecurity=QueryServiceObjectSecurity@20
QueryServiceStatus=QueryServiceStatus@8
QueryWindows31FilesMigration=QueryWindows31FilesMigration@4
ReadEventLogA=ReadEventLogA@28
ReadEventLogW=ReadEventLogW@28
RegCloseKey=RegCloseKey@4
RegConnectRegistryA=RegConnectRegistryA@12
RegConnectRegistryW=RegConnectRegistryW@12
RegCreateKeyA=RegCreateKeyA@12
RegCreateKeyExA=RegCreateKeyExA@36
RegCreateKeyExW=RegCreateKeyExW@36
RegCreateKeyW=RegCreateKeyW@12
RegDeleteKeyA=RegDeleteKeyA@8
RegDeleteKeyW=RegDeleteKeyW@8
RegDeleteValueA=RegDeleteValueA@8
RegDeleteValueW=RegDeleteValueW@8
RegEnumKeyA=RegEnumKeyA@16
RegEnumKeyExA=RegEnumKeyExA@32
RegEnumKeyExW=RegEnumKeyExW@32
RegEnumKeyW=RegEnumKeyW@16
RegEnumValueA=RegEnumValueA@32
RegEnumValueW=RegEnumValueW@32
RegFlushKey=RegFlushKey@4
RegGetKeySecurity=RegGetKeySecurity@16
RegLoadKeyA=RegLoadKeyA@12
RegLoadKeyW=RegLoadKeyW@12
RegNotifyChangeKeyValue=RegNotifyChangeKeyValue@20
RegOpenKeyA=RegOpenKeyA@12
RegOpenKeyExA=RegOpenKeyExA@20
RegOpenKeyExW=RegOpenKeyExW@20
RegOpenKeyW=RegOpenKeyW@12
RegQueryInfoKeyA=RegQueryInfoKeyA@48
RegQueryInfoKeyW=RegQueryInfoKeyW@48
RegQueryMultipleValuesA=RegQueryMultipleValuesA@20
RegQueryMultipleValuesW=RegQueryMultipleValuesW@20
RegQueryValueA=RegQueryValueA@16
RegQueryValueExA=RegQueryValueExA@24
RegQueryValueExW=RegQueryValueExW@24
RegQueryValueW=RegQueryValueW@16
RegReplaceKeyA=RegReplaceKeyA@16
RegReplaceKeyW=RegReplaceKeyW@16
RegRestoreKeyA=RegRestoreKeyA@12
RegRestoreKeyW=RegRestoreKeyW@12
RegSaveKeyA=RegSaveKeyA@12
RegSaveKeyW=RegSaveKeyW@12
RegSetKeySecurity=RegSetKeySecurity@12
RegSetValueA=RegSetValueA@20
RegSetValueExA=RegSetValueExA@24
RegSetValueExW=RegSetValueExW@24
RegSetValueW=RegSetValueW@20
RegUnLoadKeyA=RegUnLoadKeyA@8
RegUnLoadKeyW=RegUnLoadKeyW@8
RegisterEventSourceA=RegisterEventSourceA@8
RegisterEventSourceW=RegisterEventSourceW@8
RegisterServiceCtrlHandlerA=RegisterServiceCtrlHandlerA@8
RegisterServiceCtrlHandlerW=RegisterServiceCtrlHandlerW@8
ReplaceAllAccessRightsA
ReplaceAllAccessRightsW
ReportEventA=ReportEventA@36
ReportEventW=ReportEventW@36
RevertToSelf=RevertToSelf@0
RevokeExplicitAccessRightsA
RevokeExplicitAccessRightsW
SetAccessRightsA
SetAccessRightsW
SetAclInformation=SetAclInformation@16
SetEntriesInAclA=SetEntriesInAclA@16
SetEntriesInAclA=SetEntriesInAclA@16
SetFileSecurityA=SetFileSecurityA@12
SetFileSecurityW=SetFileSecurityW@12
SetKernelObjectSecurity=SetKernelObjectSecurity@12
SetNamedSecurityInfoA=SetNamedSecurityInfoA@28
SetNamedSecurityInfoW=SetNamedSecurityInfoW@28
SetPrivateObjectSecurity=SetPrivateObjectSecurity@20
SetSecurityDescriptorDacl=SetSecurityDescriptorDacl@16
SetSecurityDescriptorGroup=SetSecurityDescriptorGroup@12
SetSecurityDescriptorOwner=SetSecurityDescriptorOwner@12
SetSecurityDescriptorSacl=SetSecurityDescriptorSacl@16
SetSecurityInfo=SetSecurityInfo@28
SetServiceBits=SetServiceBits@16
SetServiceObjectSecurity=SetServiceObjectSecurity@12
SetServiceStatus=SetServiceStatus@8
SetThreadToken=SetThreadToken@8
SetTokenInformation=SetTokenInformation@16
StartServiceA=StartServiceA@12
StartServiceCtrlDispatcherA=StartServiceCtrlDispatcherA@4
StartServiceCtrlDispatcherW=StartServiceCtrlDispatcherW@4
StartServiceW=StartServiceW@12
SynchronizeWindows31FilesAndWindowsNTRegistry=SynchronizeWindows31FilesAndWindowsNTRegistry@16
SystemFunction001=SystemFunction001@12
SystemFunction002=SystemFunction002@12
SystemFunction003=SystemFunction003@8
SystemFunction004=SystemFunction004@12
SystemFunction005=SystemFunction005@12
SystemFunction006=SystemFunction006@8
SystemFunction007=SystemFunction007@8
SystemFunction008=SystemFunction008@12
SystemFunction009=SystemFunction009@12
SystemFunction010=SystemFunction010@12
SystemFunction011=SystemFunction011@12
SystemFunction012=SystemFunction012@12
SystemFunction013=SystemFunction013@12
SystemFunction014=SystemFunction014@12
SystemFunction015=SystemFunction015@12
SystemFunction016=SystemFunction016@12
SystemFunction017=SystemFunction017@12
SystemFunction018=SystemFunction018@12
SystemFunction019=SystemFunction019@12
SystemFunction020=SystemFunction020@12
SystemFunction021=SystemFunction021@12
SystemFunction022=SystemFunction022@12
SystemFunction023=SystemFunction023@12
SystemFunction024=SystemFunction024@12
SystemFunction025=SystemFunction025@12
SystemFunction026=SystemFunction026@12
SystemFunction027=SystemFunction027@12
SystemFunction028=SystemFunction028@8
SystemFunction029=SystemFunction029@8
SystemFunction030=SystemFunction030@8
SystemFunction031=SystemFunction031@8
SystemFunction032=SystemFunction032@8
SystemFunction033=SystemFunction033@8
UnlockServiceDatabase=UnlockServiceDatabase@4
WinLoadTrustProvider=WinLoadTrustProvider@4
WinSubmitCertificate=WinSubmitCertificate@4
WinVerifyTrust=WinVerifyTrust@12

View file

@ -1,4 +1,4 @@
# $Id: makefile,v 1.3 1999/06/18 22:10:58 ea Exp $
# $Id: makefile,v 1.4 1999/07/17 23:10:18 ea Exp $
#
# Makefile for ReactOS advapi32.dll
#
@ -17,7 +17,7 @@ endif
MISC_OBJECTS = misc/dllmain.o misc/shutdown.o \
misc/sysfunc.o
REGISTRY_OBJECTS = reg/reg.o
REGISTRY_OBJECTS = reg/reg.o reg/regw.o
SECURITY_OBJECTS = sec/lsa.o sec/sec.o
#SECURITY_OBJECTS = sec/lsa.o sec/rtlsec.o sec/sec.o
@ -42,6 +42,7 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
$(DLLTOOL) \
--dllname $(TARGET).dll \
--def $(TARGET).def \
--kill-at \
--output-lib $(TARGET).a
$(CC) \
$(TARGET).o \
@ -56,7 +57,7 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
--dllname $(TARGET).dll \
--base-file base.tmp \
--output-exp temp.exp \
--def $(TARGET).def
--def $(TARGET).edf
- $(RM) base.tmp
$(CC) \
$(TARGET).o

View file

@ -1,4 +1,4 @@
/* $Id: shutdown.c,v 1.1 1999/05/19 16:43:30 ea Exp $
/* $Id: shutdown.c,v 1.2 1999/07/17 23:10:18 ea Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
@ -83,7 +83,7 @@ InitiateSystemShutdownW(
if (lpMachineName)
{
/* remote machine shutdown not supported yet */
/* FIXME: remote machine shutdown not supported yet */
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}

View file

@ -8,12 +8,9 @@
* Created 01/11/98
* 19990309 EA Stubs
*/
//#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <wchar.h>
#include <ddk/ntddk.h>
/************************************************************************
* RegCloseKey
*/
@ -44,22 +41,6 @@ RegConnectRegistryA(
}
/************************************************************************
* RegConnectRegistryW
*/
LONG
STDCALL
RegConnectRegistryW(
LPWSTR lpMachineName,
HKEY hKey,
PHKEY phkResult
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/************************************************************************
* RegCreateKeyA
*/
@ -76,22 +57,6 @@ RegCreateKeyA(
}
/************************************************************************
* RegCreateKeyW
*/
LONG
STDCALL
RegCreateKeyW(
HKEY hKey,
LPCWSTR lpSubKey,
PHKEY phkResult
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/************************************************************************
* RegCreateKeyExA
*/
@ -114,28 +79,6 @@ RegCreateKeyExA(
}
/************************************************************************
* RegCreateKeyExW
*/
LONG
STDCALL
RegCreateKeyExW(
HKEY hKey,
LPCWSTR lpSubKey,
DWORD Reserved,
LPWSTR lpClass,
DWORD dwOptions,
REGSAM samDesired,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
PHKEY phkResult,
LPDWORD lpdwDisposition
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/************************************************************************
* RegDeleteKeyA
*/
@ -151,21 +94,6 @@ RegDeleteKeyA(
}
/************************************************************************
* RegDeleteKeyW
*/
LONG
STDCALL
RegDeleteKeyW(
HKEY hKey,
LPCWSTR lpSubKey
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/************************************************************************
* RegDeleteValueA
*/
@ -181,21 +109,6 @@ RegDeleteValueA(
}
/************************************************************************
* RegDeleteValueW
*/
LONG
STDCALL
RegDeleteValueW(
HKEY hKey,
LPCWSTR lpValueName
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/************************************************************************
* RegEnumKeyA
*/
@ -213,23 +126,6 @@ RegEnumKeyA(
}
/************************************************************************
* RegEnumKeyW
*/
LONG
STDCALL
RegEnumKeyW(
HKEY hKey,
DWORD dwIndex,
LPWSTR lpName,
DWORD cbName
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/************************************************************************
* RegEnumKeyExA
*/
@ -251,27 +147,6 @@ RegEnumKeyExA(
}
/************************************************************************
* RegEnumKeyExW
*/
LONG
STDCALL
RegEnumKeyExW(
HKEY hKey,
DWORD dwIndex,
LPWSTR lpName,
LPDWORD lpcbName,
LPDWORD lpReserved,
LPWSTR lpClass,
LPDWORD lpcbClass,
PFILETIME lpftLastWriteTime
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/************************************************************************
* RegEnumValueA
*/
@ -293,27 +168,6 @@ RegEnumValueA(
}
/************************************************************************
* RegEnumValueW
*/
LONG
STDCALL
RegEnumValueW(
HKEY hKey,
DWORD dwIndex,
LPWSTR lpValueName,
LPDWORD lpcbValueName,
LPDWORD lpReserved,
LPDWORD lpType,
LPBYTE lpData,
LPDWORD lpcbData
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/************************************************************************
* RegFlushKey
*/
@ -335,7 +189,7 @@ LONG
STDCALL
RegGetKeySecurity (
HKEY hKey,
SECURITY_INFORMATION SecurityInformation,
SECURITY_INFORMATION SecurityInformation, /* FIXME: ULONG ? */
PSECURITY_DESCRIPTOR pSecurityDescriptor,
LPDWORD lpcbSecurityDescriptor
)
@ -352,6 +206,7 @@ LONG
STDCALL
RegLoadKey(
HKEY hKey,
LPCSTR lpSubKey,
LPCSTR lpFile
)
{
@ -360,21 +215,6 @@ RegLoadKey(
}
/************************************************************************
* RegLoadKeyW
*/
LONG
STDCALL
RegLoadKeyW(
HKEY hKey,
LPCWSTR lpFile
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/************************************************************************
* RegNotifyChangeKeyValue
*/
@ -410,48 +250,6 @@ RegOpenKeyA(
}
/************************************************************************
* RegOpenKeyW
*
* 19981101 Ariadne
* 19990525 EA
*/
LONG
STDCALL
RegOpenKeyW (
HKEY hKey,
LPCWSTR lpSubKey,
PHKEY phkResult
)
{
NTSTATUS errCode;
UNICODE_STRING SubKeyString;
OBJECT_ATTRIBUTES ObjectAttributes;
SubKeyString.Buffer = (LPWSTR) lpSubKey;
SubKeyString.Length = wcslen(lpSubKey);
SubKeyString.MaximumLength = SubKeyString.Length;
ObjectAttributes.RootDirectory = hKey;
ObjectAttributes.ObjectName = & SubKeyString;
ObjectAttributes.Attributes = OBJ_CASE_INSENSITIVE;
errCode = NtOpenKey(
phkResult,
GENERIC_ALL,
& ObjectAttributes
);
if ( !NT_SUCCESS(errCode) )
{
LONG LastError = RtlNtStatusToDosError(errCode);
SetLastError(LastError);
return LastError;
}
return ERROR_SUCCESS;
}
/************************************************************************
* RegOpenKeyExA
*/
@ -461,23 +259,7 @@ RegOpenKeyExA(
HKEY hKey,
LPCSTR lpSubKey,
DWORD ulOptions,
PHKEY phkResult
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/************************************************************************
* RegOpenKeyExW
*/
LONG
STDCALL
RegOpenKeyExW(
HKEY hKey,
LPCWSTR lpSubKey,
DWORD ulOptions,
REGSAM samDesired,
PHKEY phkResult
)
{
@ -502,30 +284,7 @@ RegQueryInfoKeyA(
LPDWORD lpcValues,
LPDWORD lpcbMaxValueNameLen,
LPDWORD lpcbMaxValueLen,
PFILETIME lpftLastWriteTime
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/************************************************************************
* RegQueryInfoKeyW
*/
LONG
STDCALL
RegQueryInfoKeyW(
HKEY hKey,
LPWSTR lpClass,
LPDWORD lpcbClass,
LPDWORD lpReserved,
LPDWORD lpcSubKeys,
LPDWORD lpcbMaxSubKeyLen,
LPDWORD lpcbMaxClassLen,
LPDWORD lpcValues,
LPDWORD lpcbMaxValueNameLen,
LPDWORD lpcbMaxValueLen,
LPDWORD lpcbSecurityDescriptor,
PFILETIME lpftLastWriteTime
)
{
@ -552,24 +311,6 @@ RegQueryMultipleValuesA(
}
/************************************************************************
* RegQueryMultipleValuesW
*/
LONG
STDCALL
RegQueryMultipleValuesW(
HKEY hKey,
PVALENT val_list,
DWORD num_vals,
LPWSTR lpValueBuf,
LPDWORD ldwTotsize
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/************************************************************************
* RegQueryValueA
*/
@ -587,23 +328,6 @@ RegQueryValueA(
}
/************************************************************************
* RegQueryValueW
*/
LONG
STDCALL
RegQueryValueW(
HKEY hKey,
LPCWSTR lpSubKey,
LPWSTR lpValue,
PLONG lpcbValue
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/************************************************************************
* RegQueryValueExA
*/
@ -611,26 +335,7 @@ LONG
STDCALL
RegQueryValueExA(
HKEY hKey,
LPSTR lpValueName,
LPDWORD lpReserved,
LPDWORD lpType,
LPBYTE lpData,
LPDWORD lpcbData
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/************************************************************************
* RegQueryValueExW
*/
LONG
STDCALL
RegQueryValueExW(
HKEY hKey,
LPWSTR lpValueName,
LPCSTR lpValueName,
LPDWORD lpReserved,
LPDWORD lpType,
LPBYTE lpData,
@ -659,23 +364,6 @@ RegReplaceKeyA(
}
/************************************************************************
* RegReplaceKeyW
*/
LONG
STDCALL
RegReplaceKeyW(
HKEY hKey,
LPCWSTR lpSubKey,
LPCWSTR lpNewFile,
LPCWSTR lpOldFile
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/************************************************************************
* RegRestoreKeyA
*/
@ -692,22 +380,6 @@ RegRestoreKeyA(
}
/************************************************************************
* RegRestoreKeyW
*/
LONG
STDCALL
RegRestoreKeyW(
HKEY hKey,
LPCWSTR lpFile,
DWORD dwFlags
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/************************************************************************
* RegSaveKeyA
*/
@ -724,22 +396,6 @@ RegSaveKeyA(
}
/************************************************************************
* RegSaveKeyW
*/
LONG
STDCALL
RegSaveKeyW(
HKEY hKey,
LPCWSTR lpFile,
LPSECURITY_ATTRIBUTES lpSecurityAttributes
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/************************************************************************
* RegSetKeySecurity
*/
@ -747,7 +403,7 @@ LONG
STDCALL
RegSetKeySecurity(
HKEY hKey,
SECURITY_INFORMATION SecurityInformation,
SECURITY_INFORMATION SecurityInformation, /* FIXME: ULONG? */
PSECURITY_DESCRIPTOR pSecurityDescriptor
)
{
@ -774,24 +430,6 @@ RegSetValueA(
}
/************************************************************************
* RegSetValueW
*/
LONG
STDCALL
RegSetValueW(
HKEY hKey,
LPCWSTR lpSubKey,
DWORD dwType,
LPCWSTR lpData,
DWORD cbData
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/************************************************************************
* RegSetValueExA
*/
@ -811,25 +449,6 @@ RegSetValueExA(
}
/************************************************************************
* RegSetValueExW
*/
LONG
STDCALL
RegSetValueExW(
HKEY hKey,
LPCWSTR lpValueName,
DWORD Reserved,
DWORD dwType,
CONST BYTE *lpData,
DWORD cbData
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/************************************************************************
* RegUnLoadKeyA
*/
@ -845,20 +464,5 @@ RegUnLoadKeyA(
}
/************************************************************************
* RegUnLoadKeyW
*/
LONG
STDCALL
RegUnLoadKeyW(
HKEY hKey,
LPCWSTR lpSubKey
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/* EOF */

View file

@ -1,4 +1,4 @@
; $Id: fmifs.def,v 1.2 1999/05/21 05:25:12 ea Exp $
; $Id: fmifs.def,v 1.3 1999/07/17 23:10:18 ea Exp $
;
; fmifs.def
;
@ -12,15 +12,12 @@
;
LIBRARY fmifs
EXPORTS
Chkdsk@36
Chkdsk = Chkdsk@36
DiskCopy = DiskCopy@0
EnableVolumeCompression@8
EnableVolumeCompression = EnableVolumeCompression@8
Extend = Extend@0
Format = Format@0
FormatEx@28
FormatEx = FormatEx@28
InitializeFmIfs = InitializeFmIfs@0
QuerySupportedMedia = QuerySupportedMedia@0
SetLabel = SetLabel@0
Chkdsk@36
DiskCopy@0
EnableVolumeCompression@8
Extend@0
Format@0
FormatEx@28
InitializeFmIfs@0
QuerySupportedMedia@0
SetLabel@0

View file

@ -0,0 +1,23 @@
; $Id: fmifs.edf,v 1.1 1999/07/17 23:10:19 ea Exp $
;
; fmifs.def
;
; Project : ReactOS
; Description : fmifs.dll exported symbols
; Contributors:
; Created by Emanuele Aliberti
;
;
; NOTE: NOTE: Functions with trailing @0 are unknown.
;
LIBRARY fmifs
EXPORTS
Chkdsk=Chkdsk@36
DiskCopy=DiskCopy@0
EnableVolumeCompression=EnableVolumeCompression@8
Extend=Extend@0
Format=Format@0
FormatEx=FormatEx@28
InitializeFmIfs=InitializeFmIfs@0
QuerySupportedMedia=QuerySupportedMedia@0
SetLabel=SetLabel@0

View file

@ -1,4 +1,4 @@
# $Id: makefile,v 1.5 1999/07/16 23:37:04 rex Exp $
# $Id: makefile,v 1.6 1999/07/17 23:10:19 ea Exp $
#
# Makefile for fmifs.dll
#
@ -34,9 +34,8 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
$(DLLTOOL) \
--dllname $(TARGET).dll \
--def $(TARGET).def \
--output-lib $(TARGET).a \
--add-stdcall-alias \
--kill-at
--kill-at \
--output-lib $(TARGET).a
$(CC) \
-specs=$(TARGET)_specs \
-mdll \
@ -48,9 +47,7 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
--dllname $(TARGET).dll \
--base-file base.tmp \
--output-exp temp.exp \
--def $(TARGET).def \
--add-stdcall-alias \
--kill-at
--def $(TARGET).edf
- $(RM) base.tmp
$(CC) \
-specs=$(TARGET)_specs \

View file

@ -1,342 +1,342 @@
; $Id: gdi32.def,v 1.2 1999/05/24 20:04:44 ea Exp $
; $Id: gdi32.def,v 1.3 1999/07/17 23:10:19 ea Exp $
;
; gdi32.def
;
; ReactOS Operating System
;
; Aliased symbols from Anders Norlander's w32api-0.1.5 gdi32.def.
; From Anders Norlander's w32api-0.1.5 gdi32.def.
;
LIBRARY gdi32
EXPORTS
AbortDoc = AbortDoc@4
AbortPath = AbortPath@4
AddFontResourceA = AddFontResourceA@4
AddFontResourceW = AddFontResourceW@4
AngleArc = AngleArc@24
AnimatePalette = AnimatePalette@16
Arc = Arc@36
ArcTo = ArcTo@36
BeginPath = BeginPath@4
BitBlt = BitBlt@36
CancelDC = CancelDC@4
CheckColorsInGamut = CheckColorsInGamut@16
ChoosePixelFormat = ChoosePixelFormat@8
Chord = Chord@36
CloseEnhMetaFile = CloseEnhMetaFile@4
CloseFigure = CloseFigure@4
CloseMetaFile = CloseMetaFile@4
ColorMatchToTarget = ColorMatchToTarget@12
CombineRgn = CombineRgn@16
CombineTransform = CombineTransform@12
CopyEnhMetaFileA = CopyEnhMetaFileA@8
CopyEnhMetaFileW = CopyEnhMetaFileW@8
CopyMetaFileA = CopyMetaFileA@8
CopyMetaFileW = CopyMetaFileW@8
CreateBitmap = CreateBitmap@20
CreateBitmapIndirect = CreateBitmapIndirect@4
CreateBrushIndirect = CreateBrushIndirect@4
CreateColorSpaceA = CreateColorSpaceA@4
CreateColorSpaceW = CreateColorSpaceW@4
CreateCompatibleBitmap = CreateCompatibleBitmap@12
CreateCompatibleDC = CreateCompatibleDC@4
CreateDCA = CreateDCA@16
CreateDCW = CreateDCW@16
CreateDIBPatternBrush = CreateDIBPatternBrush@8
CreateDIBPatternBrushPt = CreateDIBPatternBrushPt@8
CreateDIBSection = CreateDIBSection@24
CreateDIBitmap = CreateDIBitmap@24
CreateDiscardableBitmap = CreateDiscardableBitmap@12
CreateEllipticRgn = CreateEllipticRgn@16
CreateEllipticRgnIndirect = CreateEllipticRgnIndirect@4
CreateEnhMetaFileA = CreateEnhMetaFileA@16
CreateEnhMetaFileW = CreateEnhMetaFileW@16
CreateFontA = CreateFontA@56
CreateFontIndirectA = CreateFontIndirectA@4
CreateFontIndirectW = CreateFontIndirectW@4
CreateFontW = CreateFontW@56
CreateHalftonePalette = CreateHalftonePalette@4
CreateHatchBrush = CreateHatchBrush@8
CreateICA = CreateICA@16
CreateICW = CreateICW@16
CreateMetaFileA = CreateMetaFileA@4
CreateMetaFileW = CreateMetaFileW@4
CreatePalette = CreatePalette@4
CreatePatternBrush = CreatePatternBrush@4
CreatePen = CreatePen@12
CreatePenIndirect = CreatePenIndirect@4
CreatePolyPolygonRgn = CreatePolyPolygonRgn@16
CreatePolygonRgn = CreatePolygonRgn@12
CreateRectRgn = CreateRectRgn@16
CreateRectRgnIndirect = CreateRectRgnIndirect@4
CreateRoundRectRgn = CreateRoundRectRgn@24
CreateScalableFontResourceA = CreateScalableFontResourceA@16
CreateScalableFontResourceW = CreateScalableFontResourceW@16
CreateSolidBrush = CreateSolidBrush@4
DPtoLP = DPtoLP@12
DeleteColorSpace = DeleteColorSpace@4
DeleteDC = DeleteDC@4
DeleteEnhMetaFile = DeleteEnhMetaFile@4
DeleteMetaFile = DeleteMetaFile@4
DeleteObject = DeleteObject@4
DescribePixelFormat = DescribePixelFormat@16
DeviceCapabilitiesExA = DeviceCapabilitiesExA@20
DeviceCapabilitiesExW = DeviceCapabilitiesExW@20
DrawEscape = DrawEscape@16
Ellipse = Ellipse@20
EndDoc = EndDoc@4
EndPage = EndPage@4
EndPath = EndPath@4
EnumEnhMetaFile = EnumEnhMetaFile@20
EnumFontFamiliesA = EnumFontFamiliesA@16
EnumFontFamiliesExA = EnumFontFamiliesExA@20
EnumFontFamiliesExW = EnumFontFamiliesExW@20
EnumFontFamiliesW = EnumFontFamiliesW@16
EnumFontsA = EnumFontsA@16
EnumFontsW = EnumFontsW@16
EnumICMProfilesA = EnumICMProfilesA@12
EnumICMProfilesW = EnumICMProfilesW@12
EnumMetaFile = EnumMetaFile@16
EnumObjects = EnumObjects@16
EqualRgn = EqualRgn@8
Escape = Escape@20
ExcludeClipRect = ExcludeClipRect@20
ExtCreatePen = ExtCreatePen@20
ExtCreateRegion = ExtCreateRegion@12
ExtEscape = ExtEscape@24
ExtFloodFill = ExtFloodFill@20
ExtSelectClipRgn = ExtSelectClipRgn@12
ExtTextOutA = ExtTextOutA@32
ExtTextOutW = ExtTextOutW@32
FillPath = FillPath@4
FillRgn = FillRgn@12
FixBrushOrgEx = FixBrushOrgEx@16
FlattenPath = FlattenPath@4
FloodFill = FloodFill@16
FrameRgn = FrameRgn@20
GdiComment = GdiComment@12
GdiFlush = GdiFlush@0
GdiGetBatchLimit = GdiGetBatchLimit@0
GdiPlayDCScript = GdiPlayDCScript@24
GdiPlayJournal = GdiPlayJournal@20
GdiPlayScript = GdiPlayScript@28
GdiSetBatchLimit = GdiSetBatchLimit@4
GetArcDirection = GetArcDirection@4
GetAspectRatioFilterEx = GetAspectRatioFilterEx@8
GetBitmapBits = GetBitmapBits@12
GetBitmapDimensionEx = GetBitmapDimensionEx@8
GetBkColor = GetBkColor@4
GetBkMode = GetBkMode@4
GetBoundsRect = GetBoundsRect@12
GetBrushOrgEx = GetBrushOrgEx@8
GetCharABCWidthsA = GetCharABCWidthsA@16
GetCharABCWidthsFloatA = GetCharABCWidthsFloatA@16
GetCharABCWidthsFloatW = GetCharABCWidthsFloatW@16
GetCharABCWidthsW = GetCharABCWidthsW@16
GetCharWidth32A = GetCharWidth32A@16
GetCharWidth32W = GetCharWidth32W@16
GetCharWidthA = GetCharWidthA@16
GetCharWidthFloatA = GetCharWidthFloatA@16
GetCharWidthFloatW = GetCharWidthFloatW@16
GetCharWidthW = GetCharWidthW@16
GetCharacterPlacementA = GetCharacterPlacementA@24
GetCharacterPlacementW = GetCharacterPlacementW@24
GetClipBox = GetClipBox@8
GetClipRgn = GetClipRgn@8
GetColorAdjustment = GetColorAdjustment@8
GetColorSpace = GetColorSpace@4
GetCurrentObject = GetCurrentObject@8
GetCurrentPositionEx = GetCurrentPositionEx@8
GetDCOrgEx = GetDCOrgEx@8
GetDIBColorTable = GetDIBColorTable@16
GetDIBits = GetDIBits@28
GetDeviceCaps = GetDeviceCaps@8
GetDeviceGammaRamp = GetDeviceGammaRamp@8
GetEnhMetaFileA = GetEnhMetaFileA@4
GetEnhMetaFileBits = GetEnhMetaFileBits@12
GetEnhMetaFileDescriptionA = GetEnhMetaFileDescriptionA@12
GetEnhMetaFileDescriptionW = GetEnhMetaFileDescriptionW@12
GetEnhMetaFileHeader = GetEnhMetaFileHeader@12
GetEnhMetaFilePaletteEntries = GetEnhMetaFilePaletteEntries@12
GetEnhMetaFilePixelFormat = GetEnhMetaFilePixelFormat@12
GetEnhMetaFileW = GetEnhMetaFileW@4
GetFontData = GetFontData@20
GetFontLanguageInfo = GetFontLanguageInfo@4
GetFontResourceInfo = GetFontResourceInfo@16
GetFontResourceInfoW = GetFontResourceInfoW@16
GetGlyphOutline = GetGlyphOutlineA@28
GetGlyphOutlineA = GetGlyphOutlineA@28
GetGlyphOutlineW = GetGlyphOutlineW@28
GetGlyphOutlineWow = GetGlyphOutlineWow@28
GetGraphicsMode = GetGraphicsMode@4
GetICMProfileA = GetICMProfileA@12
GetICMProfileW = GetICMProfileW@12
GetKerningPairs = GetKerningPairsA@12
GetKerningPairsA = GetKerningPairsA@12
GetKerningPairsW = GetKerningPairsW@12
GetLogColorSpaceA = GetLogColorSpaceA@12
GetLogColorSpaceW = GetLogColorSpaceW@12
GetMapMode = GetMapMode@4
GetMetaFileA = GetMetaFileA@4
GetMetaFileBitsEx = GetMetaFileBitsEx@12
GetMetaFileW = GetMetaFileW@4
GetMetaRgn = GetMetaRgn@8
GetMiterLimit = GetMiterLimit@8
GetNearestColor = GetNearestColor@8
GetNearestPaletteIndex = GetNearestPaletteIndex@8
GetObjectA = GetObjectA@12
GetObjectType = GetObjectType@4
GetObjectW = GetObjectW@12
GetOutlineTextMetricsA = GetOutlineTextMetricsA@12
GetOutlineTextMetricsW = GetOutlineTextMetricsW@12
GetPaletteEntries = GetPaletteEntries@16
GetPath = GetPath@16
GetPixel = GetPixel@12
GetPixelFormat = GetPixelFormat@4
GetPolyFillMode = GetPolyFillMode@4
GetROP2 = GetROP2@4
GetRandomRgn = GetRandomRgn@12
GetRasterizerCaps = GetRasterizerCaps@8
GetRegionData = GetRegionData@12
GetRelAbs = GetRelAbs@8
GetRgnBox = GetRgnBox@8
GetStockObject = GetStockObject@4
GetStretchBltMode = GetStretchBltMode@4
GetSystemPaletteEntries = GetSystemPaletteEntries@16
GetSystemPaletteUse = GetSystemPaletteUse@4
GetTextAlign = GetTextAlign@4
GetTextCharacterExtra = GetTextCharacterExtra@4
GetTextCharset = GetTextCharset@4
GetTextCharsetInfo = GetTextCharsetInfo@12
GetTextColor = GetTextColor@4
GetTextExtentExPointA = GetTextExtentExPointA@28
GetTextExtentExPointW = GetTextExtentExPointW@28
GetTextExtentPoint32A = GetTextExtentPoint32A@16
GetTextExtentPoint32W = GetTextExtentPoint32W@16
GetTextExtentPointA = GetTextExtentPointA@16
GetTextExtentPointW = GetTextExtentPointW@16
GetTextFaceA = GetTextFaceA@12
GetTextFaceW = GetTextFaceW@12
GetTextMetricsA = GetTextMetricsA@8
GetTextMetricsW = GetTextMetricsW@8
GetViewportExtEx = GetViewportExtEx@8
GetViewportOrgEx = GetViewportOrgEx@8
GetWinMetaFileBits = GetWinMetaFileBits@20
GetWindowExtEx = GetWindowExtEx@8
GetWindowOrgEx = GetWindowOrgEx@8
GetWorldTransform = GetWorldTransform@8
IntersectClipRect = IntersectClipRect@20
InvertRgn = InvertRgn@8
LPtoDP = LPtoDP@12
LineDDA = LineDDA@24
LineTo = LineTo@12
MaskBlt = MaskBlt@48
ModifyWorldTransform = ModifyWorldTransform@12
MoveToEx = MoveToEx@16
OffsetClipRgn = OffsetClipRgn@12
OffsetRgn = OffsetRgn@12
OffsetViewportOrgEx = OffsetViewportOrgEx@16
OffsetWindowOrgEx = OffsetWindowOrgEx@16
PaintRgn = PaintRgn@8
PatBlt = PatBlt@24
PathToRegion = PathToRegion@4
Pie = Pie@36
PlayEnhMetaFile = PlayEnhMetaFile@12
PlayEnhMetaFileRecord = PlayEnhMetaFileRecord@16
PlayMetaFile = PlayMetaFile@8
PlayMetaFileRecord = PlayMetaFileRecord@16
PlgBlt = PlgBlt@40
PolyBezier = PolyBezier@12
PolyBezierTo = PolyBezierTo@12
PolyDraw = PolyDraw@16
PolyPolygon = PolyPolygon@16
PolyPolyline = PolyPolyline@16
PolyTextOutA = PolyTextOutA@12
PolyTextOutW = PolyTextOutW@12
Polygon = Polygon@12
Polyline = Polyline@12
PolylineTo = PolylineTo@12
PtInRegion = PtInRegion@12
PtVisible = PtVisible@12
RealizePalette = RealizePalette@4
RectInRegion = RectInRegion@8
RectVisible = RectVisible@8
Rectangle = Rectangle@20
RemoveFontResourceA = RemoveFontResourceA@4
RemoveFontResourceW = RemoveFontResourceW@4
ResetDCA = ResetDCA@8
ResetDCW = ResetDCW@8
ResizePalette = ResizePalette@8
RestoreDC = RestoreDC@8
RoundRect = RoundRect@28
SaveDC = SaveDC@4
ScaleViewportExtEx = ScaleViewportExtEx@24
ScaleWindowExtEx = ScaleWindowExtEx@24
SelectBrushLocal = SelectBrushLocal@8
SelectClipPath = SelectClipPath@8
SelectClipRgn = SelectClipRgn@8
SelectFontLocal = SelectFontLocal@8
SelectObject = SelectObject@8
SelectPalette = SelectPalette@12
SetAbortProc = SetAbortProc@8
SetArcDirection = SetArcDirection@8
SetBitmapBits = SetBitmapBits@12
SetBitmapDimensionEx = SetBitmapDimensionEx@16
SetBkColor = SetBkColor@8
SetBkMode = SetBkMode@8
SetBoundsRect = SetBoundsRect@12
SetBrushOrgEx = SetBrushOrgEx@16
SetColorAdjustment = SetColorAdjustment@8
SetColorSpace = SetColorSpace@8
SetDIBColorTable = SetDIBColorTable@16
SetDIBits = SetDIBits@28
SetDIBitsToDevice = SetDIBitsToDevice@48
SetDeviceGammaRamp = SetDeviceGammaRamp@8
SetEnhMetaFileBits = SetEnhMetaFileBits@8
SetFontEnumeration = SetFontEnumeration@4
SetGraphicsMode = SetGraphicsMode@8
SetICMMode = SetICMMode@8
SetICMProfileA = SetICMProfileA@8
SetICMProfileW = SetICMProfileW@8
SetMapMode = SetMapMode@8
SetMapperFlags = SetMapperFlags@8
SetMetaFileBitsEx = SetMetaFileBitsEx@8
SetMetaRgn = SetMetaRgn@4
SetMiterLimit = SetMiterLimit@12
SetPaletteEntries = SetPaletteEntries@16
SetPixel = SetPixel@16
SetPixelFormat = SetPixelFormat@12
SetPixelV = SetPixelV@16
SetPolyFillMode = SetPolyFillMode@8
SetROP2 = SetROP2@8
SetRectRgn = SetRectRgn@20
SetRelAbs = SetRelAbs@8
SetStretchBltMode = SetStretchBltMode@8
SetSystemPaletteUse = SetSystemPaletteUse@8
SetTextAlign = SetTextAlign@8
SetTextCharacterExtra = SetTextCharacterExtra@8
SetTextColor = SetTextColor@8
SetTextJustification = SetTextJustification@12
SetViewportExtEx = SetViewportExtEx@16
SetViewportOrgEx = SetViewportOrgEx@16
SetWinMetaFileBits = SetWinMetaFileBits@16
SetWindowExtEx = SetWindowExtEx@16
SetWindowOrgEx = SetWindowOrgEx@16
SetWorldTransform = SetWorldTransform@8
StartDocA = StartDocA@8
StartDocW = StartDocW@8
StartPage = StartPage@4
StretchBlt = StretchBlt@44
StretchDIBits = StretchDIBits@52
StrokeAndFillPath = StrokeAndFillPath@4
StrokePath = StrokePath@4
SwapBuffers = SwapBuffers@4
TextOutA = TextOutA@20
TextOutW = TextOutW@20
TranslateCharsetInfo = TranslateCharsetInfo@12
UnrealizeObject = UnrealizeObject@4
UpdateColors = UpdateColors@4
UpdateICMRegKey = UpdateICMRegKeyA@16
UpdateICMRegKeyA = UpdateICMRegKeyA@16
UpdateICMRegKeyW = UpdateICMRegKeyW@16
WidenPath = WidenPath@4
gdiPlaySpoolStream = gdiPlaySpoolStream@24
AbortDoc@4
AbortPath@4
AddFontResourceA@4
AddFontResourceW@4
AngleArc@24
AnimatePalette@16
Arc@36
ArcTo@36
BeginPath@4
BitBlt@36
CancelDC@4
CheckColorsInGamut@16
ChoosePixelFormat@8
Chord@36
CloseEnhMetaFile@4
CloseFigure@4
CloseMetaFile@4
ColorMatchToTarget@12
CombineRgn@16
CombineTransform@12
CopyEnhMetaFileA@8
CopyEnhMetaFileW@8
CopyMetaFileA@8
CopyMetaFileW@8
CreateBitmap@20
CreateBitmapIndirect@4
CreateBrushIndirect@4
CreateColorSpaceA@4
CreateColorSpaceW@4
CreateCompatibleBitmap@12
CreateCompatibleDC@4
CreateDCA@16
CreateDCW@16
CreateDIBPatternBrush@8
CreateDIBPatternBrushPt@8
CreateDIBSection@24
CreateDIBitmap@24
CreateDiscardableBitmap@12
CreateEllipticRgn@16
CreateEllipticRgnIndirect@4
CreateEnhMetaFileA@16
CreateEnhMetaFileW@16
CreateFontA@56
CreateFontIndirectA@4
CreateFontIndirectW@4
CreateFontW@56
CreateHalftonePalette@4
CreateHatchBrush@8
CreateICA@16
CreateICW@16
CreateMetaFileA@4
CreateMetaFileW@4
CreatePalette@4
CreatePatternBrush@4
CreatePen@12
CreatePenIndirect@4
CreatePolyPolygonRgn@16
CreatePolygonRgn@12
CreateRectRgn@16
CreateRectRgnIndirect@4
CreateRoundRectRgn@24
CreateScalableFontResourceA@16
CreateScalableFontResourceW@16
CreateSolidBrush@4
DPtoLP@12
DeleteColorSpace@4
DeleteDC@4
DeleteEnhMetaFile@4
DeleteMetaFile@4
DeleteObject@4
DescribePixelFormat@16
DeviceCapabilitiesExA@20
DeviceCapabilitiesExW@20
DrawEscape@16
Ellipse@20
EndDoc@4
EndPage@4
EndPath@4
EnumEnhMetaFile@20
EnumFontFamiliesA@16
EnumFontFamiliesExA@20
EnumFontFamiliesExW@20
EnumFontFamiliesW@16
EnumFontsA@16
EnumFontsW@16
EnumICMProfilesA@12
EnumICMProfilesW@12
EnumMetaFile@16
EnumObjects@16
EqualRgn@8
Escape@20
ExcludeClipRect@20
ExtCreatePen@20
ExtCreateRegion@12
ExtEscape@24
ExtFloodFill@20
ExtSelectClipRgn@12
ExtTextOutA@32
ExtTextOutW@32
FillPath@4
FillRgn@12
FixBrushOrgEx@16
FlattenPath@4
FloodFill@16
FrameRgn@20
GdiComment@12
GdiFlush@0
GdiGetBatchLimit@0
GdiPlayDCScript@24
GdiPlayJournal@20
GdiPlayScript@28
GdiSetBatchLimit@4
GetArcDirection@4
GetAspectRatioFilterEx@8
GetBitmapBits@12
GetBitmapDimensionEx@8
GetBkColor@4
GetBkMode@4
GetBoundsRect@12
GetBrushOrgEx@8
GetCharABCWidthsA@16
GetCharABCWidthsFloatA@16
GetCharABCWidthsFloatW@16
GetCharABCWidthsW@16
GetCharWidth32A@16
GetCharWidth32W@16
GetCharWidthA@16
GetCharWidthFloatA@16
GetCharWidthFloatW@16
GetCharWidthW@16
GetCharacterPlacementA@24
GetCharacterPlacementW@24
GetClipBox@8
GetClipRgn@8
GetColorAdjustment@8
GetColorSpace@4
GetCurrentObject@8
GetCurrentPositionEx@8
GetDCOrgEx@8
GetDIBColorTable@16
GetDIBits@28
GetDeviceCaps@8
GetDeviceGammaRamp@8
GetEnhMetaFileA@4
GetEnhMetaFileBits@12
GetEnhMetaFileDescriptionA@12
GetEnhMetaFileDescriptionW@12
GetEnhMetaFileHeader@12
GetEnhMetaFilePaletteEntries@12
GetEnhMetaFilePixelFormat@12
GetEnhMetaFileW@4
GetFontData@20
GetFontLanguageInfo@4
GetFontResourceInfo@16
GetFontResourceInfoW@16
GetGlyphOutlineA@28
GetGlyphOutlineA@28
GetGlyphOutlineW@28
GetGlyphOutlineWow@28
GetGraphicsMode@4
GetICMProfileA@12
GetICMProfileW@12
GetKerningPairsA@12
GetKerningPairsA@12
GetKerningPairsW@12
GetLogColorSpaceA@12
GetLogColorSpaceW@12
GetMapMode@4
GetMetaFileA@4
GetMetaFileBitsEx@12
GetMetaFileW@4
GetMetaRgn@8
GetMiterLimit@8
GetNearestColor@8
GetNearestPaletteIndex@8
GetObjectA@12
GetObjectType@4
GetObjectW@12
GetOutlineTextMetricsA@12
GetOutlineTextMetricsW@12
GetPaletteEntries@16
GetPath@16
GetPixel@12
GetPixelFormat@4
GetPolyFillMode@4
GetROP2@4
GetRandomRgn@12
GetRasterizerCaps@8
GetRegionData@12
GetRelAbs@8
GetRgnBox@8
GetStockObject@4
GetStretchBltMode@4
GetSystemPaletteEntries@16
GetSystemPaletteUse@4
GetTextAlign@4
GetTextCharacterExtra@4
GetTextCharset@4
GetTextCharsetInfo@12
GetTextColor@4
GetTextExtentExPointA@28
GetTextExtentExPointW@28
GetTextExtentPoint32A@16
GetTextExtentPoint32W@16
GetTextExtentPointA@16
GetTextExtentPointW@16
GetTextFaceA@12
GetTextFaceW@12
GetTextMetricsA@8
GetTextMetricsW@8
GetViewportExtEx@8
GetViewportOrgEx@8
GetWinMetaFileBits@20
GetWindowExtEx@8
GetWindowOrgEx@8
GetWorldTransform@8
IntersectClipRect@20
InvertRgn@8
LPtoDP@12
LineDDA@24
LineTo@12
MaskBlt@48
ModifyWorldTransform@12
MoveToEx@16
OffsetClipRgn@12
OffsetRgn@12
OffsetViewportOrgEx@16
OffsetWindowOrgEx@16
PaintRgn@8
PatBlt@24
PathToRegion@4
Pie@36
PlayEnhMetaFile@12
PlayEnhMetaFileRecord@16
PlayMetaFile@8
PlayMetaFileRecord@16
PlgBlt@40
PolyBezier@12
PolyBezierTo@12
PolyDraw@16
PolyPolygon@16
PolyPolyline@16
PolyTextOutA@12
PolyTextOutW@12
Polygon@12
Polyline@12
PolylineTo@12
PtInRegion@12
PtVisible@12
RealizePalette@4
RectInRegion@8
RectVisible@8
Rectangle@20
RemoveFontResourceA@4
RemoveFontResourceW@4
ResetDCA@8
ResetDCW@8
ResizePalette@8
RestoreDC@8
RoundRect@28
SaveDC@4
ScaleViewportExtEx@24
ScaleWindowExtEx@24
SelectBrushLocal@8
SelectClipPath@8
SelectClipRgn@8
SelectFontLocal@8
SelectObject@8
SelectPalette@12
SetAbortProc@8
SetArcDirection@8
SetBitmapBits@12
SetBitmapDimensionEx@16
SetBkColor@8
SetBkMode@8
SetBoundsRect@12
SetBrushOrgEx@16
SetColorAdjustment@8
SetColorSpace@8
SetDIBColorTable@16
SetDIBits@28
SetDIBitsToDevice@48
SetDeviceGammaRamp@8
SetEnhMetaFileBits@8
SetFontEnumeration@4
SetGraphicsMode@8
SetICMMode@8
SetICMProfileA@8
SetICMProfileW@8
SetMapMode@8
SetMapperFlags@8
SetMetaFileBitsEx@8
SetMetaRgn@4
SetMiterLimit@12
SetPaletteEntries@16
SetPixel@16
SetPixelFormat@12
SetPixelV@16
SetPolyFillMode@8
SetROP2@8
SetRectRgn@20
SetRelAbs@8
SetStretchBltMode@8
SetSystemPaletteUse@8
SetTextAlign@8
SetTextCharacterExtra@8
SetTextColor@8
SetTextJustification@12
SetViewportExtEx@16
SetViewportOrgEx@16
SetWinMetaFileBits@16
SetWindowExtEx@16
SetWindowOrgEx@16
SetWorldTransform@8
StartDocA@8
StartDocW@8
StartPage@4
StretchBlt@44
StretchDIBits@52
StrokeAndFillPath@4
StrokePath@4
SwapBuffers@4
TextOutA@20
TextOutW@20
TranslateCharsetInfo@12
UnrealizeObject@4
UpdateColors@4
UpdateICMRegKeyA@16
UpdateICMRegKeyA@16
UpdateICMRegKeyW@16
WidenPath@4
gdiPlaySpoolStream@24

342
reactos/lib/gdi32/gdi32.edf Normal file
View file

@ -0,0 +1,342 @@
; $Id: gdi32.edf,v 1.1 1999/07/17 23:10:19 ea Exp $
;
; gdi32.def
;
; ReactOS Operating System
;
; From Anders Norlander's w32api-0.1.5 gdi32.def.
;
LIBRARY gdi32
EXPORTS
AbortDoc=AbortDoc@4
AbortPath=AbortPath@4
AddFontResourceA=AddFontResourceA@4
AddFontResourceW=AddFontResourceW@4
AngleArc=AngleArc@24
AnimatePalette=AnimatePalette@16
Arc=Arc@36
ArcTo=ArcTo@36
BeginPath=BeginPath@4
BitBlt=BitBlt@36
CancelDC=CancelDC@4
CheckColorsInGamut=CheckColorsInGamut@16
ChoosePixelFormat=ChoosePixelFormat@8
Chord=Chord@36
CloseEnhMetaFile=CloseEnhMetaFile@4
CloseFigure=CloseFigure@4
CloseMetaFile=CloseMetaFile@4
ColorMatchToTarget=ColorMatchToTarget@12
CombineRgn=CombineRgn@16
CombineTransform=CombineTransform@12
CopyEnhMetaFileA=CopyEnhMetaFileA@8
CopyEnhMetaFileW=CopyEnhMetaFileW@8
CopyMetaFileA=CopyMetaFileA@8
CopyMetaFileW=CopyMetaFileW@8
CreateBitmap=CreateBitmap@20
CreateBitmapIndirect=CreateBitmapIndirect@4
CreateBrushIndirect=CreateBrushIndirect@4
CreateColorSpaceA=CreateColorSpaceA@4
CreateColorSpaceW=CreateColorSpaceW@4
CreateCompatibleBitmap=CreateCompatibleBitmap@12
CreateCompatibleDC=CreateCompatibleDC@4
CreateDCA=CreateDCA@16
CreateDCW=CreateDCW@16
CreateDIBPatternBrush=CreateDIBPatternBrush@8
CreateDIBPatternBrushPt=CreateDIBPatternBrushPt@8
CreateDIBSection=CreateDIBSection@24
CreateDIBitmap=CreateDIBitmap@24
CreateDiscardableBitmap=CreateDiscardableBitmap@12
CreateEllipticRgn=CreateEllipticRgn@16
CreateEllipticRgnIndirect=CreateEllipticRgnIndirect@4
CreateEnhMetaFileA=CreateEnhMetaFileA@16
CreateEnhMetaFileW=CreateEnhMetaFileW@16
CreateFontA=CreateFontA@56
CreateFontIndirectA=CreateFontIndirectA@4
CreateFontIndirectW=CreateFontIndirectW@4
CreateFontW=CreateFontW@56
CreateHalftonePalette=CreateHalftonePalette@4
CreateHatchBrush=CreateHatchBrush@8
CreateICA=CreateICA@16
CreateICW=CreateICW@16
CreateMetaFileA=CreateMetaFileA@4
CreateMetaFileW=CreateMetaFileW@4
CreatePalette=CreatePalette@4
CreatePatternBrush=CreatePatternBrush@4
CreatePen=CreatePen@12
CreatePenIndirect=CreatePenIndirect@4
CreatePolyPolygonRgn=CreatePolyPolygonRgn@16
CreatePolygonRgn=CreatePolygonRgn@12
CreateRectRgn=CreateRectRgn@16
CreateRectRgnIndirect=CreateRectRgnIndirect@4
CreateRoundRectRgn=CreateRoundRectRgn@24
CreateScalableFontResourceA=CreateScalableFontResourceA@16
CreateScalableFontResourceW=CreateScalableFontResourceW@16
CreateSolidBrush=CreateSolidBrush@4
DPtoLP=DPtoLP@12
DeleteColorSpace=DeleteColorSpace@4
DeleteDC=DeleteDC@4
DeleteEnhMetaFile=DeleteEnhMetaFile@4
DeleteMetaFile=DeleteMetaFile@4
DeleteObject=DeleteObject@4
DescribePixelFormat=DescribePixelFormat@16
DeviceCapabilitiesExA=DeviceCapabilitiesExA@20
DeviceCapabilitiesExW=DeviceCapabilitiesExW@20
DrawEscape=DrawEscape@16
Ellipse=Ellipse@20
EndDoc=EndDoc@4
EndPage=EndPage@4
EndPath=EndPath@4
EnumEnhMetaFile=EnumEnhMetaFile@20
EnumFontFamiliesA=EnumFontFamiliesA@16
EnumFontFamiliesExA=EnumFontFamiliesExA@20
EnumFontFamiliesExW=EnumFontFamiliesExW@20
EnumFontFamiliesW=EnumFontFamiliesW@16
EnumFontsA=EnumFontsA@16
EnumFontsW=EnumFontsW@16
EnumICMProfilesA=EnumICMProfilesA@12
EnumICMProfilesW=EnumICMProfilesW@12
EnumMetaFile=EnumMetaFile@16
EnumObjects=EnumObjects@16
EqualRgn=EqualRgn@8
Escape=Escape@20
ExcludeClipRect=ExcludeClipRect@20
ExtCreatePen=ExtCreatePen@20
ExtCreateRegion=ExtCreateRegion@12
ExtEscape=ExtEscape@24
ExtFloodFill=ExtFloodFill@20
ExtSelectClipRgn=ExtSelectClipRgn@12
ExtTextOutA=ExtTextOutA@32
ExtTextOutW=ExtTextOutW@32
FillPath=FillPath@4
FillRgn=FillRgn@12
FixBrushOrgEx=FixBrushOrgEx@16
FlattenPath=FlattenPath@4
FloodFill=FloodFill@16
FrameRgn=FrameRgn@20
GdiComment=GdiComment@12
GdiFlush=GdiFlush@0
GdiGetBatchLimit=GdiGetBatchLimit@0
GdiPlayDCScript=GdiPlayDCScript@24
GdiPlayJournal=GdiPlayJournal@20
GdiPlayScript=GdiPlayScript@28
GdiSetBatchLimit=GdiSetBatchLimit@4
GetArcDirection=GetArcDirection@4
GetAspectRatioFilterEx=GetAspectRatioFilterEx@8
GetBitmapBits=GetBitmapBits@12
GetBitmapDimensionEx=GetBitmapDimensionEx@8
GetBkColor=GetBkColor@4
GetBkMode=GetBkMode@4
GetBoundsRect=GetBoundsRect@12
GetBrushOrgEx=GetBrushOrgEx@8
GetCharABCWidthsA=GetCharABCWidthsA@16
GetCharABCWidthsFloatA=GetCharABCWidthsFloatA@16
GetCharABCWidthsFloatW=GetCharABCWidthsFloatW@16
GetCharABCWidthsW=GetCharABCWidthsW@16
GetCharWidth32A=GetCharWidth32A@16
GetCharWidth32W=GetCharWidth32W@16
GetCharWidthA=GetCharWidthA@16
GetCharWidthFloatA=GetCharWidthFloatA@16
GetCharWidthFloatW=GetCharWidthFloatW@16
GetCharWidthW=GetCharWidthW@16
GetCharacterPlacementA=GetCharacterPlacementA@24
GetCharacterPlacementW=GetCharacterPlacementW@24
GetClipBox=GetClipBox@8
GetClipRgn=GetClipRgn@8
GetColorAdjustment=GetColorAdjustment@8
GetColorSpace=GetColorSpace@4
GetCurrentObject=GetCurrentObject@8
GetCurrentPositionEx=GetCurrentPositionEx@8
GetDCOrgEx=GetDCOrgEx@8
GetDIBColorTable=GetDIBColorTable@16
GetDIBits=GetDIBits@28
GetDeviceCaps=GetDeviceCaps@8
GetDeviceGammaRamp=GetDeviceGammaRamp@8
GetEnhMetaFileA=GetEnhMetaFileA@4
GetEnhMetaFileBits=GetEnhMetaFileBits@12
GetEnhMetaFileDescriptionA=GetEnhMetaFileDescriptionA@12
GetEnhMetaFileDescriptionW=GetEnhMetaFileDescriptionW@12
GetEnhMetaFileHeader=GetEnhMetaFileHeader@12
GetEnhMetaFilePaletteEntries=GetEnhMetaFilePaletteEntries@12
GetEnhMetaFilePixelFormat=GetEnhMetaFilePixelFormat@12
GetEnhMetaFileW=GetEnhMetaFileW@4
GetFontData=GetFontData@20
GetFontLanguageInfo=GetFontLanguageInfo@4
GetFontResourceInfo=GetFontResourceInfo@16
GetFontResourceInfoW=GetFontResourceInfoW@16
GetGlyphOutlineA=GetGlyphOutlineA@28
GetGlyphOutlineA=GetGlyphOutlineA@28
GetGlyphOutlineW=GetGlyphOutlineW@28
GetGlyphOutlineWow=GetGlyphOutlineWow@28
GetGraphicsMode=GetGraphicsMode@4
GetICMProfileA=GetICMProfileA@12
GetICMProfileW=GetICMProfileW@12
GetKerningPairsA=GetKerningPairsA@12
GetKerningPairsA=GetKerningPairsA@12
GetKerningPairsW=GetKerningPairsW@12
GetLogColorSpaceA=GetLogColorSpaceA@12
GetLogColorSpaceW=GetLogColorSpaceW@12
GetMapMode=GetMapMode@4
GetMetaFileA=GetMetaFileA@4
GetMetaFileBitsEx=GetMetaFileBitsEx@12
GetMetaFileW=GetMetaFileW@4
GetMetaRgn=GetMetaRgn@8
GetMiterLimit=GetMiterLimit@8
GetNearestColor=GetNearestColor@8
GetNearestPaletteIndex=GetNearestPaletteIndex@8
GetObjectA=GetObjectA@12
GetObjectType=GetObjectType@4
GetObjectW=GetObjectW@12
GetOutlineTextMetricsA=GetOutlineTextMetricsA@12
GetOutlineTextMetricsW=GetOutlineTextMetricsW@12
GetPaletteEntries=GetPaletteEntries@16
GetPath=GetPath@16
GetPixel=GetPixel@12
GetPixelFormat=GetPixelFormat@4
GetPolyFillMode=GetPolyFillMode@4
GetROP2=GetROP2@4
GetRandomRgn=GetRandomRgn@12
GetRasterizerCaps=GetRasterizerCaps@8
GetRegionData=GetRegionData@12
GetRelAbs=GetRelAbs@8
GetRgnBox=GetRgnBox@8
GetStockObject=GetStockObject@4
GetStretchBltMode=GetStretchBltMode@4
GetSystemPaletteEntries=GetSystemPaletteEntries@16
GetSystemPaletteUse=GetSystemPaletteUse@4
GetTextAlign=GetTextAlign@4
GetTextCharacterExtra=GetTextCharacterExtra@4
GetTextCharset=GetTextCharset@4
GetTextCharsetInfo=GetTextCharsetInfo@12
GetTextColor=GetTextColor@4
GetTextExtentExPointA=GetTextExtentExPointA@28
GetTextExtentExPointW=GetTextExtentExPointW@28
GetTextExtentPoint32A=GetTextExtentPoint32A@16
GetTextExtentPoint32W=GetTextExtentPoint32W@16
GetTextExtentPointA=GetTextExtentPointA@16
GetTextExtentPointW=GetTextExtentPointW@16
GetTextFaceA=GetTextFaceA@12
GetTextFaceW=GetTextFaceW@12
GetTextMetricsA=GetTextMetricsA@8
GetTextMetricsW=GetTextMetricsW@8
GetViewportExtEx=GetViewportExtEx@8
GetViewportOrgEx=GetViewportOrgEx@8
GetWinMetaFileBits=GetWinMetaFileBits@20
GetWindowExtEx=GetWindowExtEx@8
GetWindowOrgEx=GetWindowOrgEx@8
GetWorldTransform=GetWorldTransform@8
IntersectClipRect=IntersectClipRect@20
InvertRgn=InvertRgn@8
LPtoDP=LPtoDP@12
LineDDA=LineDDA@24
LineTo=LineTo@12
MaskBlt=MaskBlt@48
ModifyWorldTransform=ModifyWorldTransform@12
MoveToEx=MoveToEx@16
OffsetClipRgn=OffsetClipRgn@12
OffsetRgn=OffsetRgn@12
OffsetViewportOrgEx=OffsetViewportOrgEx@16
OffsetWindowOrgEx=OffsetWindowOrgEx@16
PaintRgn=PaintRgn@8
PatBlt=PatBlt@24
PathToRegion=PathToRegion@4
Pie=Pie@36
PlayEnhMetaFile=PlayEnhMetaFile@12
PlayEnhMetaFileRecord=PlayEnhMetaFileRecord@16
PlayMetaFile=PlayMetaFile@8
PlayMetaFileRecord=PlayMetaFileRecord@16
PlgBlt=PlgBlt@40
PolyBezier=PolyBezier@12
PolyBezierTo=PolyBezierTo@12
PolyDraw=PolyDraw@16
PolyPolygon=PolyPolygon@16
PolyPolyline=PolyPolyline@16
PolyTextOutA=PolyTextOutA@12
PolyTextOutW=PolyTextOutW@12
Polygon=Polygon@12
Polyline=Polyline@12
PolylineTo=PolylineTo@12
PtInRegion=PtInRegion@12
PtVisible=PtVisible@12
RealizePalette=RealizePalette@4
RectInRegion=RectInRegion@8
RectVisible=RectVisible@8
Rectangle=Rectangle@20
RemoveFontResourceA=RemoveFontResourceA@4
RemoveFontResourceW=RemoveFontResourceW@4
ResetDCA=ResetDCA@8
ResetDCW=ResetDCW@8
ResizePalette=ResizePalette@8
RestoreDC=RestoreDC@8
RoundRect=RoundRect@28
SaveDC=SaveDC@4
ScaleViewportExtEx=ScaleViewportExtEx@24
ScaleWindowExtEx=ScaleWindowExtEx@24
SelectBrushLocal=SelectBrushLocal@8
SelectClipPath=SelectClipPath@8
SelectClipRgn=SelectClipRgn@8
SelectFontLocal=SelectFontLocal@8
SelectObject=SelectObject@8
SelectPalette=SelectPalette@12
SetAbortProc=SetAbortProc@8
SetArcDirection=SetArcDirection@8
SetBitmapBits=SetBitmapBits@12
SetBitmapDimensionEx=SetBitmapDimensionEx@16
SetBkColor=SetBkColor@8
SetBkMode=SetBkMode@8
SetBoundsRect=SetBoundsRect@12
SetBrushOrgEx=SetBrushOrgEx@16
SetColorAdjustment=SetColorAdjustment@8
SetColorSpace=SetColorSpace@8
SetDIBColorTable=SetDIBColorTable@16
SetDIBits=SetDIBits@28
SetDIBitsToDevice=SetDIBitsToDevice@48
SetDeviceGammaRamp=SetDeviceGammaRamp@8
SetEnhMetaFileBits=SetEnhMetaFileBits@8
SetFontEnumeration=SetFontEnumeration@4
SetGraphicsMode=SetGraphicsMode@8
SetICMMode=SetICMMode@8
SetICMProfileA=SetICMProfileA@8
SetICMProfileW=SetICMProfileW@8
SetMapMode=SetMapMode@8
SetMapperFlags=SetMapperFlags@8
SetMetaFileBitsEx=SetMetaFileBitsEx@8
SetMetaRgn=SetMetaRgn@4
SetMiterLimit=SetMiterLimit@12
SetPaletteEntries=SetPaletteEntries@16
SetPixel=SetPixel@16
SetPixelFormat=SetPixelFormat@12
SetPixelV=SetPixelV@16
SetPolyFillMode=SetPolyFillMode@8
SetROP2=SetROP2@8
SetRectRgn=SetRectRgn@20
SetRelAbs=SetRelAbs@8
SetStretchBltMode=SetStretchBltMode@8
SetSystemPaletteUse=SetSystemPaletteUse@8
SetTextAlign=SetTextAlign@8
SetTextCharacterExtra=SetTextCharacterExtra@8
SetTextColor=SetTextColor@8
SetTextJustification=SetTextJustification@12
SetViewportExtEx=SetViewportExtEx@16
SetViewportOrgEx=SetViewportOrgEx@16
SetWinMetaFileBits=SetWinMetaFileBits@16
SetWindowExtEx=SetWindowExtEx@16
SetWindowOrgEx=SetWindowOrgEx@16
SetWorldTransform=SetWorldTransform@8
StartDocA=StartDocA@8
StartDocW=StartDocW@8
StartPage=StartPage@4
StretchBlt=StretchBlt@44
StretchDIBits=StretchDIBits@52
StrokeAndFillPath=StrokeAndFillPath@4
StrokePath=StrokePath@4
SwapBuffers=SwapBuffers@4
TextOutA=TextOutA@20
TextOutW=TextOutW@20
TranslateCharsetInfo=TranslateCharsetInfo@12
UnrealizeObject=UnrealizeObject@4
UpdateColors=UpdateColors@4
UpdateICMRegKeyA=UpdateICMRegKeyA@16
UpdateICMRegKeyA=UpdateICMRegKeyA@16
UpdateICMRegKeyW=UpdateICMRegKeyW@16
WidenPath=WidenPath@4
gdiPlaySpoolStream=gdiPlaySpoolStream@24

View file

@ -1,4 +1,4 @@
# $Id: makefile,v 1.6 1999/07/16 23:37:04 rex Exp $
# $Id: makefile,v 1.7 1999/07/17 23:10:19 ea Exp $
#
# Makefile for ReactOS gdi32.dll
#
@ -34,6 +34,7 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
$(DLLTOOL) \
--dllname $(TARGET).dll \
--def $(TARGET).def \
--kill-at \
--output-lib $(TARGET).a
$(CC) $(TARGET).o \
../kernel32/kernel32.a \
@ -46,7 +47,7 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
--dllname $(TARGET).dll \
--base-file base.tmp \
--output-exp temp.exp \
--def $(TARGET).def
--def $(TARGET).edf
- $(RM) base.tmp
$(CC) $(TARGET).o \
../kernel32/kernel32.a \

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,671 @@
; $Id: kernel32.edf,v 1.1 1999/07/17 23:10:20 ea Exp $
;
; kernel32.edf
;
; ReactOS Operating System
;
; Aliased exports for KERNEL32.DLL generated by defedf reading
; kernel32.def by Scott Christley.
;
; Copyright (C) 1996 Free Software Foundation, Inc.
;
; Author: Scott Christley <scottc@net-community.com>
; Date: 1996
;
; This file is part of the Windows32 API Library.
;
; This library is free software; you can redistribute it and/or
; modify it under the terms of the GNU Library General Public
; License as published by the Free Software Foundation; either
; version 2 of the License, or (at your option) any later version.
;
; This library is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
; Library General Public License for more details.
;
; If you are interested in a warranty or support for this source code,
; contact Scott Christley <scottc@net-community.com> for more information.
;
; You should have received a copy of the GNU Library General Public
; License along with this library; see the file COPYING.LIB.
; If not, write to the Free Software Foundation,
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
;
LIBRARY KERNEL32
EXPORTS
AddAtomA=AddAtomA@4
AddAtomW=AddAtomW@4
AddConsoleAliasA=AddConsoleAliasA@12
AddConsoleAliasW=AddConsoleAliasW@12
AllocConsole=AllocConsole@0
AreFileApisANSI=AreFileApisANSI@0
BackupRead=BackupRead@28
BackupSeek=BackupSeek@24
BackupWrite=BackupWrite@28
BaseAttachCompleteThunk=BaseAttachCompleteThunk@0
Beep=Beep@8
BeginUpdateResourceA=BeginUpdateResourceA@8
BeginUpdateResourceW=BeginUpdateResourceW@8
BuildCommDCBA=BuildCommDCBA@8
BuildCommDCBAndTimeoutsA=BuildCommDCBAndTimeoutsA@12
BuildCommDCBAndTimeoutsW=BuildCommDCBAndTimeoutsW@12
BuildCommDCBW=BuildCommDCBW@8
CallNamedPipeA=CallNamedPipeA@28
CallNamedPipeW=CallNamedPipeW@28
ClearCommBreak=ClearCommBreak@4
ClearCommError=ClearCommError@12
CloseConsoleHandle=CloseConsoleHandle@4
CloseHandle=CloseHandle@4
CloseProfileUserMapping=CloseProfileUserMapping@0
CmdBatNotification=CmdBatNotification@4
CommConfigDialogA=CommConfigDialogA@12
CommConfigDialogW=CommConfigDialogW@12
CompareFileTime=CompareFileTime@8
CompareStringA=CompareStringA@24
CompareStringW=CompareStringW@24
ConnectNamedPipe=ConnectNamedPipe@8
ConsoleMenuControl=ConsoleMenuControl@12
ContinueDebugEvent=ContinueDebugEvent@12
ConvertDefaultLocale=ConvertDefaultLocale@4
CopyFileA=CopyFileA@12
CopyFileExA=CopyFileExA@24
CopyFileExW=CopyFileExW@24
CopyFileW=CopyFileW@12
CreateConsoleScreenBuffer=CreateConsoleScreenBuffer@20
CreateDirectoryA=CreateDirectoryA@8
CreateDirectoryExA=CreateDirectoryExA@12
CreateDirectoryExW=CreateDirectoryExW@12
CreateDirectoryW=CreateDirectoryW@8
CreateEventA=CreateEventA@16
CreateEventW=CreateEventW@16
CreateFileA=CreateFileA@28
CreateFileMappingA=CreateFileMappingA@24
CreateFileMappingW=CreateFileMappingW@24
CreateFileW=CreateFileW@28
CreateIoCompletionPort=CreateIoCompletionPort@16
CreateMailslotA=CreateMailslotA@16
CreateMailslotW=CreateMailslotW@16
CreateMutexA=CreateMutexA@12
CreateMutexW=CreateMutexW@12
CreateNamedPipeA=CreateNamedPipeA@32
CreateNamedPipeW=CreateNamedPipeW@32
CreatePipe=CreatePipe@16
CreateProcessA=CreateProcessA@40
CreateProcessW=CreateProcessW@40
CreateRemoteThread=CreateRemoteThread@28
CreateSemaphoreA=CreateSemaphoreA@16
CreateSemaphoreW=CreateSemaphoreW@16
CreateTapePartition=CreateTapePartition@16
CreateThread=CreateThread@24
CreateVirtualBuffer=CreateVirtualBuffer@12
DebugActiveProcess=DebugActiveProcess@4
DebugBreak=DebugBreak@0
DefineDosDeviceA=DefineDosDeviceA@12
DefineDosDeviceW=DefineDosDeviceW@12
DeleteAtom=DeleteAtom@4
DeleteCriticalSection=DeleteCriticalSection@4
DeleteFileA=DeleteFileA@4
DeleteFileW=DeleteFileW@4
DeviceIoControl=DeviceIoControl@32
DisableThreadLibraryCalls=DisableThreadLibraryCalls@4
DisconnectNamedPipe=DisconnectNamedPipe@4
DosDateTimeToFileTime=DosDateTimeToFileTime@12
DuplicateConsoleHandle=DuplicateConsoleHandle@16
DuplicateHandle=DuplicateHandle@28
EndUpdateResourceA=EndUpdateResourceA@8
EndUpdateResourceW=EndUpdateResourceW@8
EnterCriticalSection=EnterCriticalSection@4
EnumCalendarInfoA=EnumCalendarInfoA@16
EnumCalendarInfoW=EnumCalendarInfoW@16
EnumDateFormatsA=EnumDateFormatsA@12
EnumDateFormatsW=EnumDateFormatsW@12
EnumResourceLanguagesA=EnumResourceLanguagesA@20
EnumResourceLanguagesW=EnumResourceLanguagesW@20
EnumResourceNamesA=EnumResourceNamesA@16
EnumResourceNamesW=EnumResourceNamesW@16
EnumResourceTypesA=EnumResourceTypesA@12
EnumResourceTypesW=EnumResourceTypesW@12
EnumSystemCodePagesA=EnumSystemCodePagesA@8
EnumSystemCodePagesW=EnumSystemCodePagesW@8
EnumSystemLocalesA=EnumSystemLocalesA@8
EnumSystemLocalesW=EnumSystemLocalesW@8
EnumTimeFormatsA=EnumTimeFormatsA@12
EnumTimeFormatsW=EnumTimeFormatsW@12
EraseTape=EraseTape@12
EscapeCommFunction=EscapeCommFunction@8
ExitProcess=ExitProcess@4
ExitThread=ExitThread@4
ExitVDM=ExitVDM@8
ExpandEnvironmentStringsA=ExpandEnvironmentStringsA@12
ExpandEnvironmentStringsW=ExpandEnvironmentStringsW@12
ExpungeConsoleCommandHistoryA=ExpungeConsoleCommandHistoryA@4
ExpungeConsoleCommandHistoryW=ExpungeConsoleCommandHistoryW@4
ExtendVirtualBuffer=ExtendVirtualBuffer@8
FatalAppExitA=FatalAppExitA@8
FatalAppExitW=FatalAppExitW@8
FatalExit=FatalExit@4
FileTimeToDosDateTime=FileTimeToDosDateTime@12
FileTimeToLocalFileTime=FileTimeToLocalFileTime@8
FileTimeToSystemTime=FileTimeToSystemTime@8
FillConsoleOutputAttribute=FillConsoleOutputAttribute@20
FillConsoleOutputCharacterA=FillConsoleOutputCharacterA@20
FillConsoleOutputCharacterW=FillConsoleOutputCharacterW@20
FindAtomA=FindAtomA@4
FindAtomW=FindAtomW@4
FindClose=FindClose@4
FindCloseChangeNotification=FindCloseChangeNotification@4
FindFirstChangeNotificationA=FindFirstChangeNotificationA@12
FindFirstChangeNotificationW=FindFirstChangeNotificationW@12
FindFirstFileA=FindFirstFileA@8
FindFirstFileW=FindFirstFileW@8
FindNextChangeNotification=FindNextChangeNotification@4
FindNextFileA=FindNextFileA@8
FindNextFileW=FindNextFileW@8
FindResourceA=FindResourceA@12
FindResourceExA=FindResourceExA@16
FindResourceExW=FindResourceExW@16
FindResourceW=FindResourceW@12
FlushConsoleInputBuffer=FlushConsoleInputBuffer@4
FlushFileBuffers=FlushFileBuffers@4
FlushInstructionCache=FlushInstructionCache@12
FlushViewOfFile=FlushViewOfFile@8
FoldStringA=FoldStringA@20
FoldStringW=FoldStringW@20
FormatMessageA=FormatMessageA@28
FormatMessageW=FormatMessageW@28
FreeConsole=FreeConsole@0
FreeEnvironmentStringsA=FreeEnvironmentStringsA@4
FreeEnvironmentStringsW=FreeEnvironmentStringsW@4
FreeLibrary=FreeLibrary@4
FreeLibraryAndExitThread=FreeLibraryAndExitThread@8
FreeResource=FreeResource@4
FreeVirtualBuffer=FreeVirtualBuffer@4
GenerateConsoleCtrlEvent=GenerateConsoleCtrlEvent@8
GetACP=GetACP@0
GetAtomNameA=GetAtomNameA@12
GetAtomNameW=GetAtomNameW@12
GetBinaryType=GetBinaryTypeA@8
GetBinaryTypeA=GetBinaryTypeA@8
GetBinaryTypeW=GetBinaryTypeW@8
GetCPInfo=GetCPInfo@8
GetCommConfig=GetCommConfig@12
GetCommMask=GetCommMask@8
GetCommModemStatus=GetCommModemStatus@8
GetCommProperties=GetCommProperties@8
GetCommState=GetCommState@8
GetCommTimeouts=GetCommTimeouts@8
GetCommandLineA=GetCommandLineA@0
GetCommandLineW=GetCommandLineW@0
GetCompressedFileSizeA=GetCompressedFileSizeA@8
GetCompressedFileSizeW=GetCompressedFileSizeW@8
GetComputerNameA=GetComputerNameA@8
GetComputerNameW=GetComputerNameW@8
GetConsoleAliasA=GetConsoleAliasA@16
GetConsoleAliasExesA=GetConsoleAliasExesA@8
GetConsoleAliasExesLengthA=GetConsoleAliasExesLengthA@0
GetConsoleAliasExesLengthW=GetConsoleAliasExesLengthW@0
GetConsoleAliasExesW=GetConsoleAliasExesW@8
GetConsoleAliasW=GetConsoleAliasW@16
GetConsoleAliasesA=GetConsoleAliasesA@12
GetConsoleAliasesLengthA=GetConsoleAliasesLengthA@4
GetConsoleAliasesLengthW=GetConsoleAliasesLengthW@4
GetConsoleAliasesW=GetConsoleAliasesW@12
GetConsoleCP=GetConsoleCP@0
GetConsoleCommandHistoryA=GetConsoleCommandHistoryA@12
GetConsoleCommandHistoryLengthA=GetConsoleCommandHistoryLengthA@4
GetConsoleCommandHistoryLengthW=GetConsoleCommandHistoryLengthW@4
GetConsoleCommandHistoryW=GetConsoleCommandHistoryW@12
GetConsoleCursorInfo=GetConsoleCursorInfo@8
GetConsoleDisplayMode=GetConsoleDisplayMode@4
GetConsoleFontInfo=GetConsoleFontInfo@16
GetConsoleFontSize=GetConsoleFontSize@8
GetConsoleHardwareState=GetConsoleHardwareState@12
GetConsoleInputWaitHandle=GetConsoleInputWaitHandle@0
GetConsoleMode=GetConsoleMode@8
GetConsoleOutputCP=GetConsoleOutputCP@0
GetConsoleScreenBufferInfo=GetConsoleScreenBufferInfo@8
GetConsoleTitleA=GetConsoleTitleA@8
GetConsoleTitleW=GetConsoleTitleW@8
GetCurrencyFormatA=GetCurrencyFormatA@24
GetCurrencyFormatW=GetCurrencyFormatW@24
GetCurrentConsoleFont=GetCurrentConsoleFont@12
GetCurrentDirectoryA=GetCurrentDirectoryA@8
GetCurrentDirectoryW=GetCurrentDirectoryW@8
GetCurrentProcess=GetCurrentProcess@0
GetCurrentProcessId=GetCurrentProcessId@0
GetCurrentThread=GetCurrentThread@0
GetCurrentThreadId=GetCurrentThreadId@0
GetDateFormatA=GetDateFormatA@24
GetDateFormatW=GetDateFormatW@24
GetDefaultCommConfigA=GetDefaultCommConfigA@12
GetDefaultCommConfigW=GetDefaultCommConfigW@12
GetDiskFreeSpaceA=GetDiskFreeSpaceA@20
GetDiskFreeSpaceW=GetDiskFreeSpaceW@20
GetDiskFreeSpaceExA=GetDiskFreeSpaceExA@16
GetDiskFreeSpaceExW=GetDiskFreeSpaceExW@16
GetDriveTypeA=GetDriveTypeA@4
GetDriveTypeW=GetDriveTypeW@4
GetEnvironmentStringsA=GetEnvironmentStringsA@0
GetEnvironmentStringsW=GetEnvironmentStringsW@0
GetEnvironmentVariableA=GetEnvironmentVariableA@12
GetEnvironmentVariableW=GetEnvironmentVariableW@12
GetExitCodeProcess=GetExitCodeProcess@8
GetExitCodeThread=GetExitCodeThread@8
GetFileAttributesA=GetFileAttributesA@4
GetFileAttributesW=GetFileAttributesW@4
GetFileInformationByHandle=GetFileInformationByHandle@8
GetFileSize=GetFileSize@8
GetFileTime=GetFileTime@16
GetFileType=GetFileType@4
GetFullPathNameA=GetFullPathNameA@16
GetFullPathNameW=GetFullPathNameW@16
GetHandleInformation=GetHandleInformation@8
GetLargestConsoleWindowSize=GetLargestConsoleWindowSize@4
GetLastError=GetLastError@0
GetLocalTime=GetLocalTime@4
GetLocaleInfoA=GetLocaleInfoA@16
GetLocaleInfoW=GetLocaleInfoW@16
GetLogicalDriveStringsA=GetLogicalDriveStringsA@8
GetLogicalDriveStringsW=GetLogicalDriveStringsW@8
GetLogicalDrives=GetLogicalDrives@0
GetMailslotInfo=GetMailslotInfo@20
GetModuleFileNameA=GetModuleFileNameA@12
GetModuleFileNameW=GetModuleFileNameW@12
GetModuleHandleA=GetModuleHandleA@4
GetModuleHandleW=GetModuleHandleW@4
GetNamedPipeHandleStateA=GetNamedPipeHandleStateA@28
GetNamedPipeHandleStateW=GetNamedPipeHandleStateW@28
GetNamedPipeInfo=GetNamedPipeInfo@20
GetNextVDMCommand=GetNextVDMCommand@4
GetNumberFormatA=GetNumberFormatA@24
GetNumberFormatW=GetNumberFormatW@24
GetNumberOfConsoleFonts=GetNumberOfConsoleFonts@0
GetNumberOfConsoleInputEvents=GetNumberOfConsoleInputEvents@8
GetNumberOfConsoleMouseButtons=GetNumberOfConsoleMouseButtons@4
GetOEMCP=GetOEMCP@0
GetOverlappedResult=GetOverlappedResult@16
GetPriorityClass=GetPriorityClass@4
GetPrivateProfileIntA=GetPrivateProfileIntA@16
GetPrivateProfileIntW=GetPrivateProfileIntW@16
GetPrivateProfileSectionA=GetPrivateProfileSectionA@16
GetPrivateProfileSectionNamesA=GetPrivateProfileSectionNamesA@12
GetPrivateProfileSectionNamesW=GetPrivateProfileSectionNamesW@12
GetPrivateProfileSectionW=GetPrivateProfileSectionW@16
GetPrivateProfileStringA=GetPrivateProfileStringA@24
GetPrivateProfileStringW=GetPrivateProfileStringW@24
GetPrivateProfileStructA=GetPrivateProfileStructA@20
GetPrivateProfileStructW=GetPrivateProfileStructW@20
GetProcAddress=GetProcAddress@8
GetProcessAffinityMask=GetProcessAffinityMask@12
GetProcessHeap=GetProcessHeap@0
GetProcessHeaps=GetProcessHeaps@8
GetProcessShutdownParameters=GetProcessShutdownParameters@8
GetProcessTimes=GetProcessTimes@20
GetProcessVersion=GetProcessVersion@4
GetProcessWorkingSetSize=GetProcessWorkingSetSize@12
GetProfileIntA=GetProfileIntA@12
GetProfileIntW=GetProfileIntW@12
GetProfileSectionA=GetProfileSectionA@12
GetProfileSectionW=GetProfileSectionW@12
GetProfileStringA=GetProfileStringA@20
GetProfileStringW=GetProfileStringW@20
GetQueuedCompletionStatus=GetQueuedCompletionStatus@20
GetShortPathNameA=GetShortPathNameA@12
GetShortPathNameW=GetShortPathNameW@12
GetStartupInfoA=GetStartupInfoA@4
GetStartupInfoW=GetStartupInfoW@4
GetStdHandle=GetStdHandle@4
GetStringTypeA=GetStringTypeA@20
GetStringTypeExA=GetStringTypeExA@20
GetStringTypeExW=GetStringTypeExW@20
GetStringTypeW=GetStringTypeW@16
GetSystemDefaultLCID=GetSystemDefaultLCID@0
GetSystemDefaultLangID=GetSystemDefaultLangID@0
GetSystemDirectoryA=GetSystemDirectoryA@8
GetSystemDirectoryW=GetSystemDirectoryW@8
GetSystemInfo=GetSystemInfo@4
GetSystemPowerStatus=GetSystemPowerStatus@4
GetSystemTime=GetSystemTime@4
GetSystemTimeAdjustment=GetSystemTimeAdjustment@12
GetSystemTimeAsFileTime=GetSystemTimeAsFileTime@4
GetTapeParameters=GetTapeParameters@16
GetTapePosition=GetTapePosition@20
GetTapeStatus=GetTapeStatus@4
GetTempFileNameA=GetTempFileNameA@16
GetTempFileNameW=GetTempFileNameW@16
GetTempPathA=GetTempPathA@8
GetTempPathW=GetTempPathW@8
GetThreadContext=GetThreadContext@8
GetThreadLocale=GetThreadLocale@0
GetThreadPriority=GetThreadPriority@4
GetThreadSelectorEntry=GetThreadSelectorEntry@12
GetThreadTimes=GetThreadTimes@20
GetTickCount=GetTickCount@0
GetTimeFormatA=GetTimeFormatA@24
GetTimeFormatW=GetTimeFormatW@24
GetTimeZoneInformation=GetTimeZoneInformation@4
GetUserDefaultLCID=GetUserDefaultLCID@0
GetUserDefaultLangID=GetUserDefaultLangID@0
GetVDMCurrentDirectories=GetVDMCurrentDirectories@8
GetVersion=GetVersion@0
GetVersionExA=GetVersionExA@4
GetVersionExW=GetVersionExW@4
GetVolumeInformationA=GetVolumeInformationA@32
GetVolumeInformationW=GetVolumeInformationW@32
GetWindowsDirectoryA=GetWindowsDirectoryA@8
GetWindowsDirectoryW=GetWindowsDirectoryW@8
GlobalAddAtomA=GlobalAddAtomA@4
GlobalAddAtomW=GlobalAddAtomW@4
GlobalAlloc=GlobalAlloc@8
GlobalCompact=GlobalCompact@4
GlobalDeleteAtom=GlobalDeleteAtom@4
GlobalFindAtomA=GlobalFindAtomA@4
GlobalFindAtomW=GlobalFindAtomW@4
GlobalFix=GlobalFix@4
GlobalFlags=GlobalFlags@4
GlobalFree=GlobalFree@4
GlobalGetAtomNameA=GlobalGetAtomNameA@12
GlobalGetAtomNameW=GlobalGetAtomNameW@12
GlobalHandle=GlobalHandle@4
GlobalLock=GlobalLock@4
GlobalMemoryStatus=GlobalMemoryStatus@4
GlobalReAlloc=GlobalReAlloc@12
GlobalSize=GlobalSize@4
GlobalUnWire=GlobalUnWire@4
GlobalUnfix=GlobalUnfix@4
GlobalUnlock=GlobalUnlock@4
GlobalWire=GlobalWire@4
HeapAlloc=HeapAlloc@12
HeapCompact=HeapCompact@8
HeapCreate=HeapCreate@12
HeapCreateTagsW=HeapCreateTagsW@16
HeapDestroy=HeapDestroy@4
HeapExtend=HeapExtend@16
HeapFree=HeapFree@12
HeapLock=HeapLock@4
HeapQueryTagW=HeapQueryTagW@20
HeapReAlloc=HeapReAlloc@16
HeapSize=HeapSize@12
HeapSummary=HeapSummary@12
HeapUnlock=HeapUnlock@4
HeapUsage=HeapUsage@20
HeapValidate=HeapValidate@12
HeapWalk=HeapWalk@8
InitAtomTable=InitAtomTable@4
InitializeCriticalSection=InitializeCriticalSection@4
InterlockedDecrement=InterlockedDecrement@4
InterlockedExchange=InterlockedExchange@8
InterlockedIncrement=InterlockedIncrement@4
InvalidateConsoleDIBits=InvalidateConsoleDIBits@8
IsBadCodePtr=IsBadCodePtr@4
IsBadHugeReadPtr=IsBadHugeReadPtr@8
IsBadHugeWritePtr=IsBadHugeWritePtr@8
IsBadReadPtr=IsBadReadPtr@8
IsBadStringPtrA=IsBadStringPtrA@8
IsBadStringPtrW=IsBadStringPtrW@8
IsBadWritePtr=IsBadWritePtr@8
IsDBCSLeadByte=IsDBCSLeadByte@4
IsDBCSLeadByteEx=IsDBCSLeadByteEx@8
IsDebuggerPresent=IsDebuggerPresent@0
IsValidCodePage=IsValidCodePage@4
IsValidLocale=IsValidLocale@8
LCMapStringA=LCMapStringA@24
LCMapStringW=LCMapStringW@24
LeaveCriticalSection=LeaveCriticalSection@4
LoadLibraryA=LoadLibraryA@4
LoadLibraryExA=LoadLibraryExA@12
LoadLibraryExW=LoadLibraryExW@12
LoadLibraryW=LoadLibraryW@4
LoadModule=LoadModule@8
LoadResource=LoadResource@8
LocalAlloc=LocalAlloc@8
LocalCompact=LocalCompact@4
LocalFileTimeToFileTime=LocalFileTimeToFileTime@8
LocalFlags=LocalFlags@4
LocalFree=LocalFree@4
LocalHandle=LocalHandle@4
LocalLock=LocalLock@4
LocalReAlloc=LocalReAlloc@12
LocalShrink=LocalShrink@8
LocalSize=LocalSize@4
LocalUnlock=LocalUnlock@4
LockFile=LockFile@20
LockFileEx=LockFileEx@24
LockResource=LockResource@4
MapViewOfFile=MapViewOfFile@20
MapViewOfFileEx=MapViewOfFileEx@24
MoveFileA=MoveFileA@8
MoveFileExA=MoveFileExA@12
MoveFileExW=MoveFileExW@12
MoveFileW=MoveFileW@8
MulDiv=MulDiv@12
MultiByteToWideChar=MultiByteToWideChar@24
OpenConsoleW=OpenConsoleW@16
OpenEventA=OpenEventA@12
OpenEventW=OpenEventW@12
OpenFile=OpenFile@12
OpenFileMappingA=OpenFileMappingA@12
OpenFileMappingW=OpenFileMappingW@12
OpenMutexA=OpenMutexA@12
OpenMutexW=OpenMutexW@12
OpenProcess=OpenProcess@12
OpenProfileUserMapping=OpenProfileUserMapping@0
OpenSemaphoreA=OpenSemaphoreA@12
OpenSemaphoreW=OpenSemaphoreW@12
OutputDebugStringA=OutputDebugStringA@4
OutputDebugStringW=OutputDebugStringW@4
PeekConsoleInputA=PeekConsoleInputA@16
PeekConsoleInputW=PeekConsoleInputW@16
PeekNamedPipe=PeekNamedPipe@24
PostQueuedCompletionStatus=PostQueuedCompletionStatus@16
PrepareTape=PrepareTape@12
PulseEvent=PulseEvent@4
PurgeComm=PurgeComm@8
QueryDosDeviceA=QueryDosDeviceA@12
QueryDosDeviceW=QueryDosDeviceW@12
QueryPerformanceCounter=QueryPerformanceCounter@4
QueryPerformanceFrequency=QueryPerformanceFrequency@4
QueryWin31IniFilesMappedToRegistry=QueryWin31IniFilesMappedToRegistry@16
RaiseException=RaiseException@16
ReadConsoleA=ReadConsoleA@20
ReadConsoleInputA=ReadConsoleInputA@16
ReadConsoleInputW=ReadConsoleInputW@16
ReadConsoleOutputA=ReadConsoleOutputA@20
ReadConsoleOutputAttribute=ReadConsoleOutputAttribute@20
ReadConsoleOutputCharacterA=ReadConsoleOutputCharacterA@20
ReadConsoleOutputCharacterW=ReadConsoleOutputCharacterW@20
ReadConsoleOutputW=ReadConsoleOutputW@20
ReadConsoleW=ReadConsoleW@20
ReadFile=ReadFile@20
ReadFileEx=ReadFileEx@20
ReadProcessMemory=ReadProcessMemory@20
RegisterConsoleVDM=RegisterConsoleVDM@44
RegisterWaitForInputIdle=RegisterWaitForInputIdle@4
RegisterWowBaseHandlers=RegisterWowBaseHandlers@4
RegisterWowExec=RegisterWowExec@4
ReleaseMutex=ReleaseMutex@4
ReleaseSemaphore=ReleaseSemaphore@12
RemoveDirectoryA=RemoveDirectoryA@4
RemoveDirectoryW=RemoveDirectoryW@4
ResetEvent=ResetEvent@4
ResumeThread=ResumeThread@4
RtlFillMemory=RtlFillMemory@12
RtlMoveMemory=RtlMoveMemory@12
RtlUnwind=RtlUnwind@16
RtlZeroMemory=RtlZeroMemory@8
ScrollConsoleScreenBufferA=ScrollConsoleScreenBufferA@20
ScrollConsoleScreenBufferW=ScrollConsoleScreenBufferW@20
SearchPathA=SearchPathA@24
SearchPathW=SearchPathW@24
SetCommBreak=SetCommBreak@4
SetCommConfig=SetCommConfig@12
SetCommMask=SetCommMask@8
SetCommState=SetCommState@8
SetCommTimeouts=SetCommTimeouts@8
SetComputerNameA=SetComputerNameA@4
SetComputerNameW=SetComputerNameW@4
SetConsoleActiveScreenBuffer=SetConsoleActiveScreenBuffer@4
SetConsoleCP=SetConsoleCP@4
SetConsoleCommandHistoryMode=SetConsoleCommandHistoryMode@4
SetConsoleCtrlHandler=SetConsoleCtrlHandler@8
SetConsoleCursor=SetConsoleCursor@8
SetConsoleCursorInfo=SetConsoleCursorInfo@8
SetConsoleCursorPosition=SetConsoleCursorPosition@8
SetConsoleDisplayMode=SetConsoleDisplayMode@12
SetConsoleFont=SetConsoleFont@8
SetConsoleHardwareState=SetConsoleHardwareState@12
SetConsoleKeyShortcuts=SetConsoleKeyShortcuts@16
SetConsoleMaximumWindowSize=SetConsoleMaximumWindowSize@8
SetConsoleMenuClose=SetConsoleMenuClose@4
SetConsoleMode=SetConsoleMode@8
SetConsoleNumberOfCommandsA=SetConsoleNumberOfCommandsA@8
SetConsoleNumberOfCommandsW=SetConsoleNumberOfCommandsW@8
SetConsoleOutputCP=SetConsoleOutputCP@4
SetConsolePalette=SetConsolePalette@12
SetConsoleScreenBufferSize=SetConsoleScreenBufferSize@8
SetConsoleTextAttribute=SetConsoleTextAttribute@8
SetConsoleTitleA=SetConsoleTitleA@4
SetConsoleTitleW=SetConsoleTitleW@4
SetConsoleWindowInfo=SetConsoleWindowInfo@12
SetCurrentDirectoryA=SetCurrentDirectoryA@4
SetCurrentDirectoryW=SetCurrentDirectoryW@4
SetDefaultCommConfigA=SetDefaultCommConfigA@12
SetDefaultCommConfigW=SetDefaultCommConfigW@12
SetEndOfFile=SetEndOfFile@4
SetEnvironmentVariableA=SetEnvironmentVariableA@8
SetEnvironmentVariableW=SetEnvironmentVariableW@8
SetErrorMode=SetErrorMode@4
SetEvent=SetEvent@4
SetFileApisToANSI=SetFileApisToANSI@0
SetFileApisToOEM=SetFileApisToOEM@0
SetFileAttributesA=SetFileAttributesA@8
SetFileAttributesW=SetFileAttributesW@8
SetFilePointer=SetFilePointer@16
SetFileTime=SetFileTime@16
SetHandleCount=SetHandleCount@4
SetHandleInformation=SetHandleInformation@12
SetLastConsoleEventActive=SetLastConsoleEventActive@0
SetLastError=SetLastError@4
SetLocalTime=SetLocalTime@4
SetLocaleInfoA=SetLocaleInfoA@12
SetLocaleInfoW=SetLocaleInfoW@12
SetMailslotInfo=SetMailslotInfo@8
SetNamedPipeHandleState=SetNamedPipeHandleState@16
SetPriorityClass=SetPriorityClass@8
SetProcessShutdownParameters=SetProcessShutdownParameters@8
SetProcessWorkingSetSize=SetProcessWorkingSetSize@12
SetStdHandle=SetStdHandle@8
SetSystemPowerState=SetSystemPowerState@8
SetSystemTime=SetSystemTime@4
SetSystemTimeAdjustment=SetSystemTimeAdjustment@8
SetTapeParameters=SetTapeParameters@12
SetTapePosition=SetTapePosition@24
SetThreadAffinityMask=SetThreadAffinityMask@8
SetThreadContext=SetThreadContext@8
;_imp__SetThreadContext@8
SetThreadLocale=SetThreadLocale@4
SetThreadPriority=SetThreadPriority@8
SetTimeZoneInformation=SetTimeZoneInformation@4
SetUnhandledExceptionFilter=SetUnhandledExceptionFilter@4
SetVDMCurrentDirectories=SetVDMCurrentDirectories@8
SetVolumeLabelA=SetVolumeLabelA@8
SetVolumeLabelW=SetVolumeLabelW@8
SetupComm=SetupComm@12
ShowConsoleCursor=ShowConsoleCursor@8
SizeofResource=SizeofResource@8
Sleep=Sleep@4
SleepEx=SleepEx@8
SuspendThread=SuspendThread@4
SystemTimeToFileTime=SystemTimeToFileTime@8
SystemTimeToTzSpecificLocalTime=SystemTimeToTzSpecificLocalTime@12
TerminateProcess=TerminateProcess@8
TerminateThread=TerminateThread@8
TlsAlloc=TlsAlloc@0
TlsFree=TlsFree@4
TlsGetValue=TlsGetValue@4
TlsSetValue=TlsSetValue@8
TransactNamedPipe=TransactNamedPipe@28
TransmitCommChar=TransmitCommChar@8
TrimVirtualBuffer=TrimVirtualBuffer@4
UnhandledExceptionFilter=UnhandledExceptionFilter@4
UnlockFile=UnlockFile@20
UnlockFileEx=UnlockFileEx@20
UnmapViewOfFile=UnmapViewOfFile@4
UpdateResourceA=UpdateResourceA@24
UpdateResourceW=UpdateResourceW@24
VDMConsoleOperation=VDMConsoleOperation@8
VDMOperationStarted=VDMOperationStarted@4
VerLanguageNameA=VerLanguageNameA@12
VerLanguageNameW=VerLanguageNameW@12
VerifyConsoleIoHandle=VerifyConsoleIoHandle@4
VirtualAlloc=VirtualAlloc@16
VirtualBufferExceptionHandler=VirtualBufferExceptionHandler@12
VirtualFree=VirtualFree@12
VirtualLock=VirtualLock@8
VirtualProtect=VirtualProtect@16
VirtualProtectEx=VirtualProtectEx@20
VirtualQuery=VirtualQuery@12
VirtualQueryEx=VirtualQueryEx@16
VirtualUnlock=VirtualUnlock@8
WaitCommEvent=WaitCommEvent@12
WaitForDebugEvent=WaitForDebugEvent@8
WaitForMultipleObjects=WaitForMultipleObjects@16
WaitForMultipleObjectsEx=WaitForMultipleObjectsEx@20
WaitForSingleObject=WaitForSingleObject@8
WaitForSingleObjectEx=WaitForSingleObjectEx@12
WaitNamedPipeA=WaitNamedPipeA@8
WaitNamedPipeW=WaitNamedPipeW@8
WideCharToMultiByte=WideCharToMultiByte@32
WinExec=WinExec@8
WriteConsoleA=WriteConsoleA@20
WriteConsoleInputA=WriteConsoleInputA@16
WriteConsoleInputVDMA=WriteConsoleInputVDMA@16
WriteConsoleInputVDMW=WriteConsoleInputVDMW@16
WriteConsoleInputW=WriteConsoleInputW@16
WriteConsoleOutputA=WriteConsoleOutputA@20
WriteConsoleOutputAttribute=WriteConsoleOutputAttribute@20
WriteConsoleOutputCharacterA=WriteConsoleOutputCharacterA@20
WriteConsoleOutputCharacterW=WriteConsoleOutputCharacterW@20
WriteConsoleOutputW=WriteConsoleOutputW@20
WriteConsoleW=WriteConsoleW@20
WriteFile=WriteFile@20
WriteFileEx=WriteFileEx@20
WritePrivateProfileSectionA=WritePrivateProfileSectionA@12
WritePrivateProfileSectionW=WritePrivateProfileSectionW@12
WritePrivateProfileStringA=WritePrivateProfileStringA@16
WritePrivateProfileStringW=WritePrivateProfileStringW@16
WritePrivateProfileStructA=WritePrivateProfileStructA@20
WritePrivateProfileStructW=WritePrivateProfileStructW@20
WriteProcessMemory=WriteProcessMemory@20
WriteProfileSectionA=WriteProfileSectionA@8
WriteProfileSectionW=WriteProfileSectionW@8
WriteProfileStringA=WriteProfileStringA@12
WriteProfileStringW=WriteProfileStringW@12
WriteTapemark=WriteTapemark@16
_hread=_hread@12
_hwrite=_hwrite@12
_lclose=_lclose@4
_lcreat=_lcreat@8
_llseek=_llseek@12
_lopen=_lopen@8
_lread=_lread@12
_lwrite=_lwrite@12
lstrcat=lstrcatA@8
lstrcatA=lstrcatA@8
lstrcatW=lstrcatW@8
lstrcmp=lstrcmpA@8
lstrcmpA=lstrcmpA@8
lstrcmpW=lstrcmpW@8
lstrcmpi=lstrcmpiA@8
lstrcmpiA=lstrcmpiA@8
lstrcmpiW=lstrcmpiW@8
lstrcpy=lstrcpyA@8
lstrcpyA=lstrcpyA@8
lstrcpyW=lstrcpyW@8
lstrcpyn=lstrcpynA@12
lstrcpynA=lstrcpynA@12
lstrcpynW=lstrcpynW@12
lstrlen=lstrlenA@4
lstrlenA=lstrlenA@4
lstrlenW=lstrlenW@4

View file

@ -1,4 +1,4 @@
# $Id: makefile,v 1.22 1999/07/16 23:37:04 rex Exp $
# $Id: makefile,v 1.23 1999/07/17 23:10:20 ea Exp $
#
# ReactOS Operating System
#
@ -23,7 +23,7 @@ all: $(DLLTARGET)
SYNCH_OBJECTS = synch/critical.o synch/event.o synch/wait.o
MISC_OBJECTS = misc/error.o misc/atom.o misc/handle.o misc/env.o misc/dllmain.o \
misc/console.o misc/time.o
misc/console.o misc/time.o misc/stubs.o
FILE_OBJECTS = file/file.o file/curdir.o file/lfile.o file/dir.o \
file/iocompl.o file/volume.o file/deviceio.o file/dosdev.o \
@ -99,6 +99,7 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
$(DLLTOOL) \
--dllname $(TARGET).dll \
--def $(TARGET).def \
--kill-at \
--output-lib $(TARGET).a
$(CC) \
-specs=k32_specs \
@ -112,7 +113,7 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
--dllname $(TARGET).dll \
--base-file base.tmp \
--output-exp temp.exp \
--def $(TARGET).def
--def $(TARGET).edf
- $(RM) base.tmp
$(CC) \
-specs=k32_specs \

View file

@ -16,13 +16,16 @@
#include <string.h>
//#include <stdlib.h>
/*
* System global and local atom tables.
* What does "global" mean? The scope is
* the attached process or ANY process?
* In the second case, we need to call
* csrss.exe.
*/
#if 0
/* system global and local atom tables */
static ATOMTABLE GlobalAtomTable;
/* internal functions */
@ -43,8 +46,8 @@ int ansi2unicode( WCHAR *uni,const char *ansi, int s);
ATOM
STDCALL
GlobalDeleteAtom(
ATOM nAtom
)
ATOM nAtom
)
{
return GLDeleteAtom(&GlobalAtomTable, nAtom);
}
@ -58,15 +61,21 @@ InitAtomTable(
{
// nSize should be a prime number
if ( nSize < 4 || nSize >= 512 ) {
if ( nSize < 4 || nSize >= 512 )
{
nSize = 37;
}
if ( (GetCurrentPeb()->LocalAtomTable).lpDrvData == NULL ) {
(GetCurrentPeb()->LocalAtomTable).lpDrvData = HeapAlloc(GetProcessHeap(),HEAP_GENERATE_EXCEPTIONS|HEAP_ZERO_MEMORY,nSize*sizeof(ATOMENTRY));
if ( (GetCurrentPeb()->LocalAtomTable).lpDrvData == NULL )
{
(GetCurrentPeb()->LocalAtomTable).lpDrvData =
HeapAlloc(
GetProcessHeap(),
(HEAP_GENERATE_EXCEPTIONS | HEAP_ZERO_MEMORY),
(nSize * sizeof (ATOMENTRY))
);
}
return TRUE;
}
@ -77,8 +86,10 @@ DeleteAtom(
ATOM nAtom
)
{
return GLDeleteAtom(&GetCurrentPeb()->LocalAtomTable, nAtom);
return GLDeleteAtom(
& GetCurrentPeb()->LocalAtomTable,
nAtom
);
}
@ -91,9 +102,14 @@ GlobalAddAtomA(
)
{
UINT BufLen = strlen(lpString);
WCHAR *lpBuffer = (WCHAR *)HeapAlloc(GetProcessHeap(),HEAP_GENERATE_EXCEPTIONS|HEAP_ZERO_MEMORY,BufLen*sizeof(WCHAR));
ATOM atom;
UINT BufLen = strlen(lpString);
WCHAR * lpBuffer = (WCHAR *) HeapAlloc(
GetProcessHeap(),
(HEAP_GENERATE_EXCEPTIONS | HEAP_ZERO_MEMORY),
(BufLen * sizeof (WCHAR))
);
ATOM atom;
ansi2unicode(lpBuffer, lpString,BufLen);
atom = AWGLAddAtom(&GlobalAtomTable,lpBuffer );
HeapFree(GetProcessHeap(),0,lpBuffer);
@ -514,7 +530,8 @@ int ansi2unicode( WCHAR *uni,const char *ansi, int s)
return i;
}
int unicode2ansi( char *ansi,const WCHAR *uni, int s)
int
unicode2ansi( char *ansi,const WCHAR *uni, int s)
{
register int i;
@ -524,6 +541,6 @@ int unicode2ansi( char *ansi,const WCHAR *uni, int s)
}
#endif
/* EOF */

File diff suppressed because it is too large Load diff

View file

@ -1,867 +1,436 @@
EXPORTS
InitializeObjectAttributes
NtAcceptConnectPort@24
NtAcceptConnectPort = NtAcceptConnectPort@24
NtAccessCheck@32
NtAccessCheck = NtAccessCheck@32
NtAccessCheckAndAuditAlarm@44
NtAccessCheckAndAuditAlarm = NtAccessCheckAndAuditAlarm@44
NtAddAtom@8
NtAddAtom = NtAddAtom@8
NtAdjustGroupsToken@24
NtAdjustGroupsToken = NtAdjustGroupsToken@24
NtAdjustPrivilegesToken@24
NtAdjustPrivilegesToken = NtAdjustPrivilegesToken@24
NtAlertResumeThread@8
NtAlertResumeThread = NtAlertResumeThread@8
NtAlertThread@4
NtAlertThread = NtAlertThread@4
NtAllocateLocallyUniqueId@4
NtAllocateLocallyUniqueId = NtAllocateLocallyUniqueId@4
NtAllocateUuids@12
NtAllocateUuids = NtAllocateUuids@12
NtAllocateVirtualMemory@24
NtAllocateVirtualMemory = NtAllocateVirtualMemory@24
NtCallbackReturn@12
NtCallbackReturn = NtCallbackReturn@12
NtCancelIoFile@8
NtCancelIoFile = NtCancelIoFile@8
NtCancelTimer@8
NtCancelTimer = NtCancelTimer@8
NtClearEvent@4
NtClearEvent = NtClearEvent@4
NtClose@4
NtClose = NtClose@4
NtCloseObjectAuditAlarm@12
NtCloseObjectAuditAlarm = NtCloseObjectAuditAlarm@12
NtCompleteConnectPort@4
NtCompleteConnectPort = NtCompleteConnectPort@4
NtConnectPort@32
NtConnectPort = NtConnectPort@32
NtContinue@8
NtContinue = NtContinue@8
NtCreateChannel@8
NtCreateChannel = NtCreateChannel@8
NtCreateDirectoryObject@12
NtCreateDirectoryObject = NtCreateDirectoryObject@12
NtCreateEvent@20
NtCreateEvent = NtCreateEvent@20
NtCreateEventPair@12
NtCreateEventPair = NtCreateEventPair@12
NtCreateFile@44
NtCreateFile = NtCreateFile@44
NtCreateIoCompletion@16
NtCreateIoCompletion = NtCreateIoCompletion@16
NtCreateKey@28
NtCreateKey = NtCreateKey@28
NtCreateMailslotFile@32
NtCreateMailslotFile = NtCreateMailslotFile@32
NtCreateMutant@16
NtCreateMutant = NtCreateMutant@16
NtCreateNamedPipeFile@56
NtCreateNamedPipeFile = NtCreateNamedPipeFile@56
NtCreatePagingFile@16
NtCreatePagingFile = NtCreatePagingFile@16
NtCreatePort@20
NtCreatePort = NtCreatePort@20
NtCreateProcess@32
NtCreateProcess = NtCreateProcess@32
NtCreateProfile@36
NtCreateProfile = NtCreateProfile@36
NtCreateSection@28
NtCreateSection = NtCreateSection@28
NtCreateSemaphore@20
NtCreateSemaphore = NtCreateSemaphore@20
NtCreateSymbolicLinkObject@16
NtCreateSymbolicLinkObject = NtCreateSymbolicLinkObject@16
NtCreateThread@32
NtCreateThread = NtCreateThread@32
NtCreateTimer@16
NtCreateTimer = NtCreateTimer@16
NtCreateToken@52
NtCreateToken = NtCreateToken@52
NtDelayExecution@8
NtDelayExecution = NtDelayExecution@8
NtDeleteAtom@4
NtDeleteAtom = NtDeleteAtom@4
NtDeleteFile@4
NtDeleteFile = NtDeleteFile@4
NtDeleteKey@4
NtDeleteKey = NtDeleteKey@4
NtDeleteObjectAuditAlarm@12
NtDeleteObjectAuditAlarm = NtDeleteObjectAuditAlarm@12
NtDeleteValueKey@8
NtDeleteValueKey = NtDeleteValueKey@8
NtDeviceIoControlFile@40
NtDeviceIoControlFile = NtDeviceIoControlFile@40
NtDisplayString@4
NtDisplayString = NtDisplayString@4
NtDuplicateObject@28
NtDuplicateObject = NtDuplicateObject@28
NtDuplicateToken@24
NtDuplicateToken = NtDuplicateToken@24
NtEnumerateKey@24
NtEnumerateKey = NtEnumerateKey@24
NtEnumerateValueKey@24
NtEnumerateValueKey = NtEnumerateValueKey@24
NtExtendSection@8
NtExtendSection = NtExtendSection@8
NtFindAtom@8
NtFindAtom = NtFindAtom@8
NtFlushBuffersFile@8
NtFlushBuffersFile = NtFlushBuffersFile@8
NtFlushInstructionCache@12
NtFlushInstructionCache = NtFlushInstructionCache@12
NtFlushKey@4
NtFlushKey = NtFlushKey@4
NtFlushVirtualMemory@16
NtFlushVirtualMemory = NtFlushVirtualMemory@16
NtFlushWriteBuffer@0
NtFlushWriteBuffer = NtFlushWriteBuffer@0
NtFreeVirtualMemory@16
NtFreeVirtualMemory = NtFreeVirtualMemory@16
NtFsControlFile@40
NtFsControlFile = NtFsControlFile@40
NtGetContextThread@8
NtGetContextThread = NtGetContextThread@8
NtGetPlugPlayEvent@16
NtGetPlugPlayEvent = NtGetPlugPlayEvent@16
NtGetTickCount@4
NtGetTickCount = NtGetTickCount@4
NtImpersonateClientOfPort@8
NtImpersonateClientOfPort = NtImpersonateClientOfPort@8
NtImpersonateThread@12
NtImpersonateThread = NtImpersonateThread@12
NtInitializeRegistry@4
NtInitializeRegistry = NtInitializeRegistry@4
NtListenChannel@8
NtListenChannel = NtListenChannel@8
NtListenPort@8
NtListenPort = NtListenPort@8
NtLoadDriver@4
NtLoadDriver = NtLoadDriver@4
NtLoadKey@8
NtLoadKey = NtLoadKey@8
NtLoadKey2@12
NtLoadKey2 = NtLoadKey2@12
NtLockFile@40
NtLockFile = NtLockFile@40
NtLockVirtualMemory@16
NtLockVirtualMemory = NtLockVirtualMemory@16
NtMakeTemporaryObject@4
NtMakeTemporaryObject = NtMakeTemporaryObject@4
NtMapViewOfSection@40
NtMapViewOfSection = NtMapViewOfSection@40
NtNotifyChangeDirectoryFile@36
NtNotifyChangeDirectoryFile = NtNotifyChangeDirectoryFile@36
NtNotifyChangeKey@40
NtNotifyChangeKey = NtNotifyChangeKey@40
NtOpenChannel@8
NtOpenChannel = NtOpenChannel@8
NtOpenDirectoryObject@12
NtOpenDirectoryObject = NtOpenDirectoryObject@12
NtOpenEvent@12
NtOpenEvent = NtOpenEvent@12
NtOpenEventPair@12
NtOpenEventPair = NtOpenEventPair@12
NtOpenFile@24
NtOpenFile = NtOpenFile@24
NtOpenIoCompletion@12
NtOpenIoCompletion = NtOpenIoCompletion@12
NtOpenKey@12
NtOpenKey = NtOpenKey@12
NtOpenMutant@12
NtOpenMutant = NtOpenMutant@12
NtOpenObjectAuditAlarm@48
NtOpenObjectAuditAlarm = NtOpenObjectAuditAlarm@48
NtOpenProcess@16
NtOpenProcess = NtOpenProcess@16
NtOpenProcessToken@12
NtOpenProcessToken = NtOpenProcessToken@12
NtOpenSection@12
NtOpenSection = NtOpenSection@12
NtOpenSemaphore@12
NtOpenSemaphore = NtOpenSemaphore@12
NtOpenSymbolicLinkObject@12
NtOpenSymbolicLinkObject = NtOpenSymbolicLinkObject@12
NtOpenThread@16
NtOpenThread = NtOpenThread@16
NtOpenThreadToken@16
NtOpenThreadToken = NtOpenThreadToken@16
NtOpenTimer@12
NtOpenTimer = NtOpenTimer@12
NtPlugPlayControl@16
NtPlugPlayControl = NtPlugPlayControl@16
NtPrivilegeCheck@12
NtPrivilegeCheck = NtPrivilegeCheck@12
NtPrivilegedServiceAuditAlarm@20
NtPrivilegedServiceAuditAlarm = NtPrivilegedServiceAuditAlarm@20
NtPrivilegeObjectAuditAlarm@24
NtPrivilegeObjectAuditAlarm = NtPrivilegeObjectAuditAlarm@24
NtProtectVirtualMemory@20
NtProtectVirtualMemory = NtProtectVirtualMemory@20
NtPulseEvent@8
NtPulseEvent = NtPulseEvent@8
NtQueueApcThread@20
NtQueueApcThread = NtQueueApcThread@20
NtQueryAttributesFile@8
NtQueryAttributesFile = NtQueryAttributesFile@8
NtQueryDefaultLocale@8
NtQueryDefaultLocale = NtQueryDefaultLocale@8
NtQueryDirectoryFile@44
NtQueryDirectoryFile = NtQueryDirectoryFile@44
NtQueryDirectoryObject@28
NtQueryDirectoryObject = NtQueryDirectoryObject@28
NtQueryEaFile@36
NtQueryEaFile = NtQueryEaFile@36
NtQueryEvent@20
NtQueryEvent = NtQueryEvent@20
NtQueryFullAttributesFile@8
NtQueryFullAttributesFile = NtQueryFullAttributesFile@8
NtQueryInformationAtom@20
NtQueryInformationAtom = NtQueryInformationAtom@20
NtQueryInformationFile@20
NtQueryInformationFile = NtQueryInformationFile@20
NtQueryInformationPort@20
NtQueryInformationPort = NtQueryInformationPort@20
NtQueryInformationProcess@20
NtQueryInformationProcess = NtQueryInformationProcess@20
NtQueryInformationThread@20
NtQueryInformationThread = NtQueryInformationThread@20
NtQueryInformationToken@20
NtQueryInformationToken = NtQueryInformationToken@20
NtQueryIoCompletion@20
NtQueryIoCompletion = NtQueryIoCompletion@20
NtQueryIntervalProfile@8
NtQueryIntervalProfile = NtQueryIntervalProfile@8
NtQueryKey@20
NtQueryKey = NtQueryKey@20
NtQueryMultipleValueKey@24
NtQueryMultipleValueKey = NtQueryMultipleValueKey@24
NtQueryMutant@20
NtQueryMutant = NtQueryMutant@20
NtQueryObject@20
NtQueryObject = NtQueryObject@20
NtQueryOleDirectoryFile@44
NtQueryOleDirectoryFile = NtQueryOleDirectoryFile@44
NtQueryPerformanceCounter@8
NtQueryPerformanceCounter = NtQueryPerformanceCounter@8
NtQuerySection@20
NtQuerySection = NtQuerySection@20
NtQuerySecurityObject@20
NtQuerySecurityObject = NtQuerySecurityObject@20
NtQuerySemaphore@20
NtQuerySemaphore = NtQuerySemaphore@20
NtQuerySymbolicLinkObject@12
NtQuerySymbolicLinkObject = NtQuerySymbolicLinkObject@12
NtQuerySystemEnvironmentValue@16
NtQuerySystemEnvironmentValue = NtQuerySystemEnvironmentValue@16
NtQuerySystemInformation@16
NtQuerySystemInformation = NtQuerySystemInformation@16
NtQuerySystemTime@4
NtQuerySystemTime = NtQuerySystemTime@4
NtQueryTimer@20
NtQueryTimer = NtQueryTimer@20
NtQueryTimerResolution@12
NtQueryTimerResolution = NtQueryTimerResolution@12
NtQueryValueKey@24
NtQueryValueKey = NtQueryValueKey@24
NtQueryVirtualMemory@24
NtQueryVirtualMemory = NtQueryVirtualMemory@24
NtQueryVolumeInformationFile@20
NtQueryVolumeInformationFile = NtQueryVolumeInformationFile@20
NtRaiseException@12
NtRaiseException = NtRaiseException@12
NtRaiseHardError@24
NtRaiseHardError = NtRaiseHardError@24
NtReadFile@36
NtReadFile = NtReadFile@36
NtReadFileScatter@36
NtReadFileScatter = NtReadFileScatter@36
NtReadRequestData@24
NtReadRequestData = NtReadRequestData@24
NtReadVirtualMemory@20
NtReadVirtualMemory = NtReadVirtualMemory@20
NtRegisterThreadTerminatePort@4
NtRegisterThreadTerminatePort = NtRegisterThreadTerminatePort@4
NtReleaseMutant@8
NtReleaseMutant = NtReleaseMutant@8
NtReleaseSemaphore@12
NtReleaseSemaphore = NtReleaseSemaphore@12
NtRemoveIoCompletion@20
NtRemoveIoCompletion = NtRemoveIoCompletion@20
NtReplaceKey@12
NtReplaceKey = NtReplaceKey@12
NtReplyPort@8
NtReplyPort = NtReplyPort@8
NtReplyWaitReceivePort@16
NtReplyWaitReceivePort = NtReplyWaitReceivePort@16
NtReplyWaitReplyPort@8
NtReplyWaitReplyPort = NtReplyWaitReplyPort@8
NtReplyWaitSendChannel@12
NtReplyWaitSendChannel = NtReplyWaitSendChannel@12
NtRequestPort@8
NtRequestPort = NtRequestPort@8
NtRequestWaitReplyPort@12
NtRequestWaitReplyPort = NtRequestWaitReplyPort@12
NtResetEvent@8
NtResetEvent = NtResetEvent@8
NtRestoreKey@12
NtRestoreKey = NtRestoreKey@12
NtResumeThread@8
NtResumeThread = NtResumeThread@8
NtSaveKey@8
NtSaveKey = NtSaveKey@8
NtSendWaitReplyChannel@16
NtSendWaitReplyChannel = NtSendWaitReplyChannel@16
NtSetContextChannel@4
NtSetContextChannel = NtSetContextChannel@4
NtSetContextThread@8
NtSetContextThread = NtSetContextThread@8
NtSetDefaultHardErrorPort@4
NtSetDefaultHardErrorPort = NtSetDefaultHardErrorPort@4
NtSetDefaultLocale@8
NtSetDefaultLocale = NtSetDefaultLocale@8
NtSetEaFile@16
NtSetEaFile = NtSetEaFile@16
NtSetEvent@8
NtSetEvent = NtSetEvent@8
NtSetHighEventPair@4
NtSetHighEventPair = NtSetHighEventPair@4
NtSetHighWaitLowEventPair@4
NtSetHighWaitLowEventPair = NtSetHighWaitLowEventPair@4
NtSetInformationFile@20
NtSetInformationFile = NtSetInformationFile@20
NtSetInformationKey@16
NtSetInformationKey = NtSetInformationKey@16
NtSetInformationObject@16
NtSetInformationObject = NtSetInformationObject@16
NtSetInformationProcess@16
NtSetInformationProcess = NtSetInformationProcess@16
NtSetInformationThread@16
NtSetInformationThread = NtSetInformationThread@16
NtSetInformationToken@16
NtSetInformationToken = NtSetInformationToken@16
NtSetIntervalProfile@8
NtSetIntervalProfile = NtSetIntervalProfile@8
NtSetIoCompletion@20
NtSetIoCompletion = NtSetIoCompletion@20
NtSetLdtEntries@24
NtSetLdtEntries = NtSetLdtEntries@24
NtSetLowEventPair@4
NtSetLowEventPair = NtSetLowEventPair@4
NtSetLowWaitHighEventPair@4
NtSetLowWaitHighEventPair = NtSetLowWaitHighEventPair@4
NtSetSecurityObject@12
NtSetSecurityObject = NtSetSecurityObject@12
NtSetSystemEnvironmentValue@8
NtSetSystemEnvironmentValue = NtSetSystemEnvironmentValue@8
NtSetSystemInformation@12
NtSetSystemInformation = NtSetSystemInformation@12
NtSetSystemPowerState@12
NtSetSystemPowerState = NtSetSystemPowerState@12
NtSetSystemTime@8
NtSetSystemTime = NtSetSystemTime@8
NtSetTimer@28
NtSetTimer = NtSetTimer@28
NtSetTimerResolution@12
NtSetTimerResolution = NtSetTimerResolution@12
NtSetValueKey@24
NtSetValueKey = NtSetValueKey@24
NtSetVolumeInformationFile@20
NtSetVolumeInformationFile = NtSetVolumeInformationFile@20
NtShutdownSystem@4
NtShutdownSystem = NtShutdownSystem@4
NtSignalAndWaitForSingleObject@16
NtSignalAndWaitForSingleObject = NtSignalAndWaitForSingleObject@16
NtStartProfile@4
NtStartProfile = NtStartProfile@4
NtStopProfile@4
NtStopProfile = NtStopProfile@4
NtSuspendThread@8
NtSuspendThread = NtSuspendThread@8
NtSystemDebugControl@24
NtSystemDebugControl = NtSystemDebugControl@24
NtTerminateProcess@8
NtTerminateProcess = NtTerminateProcess@8
NtTerminateThread@8
NtTerminateThread = NtTerminateThread@8
NtTestAlert@0
NtTestAlert = NtTestAlert@0
NtUnloadDriver@4
NtUnloadDriver = NtUnloadDriver@4
NtUnloadKey@4
NtUnloadKey = NtUnloadKey@4
NtUnlockFile@20
NtUnlockFile = NtUnlockFile@20
NtUnlockVirtualMemory@16
NtUnlockVirtualMemory = NtUnlockVirtualMemory@16
NtUnmapViewOfSection@8
NtUnmapViewOfSection = NtUnmapViewOfSection@8
NtVdmControl@8
NtVdmControl = NtVdmControl@8
NtWaitForMultipleObjects@20
NtWaitForMultipleObjects = NtWaitForMultipleObjects@20
NtWaitForSingleObject@12
NtWaitForSingleObject = NtWaitForSingleObject@12
NtWaitHighEventPair@4
NtWaitHighEventPair = NtWaitHighEventPair@4
NtWaitLowEventPair@4
NtWaitLowEventPair = NtWaitLowEventPair@4
NtWriteFile@36
NtWriteFile = NtWriteFile@36
NtWriteFileGather@36
NtWriteFileGather = NtWriteFileGather@36
NtWriteRequestData@24
NtWriteRequestData = NtWriteRequestData@24
NtWriteVirtualMemory@20
NtWriteVirtualMemory = NtWriteVirtualMemory@20
NtW32Call@20
NtW32Call = NtW32Call@20
NtYieldExecution@0
NtYieldExecution = NtYieldExecution@0
ZwAcceptConnectPort@24
ZwAcceptConnectPort = ZwAcceptConnectPort@24
ZwAccessCheck@32
ZwAccessCheck = ZwAccessCheck@32
ZwAccessCheckAndAuditAlarm@44
ZwAccessCheckAndAuditAlarm = ZwAccessCheckAndAuditAlarm@44
ZwAddAtom@8
ZwAddAtom = ZwAddAtom@8
ZwAdjustGroupsToken@24
ZwAdjustGroupsToken = ZwAdjustGroupsToken@24
ZwAdjustPrivilegesToken@24
ZwAdjustPrivilegesToken = ZwAdjustPrivilegesToken@24
ZwAlertResumeThread@8
ZwAlertResumeThread = ZwAlertResumeThread@8
ZwAlertThread@4
ZwAlertThread = ZwAlertThread@4
ZwAllocateLocallyUniqueId@4
ZwAllocateLocallyUniqueId = ZwAllocateLocallyUniqueId@4
ZwAllocateUuids@12
ZwAllocateUuids = ZwAllocateUuids@12
ZwAllocateVirtualMemory@24
ZwAllocateVirtualMemory = ZwAllocateVirtualMemory@24
ZwCallbackReturn@12
ZwCallbackReturn = ZwCallbackReturn@12
ZwCancelIoFile@8
ZwCancelIoFile = ZwCancelIoFile@8
ZwCancelTimer@8
ZwCancelTimer = ZwCancelTimer@8
ZwClearEvent@4
ZwClearEvent = ZwClearEvent@4
ZwClose@4
ZwClose = ZwClose@4
ZwCloseObjectAuditAlarm@12
ZwCloseObjectAuditAlarm = ZwCloseObjectAuditAlarm@12
ZwCompleteConnectPort@4
ZwCompleteConnectPort = ZwCompleteConnectPort@4
ZwConnectPort@32
ZwConnectPort = ZwConnectPort@32
ZwContinue@8
ZwContinue = ZwContinue@8
ZwCreateChannel@8
ZwCreateChannel = ZwCreateChannel@8
ZwCreateDirectoryObject@12
ZwCreateDirectoryObject = ZwCreateDirectoryObject@12
ZwCreateEvent@20
ZwCreateEvent = ZwCreateEvent@20
ZwCreateEventPair@12
ZwCreateEventPair = ZwCreateEventPair@12
ZwCreateFile@44
ZwCreateFile = ZwCreateFile@44
ZwCreateIoCompletion@16
ZwCreateIoCompletion = ZwCreateIoCompletion@16
ZwCreateKey@28
ZwCreateKey = ZwCreateKey@28
ZwCreateMailslotFile@32
ZwCreateMailslotFile = ZwCreateMailslotFile@32
ZwCreateMutant@16
ZwCreateMutant = ZwCreateMutant@16
ZwCreateNamedPipeFile@56
ZwCreateNamedPipeFile = ZwCreateNamedPipeFile@56
ZwCreatePagingFile@16
ZwCreatePagingFile = ZwCreatePagingFile@16
ZwCreatePort@20
ZwCreatePort = ZwCreatePort@20
ZwCreateProcess@32
ZwCreateProcess = ZwCreateProcess@32
ZwCreateProfile@36
ZwCreateProfile = ZwCreateProfile@36
ZwCreateSection@28
ZwCreateSection = ZwCreateSection@28
ZwCreateSemaphore@20
ZwCreateSemaphore = ZwCreateSemaphore@20
ZwCreateSymbolicLinkObject@16
ZwCreateSymbolicLinkObject = ZwCreateSymbolicLinkObject@16
ZwCreateThread@32
ZwCreateThread = ZwCreateThread@32
ZwCreateTimer@16
ZwCreateTimer = ZwCreateTimer@16
ZwCreateToken@52
ZwCreateToken = ZwCreateToken@52
ZwDelayExecution@8
ZwDelayExecution = ZwDelayExecution@8
ZwDeleteAtom@4
ZwDeleteAtom = ZwDeleteAtom@4
ZwDeleteFile@4
ZwDeleteFile = ZwDeleteFile@4
ZwDeleteKey@4
ZwDeleteKey = ZwDeleteKey@4
ZwDeleteObjectAuditAlarm@12
ZwDeleteObjectAuditAlarm = ZwDeleteObjectAuditAlarm@12
ZwDeleteValueKey@8
ZwDeleteValueKey = ZwDeleteValueKey@8
ZwDeviceIoControlFile@40
ZwDeviceIoControlFile = ZwDeviceIoControlFile@40
ZwDisplayString@4
ZwDisplayString = ZwDisplayString@4
ZwDuplicateObject@28
ZwDuplicateObject = ZwDuplicateObject@28
ZwDuplicateToken@24
ZwDuplicateToken = ZwDuplicateToken@24
ZwEnumerateKey@24
ZwEnumerateKey = ZwEnumerateKey@24
ZwEnumerateValueKey@24
ZwEnumerateValueKey = ZwEnumerateValueKey@24
ZwExtendSection@8
ZwExtendSection = ZwExtendSection@8
ZwFindAtom@8
ZwFindAtom = ZwFindAtom@8
ZwFlushBuffersFile@8
ZwFlushBuffersFile = ZwFlushBuffersFile@8
ZwFlushInstructionCache@12
ZwFlushInstructionCache = ZwFlushInstructionCache@12
ZwFlushKey@4
ZwFlushKey = ZwFlushKey@4
ZwFlushVirtualMemory@16
ZwFlushVirtualMemory = ZwFlushVirtualMemory@16
ZwFlushWriteBuffer@0
ZwFlushWriteBuffer = ZwFlushWriteBuffer@0
ZwFreeVirtualMemory@16
ZwFreeVirtualMemory = ZwFreeVirtualMemory@16
ZwFsControlFile@40
ZwFsControlFile = ZwFsControlFile@40
ZwGetContextThread@8
ZwGetContextThread = ZwGetContextThread@8
ZwGetPlugPlayEvent@16
ZwGetPlugPlayEvent = ZwGetPlugPlayEvent@16
ZwGetTickCount@4
ZwGetTickCount = ZwGetTickCount@4
ZwImpersonateClientOfPort@8
ZwImpersonateClientOfPort = ZwImpersonateClientOfPort@8
ZwImpersonateThread@12
ZwImpersonateThread = ZwImpersonateThread@12
ZwInitializeRegistry@4
ZwInitializeRegistry = ZwInitializeRegistry@4
ZwListenChannel@8
ZwListenChannel = ZwListenChannel@8
ZwListenPort@8
ZwListenPort = ZwListenPort@8
ZwLoadDriver@4
ZwLoadDriver = ZwLoadDriver@4
ZwLoadKey@8
ZwLoadKey = ZwLoadKey@8
ZwLoadKey2@12
ZwLoadKey2 = ZwLoadKey2@12
ZwLockFile@40
ZwLockFile = ZwLockFile@40
ZwLockVirtualMemory@16
ZwLockVirtualMemory = ZwLockVirtualMemory@16
ZwMakeTemporaryObject@4
ZwMakeTemporaryObject = ZwMakeTemporaryObject@4
ZwMapViewOfSection@40
ZwMapViewOfSection = ZwMapViewOfSection@40
ZwNotifyChangeDirectoryFile@36
ZwNotifyChangeDirectoryFile = ZwNotifyChangeDirectoryFile@36
ZwNotifyChangeKey@40
ZwNotifyChangeKey = ZwNotifyChangeKey@40
ZwOpenChannel@8
ZwOpenChannel = ZwOpenChannel@8
ZwOpenDirectoryObject@12
ZwOpenDirectoryObject = ZwOpenDirectoryObject@12
ZwOpenEvent@12
ZwOpenEvent = ZwOpenEvent@12
ZwOpenEventPair@12
ZwOpenEventPair = ZwOpenEventPair@12
ZwOpenFile@24
ZwOpenFile = ZwOpenFile@24
ZwOpenIoCompletion@12
ZwOpenIoCompletion = ZwOpenIoCompletion@12
ZwOpenKey@12
ZwOpenKey = ZwOpenKey@12
ZwOpenMutant@12
ZwOpenMutant = ZwOpenMutant@12
ZwOpenObjectAuditAlarm@48
ZwOpenObjectAuditAlarm = ZwOpenObjectAuditAlarm@48
ZwOpenProcess@16
ZwOpenProcess = ZwOpenProcess@16
ZwOpenProcessToken@12
ZwOpenProcessToken = ZwOpenProcessToken@12
ZwOpenSection@12
ZwOpenSection = ZwOpenSection@12
ZwOpenSemaphore@12
ZwOpenSemaphore = ZwOpenSemaphore@12
ZwOpenSymbolicLinkObject@12
ZwOpenSymbolicLinkObject = ZwOpenSymbolicLinkObject@12
ZwOpenThread@16
ZwOpenThread = ZwOpenThread@16
ZwOpenThreadToken@16
ZwOpenThreadToken = ZwOpenThreadToken@16
ZwOpenTimer@12
ZwOpenTimer = ZwOpenTimer@12
ZwPlugPlayControl@16
ZwPlugPlayControl = ZwPlugPlayControl@16
ZwPrivilegeCheck@12
ZwPrivilegeCheck = ZwPrivilegeCheck@12
ZwPrivilegedServiceAuditAlarm@20
ZwPrivilegedServiceAuditAlarm = ZwPrivilegedServiceAuditAlarm@20
ZwPrivilegeObjectAuditAlarm@24
ZwPrivilegeObjectAuditAlarm = ZwPrivilegeObjectAuditAlarm@24
ZwProtectVirtualMemory@20
ZwProtectVirtualMemory = ZwProtectVirtualMemory@20
ZwPulseEvent@8
ZwPulseEvent = ZwPulseEvent@8
ZwQueueApcThread@20
ZwQueueApcThread = ZwQueueApcThread@20
ZwQueryInformationAtom@20
ZwQueryInformationAtom = ZwQueryInformationAtom@20
ZwQueryAttributesFile@8
ZwQueryAttributesFile = ZwQueryAttributesFile@8
ZwQueryDefaultLocale@8
ZwQueryDefaultLocale = ZwQueryDefaultLocale@8
ZwQueryDirectoryFile@44
ZwQueryDirectoryFile = ZwQueryDirectoryFile@44
ZwQueryDirectoryObject@28
ZwQueryDirectoryObject = ZwQueryDirectoryObject@28
ZwQueryEaFile@36
ZwQueryEaFile = ZwQueryEaFile@36
ZwQueryEvent@20
ZwQueryEvent = ZwQueryEvent@20
ZwQueryFullAttributesFile@8
ZwQueryFullAttributesFile = ZwQueryFullAttributesFile@8
ZwQueryInformationFile@20
ZwQueryInformationFile = ZwQueryInformationFile@20
ZwQueryInformationPort@20
ZwQueryInformationPort = ZwQueryInformationPort@20
ZwQueryInformationProcess@20
ZwQueryInformationProcess = ZwQueryInformationProcess@20
ZwQueryInformationThread@20
ZwQueryInformationThread = ZwQueryInformationThread@20
ZwQueryInformationToken@20
ZwQueryInformationToken = ZwQueryInformationToken@20
ZwQueryIntervalProfile@8
ZwQueryIntervalProfile = ZwQueryIntervalProfile@8
ZwQueryIoCompletion@20
ZwQueryIoCompletion = ZwQueryIoCompletion@20
ZwQueryKey@20
ZwQueryKey = ZwQueryKey@20
ZwQueryMultipleValueKey@24
ZwQueryMultipleValueKey = ZwQueryMultipleValueKey@24
ZwQueryMutant@20
ZwQueryMutant = ZwQueryMutant@20
ZwQueryObject@20
ZwQueryObject = ZwQueryObject@20
ZwQueryOleDirectoryFile@44
ZwQueryOleDirectoryFile = ZwQueryOleDirectoryFile@44
ZwQueryPerformanceCounter@8
ZwQueryPerformanceCounter = ZwQueryPerformanceCounter@8
ZwQuerySection@20
ZwQuerySection = ZwQuerySection@20
ZwQuerySecurityObject@20
ZwQuerySecurityObject = ZwQuerySecurityObject@20
ZwQuerySemaphore@20
ZwQuerySemaphore = ZwQuerySemaphore@20
ZwQuerySymbolicLinkObject@12
ZwQuerySymbolicLinkObject = ZwQuerySymbolicLinkObject@12
ZwQuerySystemEnvironmentValue@16
ZwQuerySystemEnvironmentValue = ZwQuerySystemEnvironmentValue@16
ZwQuerySystemInformation@16
ZwQuerySystemInformation = ZwQuerySystemInformation@16
ZwQuerySystemTime@4
ZwQuerySystemTime = ZwQuerySystemTime@4
ZwQueryTimer@20
ZwQueryTimer = ZwQueryTimer@20
ZwQueryTimerResolution@12
ZwQueryTimerResolution = ZwQueryTimerResolution@12
ZwQueryValueKey@24
ZwQueryValueKey = ZwQueryValueKey@24
ZwQueryVirtualMemory@24
ZwQueryVirtualMemory = ZwQueryVirtualMemory@24
ZwQueryVolumeInformationFile@20
ZwQueryVolumeInformationFile = ZwQueryVolumeInformationFile@20
ZwRaiseException@12
ZwRaiseException = ZwRaiseException@12
ZwRaiseHardError@24
ZwRaiseHardError = ZwRaiseHardError@24
ZwReadFile@36
ZwReadFile = ZwReadFile@36
ZwReadFileScatter@36
ZwReadFileScatter = ZwReadFileScatter@36
ZwReadRequestData@24
ZwReadRequestData = ZwReadRequestData@24
ZwReadVirtualMemory@20
ZwReadVirtualMemory = ZwReadVirtualMemory@20
ZwRegisterThreadTerminatePort@4
ZwRegisterThreadTerminatePort = ZwRegisterThreadTerminatePort@4
ZwReleaseMutant@8
ZwReleaseMutant = ZwReleaseMutant@8
ZwReleaseSemaphore@12
ZwReleaseSemaphore = ZwReleaseSemaphore@12
ZwRemoveIoCompletion@20
ZwRemoveIoCompletion = ZwRemoveIoCompletion@20
ZwReplaceKey@12
ZwReplaceKey = ZwReplaceKey@12
ZwReplyPort@8
ZwReplyPort = ZwReplyPort@8
ZwReplyWaitReceivePort@16
ZwReplyWaitReceivePort = ZwReplyWaitReceivePort@16
ZwReplyWaitReplyPort@8
ZwReplyWaitReplyPort = ZwReplyWaitReplyPort@8
ZwReplyWaitSendChannel@12
ZwReplyWaitSendChannel = ZwReplyWaitSendChannel@12
ZwRequestPort@8
ZwRequestPort = ZwRequestPort@8
ZwRequestWaitReplyPort@12
ZwRequestWaitReplyPort = ZwRequestWaitReplyPort@12
ZwResetEvent@8
ZwResetEvent = ZwResetEvent@8
ZwRestoreKey@12
ZwRestoreKey = ZwRestoreKey@12
ZwResumeThread@8
ZwResumeThread = ZwResumeThread@8
ZwSaveKey@8
ZwSaveKey = ZwSaveKey@8
ZwSendWaitReplyChannel@16
ZwSendWaitReplyChannel = ZwSendWaitReplyChannel@16
ZwSetContextChannel@4
ZwSetContextChannel = ZwSetContextChannel@4
ZwSetContextThread@8
ZwSetContextThread = ZwSetContextThread@8
ZwSetDefaultHardErrorPort@4
ZwSetDefaultHardErrorPort = ZwSetDefaultHardErrorPort@4
ZwSetDefaultLocale@8
ZwSetDefaultLocale = ZwSetDefaultLocale@8
ZwSetEaFile@16
ZwSetEaFile = ZwSetEaFile@16
ZwSetEvent@8
ZwSetEvent = ZwSetEvent@8
ZwSetHighEventPair@4
ZwSetHighEventPair = ZwSetHighEventPair@4
ZwSetHighWaitLowEventPair@4
ZwSetHighWaitLowEventPair = ZwSetHighWaitLowEventPair@4
ZwSetInformationFile@20
ZwSetInformationFile = ZwSetInformationFile@20
ZwSetInformationKey@16
ZwSetInformationKey = ZwSetInformationKey@16
ZwSetInformationObject@16
ZwSetInformationObject = ZwSetInformationObject@16
ZwSetInformationProcess@16
ZwSetInformationProcess = ZwSetInformationProcess@16
ZwSetInformationThread@16
ZwSetInformationThread = ZwSetInformationThread@16
ZwSetInformationToken@16
ZwSetInformationToken = ZwSetInformationToken@16
ZwSetIntervalProfile@8
ZwSetIntervalProfile = ZwSetIntervalProfile@8
ZwSetIoCompletion@20
ZwSetIoCompletion = ZwSetIoCompletion@20
ZwSetLdtEntries@24
ZwSetLdtEntries = ZwSetLdtEntries@24
ZwSetLowEventPair@4
ZwSetLowEventPair = ZwSetLowEventPair@4
ZwSetLowWaitHighEventPair@4
ZwSetLowWaitHighEventPair = ZwSetLowWaitHighEventPair@4
ZwSetSecurityObject@12
ZwSetSecurityObject = ZwSetSecurityObject@12
ZwSetSystemEnvironmentValue@8
ZwSetSystemEnvironmentValue = ZwSetSystemEnvironmentValue@8
ZwSetSystemInformation@12
ZwSetSystemInformation = ZwSetSystemInformation@12
ZwSetSystemPowerState@12
ZwSetSystemPowerState = ZwSetSystemPowerState@12
ZwSetSystemTime@8
ZwSetSystemTime = ZwSetSystemTime@8
ZwSetTimer@28
ZwSetTimer = ZwSetTimer@28
ZwSetTimerResolution@12
ZwSetTimerResolution = ZwSetTimerResolution@12
ZwSetValueKey@24
ZwSetValueKey = ZwSetValueKey@24
ZwSetVolumeInformationFile@20
ZwSetVolumeInformationFile = ZwSetVolumeInformationFile@20
ZwShutdownSystem@4
ZwShutdownSystem = ZwShutdownSystem@4
ZwSignalAndWaitForSingleObject@16
ZwSignalAndWaitForSingleObject = ZwSignalAndWaitForSingleObject@16
ZwStartProfile@4
ZwStartProfile = ZwStartProfile@4
ZwStopProfile@4
ZwStopProfile = ZwStopProfile@4
ZwSuspendThread@8
ZwSuspendThread = ZwSuspendThread@8
ZwSystemDebugControl@24
ZwSystemDebugControl = ZwSystemDebugControl@24
ZwTerminateProcess@8
ZwTerminateProcess = ZwTerminateProcess@8
ZwTerminateThread@8
ZwTerminateThread = ZwTerminateThread@8
ZwTestAlert@0
ZwTestAlert = ZwTestAlert@0
ZwUnloadDriver@4
ZwUnloadDriver = ZwUnloadDriver@4
ZwUnloadKey@4
ZwUnloadKey = ZwUnloadKey@4
ZwUnlockFile@20
ZwUnlockFile = ZwUnlockFile@20
ZwUnlockVirtualMemory@16
ZwUnlockVirtualMemory = ZwUnlockVirtualMemory@16
ZwUnmapViewOfSection@8
ZwUnmapViewOfSection = ZwUnmapViewOfSection@8
ZwVdmControl@8
ZwVdmControl = ZwVdmControl@8
ZwWaitForMultipleObjects@20
ZwWaitForMultipleObjects = ZwWaitForMultipleObjects@20
ZwWaitForSingleObject@12
ZwWaitForSingleObject = ZwWaitForSingleObject@12
ZwWaitHighEventPair@4
ZwWaitHighEventPair = ZwWaitHighEventPair@4
ZwWaitLowEventPair@4
ZwWaitLowEventPair = ZwWaitLowEventPair@4
ZwWriteFile@36
ZwWriteFile = ZwWriteFile@36
ZwWriteFileGather@36
ZwWriteFileGather = ZwWriteFileGather@36
ZwWriteRequestData@24
ZwWriteRequestData = ZwWriteRequestData@24
ZwWriteVirtualMemory@20
ZwWriteVirtualMemory = ZwWriteVirtualMemory@20
ZwW32Call@20
ZwW32Call = ZwW32Call@20
ZwYieldExecution@0
ZwYieldExecution = ZwYieldExecution@0
RtlAllocateHeap@12
RtlAllocateHeap = RtlAllocateHeap@12
RtlCreateHeap@24
RtlCreateHeap = RtlCreateHeap@24
RtlCompactHeap@8
RtlCompactHeap = RtlCompactHeap@8
RtlDestroyHeap@4
RtlDestroyHeap = RtlDestroyHeap@4
RtlFreeHeap@12
RtlFreeHeap = RtlFreeHeap@12
RtlGetProcessHeap@0
RtlGetProcessHeap = RtlGetProcessHeap@0
RtlLockHeap@4
RtlLockHeap = RtlLockHeap@4
RtlReAllocHeap@16
RtlReAllocHeap = RtlReAllocHeap@16
RtlSizeHeap@12
RtlSizeHeap = RtlSizeHeap@12
RtlUnlockHeap@4
RtlUnlockHeap = RtlUnlockHeap@4
RtlValidateHeap@12
RtlValidateHeap = RtlValidateHeap@12
RtlInitAnsiString
RtlInitUnicodeString
RtlLargeIntegerAdd

View file

@ -0,0 +1,489 @@
EXPORTS
InitializeObjectAttributes
NtAcceptConnectPort=NtAcceptConnectPort@24
NtAccessCheck=NtAccessCheck@32
NtAccessCheckAndAuditAlarm=NtAccessCheckAndAuditAlarm@44
NtAddAtom=NtAddAtom@8
NtAdjustGroupsToken=NtAdjustGroupsToken@24
NtAdjustPrivilegesToken=NtAdjustPrivilegesToken@24
NtAlertResumeThread=NtAlertResumeThread@8
NtAlertThread=NtAlertThread@4
NtAllocateLocallyUniqueId=NtAllocateLocallyUniqueId@4
NtAllocateUuids=NtAllocateUuids@12
NtAllocateVirtualMemory=NtAllocateVirtualMemory@24
NtCallbackReturn=NtCallbackReturn@12
NtCancelIoFile=NtCancelIoFile@8
NtCancelTimer=NtCancelTimer@8
NtClearEvent=NtClearEvent@4
NtClose=NtClose@4
NtCloseObjectAuditAlarm=NtCloseObjectAuditAlarm@12
NtCompleteConnectPort=NtCompleteConnectPort@4
NtConnectPort=NtConnectPort@32
NtContinue=NtContinue@8
NtCreateChannel=NtCreateChannel@8
NtCreateDirectoryObject=NtCreateDirectoryObject@12
NtCreateEvent=NtCreateEvent@20
NtCreateEventPair=NtCreateEventPair@12
NtCreateFile=NtCreateFile@44
NtCreateIoCompletion=NtCreateIoCompletion@16
NtCreateKey=NtCreateKey@28
NtCreateMailslotFile=NtCreateMailslotFile@32
NtCreateMutant=NtCreateMutant@16
NtCreateNamedPipeFile=NtCreateNamedPipeFile@56
NtCreatePagingFile=NtCreatePagingFile@16
NtCreatePort=NtCreatePort@20
NtCreateProcess=NtCreateProcess@32
NtCreateProfile=NtCreateProfile@36
NtCreateSection=NtCreateSection@28
NtCreateSemaphore=NtCreateSemaphore@20
NtCreateSymbolicLinkObject=NtCreateSymbolicLinkObject@16
NtCreateThread=NtCreateThread@32
NtCreateTimer=NtCreateTimer@16
NtCreateToken=NtCreateToken@52
NtDelayExecution=NtDelayExecution@8
NtDeleteAtom=NtDeleteAtom@4
NtDeleteFile=NtDeleteFile@4
NtDeleteKey=NtDeleteKey@4
NtDeleteObjectAuditAlarm=NtDeleteObjectAuditAlarm@12
NtDeleteValueKey=NtDeleteValueKey@8
NtDeviceIoControlFile=NtDeviceIoControlFile@40
NtDisplayString=NtDisplayString@4
NtDuplicateObject=NtDuplicateObject@28
NtDuplicateToken=NtDuplicateToken@24
NtEnumerateKey=NtEnumerateKey@24
NtEnumerateValueKey=NtEnumerateValueKey@24
NtExtendSection=NtExtendSection@8
NtFindAtom=NtFindAtom@8
NtFlushBuffersFile=NtFlushBuffersFile@8
NtFlushInstructionCache=NtFlushInstructionCache@12
NtFlushKey=NtFlushKey@4
NtFlushVirtualMemory=NtFlushVirtualMemory@16
NtFlushWriteBuffer=NtFlushWriteBuffer@0
NtFreeVirtualMemory=NtFreeVirtualMemory@16
NtFsControlFile=NtFsControlFile@40
NtGetContextThread=NtGetContextThread@8
NtGetPlugPlayEvent=NtGetPlugPlayEvent@16
NtGetTickCount=NtGetTickCount@4
NtImpersonateClientOfPort=NtImpersonateClientOfPort@8
NtImpersonateThread=NtImpersonateThread@12
NtInitializeRegistry=NtInitializeRegistry@4
NtListenChannel=NtListenChannel@8
NtListenPort=NtListenPort@8
NtLoadDriver=NtLoadDriver@4
NtLoadKey=NtLoadKey@8
NtLoadKey2=NtLoadKey2@12
NtLockFile=NtLockFile@40
NtLockVirtualMemory=NtLockVirtualMemory@16
NtMakeTemporaryObject=NtMakeTemporaryObject@4
NtMapViewOfSection=NtMapViewOfSection@40
NtNotifyChangeDirectoryFile=NtNotifyChangeDirectoryFile@36
NtNotifyChangeKey=NtNotifyChangeKey@40
NtOpenChannel=NtOpenChannel@8
NtOpenDirectoryObject=NtOpenDirectoryObject@12
NtOpenEvent=NtOpenEvent@12
NtOpenEventPair=NtOpenEventPair@12
NtOpenFile=NtOpenFile@24
NtOpenIoCompletion=NtOpenIoCompletion@12
NtOpenKey=NtOpenKey@12
NtOpenMutant=NtOpenMutant@12
NtOpenObjectAuditAlarm=NtOpenObjectAuditAlarm@48
NtOpenProcess=NtOpenProcess@16
NtOpenProcessToken=NtOpenProcessToken@12
NtOpenSection=NtOpenSection@12
NtOpenSemaphore=NtOpenSemaphore@12
NtOpenSymbolicLinkObject=NtOpenSymbolicLinkObject@12
NtOpenThread=NtOpenThread@16
NtOpenThreadToken=NtOpenThreadToken@16
NtOpenTimer=NtOpenTimer@12
NtPlugPlayControl=NtPlugPlayControl@16
NtPrivilegeCheck=NtPrivilegeCheck@12
NtPrivilegedServiceAuditAlarm=NtPrivilegedServiceAuditAlarm@20
NtPrivilegeObjectAuditAlarm=NtPrivilegeObjectAuditAlarm@24
NtProtectVirtualMemory=NtProtectVirtualMemory@20
NtPulseEvent=NtPulseEvent@8
NtQueueApcThread=NtQueueApcThread@20
NtQueryAttributesFile=NtQueryAttributesFile@8
NtQueryDefaultLocale=NtQueryDefaultLocale@8
NtQueryDirectoryFile=NtQueryDirectoryFile@44
NtQueryDirectoryObject=NtQueryDirectoryObject@28
NtQueryEaFile=NtQueryEaFile@36
NtQueryEvent=NtQueryEvent@20
NtQueryFullAttributesFile=NtQueryFullAttributesFile@8
NtQueryInformationAtom=NtQueryInformationAtom@20
NtQueryInformationFile=NtQueryInformationFile@20
NtQueryInformationPort=NtQueryInformationPort@20
NtQueryInformationProcess=NtQueryInformationProcess@20
NtQueryInformationThread=NtQueryInformationThread@20
NtQueryInformationToken=NtQueryInformationToken@20
NtQueryIoCompletion=NtQueryIoCompletion@20
NtQueryIntervalProfile=NtQueryIntervalProfile@8
NtQueryKey=NtQueryKey@20
NtQueryMultipleValueKey=NtQueryMultipleValueKey@24
NtQueryMutant=NtQueryMutant@20
NtQueryObject=NtQueryObject@20
NtQueryOleDirectoryFile=NtQueryOleDirectoryFile@44
NtQueryPerformanceCounter=NtQueryPerformanceCounter@8
NtQuerySection=NtQuerySection@20
NtQuerySecurityObject=NtQuerySecurityObject@20
NtQuerySemaphore=NtQuerySemaphore@20
NtQuerySymbolicLinkObject=NtQuerySymbolicLinkObject@12
NtQuerySystemEnvironmentValue=NtQuerySystemEnvironmentValue@16
NtQuerySystemInformation=NtQuerySystemInformation@16
NtQuerySystemTime=NtQuerySystemTime@4
NtQueryTimer=NtQueryTimer@20
NtQueryTimerResolution=NtQueryTimerResolution@12
NtQueryValueKey=NtQueryValueKey@24
NtQueryVirtualMemory=NtQueryVirtualMemory@24
NtQueryVolumeInformationFile=NtQueryVolumeInformationFile@20
NtRaiseException=NtRaiseException@12
NtRaiseHardError=NtRaiseHardError@24
NtReadFile=NtReadFile@36
NtReadFileScatter=NtReadFileScatter@36
NtReadRequestData=NtReadRequestData@24
NtReadVirtualMemory=NtReadVirtualMemory@20
NtRegisterThreadTerminatePort=NtRegisterThreadTerminatePort@4
NtReleaseMutant=NtReleaseMutant@8
NtReleaseSemaphore=NtReleaseSemaphore@12
NtRemoveIoCompletion=NtRemoveIoCompletion@20
NtReplaceKey=NtReplaceKey@12
NtReplyPort=NtReplyPort@8
NtReplyWaitReceivePort=NtReplyWaitReceivePort@16
NtReplyWaitReplyPort=NtReplyWaitReplyPort@8
NtReplyWaitSendChannel=NtReplyWaitSendChannel@12
NtRequestPort=NtRequestPort@8
NtRequestWaitReplyPort=NtRequestWaitReplyPort@12
NtResetEvent=NtResetEvent@8
NtRestoreKey=NtRestoreKey@12
NtResumeThread=NtResumeThread@8
NtSaveKey=NtSaveKey@8
NtSendWaitReplyChannel=NtSendWaitReplyChannel@16
NtSetContextChannel=NtSetContextChannel@4
NtSetContextThread=NtSetContextThread@8
NtSetDefaultHardErrorPort=NtSetDefaultHardErrorPort@4
NtSetDefaultLocale=NtSetDefaultLocale@8
NtSetEaFile=NtSetEaFile@16
NtSetEvent=NtSetEvent@8
NtSetHighEventPair=NtSetHighEventPair@4
NtSetHighWaitLowEventPair=NtSetHighWaitLowEventPair@4
NtSetInformationFile=NtSetInformationFile@20
NtSetInformationKey=NtSetInformationKey@16
NtSetInformationObject=NtSetInformationObject@16
NtSetInformationProcess=NtSetInformationProcess@16
NtSetInformationThread=NtSetInformationThread@16
NtSetInformationToken=NtSetInformationToken@16
NtSetIntervalProfile=NtSetIntervalProfile@8
NtSetIoCompletion=NtSetIoCompletion@20
NtSetLdtEntries=NtSetLdtEntries@24
NtSetLowEventPair=NtSetLowEventPair@4
NtSetLowWaitHighEventPair=NtSetLowWaitHighEventPair@4
NtSetSecurityObject=NtSetSecurityObject@12
NtSetSystemEnvironmentValue=NtSetSystemEnvironmentValue@8
NtSetSystemInformation=NtSetSystemInformation@12
NtSetSystemPowerState=NtSetSystemPowerState@12
NtSetSystemTime=NtSetSystemTime@8
NtSetTimer=NtSetTimer@28
NtSetTimerResolution=NtSetTimerResolution@12
NtSetValueKey=NtSetValueKey@24
NtSetVolumeInformationFile=NtSetVolumeInformationFile@20
NtShutdownSystem=NtShutdownSystem@4
NtSignalAndWaitForSingleObject=NtSignalAndWaitForSingleObject@16
NtStartProfile=NtStartProfile@4
NtStopProfile=NtStopProfile@4
NtSuspendThread=NtSuspendThread@8
NtSystemDebugControl=NtSystemDebugControl@24
NtTerminateProcess=NtTerminateProcess@8
NtTerminateThread=NtTerminateThread@8
NtTestAlert=NtTestAlert@0
NtUnloadDriver=NtUnloadDriver@4
NtUnloadKey=NtUnloadKey@4
NtUnlockFile=NtUnlockFile@20
NtUnlockVirtualMemory=NtUnlockVirtualMemory@16
NtUnmapViewOfSection=NtUnmapViewOfSection@8
NtVdmControl=NtVdmControl@8
NtWaitForMultipleObjects=NtWaitForMultipleObjects@20
NtWaitForSingleObject=NtWaitForSingleObject@12
NtWaitHighEventPair=NtWaitHighEventPair@4
NtWaitLowEventPair=NtWaitLowEventPair@4
NtWriteFile=NtWriteFile@36
NtWriteFileGather=NtWriteFileGather@36
NtWriteRequestData=NtWriteRequestData@24
NtWriteVirtualMemory=NtWriteVirtualMemory@20
NtW32Call=NtW32Call@20
NtYieldExecution=NtYieldExecution@0
ZwAcceptConnectPort=ZwAcceptConnectPort@24
ZwAccessCheck=ZwAccessCheck@32
ZwAccessCheckAndAuditAlarm=ZwAccessCheckAndAuditAlarm@44
ZwAddAtom=ZwAddAtom@8
ZwAdjustGroupsToken=ZwAdjustGroupsToken@24
ZwAdjustPrivilegesToken=ZwAdjustPrivilegesToken@24
ZwAlertResumeThread=ZwAlertResumeThread@8
ZwAlertThread=ZwAlertThread@4
ZwAllocateLocallyUniqueId=ZwAllocateLocallyUniqueId@4
ZwAllocateUuids=ZwAllocateUuids@12
ZwAllocateVirtualMemory=ZwAllocateVirtualMemory@24
ZwCallbackReturn=ZwCallbackReturn@12
ZwCancelIoFile=ZwCancelIoFile@8
ZwCancelTimer=ZwCancelTimer@8
ZwClearEvent=ZwClearEvent@4
ZwClose=ZwClose@4
ZwCloseObjectAuditAlarm=ZwCloseObjectAuditAlarm@12
ZwCompleteConnectPort=ZwCompleteConnectPort@4
ZwConnectPort=ZwConnectPort@32
ZwContinue=ZwContinue@8
ZwCreateChannel=ZwCreateChannel@8
ZwCreateDirectoryObject=ZwCreateDirectoryObject@12
ZwCreateEvent=ZwCreateEvent@20
ZwCreateEventPair=ZwCreateEventPair@12
ZwCreateFile=ZwCreateFile@44
ZwCreateIoCompletion=ZwCreateIoCompletion@16
ZwCreateKey=ZwCreateKey@28
ZwCreateMailslotFile=ZwCreateMailslotFile@32
ZwCreateMutant=ZwCreateMutant@16
ZwCreateNamedPipeFile=ZwCreateNamedPipeFile@56
ZwCreatePagingFile=ZwCreatePagingFile@16
ZwCreatePort=ZwCreatePort@20
ZwCreateProcess=ZwCreateProcess@32
ZwCreateProfile=ZwCreateProfile@36
ZwCreateSection=ZwCreateSection@28
ZwCreateSemaphore=ZwCreateSemaphore@20
ZwCreateSymbolicLinkObject=ZwCreateSymbolicLinkObject@16
ZwCreateThread=ZwCreateThread@32
ZwCreateTimer=ZwCreateTimer@16
ZwCreateToken=ZwCreateToken@52
ZwDelayExecution=ZwDelayExecution@8
ZwDeleteAtom=ZwDeleteAtom@4
ZwDeleteFile=ZwDeleteFile@4
ZwDeleteKey=ZwDeleteKey@4
ZwDeleteObjectAuditAlarm=ZwDeleteObjectAuditAlarm@12
ZwDeleteValueKey=ZwDeleteValueKey@8
ZwDeviceIoControlFile=ZwDeviceIoControlFile@40
ZwDisplayString=ZwDisplayString@4
ZwDuplicateObject=ZwDuplicateObject@28
ZwDuplicateToken=ZwDuplicateToken@24
ZwEnumerateKey=ZwEnumerateKey@24
ZwEnumerateValueKey=ZwEnumerateValueKey@24
ZwExtendSection=ZwExtendSection@8
ZwFindAtom=ZwFindAtom@8
ZwFlushBuffersFile=ZwFlushBuffersFile@8
ZwFlushInstructionCache=ZwFlushInstructionCache@12
ZwFlushKey=ZwFlushKey@4
ZwFlushVirtualMemory=ZwFlushVirtualMemory@16
ZwFlushWriteBuffer=ZwFlushWriteBuffer@0
ZwFreeVirtualMemory=ZwFreeVirtualMemory@16
ZwFsControlFile=ZwFsControlFile@40
ZwGetContextThread=ZwGetContextThread@8
ZwGetPlugPlayEvent=ZwGetPlugPlayEvent@16
ZwGetTickCount=ZwGetTickCount@4
ZwImpersonateClientOfPort=ZwImpersonateClientOfPort@8
ZwImpersonateThread=ZwImpersonateThread@12
ZwInitializeRegistry=ZwInitializeRegistry@4
ZwListenChannel=ZwListenChannel@8
ZwListenPort=ZwListenPort@8
ZwLoadDriver=ZwLoadDriver@4
ZwLoadKey=ZwLoadKey@8
ZwLoadKey2=ZwLoadKey2@12
ZwLockFile=ZwLockFile@40
ZwLockVirtualMemory=ZwLockVirtualMemory@16
ZwMakeTemporaryObject=ZwMakeTemporaryObject@4
ZwMapViewOfSection=ZwMapViewOfSection@40
ZwNotifyChangeDirectoryFile=ZwNotifyChangeDirectoryFile@36
ZwNotifyChangeKey=ZwNotifyChangeKey@40
ZwOpenChannel=ZwOpenChannel@8
ZwOpenDirectoryObject=ZwOpenDirectoryObject@12
ZwOpenEvent=ZwOpenEvent@12
ZwOpenEventPair=ZwOpenEventPair@12
ZwOpenFile=ZwOpenFile@24
ZwOpenIoCompletion=ZwOpenIoCompletion@12
ZwOpenKey=ZwOpenKey@12
ZwOpenMutant=ZwOpenMutant@12
ZwOpenObjectAuditAlarm=ZwOpenObjectAuditAlarm@48
ZwOpenProcess=ZwOpenProcess@16
ZwOpenProcessToken=ZwOpenProcessToken@12
ZwOpenSection=ZwOpenSection@12
ZwOpenSemaphore=ZwOpenSemaphore@12
ZwOpenSymbolicLinkObject=ZwOpenSymbolicLinkObject@12
ZwOpenThread=ZwOpenThread@16
ZwOpenThreadToken=ZwOpenThreadToken@16
ZwOpenTimer=ZwOpenTimer@12
ZwPlugPlayControl=ZwPlugPlayControl@16
ZwPrivilegeCheck=ZwPrivilegeCheck@12
ZwPrivilegedServiceAuditAlarm=ZwPrivilegedServiceAuditAlarm@20
ZwPrivilegeObjectAuditAlarm=ZwPrivilegeObjectAuditAlarm@24
ZwProtectVirtualMemory=ZwProtectVirtualMemory@20
ZwPulseEvent=ZwPulseEvent@8
ZwQueueApcThread=ZwQueueApcThread@20
ZwQueryInformationAtom=ZwQueryInformationAtom@20
ZwQueryAttributesFile=ZwQueryAttributesFile@8
ZwQueryDefaultLocale=ZwQueryDefaultLocale@8
ZwQueryDirectoryFile=ZwQueryDirectoryFile@44
ZwQueryDirectoryObject=ZwQueryDirectoryObject@28
ZwQueryEaFile=ZwQueryEaFile@36
ZwQueryEvent=ZwQueryEvent@20
ZwQueryFullAttributesFile=ZwQueryFullAttributesFile@8
ZwQueryInformationFile=ZwQueryInformationFile@20
ZwQueryInformationPort=ZwQueryInformationPort@20
ZwQueryInformationProcess=ZwQueryInformationProcess@20
ZwQueryInformationThread=ZwQueryInformationThread@20
ZwQueryInformationToken=ZwQueryInformationToken@20
ZwQueryIntervalProfile=ZwQueryIntervalProfile@8
ZwQueryIoCompletion=ZwQueryIoCompletion@20
ZwQueryKey=ZwQueryKey@20
ZwQueryMultipleValueKey=ZwQueryMultipleValueKey@24
ZwQueryMutant=ZwQueryMutant@20
ZwQueryObject=ZwQueryObject@20
ZwQueryOleDirectoryFile=ZwQueryOleDirectoryFile@44
ZwQueryPerformanceCounter=ZwQueryPerformanceCounter@8
ZwQuerySection=ZwQuerySection@20
ZwQuerySecurityObject=ZwQuerySecurityObject@20
ZwQuerySemaphore=ZwQuerySemaphore@20
ZwQuerySymbolicLinkObject=ZwQuerySymbolicLinkObject@12
ZwQuerySystemEnvironmentValue=ZwQuerySystemEnvironmentValue@16
ZwQuerySystemInformation=ZwQuerySystemInformation@16
ZwQuerySystemTime=ZwQuerySystemTime@4
ZwQueryTimer=ZwQueryTimer@20
ZwQueryTimerResolution=ZwQueryTimerResolution@12
ZwQueryValueKey=ZwQueryValueKey@24
ZwQueryVirtualMemory=ZwQueryVirtualMemory@24
ZwQueryVolumeInformationFile=ZwQueryVolumeInformationFile@20
ZwRaiseException=ZwRaiseException@12
ZwRaiseHardError=ZwRaiseHardError@24
ZwReadFile=ZwReadFile@36
ZwReadFileScatter=ZwReadFileScatter@36
ZwReadRequestData=ZwReadRequestData@24
ZwReadVirtualMemory=ZwReadVirtualMemory@20
ZwRegisterThreadTerminatePort=ZwRegisterThreadTerminatePort@4
ZwReleaseMutant=ZwReleaseMutant@8
ZwReleaseSemaphore=ZwReleaseSemaphore@12
ZwRemoveIoCompletion=ZwRemoveIoCompletion@20
ZwReplaceKey=ZwReplaceKey@12
ZwReplyPort=ZwReplyPort@8
ZwReplyWaitReceivePort=ZwReplyWaitReceivePort@16
ZwReplyWaitReplyPort=ZwReplyWaitReplyPort@8
ZwReplyWaitSendChannel=ZwReplyWaitSendChannel@12
ZwRequestPort=ZwRequestPort@8
ZwRequestWaitReplyPort=ZwRequestWaitReplyPort@12
ZwResetEvent=ZwResetEvent@8
ZwRestoreKey=ZwRestoreKey@12
ZwResumeThread=ZwResumeThread@8
ZwSaveKey=ZwSaveKey@8
ZwSendWaitReplyChannel=ZwSendWaitReplyChannel@16
ZwSetContextChannel=ZwSetContextChannel@4
ZwSetContextThread=ZwSetContextThread@8
ZwSetDefaultHardErrorPort=ZwSetDefaultHardErrorPort@4
ZwSetDefaultLocale=ZwSetDefaultLocale@8
ZwSetEaFile=ZwSetEaFile@16
ZwSetEvent=ZwSetEvent@8
ZwSetHighEventPair=ZwSetHighEventPair@4
ZwSetHighWaitLowEventPair=ZwSetHighWaitLowEventPair@4
ZwSetInformationFile=ZwSetInformationFile@20
ZwSetInformationKey=ZwSetInformationKey@16
ZwSetInformationObject=ZwSetInformationObject@16
ZwSetInformationProcess=ZwSetInformationProcess@16
ZwSetInformationThread=ZwSetInformationThread@16
ZwSetInformationToken=ZwSetInformationToken@16
ZwSetIntervalProfile=ZwSetIntervalProfile@8
ZwSetIoCompletion=ZwSetIoCompletion@20
ZwSetLdtEntries=ZwSetLdtEntries@24
ZwSetLowEventPair=ZwSetLowEventPair@4
ZwSetLowWaitHighEventPair=ZwSetLowWaitHighEventPair@4
ZwSetSecurityObject=ZwSetSecurityObject@12
ZwSetSystemEnvironmentValue=ZwSetSystemEnvironmentValue@8
ZwSetSystemInformation=ZwSetSystemInformation@12
ZwSetSystemPowerState=ZwSetSystemPowerState@12
ZwSetSystemTime=ZwSetSystemTime@8
ZwSetTimer=ZwSetTimer@28
ZwSetTimerResolution=ZwSetTimerResolution@12
ZwSetValueKey=ZwSetValueKey@24
ZwSetVolumeInformationFile=ZwSetVolumeInformationFile@20
ZwShutdownSystem=ZwShutdownSystem@4
ZwSignalAndWaitForSingleObject=ZwSignalAndWaitForSingleObject@16
ZwStartProfile=ZwStartProfile@4
ZwStopProfile=ZwStopProfile@4
ZwSuspendThread=ZwSuspendThread@8
ZwSystemDebugControl=ZwSystemDebugControl@24
ZwTerminateProcess=ZwTerminateProcess@8
ZwTerminateThread=ZwTerminateThread@8
ZwTestAlert=ZwTestAlert@0
ZwUnloadDriver=ZwUnloadDriver@4
ZwUnloadKey=ZwUnloadKey@4
ZwUnlockFile=ZwUnlockFile@20
ZwUnlockVirtualMemory=ZwUnlockVirtualMemory@16
ZwUnmapViewOfSection=ZwUnmapViewOfSection@8
ZwVdmControl=ZwVdmControl@8
ZwWaitForMultipleObjects=ZwWaitForMultipleObjects@20
ZwWaitForSingleObject=ZwWaitForSingleObject@12
ZwWaitHighEventPair=ZwWaitHighEventPair@4
ZwWaitLowEventPair=ZwWaitLowEventPair@4
ZwWriteFile=ZwWriteFile@36
ZwWriteFileGather=ZwWriteFileGather@36
ZwWriteRequestData=ZwWriteRequestData@24
ZwWriteVirtualMemory=ZwWriteVirtualMemory@20
ZwW32Call=ZwW32Call@20
ZwYieldExecution=ZwYieldExecution@0
RtlAllocateHeap=RtlAllocateHeap@12
RtlCreateHeap=RtlCreateHeap@24
RtlCompactHeap=RtlCompactHeap@8
RtlDestroyHeap=RtlDestroyHeap@4
RtlFreeHeap=RtlFreeHeap@12
RtlGetProcessHeap=RtlGetProcessHeap@0
RtlLockHeap=RtlLockHeap@4
RtlReAllocHeap=RtlReAllocHeap@16
RtlSizeHeap=RtlSizeHeap@12
RtlUnlockHeap=RtlUnlockHeap@4
RtlValidateHeap=RtlValidateHeap@12
RtlInitAnsiString
RtlInitUnicodeString
RtlLargeIntegerAdd
RtlLargeIntegerDivide
RtlEnlargedIntegerMultiply
RtlEnlargedUnsignedMultiply
RtlExtendedIntegerMultiply
_splitpath
_strcmpi
_stricmp
_strlwr
_strnicmp
_strupr
atoi
atol
isalpha
isalnum
iscntrl
isdigit
isgraph
isprint
ispunct
isspace
isupper
iswlower
memcpy
memmove
memset
sprintf
strcat
strchr
strcmp
strcpy
strcspn
strncat
strncmp
strncpy
strlen
strrchr
strstr
strtol
strtoul
tolower
toupper
towupper
wcscat
wcschr
wcscmp
wcscpy
wcsncpy
wcslen
wcsrchr
wcsicmp
wcsnicmp
vsprintf
LdrMapNTDllForProcess

View file

@ -1,4 +1,5 @@
/*
/* $Id: utils.c,v 1.9 1999/07/17 23:10:24 ea Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: lib/ntdll/ldr/startup.c
@ -30,7 +31,7 @@ typedef WINBOOL STDCALL (*PDLLMAIN_FUNC)(HANDLE hInst,
static NTSTATUS LdrLoadDll(PDLL* Dll, PCHAR Name)
{
char fqname[255] = "\\??\\C:\\reactos\\system\\";
char fqname[255] = "\\??\\C:\\reactos\\system32\\";
ANSI_STRING AnsiString;
UNICODE_STRING UnicodeString;
OBJECT_ATTRIBUTES FileObjectAttributes;

View file

@ -1,4 +1,4 @@
# $Id: makefile,v 1.18 1999/07/16 23:37:04 rex Exp $
# $Id: makefile,v 1.19 1999/07/17 23:10:21 ea Exp $
#
# ReactOS Operating System
#
@ -60,9 +60,8 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) def/ntdll.def
$(DLLTOOL) \
--dllname $(TARGET).dll \
--def def/$(TARGET).def \
--output-lib $(TARGET).a \
--add-stdcall-alias \
--kill-at
--kill-at \
--output-lib $(TARGET).a
$(CC) \
-specs=$(TARGET)_specs \
-mdll \
@ -74,9 +73,7 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) def/ntdll.def
--dllname $(TARGET).dll \
--base-file base.tmp \
--output-exp temp.exp \
--def def/$(TARGET).def \
--add-stdcall-alias \
--kill-at
--def def/$(TARGET).edf
- $(RM) base.tmp
$(CC) \
-specs=$(TARGET)_specs \

View file

@ -303,13 +303,21 @@ BOOLEAN RtlEqualUnicodeString(PUNICODE_STRING String1, PUNICODE_STRING String2,
return TRUE;
};
VOID RtlFreeAnsiString(IN PANSI_STRING AnsiString)
VOID
RtlFreeAnsiString(IN PANSI_STRING AnsiString)
{
if (NULL == AnsiString) return;
// ExFreePool(AnsiString->Buffer);
};
VOID RtlFreeUnicodeString(IN PUNICODE_STRING UnicodeString)
VOID
RtlFreeUnicodeString (
IN PUNICODE_STRING UnicodeString
)
{
if (NULL == UnicodeString) return;
// ExFreePool(UnicodeString->Buffer);
};

View file

@ -1,4 +1,4 @@
# $Id: makefile_rex,v 1.5 1999/06/18 22:11:04 ea Exp $
# $Id: makefile_rex,v 1.6 1999/07/17 23:10:25 ea Exp $
#
# ReactOS Operating System
#
@ -49,7 +49,6 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
--dllname $(TARGET).dll \
--def $(TARGET).def \
--output-lib $(TARGET).a \
--add-stdcall-alias \
--kill-at
$(CC) $(TARGET).o \
../ntdll/ntdll.a \
@ -63,9 +62,7 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
--dllname $(TARGET).dll \
--base-file base.tmp \
--output-exp temp.exp \
--def $(TARGET).def \
--add-stdcall-alias \
--kill-at
--def $(TARGET).edf
- $(RM) base.tmp
$(CC) $(TARGET).o \
../ntdll/ntdll.a\

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,562 @@
LIBRARY USER32
EXPORTS
ActivateKeyboardLayout=ActivateKeyboardLayout@8
AdjustWindowRect=AdjustWindowRect@12
AdjustWindowRectEx=AdjustWindowRectEx@16
AnyPopup=AnyPopup@0
AppendMenuA=AppendMenuA@16
AppendMenuW=AppendMenuW@16
ArrangeIconicWindows=ArrangeIconicWindows@4
AttachThreadInput=AttachThreadInput@12
BeginDeferWindowPos=BeginDeferWindowPos@4
BeginPaint=BeginPaint@8
BringWindowToTop=BringWindowToTop@4
BroadcastSystemMessage=BroadcastSystemMessage@20
CalcChildScroll=CalcChildScroll@8
CallMsgFilter=CallMsgFilter@8
CallMsgFilterA=CallMsgFilterA@8
CallMsgFilterW=CallMsgFilterW@8
CallNextHookEx=CallNextHookEx@16
CallWindowProcA=CallWindowProcA@20
CallWindowProcW=CallWindowProcW@20
CascadeChildWindows=CascadeChildWindows@8
CascadeWindows=CascadeWindows@20
ChangeClipboardChain=ChangeClipboardChain@8
ChangeDisplaySettingsA=ChangeDisplaySettingsA@8
ChangeDisplaySettingsW=ChangeDisplaySettingsW@8
ChangeMenuA=ChangeMenuA@20
ChangeMenuW=ChangeMenuW@20
CharLowerA=CharLowerA@4
CharLowerBuffA=CharLowerBuffA@8
CharLowerBuffW=CharLowerBuffW@8
CharLowerW=CharLowerW@4
CharNextA=CharNextA@4
CharNextExA=CharNextExA@12
CharNextW=CharNextW@4
CharPrevA=CharPrevA@8
CharPrevExA=CharPrevExA@16
CharPrevW=CharPrevW@8
CharToOemA=CharToOemA@8
CharToOemBuffA=CharToOemBuffA@12
CharToOemBuffW=CharToOemBuffW@12
CharToOemW=CharToOemW@8
CharUpperA=CharUpperA@4
CharUpperBuffA=CharUpperBuffA@8
CharUpperBuffW=CharUpperBuffW@8
CharUpperW=CharUpperW@4
CheckDlgButton=CheckDlgButton@12
CheckMenuItem=CheckMenuItem@12
CheckMenuRadioItem=CheckMenuRadioItem@20
CheckRadioButton=CheckRadioButton@16
ChildWindowFromPoint=ChildWindowFromPoint@12
ChildWindowFromPointEx=ChildWindowFromPointEx@16
ClientToScreen=ClientToScreen@8
ClipCursor=ClipCursor@4
CloseClipboard=CloseClipboard@0
CloseDesktop=CloseDesktop@4
CloseWindow=CloseWindow@4
CloseWindowStation=CloseWindowStation@4
CopyAcceleratorTableA=CopyAcceleratorTableA@12
CopyAcceleratorTableW=CopyAcceleratorTableW@12
CopyIcon=CopyIcon@4
CopyImage=CopyImage@20
CopyRect=CopyRect@8
CountClipboardFormats=CountClipboardFormats@0
CreateAcceleratorTableA=CreateAcceleratorTableA@8
CreateAcceleratorTableW=CreateAcceleratorTableW@8
CreateCaret=CreateCaret@16
CreateCursor=CreateCursor@28
CreateDesktopA=CreateDesktopA@24
CreateDesktopW=CreateDesktopW@24
CreateDialogIndirectParamA=CreateDialogIndirectParamA@20
CreateDialogIndirectParamW=CreateDialogIndirectParamW@20
CreateDialogParamA=CreateDialogParamA@20
CreateDialogParamW=CreateDialogParamW@20
CreateIcon=CreateIcon@28
CreateIconFromResource=CreateIconFromResource@16
CreateIconFromResourceEx=CreateIconFromResourceEx@28
CreateIconIndirect=CreateIconIndirect@4
CreateMDIWindowA=CreateMDIWindowA@40
CreateMDIWindowW=CreateMDIWindowW@40
CreateMenu=CreateMenu@0
CreatePopupMenu=CreatePopupMenu@0
CreateWindowExA=CreateWindowExA@48
CreateWindowExW=CreateWindowExW@48
CreateWindowStationA=CreateWindowStationA@16
CreateWindowStationW=CreateWindowStationW@16
DdeAbandonTransaction=DdeAbandonTransaction@12
DdeAccessData=DdeAccessData@8
DdeAddData=DdeAddData@16
DdeClientTransaction=DdeClientTransaction@32
DdeCmpStringHandles=DdeCmpStringHandles@8
DdeConnect=DdeConnect@16
DdeConnectList=DdeConnectList@20
DdeCreateDataHandle=DdeCreateDataHandle@28
DdeCreateStringHandleA=DdeCreateStringHandleA@12
DdeCreateStringHandleW=DdeCreateStringHandleW@12
DdeDisconnect=DdeDisconnect@4
DdeDisconnectList=DdeDisconnectList@4
DdeEnableCallback=DdeEnableCallback@12
DdeFreeDataHandle=DdeFreeDataHandle@4
DdeFreeStringHandle=DdeFreeStringHandle@8
DdeGetData=DdeGetData@16
DdeGetLastError=DdeGetLastError@4
DdeGetQualityOfService=DdeGetQualityOfService@12
DdeImpersonateClient=DdeImpersonateClient@4
DdeInitializeA=DdeInitializeA@16
DdeInitializeW=DdeInitializeW@16
DdeKeepStringHandle=DdeKeepStringHandle@8
DdeNameService=DdeNameService@16
DdePostAdvise=DdePostAdvise@12
DdeQueryConvInfo=DdeQueryConvInfo@12
DdeQueryNextServer=DdeQueryNextServer@8
DdeQueryStringA=DdeQueryStringA@20
DdeQueryStringW=DdeQueryStringW@20
DdeReconnect=DdeReconnect@4
DdeSetQualityOfService=DdeSetQualityOfService@12
DdeSetUserHandle=DdeSetUserHandle@12
DdeUnaccessData=DdeUnaccessData@4
DdeUninitialize=DdeUninitialize@4
DefDlgProcA=DefDlgProcA@16
DefDlgProcW=DefDlgProcW@16
DefFrameProcA=DefFrameProcA@20
DefFrameProcW=DefFrameProcW@20
DefMDIChildProcA=DefMDIChildProcA@16
DefMDIChildProcW=DefMDIChildProcW@16
DefWindowProcA=DefWindowProcA@16
DefWindowProcW=DefWindowProcW@16
DeferWindowPos=DeferWindowPos@32
DeleteMenu=DeleteMenu@12
DestroyAcceleratorTable=DestroyAcceleratorTable@4
DestroyCaret=DestroyCaret@0
DestroyCursor=DestroyCursor@4
DestroyIcon=DestroyIcon@4
DestroyMenu=DestroyMenu@4
DestroyWindow=DestroyWindow@4
DialogBoxIndirectParamA=DialogBoxIndirectParamA@20
DialogBoxIndirectParamW=DialogBoxIndirectParamW@20
DialogBoxParamA=DialogBoxParamA@20
DialogBoxParamW=DialogBoxParamW@20
DispatchMessageA=DispatchMessageA@4
DispatchMessageW=DispatchMessageW@4
DlgDirListA=DlgDirListA@20
DlgDirListComboBoxA=DlgDirListComboBoxA@20
DlgDirListComboBoxW=DlgDirListComboBoxW@20
DlgDirListW=DlgDirListW@20
DlgDirSelectComboBoxExA=DlgDirSelectComboBoxExA@16
DlgDirSelectComboBoxExW=DlgDirSelectComboBoxExW@16
DlgDirSelectExA=DlgDirSelectExA@16
DlgDirSelectExW=DlgDirSelectExW@16
DragDetect=DragDetect@12
DragObject=DragObject@20
DrawAnimatedRects=DrawAnimatedRects@16
DrawCaption=DrawCaption@16
DrawEdge=DrawEdge@16
DrawFocusRect=DrawFocusRect@8
DrawFrame=DrawFrame@16
DrawFrameControl=DrawFrameControl@16
DrawIcon=DrawIcon@16
DrawIconEx=DrawIconEx@36
DrawMenuBar=DrawMenuBar@4
DrawStateA=DrawStateA@40
DrawStateW=DrawStateW@40
DrawTextA=DrawTextA@20
DrawTextExA=DrawTextExA@24
DrawTextExW=DrawTextExW@24
DrawTextW=DrawTextW@20
EditWndProc=EditWndProc@16
EmptyClipboard=EmptyClipboard@0
EnableMenuItem=EnableMenuItem@12
EnableScrollBar=EnableScrollBar@12
EnableWindow=EnableWindow@8
EndDeferWindowPos=EndDeferWindowPos@4
EndDialog=EndDialog@8
EndPaint=EndPaint@8
EnumChildWindows=EnumChildWindows@12
EnumClipboardFormats=EnumClipboardFormats@4
EnumDesktopWindows=EnumDesktopWindows@12
EnumDesktopsA=EnumDesktopsA@12
EnumDesktopsW=EnumDesktopsW@12
EnumDisplaySettingsA=EnumDisplaySettingsA@12
EnumDisplaySettingsW=EnumDisplaySettingsW@12
EnumPropsA=EnumPropsA@8
EnumPropsExA=EnumPropsExA@12
EnumPropsExW=EnumPropsExW@12
EnumPropsW=EnumPropsW@8
EnumThreadWindows=EnumThreadWindows@12
EnumWindowStationsA=EnumWindowStationsA@8
EnumWindowStationsW=EnumWindowStationsW@8
EnumWindows=EnumWindows@8
EqualRect=EqualRect@8
ExcludeUpdateRgn=ExcludeUpdateRgn@8
ExitWindowsEx=ExitWindowsEx@8
FillRect=FillRect@12
FindWindowA=FindWindowA@8
FindWindowExA=FindWindowExA@16
FindWindowExW=FindWindowExW@16
FindWindowW=FindWindowW@8
FlashWindow=FlashWindow@8
FrameRect=FrameRect@12
FreeDDElParam=FreeDDElParam@8
GetActiveWindow=GetActiveWindow@0
GetAsyncKeyState=GetAsyncKeyState@4
GetCapture=GetCapture@0
GetCaretBlinkTime=GetCaretBlinkTime@0
GetCaretPos=GetCaretPos@4
GetClassInfoA=GetClassInfoA@12
GetClassInfoExA=GetClassInfoExA@12
GetClassInfoExW=GetClassInfoExW@12
GetClassInfoW=GetClassInfoW@12
GetClassLongA=GetClassLongA@8
GetClassLongW=GetClassLongW@8
GetClassNameA=GetClassNameA@12
GetClassNameW=GetClassNameW@12
GetClassWord=GetClassWord@8
GetClientRect=GetClientRect@8
GetClipCursor=GetClipCursor@4
GetClipboardData=GetClipboardData@4
GetClipboardFormatNameA=GetClipboardFormatNameA@12
GetClipboardFormatNameW=GetClipboardFormatNameW@12
GetClipboardOwner=GetClipboardOwner@0
GetClipboardViewer=GetClipboardViewer@0
GetCursor=GetCursor@0
GetCursorPos=GetCursorPos@4
GetDC=GetDC@4
GetDCEx=GetDCEx@12
GetDesktopWindow=GetDesktopWindow@0
GetDialogBaseUnits=GetDialogBaseUnits@0
GetDlgCtrlID=GetDlgCtrlID@4
GetDlgItem=GetDlgItem@8
GetDlgItemInt=GetDlgItemInt@16
GetDlgItemTextA=GetDlgItemTextA@16
GetDlgItemTextW=GetDlgItemTextW@16
GetDoubleClickTime=GetDoubleClickTime@0
GetFocus=GetFocus@0
GetForegroundWindow=GetForegroundWindow@0
GetIconInfo=GetIconInfo@8
GetInputDesktop=GetInputDesktop@0
GetInputState=GetInputState@0
GetKBCodePage=GetKBCodePage@0
GetKeyNameTextA=GetKeyNameTextA@12
GetKeyNameTextW=GetKeyNameTextW@12
GetKeyState=GetKeyState@4
GetKeyboardLayout=GetKeyboardLayout@4
GetKeyboardLayoutList=GetKeyboardLayoutList@8
GetKeyboardLayoutNameA=GetKeyboardLayoutNameA@4
GetKeyboardLayoutNameW=GetKeyboardLayoutNameW@4
GetKeyboardState=GetKeyboardState@4
GetKeyboardType=GetKeyboardType@4
GetLastActivePopup=GetLastActivePopup@4
GetMenu=GetMenu@4
GetMenuCheckMarkDimensions=GetMenuCheckMarkDimensions@0
GetMenuContextHelpId=GetMenuContextHelpId@4
;_imp__GetMenuContextHelpId=_imp__GetMenuContextHelpId@4
GetMenuDefaultItem=GetMenuDefaultItem@12
GetMenuItemCount=GetMenuItemCount@4
GetMenuItemID=GetMenuItemID@8
GetMenuItemInfoA=GetMenuItemInfoA@16
GetMenuItemInfoW=GetMenuItemInfoW@16
GetMenuItemRect=GetMenuItemRect@16
GetMenuState=GetMenuState@12
GetMenuStringA=GetMenuStringA@20
GetMenuStringW=GetMenuStringW@20
GetMessageA=GetMessageA@16
GetMessageExtraInfo=GetMessageExtraInfo@0
GetMessagePos=GetMessagePos@0
GetMessageTime=GetMessageTime@0
GetMessageW=GetMessageW@16
GetNextDlgGroupItem=GetNextDlgGroupItem@12
GetNextDlgTabItem=GetNextDlgTabItem@12
GetOpenClipboardWindow=GetOpenClipboardWindow@0
GetParent=GetParent@4
GetPriorityClipboardFormat=GetPriorityClipboardFormat@8
GetProcessWindowStation=GetProcessWindowStation@0
GetPropA=GetPropA@8
GetPropW=GetPropW@8
GetQueueStatus=GetQueueStatus@4
GetScrollInfo=GetScrollInfo@12
GetScrollPos=GetScrollPos@8
GetScrollRange=GetScrollRange@16
GetShellWindow=GetShellWindow@0
GetSubMenu=GetSubMenu@8
GetSysColor=GetSysColor@4
GetSysColorBrush=GetSysColorBrush@4
GetSystemMenu=GetSystemMenu@8
GetSystemMetrics=GetSystemMetrics@4
GetTabbedTextExtentA=GetTabbedTextExtentA@20
GetTabbedTextExtentW=GetTabbedTextExtentW@20
GetThreadDesktop=GetThreadDesktop@4
GetTopWindow=GetTopWindow@4
GetUpdateRect=GetUpdateRect@12
GetUpdateRgn=GetUpdateRgn@12
GetUserObjectInformationA=GetUserObjectInformationA@20
GetUserObjectInformationW=GetUserObjectInformationW@20
GetUserObjectSecurity=GetUserObjectSecurity@20
GetWindow=GetWindow@8
GetWindowContextHelpId=GetWindowContextHelpId@4
;_imp__GetWindowContextHelpId=_imp__GetWindowContextHelpId@4
GetWindowDC=GetWindowDC@4
GetWindowLongA=GetWindowLongA@8
GetWindowLongW=GetWindowLongW@8
GetWindowPlacement=GetWindowPlacement@8
GetWindowRect=GetWindowRect@8
GetWindowRgn=GetWindowRgn@8
GetWindowTextA=GetWindowTextA@12
GetWindowTextLengthA=GetWindowTextLengthA@4
GetWindowTextLengthW=GetWindowTextLengthW@4
GetWindowTextW=GetWindowTextW@12
GetWindowThreadProcessId=GetWindowThreadProcessId@8
GetWindowWord=GetWindowWord@8
GrayStringA=GrayStringA@36
GrayStringW=GrayStringW@36
HideCaret=HideCaret@4
HiliteMenuItem=HiliteMenuItem@16
ImpersonateDdeClientWindow=ImpersonateDdeClientWindow@8
InSendMessage=InSendMessage@0
InflateRect=InflateRect@12
InsertMenuA=InsertMenuA@20
InsertMenuItemA=InsertMenuItemA@16
InsertMenuItemW=InsertMenuItemW@16
InsertMenuW=InsertMenuW@20
IntersectRect=IntersectRect@12
InvalidateRect=InvalidateRect@12
InvalidateRgn=InvalidateRgn@12
InvertRect=InvertRect@8
IsCharAlphaA=IsCharAlphaA@4
IsCharAlphaNumericA=IsCharAlphaNumericA@4
IsCharAlphaNumericW=IsCharAlphaNumericW@4
IsCharAlphaW=IsCharAlphaW@4
IsCharLowerA=IsCharLowerA@4
IsCharLowerW=IsCharLowerW@4
IsCharUpperA=IsCharUpperA@4
IsCharUpperW=IsCharUpperW@4
IsChild=IsChild@8
IsClipboardFormatAvailable=IsClipboardFormatAvailable@4
IsDialogMessage=IsDialogMessage@8
IsDialogMessageA=IsDialogMessageA@8
IsDialogMessageW=IsDialogMessageW@8
IsDlgButtonChecked=IsDlgButtonChecked@8
IsIconic=IsIconic@4
IsMenu=IsMenu@4
IsRectEmpty=IsRectEmpty@4
IsWindow=IsWindow@4
IsWindowEnabled=IsWindowEnabled@4
IsWindowUnicode=IsWindowUnicode@4
IsWindowVisible=IsWindowVisible@4
IsZoomed=IsZoomed@4
KillSystemTimer=KillSystemTimer@8
KillTimer=KillTimer@8
LoadAcceleratorsA=LoadAcceleratorsA@8
LoadAcceleratorsW=LoadAcceleratorsW@8
LoadBitmapA=LoadBitmapA@8
LoadBitmapW=LoadBitmapW@8
LoadCursorA=LoadCursorA@8
LoadCursorFromFileA=LoadCursorFromFileA@4
LoadCursorFromFileW=LoadCursorFromFileW@4
LoadCursorW=LoadCursorW@8
LoadIconA=LoadIconA@8
LoadIconW=LoadIconW@8
LoadImageA=LoadImageA@24
LoadImageW=LoadImageW@24
LoadKeyboardLayoutA=LoadKeyboardLayoutA@8
LoadKeyboardLayoutW=LoadKeyboardLayoutW@8
LoadMenuA=LoadMenuA@8
LoadMenuIndirectA=LoadMenuIndirectA@4
LoadMenuIndirectW=LoadMenuIndirectW@4
LoadMenuW=LoadMenuW@8
LoadStringA=LoadStringA@16
LoadStringW=LoadStringW@16
LockWindowUpdate=LockWindowUpdate@4
LookupIconIdFromDirectory=LookupIconIdFromDirectory@8
LookupIconIdFromDirectoryEx=LookupIconIdFromDirectoryEx@20
MapDialogRect=MapDialogRect@8
MapVirtualKeyA=MapVirtualKeyA@8
MapVirtualKeyExA=MapVirtualKeyExA@12
MapVirtualKeyExW=MapVirtualKeyExW@12
MapVirtualKeyW=MapVirtualKeyW@8
MapWindowPoints=MapWindowPoints@16
MenuItemFromPoint=MenuItemFromPoint@16
MessageBeep=MessageBeep@4
MessageBoxA=MessageBoxA@16
MessageBoxExA=MessageBoxExA@20
MessageBoxExW=MessageBoxExW@20
MessageBoxIndirectA=MessageBoxIndirectA@4
MessageBoxIndirectW=MessageBoxIndirectW@4
MessageBoxW=MessageBoxW@16
ModifyMenuA=ModifyMenuA@20
ModifyMenuW=ModifyMenuW@20
MoveWindow=MoveWindow@24
MsgWaitForMultipleObjects=MsgWaitForMultipleObjects@20
MsgWaitForMultipleObjectsEx=MsgWaitForMultipleObjectsEx@20
OemKeyScan=OemKeyScan@4
OemToCharA=OemToCharA@8
OemToCharBuffA=OemToCharBuffA@12
OemToCharBuffW=OemToCharBuffW@12
OemToCharW=OemToCharW@8
OffsetRect=OffsetRect@12
OpenClipboard=OpenClipboard@4
OpenDesktopA=OpenDesktopA@16
OpenDesktopW=OpenDesktopW@16
OpenIcon=OpenIcon@4
OpenInputDesktop=OpenInputDesktop@12
OpenWindowStationA=OpenWindowStationA@12
OpenWindowStationW=OpenWindowStationW@12
PackDDElParam=PackDDElParam@12
PaintDesktop=PaintDesktop@4
PeekMessageA=PeekMessageA@20
PeekMessageW=PeekMessageW@20
PostMessageA=PostMessageA@16
PostMessageW=PostMessageW@16
PostQuitMessage=PostQuitMessage@4
PostThreadMessageA=PostThreadMessageA@16
PostThreadMessageW=PostThreadMessageW@16
PtInRect=PtInRect@12
RedrawWindow=RedrawWindow@16
RegisterClassA=RegisterClassA@4
RegisterClassExA=RegisterClassExA@4
RegisterClassExW=RegisterClassExW@4
RegisterClassW=RegisterClassW@4
RegisterClipboardFormatA=RegisterClipboardFormatA@4
RegisterClipboardFormatW=RegisterClipboardFormatW@4
RegisterHotKey=RegisterHotKey@16
RegisterWindowMessageA=RegisterWindowMessageA@4
RegisterWindowMessageW=RegisterWindowMessageW@4
ReleaseCapture=ReleaseCapture@0
ReleaseDC=ReleaseDC@8
RemoveMenu=RemoveMenu@12
RemovePropA=RemovePropA@8
RemovePropW=RemovePropW@8
ReplyMessage=ReplyMessage@4
ReuseDDElParam=ReuseDDElParam@20
ScreenToClient=ScreenToClient@8
ScrollChildren=ScrollChildren@12
ScrollDC=ScrollDC@28
ScrollWindow=ScrollWindow@20
ScrollWindowEx=ScrollWindowEx@32
SendDlgItemMessageA=SendDlgItemMessageA@20
SendDlgItemMessageW=SendDlgItemMessageW@20
SendMessageA=SendMessageA@16
SendMessageCallbackA=SendMessageCallbackA@24
SendMessageCallbackW=SendMessageCallbackW@24
SendMessageTimeoutA=SendMessageTimeoutA@28
SendMessageTimeoutW=SendMessageTimeoutW@28
SendMessageW=SendMessageW@16
SendNotifyMessageA=SendNotifyMessageA@16
SendNotifyMessageW=SendNotifyMessageW@16
SetActiveWindow=SetActiveWindow@4
SetCapture=SetCapture@4
SetCaretBlinkTime=SetCaretBlinkTime@4
SetCaretPos=SetCaretPos@8
SetClassLongA=SetClassLongA@12
SetClassLongW=SetClassLongW@12
SetClassWord=SetClassWord@12
SetClipboardData=SetClipboardData@8
SetClipboardViewer=SetClipboardViewer@4
SetCursor=SetCursor@4
SetCursorPos=SetCursorPos@8
SetDebugErrorLevel=SetDebugErrorLevel@4
SetDeskWallpaper=SetDeskWallpaper@4
SetDlgItemInt=SetDlgItemInt@16
SetDlgItemTextA=SetDlgItemTextA@12
SetDlgItemTextW=SetDlgItemTextW@12
SetDoubleClickTime=SetDoubleClickTime@4
SetFocus=SetFocus@4
SetForegroundWindow=SetForegroundWindow@4
SetKeyboardState=SetKeyboardState@4
SetLastErrorEx=SetLastErrorEx@8
SetMenu=SetMenu@8
SetMenuContextHelpId=SetMenuContextHelpId@8
;_imp__SetMenuContextHelpId=_imp__SetMenuContextHelpId@8
SetMenuDefaultItem=SetMenuDefaultItem@12
SetMenuItemBitmaps=SetMenuItemBitmaps@20
SetMenuItemInfoA=SetMenuItemInfoA@16
SetMenuItemInfoW=SetMenuItemInfoW@16
SetMessageExtraInfo=SetMessageExtraInfo@4
SetMessageQueue=SetMessageQueue@4
SetParent=SetParent@8
SetProcessWindowStation=SetProcessWindowStation@4
SetPropA=SetPropA@12
SetPropW=SetPropW@12
SetRect=SetRect@20
SetRectEmpty=SetRectEmpty@4
SetScrollInfo=SetScrollInfo@16
SetScrollPos=SetScrollPos@16
SetScrollRange=SetScrollRange@20
SetShellWindow=SetShellWindow@4
SetSysColors=SetSysColors@12
SetSystemCursor=SetSystemCursor@8
SetSystemMenu=SetSystemMenu@8
SetSystemTimer=SetSystemTimer@16
SetThreadDesktop=SetThreadDesktop@4
SetTimer=SetTimer@16
SetUserObjectInformationA=SetUserObjectInformationA@16
SetUserObjectInformationW=SetUserObjectInformationW@16
SetUserObjectSecurity=SetUserObjectSecurity@12
SetWindowContextHelpId=SetWindowContextHelpId@8
;_imp__SetWindowContextHelpId=_imp__SetWindowContextHelpId@8
SetWindowLongA=SetWindowLongA@12
SetWindowLongW=SetWindowLongW@12
SetWindowPlacement=SetWindowPlacement@8
SetWindowPos=SetWindowPos@28
SetWindowRgn=SetWindowRgn@12
SetWindowTextA=SetWindowTextA@8
SetWindowTextW=SetWindowTextW@8
SetWindowWord=SetWindowWord@12
SetWindowsHookA=SetWindowsHookA@8
SetWindowsHookExA=SetWindowsHookExA@16
SetWindowsHookExW=SetWindowsHookExW@16
SetWindowsHookW=SetWindowsHookW@8
ShowCaret=ShowCaret@4
ShowCursor=ShowCursor@4
ShowOwnedPopups=ShowOwnedPopups@8
ShowScrollBar=ShowScrollBar@12
ShowWindow=ShowWindow@8
ShowWindowAsync=ShowWindowAsync@8
SubtractRect=SubtractRect@12
SwapMouseButton=SwapMouseButton@4
SwitchDesktop=SwitchDesktop@4
SystemParametersInfoA=SystemParametersInfoA@16
SystemParametersInfoW=SystemParametersInfoW@16
TabbedTextOutA=TabbedTextOutA@32
TabbedTextOutW=TabbedTextOutW@32
TileChildWindows=TileChildWindows@8
TileWindows=TileWindows@20
ToAscii=ToAscii@20
ToAsciiEx=ToAsciiEx@24
ToUnicode=ToUnicode@24
ToUnicodeEx=ToUnicodeEx@28
TrackMouseEvent=TrackMouseEvent@4
TrackPopupMenu=TrackPopupMenu@28
TrackPopupMenuEx=TrackPopupMenuEx@24
TranslateAccelerator=TranslateAccelerator@12
TranslateAcceleratorA=TranslateAcceleratorA@12
TranslateAcceleratorW=TranslateAcceleratorW@12
TranslateMDISysAccel=TranslateMDISysAccel@8
TranslateMessage=TranslateMessage@4
UnhookWindowsHook=UnhookWindowsHook@8
UnhookWindowsHookEx=UnhookWindowsHookEx@4
UnionRect=UnionRect@12
UnloadKeyboardLayout=UnloadKeyboardLayout@4
UnpackDDElParam=UnpackDDElParam@16
UnregisterClassA=UnregisterClassA@8
UnregisterClassW=UnregisterClassW@8
UnregisterHotKey=UnregisterHotKey@8
UpdateWindow=UpdateWindow@4
ValidateRect=ValidateRect@8
ValidateRgn=ValidateRgn@8
VkKeyScanA=VkKeyScanA@4
VkKeyScanExA=VkKeyScanExA@8
VkKeyScanExW=VkKeyScanExW@8
VkKeyScanW=VkKeyScanW@4
WaitForInputIdle=WaitForInputIdle@8
WaitMessage=WaitMessage@0
WinHelpA=WinHelpA@16
WinHelpW=WinHelpW@16
WindowFromDC=WindowFromDC@4
WindowFromPoint=WindowFromPoint@8
keybd_event=keybd_event@16
mouse_event=mouse_event@20
wsprintfA
wsprintfW
wvsprintfA=wvsprintfA@12
wvsprintfW=wvsprintfW@12

142
reactos/makefile.dos Normal file
View file

@ -0,0 +1,142 @@
#
# Global makefile
#
#
# Select your host
#
#HOST = mingw32-linux
#HOST = djgpp-msdos
HOST = mingw32-windows
include rules.mak
#
# Required to run the system
#
COMPONENTS = iface_native ntoskrnl
#DLLS = ntdll kernel32 crtdll user32 fmifs gdi32
DLLS = ntdll kernel32 crtdll fmifs gdi32
#DLLS = crtdll mingw32
SUBSYS = win32k
#
# Select the server(s) you want to build
#
SERVERS = win32
# SERVERS = posix linux os2
#
# Select the loader(s) you want to build
#
LOADERS = dos
# LOADERS = boot
#
# Select the device drivers and filesystems you want
#
DEVICE_DRIVERS = blue ide keyboard mouse null parallel serial vidport
# DEVICE_DRIVERS = beep event floppy ide_test sound test test1
FS_DRIVERS = vfat
# FS_DRIVERS = minix ext2 template
KERNEL_SERVICES = $(DEVICE_DRIVERS) $(FS_DRIVERS)
APPS = args hello shell test cat bench
# APPS = cmd
all: $(COMPONENTS) $(DLLS) $(SUBSYS) $(LOADERS) $(KERNEL_SERVICES) $(APPS)
.PHONY: all
clean: $(COMPONENTS:%=%_clean) $(DLLS:%=%_clean) $(LOADERS:%=%_clean) \
$(KERNEL_SERVICES:%=%_clean) $(APPS:%=%_clean)
.PHONY: clean
#
# Applications
#
$(APPS): %:
make -C apps/$*
$(APPS:%=%_clean): %_clean:
make -C apps/$* clean
.PHONY: $(APPS) $(APPS:%=%_clean)
#
# Interfaces
#
iface_native:
make -C iface/native
iface_native_clean:
make -C iface/native clean
.PHONY: iface_native iface_native_clean
#
# Device driver rules
#
$(DEVICE_DRIVERS): %:
make -C services/dd/$*
$(DEVICE_DRIVERS:%=%_clean): %_clean:
make -C services/dd/$* clean
.PHONY: $(DEVICE_DRIVERS) $(DEVICE_DRIVERS:%=%_clean)
$(FS_DRIVERS): %:
make -C services/fs/$*
$(FS_DRIVERS:%=%_clean): %_clean:
make -C services/fs/$* clean
.PHONY: $(FS_DRIVERS) $(FS_DRIVERS:%=%_clean)
#
# Kernel loaders
#
$(LOADERS): %:
make -C loaders/$*
$(LOADERS:%=%_clean): %_clean:
make -C loaders/$* clean
.PHONY: $(LOADERS) $(LOADERS:%=%_clean)
#
# Required system components
#
ntoskrnl:
make -C ntoskrnl
ntoskrnl_clean:
make -C ntoskrnl clean
.PHONY: ntoskrnl ntoskrnl_clean
#
# Required DLLs
#
$(DLLS): %:
make -C lib/$*
$(DLLS:%=%_clean): %_clean:
make -C lib/$* clean
.PHONY: $(DLLS) $(DLLS:%=%_clean)
#
# Kernel Subsystems
#
$(SUBSYS): %:
make -C subsys/$*
$(SUBSYS:%=%_clean): %_clean:
make -C lib/$* clean
.PHONY: $(SUBSYS) $(SUBSYS:%=%_clean)

View file

@ -12,6 +12,7 @@
* RJJ 10/12/98 Rolled in David's code to load COFF drivers
* JM 14/12/98 Built initial PE user module loader
* RJJ 06/03/99 Moved user PE loader into NTDLL
* EA 19990717 GetSystemDirectory()
*/
/* INCLUDES *****************************************************************/
@ -33,406 +34,588 @@
#define NDEBUG
#include <internal/debug.h>
#include "syspath.h"
/* FUNCTIONS ****************************************************************/
/* LdrLoadImage
/**********************************************************************
* NAME
* LdrLoadImage
*
* FUNCTION:
* Builds the initial environment for a process. Should be used
* to load the initial user process.
*
* ARGUMENTS:
* HANDLE ProcessHandle handle of the process to load the module into
* PUNICODE_STRING Filename name of the module to load
*
* RETURNS:
* NTSTATUS
*/
#define STACK_TOP (0xb0000000)
static NTSTATUS LdrCreatePeb(HANDLE ProcessHandle)
static
NTSTATUS
LdrCreatePeb(HANDLE ProcessHandle)
{
NTSTATUS Status;
PVOID PebBase;
ULONG PebSize;
NT_PEB Peb;
ULONG BytesWritten;
PebBase = (PVOID)PEB_BASE;
PebSize = 0x1000;
Status = ZwAllocateVirtualMemory(ProcessHandle,
&PebBase,
0,
&PebSize,
MEM_COMMIT,
PAGE_READWRITE);
if (!NT_SUCCESS(Status))
{
return(Status);
}
memset(&Peb, 0, sizeof(Peb));
Peb.StartupInfo = (PPROCESSINFOW)PEB_STARTUPINFO;
NTSTATUS Status;
PVOID PebBase;
ULONG PebSize;
NT_PEB Peb;
ULONG BytesWritten;
ZwWriteVirtualMemory(ProcessHandle,
(PVOID)PEB_BASE,
&Peb,
sizeof(Peb),
&BytesWritten);
return(STATUS_SUCCESS);
}
NTSTATUS LdrLoadImage(HANDLE ProcessHandle, PUNICODE_STRING Filename)
{
char BlockBuffer[1024];
DWORD ImageBase, LdrStartupAddr, StackBase;
ULONG ImageSize, StackSize;
NTSTATUS Status;
OBJECT_ATTRIBUTES FileObjectAttributes;
HANDLE FileHandle, SectionHandle, NTDllSectionHandle, ThreadHandle;
HANDLE DupNTDllSectionHandle;
CONTEXT Context;
UNICODE_STRING DllPathname;
PIMAGE_DOS_HEADER DosHeader;
PIMAGE_NT_HEADERS NTHeaders;
ULONG BytesWritten;
ULONG InitialViewSize;
ULONG i;
HANDLE DupSectionHandle;
/* Locate and open NTDLL to determine ImageBase and LdrStartup */
RtlInitUnicodeString(&DllPathname,L"\\??\\C:\\reactos\\system\\ntdll.dll");
InitializeObjectAttributes(&FileObjectAttributes,
&DllPathname,
0,
NULL,
NULL);
DPRINT("Opening NTDLL\n");
Status = ZwOpenFile(&FileHandle,
FILE_ALL_ACCESS,
&FileObjectAttributes,
NULL,
0,
0);
if (!NT_SUCCESS(Status))
{
DPRINT("NTDLL open failed ");
DbgPrintErrorMessage(Status);
return Status;
}
Status = ZwReadFile(FileHandle, 0, 0, 0, 0, BlockBuffer, 1024, 0, 0);
if (!NT_SUCCESS(Status))
{
DPRINT("NTDLL header read failed ");
DbgPrintErrorMessage(Status);
ZwClose(FileHandle);
return Status;
}
/* FIXME: this will fail if the NT headers are more than 1024 bytes from start */
DosHeader = (PIMAGE_DOS_HEADER) BlockBuffer;
if (DosHeader->e_magic != IMAGE_DOS_MAGIC ||
DosHeader->e_lfanew == 0L ||
*(PULONG)((PUCHAR)BlockBuffer + DosHeader->e_lfanew) != IMAGE_PE_MAGIC)
{
DPRINT("NTDLL format invalid\n");
ZwClose(FileHandle);
return STATUS_UNSUCCESSFUL;
}
NTHeaders = (PIMAGE_NT_HEADERS)(BlockBuffer + DosHeader->e_lfanew);
ImageBase = NTHeaders->OptionalHeader.ImageBase;
ImageSize = NTHeaders->OptionalHeader.SizeOfImage;
/* FIXME: retrieve the offset of LdrStartup from NTDLL */
DPRINT("ImageBase %x\n",ImageBase);
LdrStartupAddr = ImageBase + NTHeaders->OptionalHeader.AddressOfEntryPoint;
/* Create a section for NTDLL */
Status = ZwCreateSection(&NTDllSectionHandle,
SECTION_ALL_ACCESS,
NULL,
NULL,
PAGE_READWRITE,
MEM_COMMIT,
FileHandle);
if (!NT_SUCCESS(Status))
{
DPRINT("NTDLL create section failed ");
DbgPrintErrorMessage(Status);
ZwClose(FileHandle);
return Status;
}
/* Map the NTDLL into the process */
InitialViewSize = DosHeader->e_lfanew + sizeof(IMAGE_NT_HEADERS)
+ sizeof(IMAGE_SECTION_HEADER) * NTHeaders->FileHeader.NumberOfSections;
Status = ZwMapViewOfSection(NTDllSectionHandle,
ProcessHandle,
(PVOID *)&ImageBase,
0,
InitialViewSize,
NULL,
&InitialViewSize,
0,
MEM_COMMIT,
PAGE_READWRITE);
if (!NT_SUCCESS(Status))
{
DPRINT("NTDLL map view of secion failed ");
DbgPrintErrorMessage(Status);
/* FIXME: destroy the section here */
ZwClose(FileHandle);
return Status;
}
for (i=0; i<NTHeaders->FileHeader.NumberOfSections; i++)
{
PIMAGE_SECTION_HEADER Sections;
LARGE_INTEGER Offset;
ULONG Base;
Sections = (PIMAGE_SECTION_HEADER)SECHDROFFSET(BlockBuffer);
Base = Sections[i].VirtualAddress + ImageBase;
Offset.u.LowPart = Sections[i].PointerToRawData;
Offset.u.HighPart = 0;
Status = ZwMapViewOfSection(NTDllSectionHandle,
ProcessHandle,
(PVOID *)&Base,
0,
Sections[i].Misc.VirtualSize,
&Offset,
(PULONG)&Sections[i].Misc.VirtualSize,
0,
MEM_COMMIT,
PAGE_READWRITE);
PebBase = (PVOID)PEB_BASE;
PebSize = 0x1000;
Status = ZwAllocateVirtualMemory(
ProcessHandle,
& PebBase,
0,
& PebSize,
MEM_COMMIT,
PAGE_READWRITE
);
if (!NT_SUCCESS(Status))
{
DPRINT("NTDLL map view of secion failed ");
DbgPrintErrorMessage(Status);
/* FIXME: destroy the section here */
ZwClose(FileHandle);
return Status;
}
}
ZwClose(FileHandle);
/* Open process image to determine ImageBase and StackBase/Size */
InitializeObjectAttributes(&FileObjectAttributes,
Filename,
0,
NULL,
NULL);
DPRINT("Opening image file %w\n",FileObjectAttributes.ObjectName->Buffer);
Status = ZwOpenFile(&FileHandle, FILE_ALL_ACCESS, &FileObjectAttributes,
NULL, 0, 0);
if (!NT_SUCCESS(Status))
{
DPRINT("Image open failed ");
DbgPrintErrorMessage(Status);
return Status;
}
Status = ZwReadFile(FileHandle, 0, 0, 0, 0, BlockBuffer, 1024, 0, 0);
if (!NT_SUCCESS(Status))
{
DPRINT("Image header read failed ");
DbgPrintErrorMessage(Status);
ZwClose(FileHandle);
return Status;
}
/* FIXME: this will fail if the NT headers are more than 1024 bytes from start */
DosHeader = (PIMAGE_DOS_HEADER) BlockBuffer;
if (DosHeader->e_magic != IMAGE_DOS_MAGIC ||
DosHeader->e_lfanew == 0L ||
*(PULONG)((PUCHAR)BlockBuffer + DosHeader->e_lfanew) != IMAGE_PE_MAGIC)
{
DPRINT("Image invalid format rc=%08lx\n", Status);
ZwClose(FileHandle);
return STATUS_UNSUCCESSFUL;
}
NTHeaders = (PIMAGE_NT_HEADERS)(BlockBuffer + DosHeader->e_lfanew);
ImageBase = NTHeaders->OptionalHeader.ImageBase;
ImageSize = NTHeaders->OptionalHeader.SizeOfImage;
/* Create a section for the image */
Status = ZwCreateSection(&SectionHandle,
SECTION_ALL_ACCESS,
NULL,
NULL,
PAGE_READWRITE,
MEM_COMMIT,
FileHandle);
if (!NT_SUCCESS(Status))
{
DPRINT("Image create section failed ");
DbgPrintErrorMessage(Status);
ZwClose(FileHandle);
return Status;
}
/* Map the image into the process */
InitialViewSize = DosHeader->e_lfanew + sizeof(IMAGE_NT_HEADERS)
+ sizeof(IMAGE_SECTION_HEADER) * NTHeaders->FileHeader.NumberOfSections;
DPRINT("InitialViewSize %x\n",InitialViewSize);
Status = ZwMapViewOfSection(SectionHandle,
ProcessHandle,
(PVOID *)&ImageBase,
0,
InitialViewSize,
NULL,
&InitialViewSize,
0,
MEM_COMMIT,
PAGE_READWRITE);
if (!NT_SUCCESS(Status))
{
DPRINT("Image map view of section failed ");
DbgPrintErrorMessage(Status);
/* FIXME: destroy the section here */
ZwClose(FileHandle);
return Status;
}
ZwClose(FileHandle);
/* Create page backed section for stack */
StackBase = (STACK_TOP - NTHeaders->OptionalHeader.SizeOfStackReserve);
StackSize = NTHeaders->OptionalHeader.SizeOfStackReserve;
Status = ZwAllocateVirtualMemory(ProcessHandle,
(PVOID *)&StackBase,
0,
&StackSize,
MEM_COMMIT,
PAGE_READWRITE);
if (!NT_SUCCESS(Status))
{
DPRINT("Stack allocation failed ");
DbgPrintErrorMessage(Status);
/* FIXME: unmap the section here */
/* FIXME: destroy the section here */
return Status;
}
ZwDuplicateObject(NtCurrentProcess(),
&SectionHandle,
ProcessHandle,
&DupSectionHandle,
0,
FALSE,
DUPLICATE_SAME_ACCESS);
ZwDuplicateObject(NtCurrentProcess(),
&NTDllSectionHandle,
ProcessHandle,
&DupNTDllSectionHandle,
0,
FALSE,
DUPLICATE_SAME_ACCESS);
ZwWriteVirtualMemory(ProcessHandle,
(PVOID)(STACK_TOP - 4),
&DupNTDllSectionHandle,
sizeof(DupNTDllSectionHandle),
&BytesWritten);
ZwWriteVirtualMemory(ProcessHandle,
(PVOID)(STACK_TOP - 8),
&ImageBase,
sizeof(ImageBase),
&BytesWritten);
ZwWriteVirtualMemory(ProcessHandle,
(PVOID)(STACK_TOP - 12),
&DupSectionHandle,
sizeof(DupSectionHandle),
&BytesWritten);
{
return(Status);
}
/*
* Create a peb (grungy)
*/
Status = LdrCreatePeb(ProcessHandle);
if (!NT_SUCCESS(Status))
{
DbgPrint("LDR: Failed to create initial peb\n");
return(Status);
}
/* Initialize context to point to LdrStartup */
memset(&Context,0,sizeof(CONTEXT));
Context.SegSs = USER_DS;
Context.Esp = STACK_TOP - 16;
Context.EFlags = 0x202;
Context.SegCs = USER_CS;
Context.Eip = LdrStartupAddr;
Context.SegDs = USER_DS;
Context.SegEs = USER_DS;
Context.SegFs = USER_DS;
Context.SegGs = USER_DS;
DPRINT("LdrStartupAddr %x\n",LdrStartupAddr);
/* FIXME: Create process and let 'er rip */
Status = ZwCreateThread(&ThreadHandle,
THREAD_ALL_ACCESS,
NULL,
ProcessHandle,
NULL,
&Context,
NULL,
FALSE);
if (!NT_SUCCESS(Status))
{
DPRINT("Thread creation failed ");
DbgPrintErrorMessage(Status);
memset(
& Peb,
0,
sizeof Peb
);
Peb.StartupInfo = (PPROCESSINFOW) PEB_STARTUPINFO;
/* FIXME: destroy the stack memory block here */
/* FIXME: unmap the section here */
/* FIXME: destroy the section here */
return Status;
}
return STATUS_SUCCESS;
ZwWriteVirtualMemory(
ProcessHandle,
(PVOID) PEB_BASE,
& Peb,
sizeof Peb,
& BytesWritten
);
return(STATUS_SUCCESS);
}
NTSTATUS LdrLoadInitialProcess(VOID)
NTSTATUS
LdrLoadImage (
HANDLE ProcessHandle,
PUNICODE_STRING Filename
)
{
CHAR BlockBuffer [1024];
DWORD ImageBase;
DWORD LdrStartupAddr;
DWORD StackBase;
ULONG ImageSize;
ULONG StackSize;
NTSTATUS Status;
OBJECT_ATTRIBUTES FileObjectAttributes;
HANDLE FileHandle;
HANDLE SectionHandle;
HANDLE NTDllSectionHandle;
HANDLE ThreadHandle;
HANDLE DupNTDllSectionHandle;
CONTEXT Context;
UNICODE_STRING DllPathname;
PIMAGE_DOS_HEADER DosHeader;
PIMAGE_NT_HEADERS NTHeaders;
ULONG BytesWritten;
ULONG InitialViewSize;
ULONG i;
HANDLE DupSectionHandle;
WCHAR TmpNameBuffer [MAX_PATH];
/* -- PART I -- */
/*
* Locate and open NTDLL to determine ImageBase
* and LdrStartup
*/
GetSystemDirectory(
TmpNameBuffer,
sizeof TmpNameBuffer
);
wcscat(
TmpNameBuffer,
L"\\ntdll.dll"
);
RtlInitUnicodeString(
& DllPathname,
TmpNameBuffer
);
InitializeObjectAttributes(
& FileObjectAttributes,
& DllPathname,
0,
NULL,
NULL
);
DPRINT("Opening NTDLL\n");
Status = ZwOpenFile(
& FileHandle,
FILE_ALL_ACCESS,
& FileObjectAttributes,
NULL,
0,
0
);
if (!NT_SUCCESS(Status))
{
DPRINT("NTDLL open failed ");
DbgPrintErrorMessage(Status);
return Status;
}
Status = ZwReadFile(
FileHandle,
0,
0,
0,
0,
BlockBuffer,
sizeof BlockBuffer,
0,
0
);
if (!NT_SUCCESS(Status))
{
DPRINT("NTDLL header read failed ");
DbgPrintErrorMessage(Status);
ZwClose(FileHandle);
return Status;
}
/*
* FIXME: this will fail if the NT headers are
* more than 1024 bytes from start.
*/
DosHeader = (PIMAGE_DOS_HEADER) BlockBuffer;
NTHeaders = (PIMAGE_NT_HEADERS) (BlockBuffer + DosHeader->e_lfanew);
if (
(DosHeader->e_magic != IMAGE_DOS_MAGIC)
|| (DosHeader->e_lfanew == 0L)
|| (*(PULONG) NTHeaders != IMAGE_PE_MAGIC)
)
{
DPRINT("NTDLL format invalid\n");
ZwClose(FileHandle);
return STATUS_UNSUCCESSFUL;
}
ImageBase = NTHeaders->OptionalHeader.ImageBase;
ImageSize = NTHeaders->OptionalHeader.SizeOfImage;
/*
* FIXME: retrieve the offset of LdrStartup from NTDLL
*/
DPRINT("ImageBase %x\n",ImageBase);
LdrStartupAddr =
ImageBase
+ NTHeaders->OptionalHeader.AddressOfEntryPoint;
/*
* Create a section for NTDLL
*/
Status = ZwCreateSection(
& NTDllSectionHandle,
SECTION_ALL_ACCESS,
NULL,
NULL,
PAGE_READWRITE,
MEM_COMMIT,
FileHandle
);
if (!NT_SUCCESS(Status))
{
DPRINT("NTDLL create section failed ");
DbgPrintErrorMessage(Status);
ZwClose(FileHandle);
return Status;
}
/*
* Map the NTDLL into the process
*/
InitialViewSize =
DosHeader->e_lfanew
+ sizeof (IMAGE_NT_HEADERS)
+ ( sizeof (IMAGE_SECTION_HEADER)
* NTHeaders->FileHeader.NumberOfSections
);
Status = ZwMapViewOfSection(
NTDllSectionHandle,
ProcessHandle,
(PVOID *) & ImageBase,
0,
InitialViewSize,
NULL,
& InitialViewSize,
0,
MEM_COMMIT,
PAGE_READWRITE
);
if (!NT_SUCCESS(Status))
{
DPRINT("NTDLL map view of secion failed ");
DbgPrintErrorMessage(Status);
/* FIXME: destroy the section here */
ZwClose(FileHandle);
return Status;
}
for ( i = 0;
(i < NTHeaders->FileHeader.NumberOfSections);
i++
)
{
PIMAGE_SECTION_HEADER Sections;
LARGE_INTEGER Offset;
ULONG Base;
Sections =
(PIMAGE_SECTION_HEADER) SECHDROFFSET(BlockBuffer);
Base =
Sections[i].VirtualAddress
+ ImageBase;
Offset.u.LowPart =
Sections[i].PointerToRawData;
Offset.u.HighPart =
0;
Status = ZwMapViewOfSection(
NTDllSectionHandle,
ProcessHandle,
(PVOID *) & Base,
0,
Sections[i].Misc.VirtualSize,
& Offset,
(PULONG) & Sections[i].Misc.VirtualSize,
0,
MEM_COMMIT,
PAGE_READWRITE
);
if (!NT_SUCCESS(Status))
{
DPRINT("NTDLL map view of secion failed ");
DbgPrintErrorMessage(Status);
/* FIXME: destroy the section here */
ZwClose(FileHandle);
return Status;
}
}
ZwClose(FileHandle);
/* -- PART II -- */
/*
* Open process image to determine ImageBase
* and StackBase/Size.
*/
InitializeObjectAttributes(
& FileObjectAttributes,
Filename,
0,
NULL,
NULL
);
DPRINT(
"Opening image file %w\n",
FileObjectAttributes.ObjectName->Buffer
);
Status = ZwOpenFile(
& FileHandle,
FILE_ALL_ACCESS,
& FileObjectAttributes,
NULL,
0,
0
);
if (!NT_SUCCESS(Status))
{
DPRINT("Image open failed ");
DbgPrintErrorMessage(Status);
return Status;
}
Status = ZwReadFile(
FileHandle,
0,
0,
0,
0,
BlockBuffer,
sizeof BlockBuffer,
0,
0
);
if (!NT_SUCCESS(Status))
{
DPRINT("Image header read failed ");
DbgPrintErrorMessage(Status);
ZwClose(FileHandle);
return Status;
}
/*
* FIXME: this will fail if the NT headers
* are more than 1024 bytes from start.
*/
DosHeader = (PIMAGE_DOS_HEADER) BlockBuffer;
NTHeaders =
(PIMAGE_NT_HEADERS) (BlockBuffer + DosHeader->e_lfanew);
if (
(DosHeader->e_magic != IMAGE_DOS_MAGIC)
|| (DosHeader->e_lfanew == 0L)
|| (*(PULONG) NTHeaders != IMAGE_PE_MAGIC)
)
{
DPRINT("Image invalid format rc=%08lx\n", Status);
ZwClose(FileHandle);
return STATUS_UNSUCCESSFUL;
}
ImageBase = NTHeaders->OptionalHeader.ImageBase;
ImageSize = NTHeaders->OptionalHeader.SizeOfImage;
/*
* Create a section for the image
*/
Status = ZwCreateSection(
& SectionHandle,
SECTION_ALL_ACCESS,
NULL,
NULL,
PAGE_READWRITE,
MEM_COMMIT,
FileHandle
);
if (!NT_SUCCESS(Status))
{
DPRINT("Image create section failed ");
DbgPrintErrorMessage(Status);
ZwClose(FileHandle);
return Status;
}
/*
* Map the image into the process
*/
InitialViewSize =
DosHeader->e_lfanew
+ sizeof (IMAGE_NT_HEADERS)
+ (
sizeof(IMAGE_SECTION_HEADER)
* NTHeaders->FileHeader.NumberOfSections
);
DPRINT("InitialViewSize %x\n",InitialViewSize);
Status = ZwMapViewOfSection(
SectionHandle,
ProcessHandle,
(PVOID *) & ImageBase,
0,
InitialViewSize,
NULL,
& InitialViewSize,
0,
MEM_COMMIT,
PAGE_READWRITE
);
if (!NT_SUCCESS(Status))
{
DPRINT("Image map view of section failed ");
DbgPrintErrorMessage(Status);
/* FIXME: destroy the section here */
ZwClose(FileHandle);
return Status;
}
ZwClose(FileHandle);
/* -- PART III -- */
/*
* Create page backed section for stack
*/
StackBase = (
STACK_TOP
- NTHeaders->OptionalHeader.SizeOfStackReserve
);
StackSize =
NTHeaders->OptionalHeader.SizeOfStackReserve;
Status = ZwAllocateVirtualMemory(
ProcessHandle,
(PVOID *) & StackBase,
0,
& StackSize,
MEM_COMMIT,
PAGE_READWRITE
);
if (!NT_SUCCESS(Status))
{
DPRINT("Stack allocation failed ");
DbgPrintErrorMessage(Status);
/* FIXME: unmap the section here */
/* FIXME: destroy the section here */
return Status;
}
ZwDuplicateObject(
NtCurrentProcess(),
& SectionHandle,
ProcessHandle,
& DupSectionHandle,
0,
FALSE,
DUPLICATE_SAME_ACCESS
);
ZwDuplicateObject(
NtCurrentProcess(),
& NTDllSectionHandle,
ProcessHandle,
&DupNTDllSectionHandle,
0,
FALSE,
DUPLICATE_SAME_ACCESS
);
ZwWriteVirtualMemory(
ProcessHandle,
(PVOID) (STACK_TOP - 4),
& DupNTDllSectionHandle,
sizeof (DupNTDllSectionHandle),
& BytesWritten
);
ZwWriteVirtualMemory(
ProcessHandle,
(PVOID) (STACK_TOP - 8),
& ImageBase,
sizeof (ImageBase),
& BytesWritten
);
ZwWriteVirtualMemory(
ProcessHandle,
(PVOID) (STACK_TOP - 12),
& DupSectionHandle,
sizeof (DupSectionHandle),
& BytesWritten
);
/*
* Create a peb (grungy)
*/
Status = LdrCreatePeb(ProcessHandle);
if (!NT_SUCCESS(Status))
{
DbgPrint("LDR: Failed to create initial peb\n");
return (Status);
}
/*
* Initialize context to point to LdrStartup
*/
memset(&Context,0,sizeof(CONTEXT));
Context.SegSs = USER_DS;
Context.Esp = STACK_TOP - 16;
Context.EFlags = 0x202;
Context.SegCs = USER_CS;
Context.Eip = LdrStartupAddr;
Context.SegDs = USER_DS;
Context.SegEs = USER_DS;
Context.SegFs = USER_DS;
Context.SegGs = USER_DS;
DPRINT("LdrStartupAddr %x\n",LdrStartupAddr);
/*
* FIXME: Create process and let 'er rip
*/
Status = ZwCreateThread(
& ThreadHandle,
THREAD_ALL_ACCESS,
NULL,
ProcessHandle,
NULL,
& Context,
NULL,
FALSE
);
if (!NT_SUCCESS(Status))
{
DPRINT("Thread creation failed ");
DbgPrintErrorMessage(Status);
/* FIXME: destroy the stack memory block here */
/* FIXME: unmap the section here */
/* FIXME: destroy the section here */
return Status;
}
return STATUS_SUCCESS;
}
/*
* FIXME: The location of the initial process should be configurable,
* from command line or registry
*/
NTSTATUS
LdrLoadInitialProcess (VOID)
{
NTSTATUS Status;
HANDLE ProcessHandle;
UNICODE_STRING ProcessName;
NTSTATUS Status;
HANDLE ProcessHandle;
UNICODE_STRING ProcessName;
WCHAR TmpNameBuffer [MAX_PATH];
Status = ZwCreateProcess(&ProcessHandle,
PROCESS_ALL_ACCESS,
NULL,
SystemProcessHandle,
FALSE,
NULL,
NULL,
NULL);
if (!NT_SUCCESS(Status))
{
DbgPrint("Could not create process\n");
return Status;
}
RtlInitUnicodeString(&ProcessName, L"\\??\\C:\\reactos\\system\\shell.exe");
Status = LdrLoadImage(ProcessHandle, &ProcessName);
Status = ZwCreateProcess(
& ProcessHandle,
PROCESS_ALL_ACCESS,
NULL,
SystemProcessHandle,
FALSE,
NULL,
NULL,
NULL
);
if (!NT_SUCCESS(Status))
{
DbgPrint("Could not create process\n");
return Status;
}
/*
* Get the system directory's name (a DOS device
* alias name which is in \\??\\).
*/
GetSystemDirectory(
TmpNameBuffer,
sizeof TmpNameBuffer
);
wcscat(
TmpNameBuffer,
L"\\shell.exe" /* FIXME: should be smss.exe */
);
RtlInitUnicodeString(
& ProcessName,
TmpNameBuffer
);
Status = LdrLoadImage(
ProcessHandle,
& ProcessName
);
return Status;
return Status;
}
/* EOF */

View file

@ -1,4 +1,5 @@
/*
/* $Id: loader.c,v 1.30 1999/07/17 23:10:26 ea Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/ldr/loader.c
@ -34,6 +35,9 @@
#define NDEBUG
#include <internal/debug.h>
#include "syspath.h"
/* FIXME: this should appear in a kernel header file */
NTSTATUS IoInitializeDriver(PDRIVER_INITIALIZE DriverEntry);
@ -168,33 +172,65 @@ VOID LdrInitModuleManagement(VOID)
/*
* load the auto config drivers.
*/
VOID LdrLoadAutoConfigDrivers(VOID)
static
VOID
LdrLoadAutoConfigDriver (
LPWSTR RelativeDriverName
)
{
NTSTATUS Status;
ANSI_STRING AnsiDriverName;
UNICODE_STRING DriverName;
WCHAR TmpFileName [MAX_PATH];
NTSTATUS Status;
UNICODE_STRING DriverName;
RtlInitAnsiString(&AnsiDriverName,"\\??\\C:\\reactos\\system\\drivers\\keyboard.sys");
RtlAnsiStringToUnicodeString(&DriverName, &AnsiDriverName, TRUE);
Status = LdrLoadDriver(&DriverName);
RtlFreeUnicodeString(&DriverName);
if (!NT_SUCCESS(Status))
{
DbgPrint("driver load failed, status;%d(%x)\n", Status, Status);
DbgPrintErrorMessage(Status);
}
RtlInitAnsiString(&AnsiDriverName,"\\??\\C:\\reactos\\system\\drivers\\blue.sys");
RtlAnsiStringToUnicodeString(&DriverName, &AnsiDriverName, TRUE);
Status = LdrLoadDriver(&DriverName);
RtlFreeUnicodeString(&DriverName);
if (!NT_SUCCESS(Status))
{
DbgPrint("driver load failed, status;%d(%x)\n", Status, Status);
DbgPrintErrorMessage(Status);
}
GetSystemDirectory(
TmpFileName,
(MAX_PATH * sizeof(WCHAR))
);
wcscat(
TmpFileName,
L"\\drivers\\"
);
wcscat(
TmpFileName,
RelativeDriverName
);
DriverName.Buffer =
TmpFileName;
DriverName.Length =
wcslen(TmpFileName)
* sizeof (WCHAR);
DriverName.MaximumLength =
DriverName.Length
+ sizeof(WCHAR);
Status = LdrLoadDriver(&DriverName);
if (!NT_SUCCESS(Status))
{
DbgPrint(
"driver load failed, status;%d(%x)\n",
Status,
Status
);
DbgPrintErrorMessage(Status);
}
}
VOID
LdrLoadAutoConfigDrivers (VOID)
{
/*
* Keyboard driver
*/
LdrLoadAutoConfigDriver( L"keyboard.sys" );
/*
* Raw console driver
*/
LdrLoadAutoConfigDriver( L"blue.sys" );
}
static NTSTATUS
LdrCreateModule(PVOID ObjectBody,
PVOID Parent,

View file

@ -39,7 +39,7 @@
//
// File: pedump.c ( I included header file into source file. )
# include "ccx.h"
//# include "ccx.h"
//typedef char CHAR;
//typedef short WCHAR;

View file

@ -0,0 +1,90 @@
/* $Id: syspath.c,v 1.1 1999/07/17 23:10:27 ea Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/ldr/syspath.c
* PURPOSE: Get system path
* PROGRAMMERS: EA
* UPDATE HISTORY:
* EA 19990717 GetSystemDirectory()
*/
/* INCLUDES *****************************************************************/
#include <windows.h>
#include <wchar.h>
#include <string.h>
#include <ddk/ntddk.h>
/**********************************************************************
* NAME
* GetSystemDirectory
*
* DESCRIPTION
* Get the ReactOS system directory from the registry.
* (since registry does not work yet, fill the buffer
* with a literal which will remain as the default).
*
* RETURN VALUE
* NULL on error; otherwise SystemDirectoryName.
*
* REVISIONS
* 19990717 (EA)
*/
LPWSTR
GetSystemDirectory (
LPWSTR SystemDirectoryName,
DWORD Size
)
{
LPWSTR DosDev = L"\\??\\";
LPWSTR SDName = L"C:\\reactos\\system32";
if ( (NULL == SystemDirectoryName)
|| (
(
(wcslen(DosDev)
+ wcslen(SDName)
+ 1
)
* sizeof (WCHAR)
)
> Size
)
)
{
DbgPrint("GetSystemDirectory() failed\n");
return NULL;
}
/*
* Prefix with the dos devices aliases
* directory, since the system directory
* is always given as a dos name by users
* (in the registry/by the boot loader?).
*/
wcscpy(
SystemDirectoryName,
L"\\??\\"
);
if (FALSE)
{
/*
* FIXME: get the system directory
* from the registry.
*/
}
else
{
/* Default value */
wcscat(
SystemDirectoryName,
SDName
);
}
return SystemDirectoryName;
}
/* EOF */

View file

@ -0,0 +1,6 @@
LPWSTR
GetSystemDirectory (
LPWSTR SystemDirectoryName,
DWORD Size
);

View file

@ -1,4 +1,4 @@
# $Id: makefile_rex,v 1.27 1999/07/16 23:37:05 rex Exp $
# $Id: makefile_rex,v 1.28 1999/07/17 23:10:25 ea Exp $
#
# ReactOS Operating System
#
@ -55,7 +55,7 @@ CM_OBJECTS = cm/registry.o
DBG_OBJECTS = dbg/brkpoint.o dbg/errinfo.o
LDR_OBJECTS = ldr/loader.o ldr/init.o
LDR_OBJECTS = ldr/loader.o ldr/init.o ldr/syspath.o
CC_OBJECTS = cc/cacheman.o cc/view.o
@ -134,6 +134,7 @@ $(TARGET).exe: $(OBJECTS) $(TARGET).def
$(DLLTOOL) \
--dllname $(TARGET).exe \
--def $(TARGET).def \
--kill-at \
--output-lib $(TARGET).a
$(CC) \
$(TARGET).o \
@ -152,7 +153,7 @@ $(TARGET).exe: $(OBJECTS) $(TARGET).def
--dllname $(TARGET).exe \
--base-file base.tmp \
--output-exp temp.exp \
--def $(TARGET).def
--def $(TARGET).edf
- $(RM) base.tmp
$(CC) \
$(TARGET).o \

View file

@ -16,17 +16,9 @@
/* FUNCTIONS *****************************************************************/
NTSTATUS STDCALL NtWriteRequestData(VOID)
{
UNIMPLEMENTED;
}
NTSTATUS STDCALL NtVdmControl(VOID)
{
UNIMPLEMENTED;
}
NTSTATUS STDCALL NtReadRequestData(VOID)
{
UNIMPLEMENTED;
}
/* EOF */

View file

@ -1,4 +1,5 @@
/*
/* $Id: port.c,v 1.7 1999/07/17 23:10:28 ea Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/nt/port.c
@ -280,12 +281,25 @@ NTSTATUS STDCALL NtQueryInformationPort(VOID)
UNIMPLEMENTED;
}
NTSTATUS
STDCALL
NtReadRequestData(VOID)
{
UNIMPLEMENTED;
}
NTSTATUS
STDCALL
NtWriteRequestData(VOID)
{
UNIMPLEMENTED;
}
#else
NTSTATUS
STDCALL
NtAcceptConnectPort ( /* @24 */
IN HANDLE PortHandle,
DWORD a1,
OUT PHANDLE ConnectedPort,
DWORD a2,
DWORD a3,
DWORD a4,
@ -309,15 +323,14 @@ NtCompleteConnectPort ( /* @4 */
NTSTATUS
STDCALL
NtConnectPort ( /* @32 */
IN HANDLE PortHandle,
DWORD a1,
DWORD a2,
DWORD a3,
DWORD a4,
DWORD a5,
DWORD a6,
DWORD a7,
DWORD a8
OUT PHANDLE ConnectedPort,
IN PUNICODE_STRING PortName,
IN POBJECT_ATTRIBUTES PortAttributes,
IN DWORD a3,
IN DWORD a4,
IN DWORD a5,
IN DWORD a6,
IN ULONG Flags
)
{
UNIMPLEMENTED;
@ -330,8 +343,8 @@ NtCreatePort ( /* @20 */
OUT PHANDLE PortHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
IN DWORD a3,
IN DWORD a4
IN DWORD a3, /* unknown */
IN DWORD a4 /* unknown */
)
{
UNIMPLEMENTED;
@ -432,6 +445,24 @@ NtRequestWaitReplyPort ( /* @12 */
}
/**********************************************************************
* NAME SYSTEM
* NtReadRequestData NOT EXPORTED
*
* DESCRIPTION
* Probably used only for FastLPC, to read data from the
* recipient's address space directly.
*
* ARGUMENTS
*
* RETURN VALUE
*
* NOTE
* The number of arguments is the same as in NT's.
*
* REVISIONS
*
*/
NTSTATUS
STDCALL
NtReadRequestData ( /* @24 */
@ -447,6 +478,24 @@ NtReadRequestData ( /* @24 */
}
/**********************************************************************
* NAME SYSTEM
* NtWriteRequestData NOT EXPORTED
*
* DESCRIPTION
* Probably used only for FastLPC, to write data in the
* recipient's address space directly.
*
* ARGUMENTS
*
* RETURN VALUE
*
* NOTE
* The number of arguments is the same as in NT's.
*
* REVISIONS
*
*/
NTSTATUS
STDCALL
NtWriteRequestData ( /* @24 */

View file

@ -1,4 +1,14 @@
; $Id: ntoskrnl.def,v 1.13 1999/07/17 23:10:26 ea Exp $
;
; reactos/ntoskrnl/ntoskrnl.def
;
; ReactOS Operating System
;
EXPORTS
CcInitializeFileCache
CcRequestCachePage
CcReleaseCachePage
CcReleaseFileCache
DbgPrint
ExAcquireResourceExclusive
ExAcquireResourceExclusiveLite
@ -71,7 +81,7 @@ KeBugCheck
KeBugCheckEx
KeFlushIoBuffers
KeGetCurrentIrql
KeGetPreviousMode = KeGetPreviousMode@0
KeGetPreviousMode@0
KeInitializeDpc
KeInitializeEvent
KeInitializeSpinLock
@ -111,6 +121,56 @@ IoStartTimer
IoStopTimer
MmGetSystemAddressForMdl
MmMapIoSpace
NtAddAtom@8
NtAdjustPrivilegesToken@24
NtAllocateLocallyUniqueId@4
NtAllocateUuids@12
NtAllocateVirtualMemory@24
;NtBuildNumber <--- variable?
NtClose@4
;NtConnectPort@32
NtConnectPort@8
NtCreateEvent@20
NtCreateFile@44
NtCreateSection@28
NtDeleteAtom@4
NtDeleteFile@4
NtDeviceIoControlFile@40
NtDuplicateObject@28
NtDuplicateToken@24
NtFindAtom@8
NtFreeVirtualMemory@16
NtFsControlFile@40
;NtGlobalFlag <--- variable?
NtLockFile@40
NtMapViewOfSection@40
NtNotifyChangeDirectoryFile@36
NtOpenFile@24
NtOpenProcess@16
NtOpenProcessToken@12
NtQueryDirectoryFile@44
NtQueryEaFile@36
;NtQueryInformationAtom <--- ?
NtQueryInformationFile@20
NtQueryInformationProcess@20
NtQueryInformationToken@20
;NtQueryOleDirectoryFile@ <--- ?
NtQuerySecurityObject@20
NtQueryVolumeInformationFile@20
NtReadFile@36
;NtRequestPort@8
NtRequestPort@20
;NtRequestWaitReplyPort@8
NtRequestWaitReplyPort@0
NtSetEvent@8
NtSetInformationFile@20
NtSetInformationProcess@16
NtSetInformationThread@16
NtSetSecurityObject@12
NtUnlockFile@20
;NtVdmControl@8 <--- ?
NtWaitForSingleObject@12
NtWriteFile@36
RtlAnsiStringToUnicodeString
RtlCompareMemory
RtlConvertLongToLargeInteger
@ -128,88 +188,83 @@ RtlMoveMemory
RtlTimeFieldsToTime
RtlTimeToTimeFields
RtlZeroMemory
CcInitializeFileCache
CcRequestCachePage
CcReleaseCachePage
CcReleaseFileCache
ZwAccessCheckAndAuditAlarm = ZwAccessCheckAndAuditAlarm@44
ZwAlertThread = ZwAlertThread@4
ZwAllocateVirtualMemory = ZwAllocateVirtualMemory@24
ZwClearEvent = ZwClearEvent@4
ZwClose = ZwClose@4
ZwCloseObjectAuditAlarm = ZwCloseObjectAuditAlarm@12
ZwConnectPort = ZwConnectPort@32
ZwCreateDirectoryObject = ZwCreateDirectoryObject@12
ZwAccessCheckAndAuditAlarm@44
ZwAlertThread@4
ZwAllocateVirtualMemory@24
ZwClearEvent@4
ZwClose@4
ZwCloseObjectAuditAlarm@12
ZwConnectPort@32
ZwCreateDirectoryObject@12
ZwCreateEvent = ZwCreateEvent@20
ZwCreateFile = ZwCreateFile@44
ZwCreateKey = ZwCreateKey@28
ZwCreateSection = ZwCreateSection@28
ZwCreateSymbolicLinkObject = ZwCreateSymbolicLinkObject@16
ZwDeleteFile = ZwDeleteFile@4
ZwDeleteKey = ZwDeleteKey@4
ZwDeleteValueKey = ZwDeleteValueKey@8
ZwDeviceIoControlFile = ZwDeviceIoControlFile@40
ZwDisplayString = ZwDisplayString@4
ZwDuplicateObject = ZwDuplicateObject@28
ZwDuplicateToken = ZwDuplicateToken@24
ZwEnumerateKey = ZwEnumerateKey@24
ZwEnumerateValueKey = ZwEnumerateValueKey@24
ZwFlushInstructionCache = ZwFlushInstructionCache@12
ZwFlushKey = ZwFlushKey@4
ZwFreeVirtualMemory = ZwFreeVirtualMemory@16
ZwFsControlFile = ZwFsControlFile@40
ZwLoadDriver = ZwLoadDriver@4
ZwLoadKey = ZwLoadKey@8
ZwMakeTemporaryObject = ZwMakeTemporaryObject@4
ZwMapViewOfSection = ZwMapViewOfSection@40
ZwNotifyChangeKey = ZwNotifyChangeKey@40
ZwOpenDirectoryObject = ZwOpenDirectoryObject@12
ZwOpenEvent = ZwOpenEvent@12
ZwOpenFile = ZwOpenFile@24
ZwOpenKey = ZwOpenKey@12
ZwOpenProcess = ZwOpenProcess@16
ZwOpenProcessToken = ZwOpenProcessToken@12
ZwOpenSection = ZwOpenSection@12
ZwOpenSymbolicLinkObject = ZwOpenSymbolicLinkObject@12
ZwOpenThread = ZwOpenThread@16
ZwOpenThreadToken = ZwOpenThreadToken@16
ZwPulseEvent = ZwPulseEvent@8
ZwQueryDefaultLocale = ZwQueryDefaultLocale@8
ZwQueryDirectoryFile = ZwQueryDirectoryFile@44
ZwQueryInformationFile = ZwQueryInformationFile@20
ZwQueryInformationProcess = ZwQueryInformationProcess@20
ZwQueryInformationToken = ZwQueryInformationToken@20
ZwQueryKey = ZwQueryKey@20
ZwQueryObject = ZwQueryObject@20
ZwQuerySection = ZwQuerySection@20
ZwQuerySecurityObject = ZwQuerySecurityObject@20
ZwQuerySymbolicLinkObject = ZwQuerySymbolicLinkObject@12
ZwQuerySystemInformation = ZwQuerySystemInformation@16
ZwQueryValueKey = ZwQueryValueKey@24
ZwQueryVolumeInformationFile = ZwQueryVolumeInformationFile@20
ZwReadFile = ZwReadFile@36
ZwReplaceKey = ZwReplaceKey@12
ZwRequestWaitReplyPort = ZwRequestWaitReplyPort@12
ZwResetEvent = ZwResetEvent@8
ZwSaveKey = ZwSaveKey@8
ZwSetDefaultLocale = ZwSetDefaultLocale@8
ZwSetEvent = ZwSetEvent@8
ZwSetInformationFile = ZwSetInformationFile@20
ZwSetInformationObject = ZwSetInformationObject@16
ZwSetInformationProcess = ZwSetInformationProcess@16
ZwSetInformationThread = ZwSetInformationThread@16
ZwSetSystemInformation = ZwSetSystemInformation@12
ZwSetSystemTime = ZwSetSystemTime@8
ZwSetValueKey = ZwSetValueKey@24
ZwTerminateProcess = ZwTerminateProcess@8
ZwUnloadDriver = ZwUnloadDriver@4
ZwUnloadKey = ZwUnloadKey@4
ZwUnmapViewOfSection = ZwUnmapViewOfSection@8
ZwWaitForMultipleObjects = ZwWaitForMultipleObjects@20
ZwWaitForSingleObject = ZwWaitForSingleObject@12
ZwWriteFile = ZwWriteFile@36
ZwYieldExecution = ZwYieldExecution@0
ZwCreateEvent@20
ZwCreateFile@44
ZwCreateKey@28
ZwCreateSection@28
ZwCreateSymbolicLinkObject@16
ZwDeleteFile@4
ZwDeleteKey@4
ZwDeleteValueKey@8
ZwDeviceIoControlFile@40
ZwDisplayString@4
ZwDuplicateObject@28
ZwDuplicateToken@24
ZwEnumerateKey@24
ZwEnumerateValueKey@24
ZwFlushInstructionCache@12
ZwFlushKey@4
ZwFreeVirtualMemory@16
ZwFsControlFile@40
ZwLoadDriver@4
ZwLoadKey@8
ZwMakeTemporaryObject@4
ZwMapViewOfSection@40
ZwNotifyChangeKey@40
ZwOpenDirectoryObject@12
ZwOpenEvent@12
ZwOpenFile@24
ZwOpenKey@12
ZwOpenProcess@16
ZwOpenProcessToken@12
ZwOpenSection@12
ZwOpenSymbolicLinkObject@12
ZwOpenThread@16
ZwOpenThreadToken@16
ZwPulseEvent@8
ZwQueryDefaultLocale@8
ZwQueryDirectoryFile@44
ZwQueryInformationFile@20
ZwQueryInformationProcess@20
ZwQueryInformationToken@20
ZwQueryKey@20
ZwQueryObject@20
ZwQuerySection@20
ZwQuerySecurityObject@20
ZwQuerySymbolicLinkObject@12
ZwQuerySystemInformation@16
ZwQueryValueKey@24
ZwQueryVolumeInformationFile@20
ZwReadFile@36
ZwReplaceKey@12
ZwRequestWaitReplyPort@12
ZwResetEvent@8
ZwSaveKey@8
ZwSetDefaultLocale@8
ZwSetEvent@8
ZwSetInformationFile@20
ZwSetInformationObject@16
ZwSetInformationProcess@16
ZwSetInformationThread@16
ZwSetSystemInformation@12
ZwSetSystemTime@8
ZwSetValueKey@24
ZwTerminateProcess@8
ZwUnloadDriver@4
ZwUnloadKey@4
ZwUnmapViewOfSection@8
ZwWaitForMultipleObjects@20
ZwWaitForSingleObject@12
ZwWriteFile@36
ZwYieldExecution@0
isdigit
islower
isprint

View file

@ -0,0 +1,288 @@
; $Id: ntoskrnl.edf,v 1.1 1999/07/17 23:10:26 ea Exp $
;
; reactos/ntoskrnl/ntoskrnl.def
;
; ReactOS Operating System
;
EXPORTS
CcInitializeFileCache
CcRequestCachePage
CcReleaseCachePage
CcReleaseFileCache
DbgPrint
ExAcquireResourceExclusive
ExAcquireResourceExclusiveLite
ExAcquireResourceSharedLite
ExAcquireSharedStarveExclusive
ExAcquireSharedWaitForExclusive
ExAllocateFromNPagedLookasideList
ExAllocateFromPagedLookasideList
ExAllocateFromZone
ExAllocatePool
ExAllocatePoolWithQuota
;ExAllocatePoolWithQuotaTag
ExAllocatePoolWithTag
ExConvertExclusiveToSharedLite
ExDeleteNPagedLookasideList
ExDeletePagedLookasideList
ExDeleteResource
ExDeleteResourceLite
ExExtendZone
ExFreePool
ExFreeToNPagedLookasideList
ExFreeToPagedLookasideList
ExFreeToZone
ExGetCurrentResourceThread
ExGetExclusiveWaiterCount
ExGetSharedWaiterCount
ExInitializeFastMutex
ExInitializeNPagedLookasideList
ExInitializePagedLookasideList
ExInitializeResource
ExInitializeResourceLite
ExInitializeSListHead
ExInitializeWorkItem
ExInitializeZone
ExInterlockedAddLargeInteger
ExInterlockedAddUlong
ExInterlockedAllocateFromZone
ExInterlockedDecrementLong
ExInterlockedExchangeUlong
ExInterlockedExtendZone
ExInterlockedFreeToZone
ExInterlockedIncrementLong
ExInterlockedInsertHeadList
ExInterlockedInsertTailList
ExInterlockedPopEntryList
ExInterlockedPopEntrySList
ExInterlockedPushEntryList
ExInterlockedPushEntrySList
ExInterlockedRemoveHeadList
ExIsFullZone
ExIsObjectInFirstZoneSegment
ExIsResourceAcquiredExclusiveLite
ExIsResourceAcquiredSharedLite
ExLocalTimeToSystemTime
ExQueryDepthSListHead
ExQueueWorkItem
ExRaiseStatus
ExReinitializeResourceLite
ExReleaseFastMutex
ExReleaseFastMutexUnsafe
ExReleaseResource
ExReleaseResourceForThread
ExReleaseResourceForThreadLite
ExSystemTimeToLocalTime
ExTryToAcquireFastMutex
ExTryToAcquireResourceExclusiveLite
HalGetInterruptVector
HalRegisterServiceTable
KeBugCheck
KeBugCheckEx
KeFlushIoBuffers
KeGetCurrentIrql
KeGetPreviousMode=KeGetPreviousMode@0
KeInitializeDpc
KeInitializeEvent
KeInitializeSpinLock
KeInsertQueueDpc
KeLowerIrql
KeStallExecutionProcessor
KeSynchronizeExecution
KeRaiseIrql
KeWaitForSingleObject
HalGetBusDataByOffset
HalSetBusDataByOffset
InitializeObjectAttributes
IoAllocateController
IoAttachDeviceToDeviceStack
IoBuildSynchronousFsdRequest
IoCallDriver
IoCompleteRequest
IoConnectInterrupt
IoCreateController
IoCreateDevice
IoCreateStreamFileObject
IoCreateSymbolicLink
IoDeleteController
IoDeleteDevice
IoDisconnectInterrupt
IoFreeController
IoGetCurrentIrpStackLocation
IoInitializeDpcRequest
IoInitializeTimer
IoMarkIrpPending
IoRegisterFileSystem
IoRequestDpc
IoStartPacket
IoStartNextPacket
IoStartNextPacketByKey
IoStartTimer
IoStopTimer
MmGetSystemAddressForMdl
MmMapIoSpace
NtAddAtom=NtAddAtom@8
NtAdjustPrivilegesToken=NtAdjustPrivilegesToken@24
NtAllocateLocallyUniqueId=NtAllocateLocallyUniqueId@4
NtAllocateUuids=NtAllocateUuids@12
NtAllocateVirtualMemory=NtAllocateVirtualMemory@24
;NtBuildNumber <--- variable?
NtClose=NtClose@4
;NtConnectPort=;NtConnectPort@32
NtConnectPort=NtConnectPort@8
NtCreateEvent=NtCreateEvent@20
NtCreateFile=NtCreateFile@44
NtCreateSection=NtCreateSection@28
NtDeleteAtom=NtDeleteAtom@4
NtDeleteFile=NtDeleteFile@4
NtDeviceIoControlFile=NtDeviceIoControlFile@40
NtDuplicateObject=NtDuplicateObject@28
NtDuplicateToken=NtDuplicateToken@24
NtFindAtom=NtFindAtom@8
NtFreeVirtualMemory=NtFreeVirtualMemory@16
NtFsControlFile=NtFsControlFile@40
;NtGlobalFlag <--- variable?
NtLockFile=NtLockFile@40
NtMapViewOfSection=NtMapViewOfSection@40
NtNotifyChangeDirectoryFile=NtNotifyChangeDirectoryFile@36
NtOpenFile=NtOpenFile@24
NtOpenProcess=NtOpenProcess@16
NtOpenProcessToken=NtOpenProcessToken@12
NtQueryDirectoryFile=NtQueryDirectoryFile@44
NtQueryEaFile=NtQueryEaFile@36
;NtQueryInformationAtom <--- ?
NtQueryInformationFile=NtQueryInformationFile@20
NtQueryInformationProcess=NtQueryInformationProcess@20
NtQueryInformationToken=NtQueryInformationToken@20
;NtQueryOleDirectoryFile=;NtQueryOleDirectoryFile@ <--- ?
NtQuerySecurityObject=NtQuerySecurityObject@20
NtQueryVolumeInformationFile=NtQueryVolumeInformationFile@20
NtReadFile=NtReadFile@36
;NtRequestPort=;NtRequestPort@8
NtRequestPort=NtRequestPort@20
;NtRequestWaitReplyPort=;NtRequestWaitReplyPort@8
NtRequestWaitReplyPort=NtRequestWaitReplyPort@0
NtSetEvent=NtSetEvent@8
NtSetInformationFile=NtSetInformationFile@20
NtSetInformationProcess=NtSetInformationProcess@16
NtSetInformationThread=NtSetInformationThread@16
NtSetSecurityObject=NtSetSecurityObject@12
NtUnlockFile=NtUnlockFile@20
;NtVdmControl=;NtVdmControl@8 <--- ?
NtWaitForSingleObject=NtWaitForSingleObject@12
NtWriteFile=NtWriteFile@36
RtlAnsiStringToUnicodeString
RtlCompareMemory
RtlConvertLongToLargeInteger
RtlConvertUlongToLargeInteger
RtlCopyMemory
RtlEnlargedIntegerMultiply
RtlExtendedIntegerMultiply
RtlFreeUnicodeString
RtlInitAnsiString
RtlInitUnicodeString
RtlLargeIntegerAdd
RtlLargeIntegerGreaterThan
RtlLargeIntegerShiftRight
RtlMoveMemory
RtlTimeFieldsToTime
RtlTimeToTimeFields
RtlZeroMemory
ZwAccessCheckAndAuditAlarm=ZwAccessCheckAndAuditAlarm@44
ZwAlertThread=ZwAlertThread@4
ZwAllocateVirtualMemory=ZwAllocateVirtualMemory@24
ZwClearEvent=ZwClearEvent@4
ZwClose=ZwClose@4
ZwCloseObjectAuditAlarm=ZwCloseObjectAuditAlarm@12
ZwConnectPort=ZwConnectPort@32
ZwCreateDirectoryObject=ZwCreateDirectoryObject@12
ZwCreateEvent=ZwCreateEvent@20
ZwCreateFile=ZwCreateFile@44
ZwCreateKey=ZwCreateKey@28
ZwCreateSection=ZwCreateSection@28
ZwCreateSymbolicLinkObject=ZwCreateSymbolicLinkObject@16
ZwDeleteFile=ZwDeleteFile@4
ZwDeleteKey=ZwDeleteKey@4
ZwDeleteValueKey=ZwDeleteValueKey@8
ZwDeviceIoControlFile=ZwDeviceIoControlFile@40
ZwDisplayString=ZwDisplayString@4
ZwDuplicateObject=ZwDuplicateObject@28
ZwDuplicateToken=ZwDuplicateToken@24
ZwEnumerateKey=ZwEnumerateKey@24
ZwEnumerateValueKey=ZwEnumerateValueKey@24
ZwFlushInstructionCache=ZwFlushInstructionCache@12
ZwFlushKey=ZwFlushKey@4
ZwFreeVirtualMemory=ZwFreeVirtualMemory@16
ZwFsControlFile=ZwFsControlFile@40
ZwLoadDriver=ZwLoadDriver@4
ZwLoadKey=ZwLoadKey@8
ZwMakeTemporaryObject=ZwMakeTemporaryObject@4
ZwMapViewOfSection=ZwMapViewOfSection@40
ZwNotifyChangeKey=ZwNotifyChangeKey@40
ZwOpenDirectoryObject=ZwOpenDirectoryObject@12
ZwOpenEvent=ZwOpenEvent@12
ZwOpenFile=ZwOpenFile@24
ZwOpenKey=ZwOpenKey@12
ZwOpenProcess=ZwOpenProcess@16
ZwOpenProcessToken=ZwOpenProcessToken@12
ZwOpenSection=ZwOpenSection@12
ZwOpenSymbolicLinkObject=ZwOpenSymbolicLinkObject@12
ZwOpenThread=ZwOpenThread@16
ZwOpenThreadToken=ZwOpenThreadToken@16
ZwPulseEvent=ZwPulseEvent@8
ZwQueryDefaultLocale=ZwQueryDefaultLocale@8
ZwQueryDirectoryFile=ZwQueryDirectoryFile@44
ZwQueryInformationFile=ZwQueryInformationFile@20
ZwQueryInformationProcess=ZwQueryInformationProcess@20
ZwQueryInformationToken=ZwQueryInformationToken@20
ZwQueryKey=ZwQueryKey@20
ZwQueryObject=ZwQueryObject@20
ZwQuerySection=ZwQuerySection@20
ZwQuerySecurityObject=ZwQuerySecurityObject@20
ZwQuerySymbolicLinkObject=ZwQuerySymbolicLinkObject@12
ZwQuerySystemInformation=ZwQuerySystemInformation@16
ZwQueryValueKey=ZwQueryValueKey@24
ZwQueryVolumeInformationFile=ZwQueryVolumeInformationFile@20
ZwReadFile=ZwReadFile@36
ZwReplaceKey=ZwReplaceKey@12
ZwRequestWaitReplyPort=ZwRequestWaitReplyPort@12
ZwResetEvent=ZwResetEvent@8
ZwSaveKey=ZwSaveKey@8
ZwSetDefaultLocale=ZwSetDefaultLocale@8
ZwSetEvent=ZwSetEvent@8
ZwSetInformationFile=ZwSetInformationFile@20
ZwSetInformationObject=ZwSetInformationObject@16
ZwSetInformationProcess=ZwSetInformationProcess@16
ZwSetInformationThread=ZwSetInformationThread@16
ZwSetSystemInformation=ZwSetSystemInformation@12
ZwSetSystemTime=ZwSetSystemTime@8
ZwSetValueKey=ZwSetValueKey@24
ZwTerminateProcess=ZwTerminateProcess@8
ZwUnloadDriver=ZwUnloadDriver@4
ZwUnloadKey=ZwUnloadKey@4
ZwUnmapViewOfSection=ZwUnmapViewOfSection@8
ZwWaitForMultipleObjects=ZwWaitForMultipleObjects@20
ZwWaitForSingleObject=ZwWaitForSingleObject@12
ZwWriteFile=ZwWriteFile@36
ZwYieldExecution=ZwYieldExecution@0
isdigit
islower
isprint
isspace
isupper
isxdigit
memchr
memcpy
memmove
memset
strtok
tolower
toupper
towlower
towupper
vsprintf
wcschr
wcscpy
wcslen
wcsncpy
wcsncat

View file

@ -61,10 +61,16 @@ endif
CC = $(PREFIX)gcc
NATIVE_CC = gcc
CFLAGS = -O2 -I../../../include -I../../include \
-I../include -fno-builtin $(LEAN_AND_MEAN_DEFINE) \
$(DEFINES) -Wall -Wstrict-prototypes $(DEBUGGING_CFLAGS) \
$(EXTRA_CFLAGS)
CFLAGS = \
-pipe \
-O2 \
-I../../../include \
-I../../include \
-I../include \
-fno-builtin $(LEAN_AND_MEAN_DEFINE) \
$(DEFINES) -Wall \
-Wstrict-prototypes $(DEBUGGING_CFLAGS) \
$(EXTRA_CFLAGS)
CXXFLAGS = $(CFLAGS)
NFLAGS = -i../../include/ -i../include/ -pinternal/asm.inc -f$(NASM_FORMAT) -d$(NASM_FORMAT)
LD = $(PREFIX)ld

View file

@ -0,0 +1,43 @@
/* $Id: init.c,v 1.1 1999/07/17 23:10:29 ea Exp $
*
* init.c - Local Security Manager Initialization
*
* ReactOS Operating System
*
* --------------------------------------------------------------------
*
* This software is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software; see the file COPYING.LIB. If not, write
* to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
* MA 02139, USA.
*
* --------------------------------------------------------------------
*
* 19990704 (Emanuele Aliberti)
* Compiled successfully with egcs 1.1.2
*/
#include <ddk/ntddk.h>
BOOL
InitLsa(
HANDLE Children[]
)
{
/* FIXME: create the \SeLsaCommandPort LPC port */
/* FIXME: create the \LsaAuthenticationPort LPC port */
return TRUE;
}
/* EOF */

View file

@ -0,0 +1,68 @@
; $Id: lsasrv.def,v 1.1 1999/07/17 23:10:29 ea Exp $
LIBRARY lsasrv
EXPORTS
LsaIAuditNotifyPackageLoad
LsaIAuditSamEvent
LsaIEnumerateSecrets
LsaIFree_LSAI_PRIVATE_DATA
LsaIFree_LSAI_SECRET_ENUM_BUFFER
LsaIFree_LSAPR_ACCOUNT_ENUM_BUFFER
LsaIFree_LSAPR_CR_CIPHER_VALUE
LsaIFree_LSAPR_POLICY_INFORMATION
LsaIFree_LSAPR_PRIVILEGE_ENUM_BUFFER
LsaIFree_LSAPR_PRIVILEGE_SET
LsaIFree_LSAPR_REFERENCED_DOMAIN_LIST
LsaIFree_LSAPR_SR_SECURITY_DESCRIPTOR
LsaIFree_LSAPR_TRANSLATED_NAMES
LsaIFree_LSAPR_TRANSLATED_SIDS
LsaIFree_LSAPR_TRUSTED_DOMAIN_INFO
LsaIFree_LSAPR_TRUSTED_ENUM_BUFFER
LsaIFree_LSAPR_TRUST_INFORMATION
LsaIFree_LSAPR_UNICODE_STRING
LsaIGetPrivateData
LsaIGetSerialNumberPolicy
LsaIGetSerialNumberPolicy2
LsaIHealthCheck
LsaIInitializeWellKnownSids
LsaIOpenPolicyTrusted
LsaIQueryInformationPolicyTrusted
LsaISetPrivateData
LsaISetSerialNumberPolicy
LsaISetTimesSecret
LsaISetupWasRun
LsapAuOpenSam
LsapInitLsa
LsarAddPrivilegesToAccount
LsarClose
LsarCreateAccount
LsarCreateSecret
LsarCreateTrustedDomain
LsarDelete
LsarEnumerateAccounts
LsarEnumeratePrivileges
LsarEnumeratePrivilegesAccount
LsarEnumerateTrustedDomains
LsarGetQuotasForAccount
LsarGetSystemAccessAccount
LsarLookupNames
LsarLookupPrivilegeDisplayName
LsarLookupPrivilegeName
LsarLookupPrivilegeValue
LsarLookupSids
LsarOpenAccount
LsarOpenPolicy
LsarOpenSecret
LsarOpenTrustedDomain
LsarQueryInfoTrustedDomain
LsarQueryInformationPolicy
LsarQuerySecret
LsarQuerySecurityObject
LsarRemovePrivilegesFromAccount
LsarSetInformationPolicy
LsarSetInformationTrustedDomain
LsarSetQuotasForAccount
LsarSetSecret
LsarSetSecurityObject
LsarSetSystemAccessAccount
ServiceInit

View file

@ -0,0 +1,72 @@
/* $Id: lsass.c,v 1.1 1999/07/17 23:10:29 ea Exp $
*
* reactos/services/lsass/lsass.c
*
* ReactOS Operating System
*
* --------------------------------------------------------------------
*
* This software is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software; see the file COPYING.LIB. If not, write
* to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
* MA 02139, USA.
*
* --------------------------------------------------------------------
*
* 19990704 (Emanuele Aliberti)
* Compiled successfully with egcs 1.1.2
*/
#include <ddk/ntddk.h>
#include <wchar.h>
BOOL InitLsa(VOID); /* ./init.c */
void
DisplayString( LPCWSTR lpwString )
{
UNICODE_STRING us;
us.Buffer = (LPWSTR) lpwString;
us.Length = wcslen(lpwString) * sizeof (WCHAR);
us.MaximumLength = us.Length + sizeof (WCHAR);
NtDisplayString( & us );
}
/* Native image's entry point */
void
NtProcessStartup( PSTARTUP_ARGUMENT StartupArgument )
{
DisplayString( L"Local Security Authority Subsystem:\n" );
DisplayString( L"\tInitializing...\n" );
if (TRUE == InitLsa())
{
DisplayString( L"\tInitialization OK\n" );
/* FIXME: do nothing loop */
while (TRUE)
{
NtYieldExecution();
}
}
else
{
DisplayString( L"\tInitialization failed!\n" );
}
NtTerminateProcess( NtCurrentProcess(), 0 );
}
/* EOF */

View file

@ -0,0 +1,38 @@
#include "../../include/defines.h"
#include "../../include/reactos/resource.h"
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
VS_VERSION_INFO VERSIONINFO
FILEVERSION RES_UINT_FV_MAJOR,RES_UINT_FV_MINOR,RES_UINT_FV_REVISION,RES_UINT_FV_BUILD
PRODUCTVERSION RES_UINT_PV_MAJOR,RES_UINT_PV_MINOR,RES_UINT_PV_REVISION,RES_UINT_PV_BUILD
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", RES_STR_COMPANY_NAME
VALUE "FileDescription", "Local Security Authority\0"
VALUE "FileVersion", RES_STR_FILE_VERSION
VALUE "InternalName", "lsass\0"
VALUE "LegalCopyright", RES_STR_LEGAL_COPYRIGHT
VALUE "OriginalFilename", "lsass.exe\0"
VALUE "ProductName", RES_STR_PRODUCT_NAME
VALUE "ProductVersion", RES_STR_PRODUCT_VERSION
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END

View file

@ -0,0 +1,36 @@
# $Id: makefile,v 1.1 1999/07/17 23:10:29 ea Exp $
#
# Local Security Authority Subsystem
#
# ReactOS Operating System
#
TARGET=lsass
OBJECTS = $(TARGET).o init.o $(TARGET).coff
LIBS = ../../lib/ntdll/ntdll.a
all: $(TARGET).exe
.phony: all
clean:
- $(RM) $(TARGET).o
- $(RM) $(TARGET).exe
- $(RM) $(TARGET).sym
- $(RM) $(TARGET).coff
.phony: clean
$(TARGET).coff: $(TARGET).rc
$(RC) $(TARGET).rc $(TARGET).coff
$(TARGET).exe: $(OBJECTS) $(LIBS)
$(LD) \
$(OBJECTS) \
$(LIBS) \
-o $(TARGET).exe \
--subsystem native
$(NM) --numeric-sort $(TARGET).exe > $(TARGET).sym
include ../../rules.mak

View file

@ -1,6 +1,6 @@
/* $Id: init.c,v 1.1 1999/06/18 22:40:47 ea Exp $
/* $Id: init.c,v 1.2 1999/07/17 23:10:29 ea Exp $
*
* resctos/services/winlogon/init.c
* reactos/services/winlogon/init.c
*
*/
#include <windows.h>
@ -10,11 +10,11 @@ Initialize(VOID)
{
/* SERVICES CONTROLLER */
NtCreateProcess(
L"\\\\??\\C:\reactos\system\services.exe"
L"\\\\??\\C:\\reactos\\system\\services.exe"
);
/* LOCAL SECURITY AUTORITY SUBSYSTEM */
NtCreateProcess(
L"\\\\??\\C:\reactos\system\lsass.exe"
L"\\\\??\\C:\\reactos\\system\\lsass.exe"
);
return TRUE;
}

View file

@ -1,4 +1,5 @@
/*
/* $Id: winlogon.c,v 1.4 1999/07/17 23:10:30 ea Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: services/winlogon/winlogon.c
@ -86,6 +87,13 @@ HasSystemActiveSession (VOID)
*
* DESCRIPTION
* Graphical login procedure
*
* NOTE
* Read values from
*
* HKEY_LOCAL-MACHINE
* SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon
*
*/
VOID
GuiLogin (VOID)
@ -112,6 +120,13 @@ GuiMonitor (VOID)
*
* DESCRIPTION
* Text mode (console) login procedure
*
* NOTE
* Read values from
*
* HKEY_LOCAL-MACHINE
* SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon
*
*/
VOID
CuiLogin (VOID)
@ -211,20 +226,45 @@ Use the Task Manager to close an application that is not responding.\n\n\
}
HANDLE
ConnectToSmApiPort(VOID)
{
HANDLE PortHandle;
NTSTATUS Status = STATUS_SUCCESS;
UNICODE_STRING SmApiPort;
LPWSTR PortName = L"\\SmApiPort";
OBJECT_ATTRIBUTES PortAttributes = {0};
SmApiPort.Length = wcslen(PortName) * sizeof (WCHAR);
SmApiPort.MaxLength = SmApiPort.Length + sizeof (WCHAR);
SmApiPort.Buffer = PortName;
Status = NtConnectPort(
& PortHandle,
& SmApiPort,
& PortAttributes, /* FIXME: ? */
0, /* FIXME: ? */
0, /* FIXME: ? */
0, /* FIXME: ? */
0, /* FIXME: ? */
0x00010000 /* FIXME: ? */
);
return (NT_SUCCESS(Status))
? PortHandle
: INVALID_HANDLE_VALUE;
}
/* Native process entry point */
void
NtProcessStartup( PSTARTUP_ARGUMENT StartupArgument )
{
NTSTATUS Status = STATUS_SUCCESS;
NTSTATUS Status = STATUS_SUCCESS;
/* FIXME: connnect to the Session Manager
* for LPC calls
*/
Status = NtConnectPort(
"\\SmApiPort",
& SM
);
if (!NT_SUCCESS(Status))
SM = ConnectToSmApiPort();
if (INVALID_HANDLE_VALUE == SM)
{
NtTerminateProcess(
NtCurrentProcess(),

View file

@ -1,13 +1,13 @@
#include <internal/lpc.h>
#include <ddk/ntddk.h>
LPC_RETURN_CODE
DWORD
CSR_CreateProcess (
PLPC_REQUEST_REPLY pLpcRequestReply
PLPC_MESSAGE pLpcMessage
);
LPC_RETURN_CODE
DWORD
CSR_TerminateProcess(
PLPC_REQUEST_REPLY pLpcRequestReply
PLPC_MESSAGE pLpcMessage
);

View file

@ -1,4 +1,4 @@
/* $Id: process.c,v 1.1 1999/06/08 22:50:59 ea Exp $
/* $Id: process.c,v 1.2 1999/07/17 23:10:30 ea Exp $
*
* reactos/subsys/csrss/api/process.c
*
@ -6,20 +6,22 @@
*
* ReactOS Operating System
*/
#include <internal/lpc.h>
#define PROTO_LPC
#include <ddk/ntddk.h>
LPC_RETURN_CODE
DWORD
CSR_CreateProcess (
PLPC_REQUEST_REPLY pLpcRequestReply
PLPC_MESSAGE pLpcMessage
)
{
return LPC_ERROR_CALL_NOT_IMPLEMENTED;
}
LPC_RETURN_CODE
DWORD
CSR_TerminateProcess(
PLPC_REQUEST_REPLY pLpcRequestReply
PLPC_MESSAGE pLpcMessage
)
{
return LPC_ERROR_CALL_NOT_IMPLEMENTED;

View file

@ -1,4 +1,4 @@
/* $Id: csrss.c,v 1.1 1999/06/08 22:50:59 ea Exp $
/* $Id: csrss.c,v 1.2 1999/07/17 23:10:30 ea Exp $
*
* csrss.c - Client/Server Runtime subsystem
*
@ -32,7 +32,6 @@
* actually does nothing but running).
*/
#include <ddk/ntddk.h>
//#include <internal/lpc.h>
BOOL TerminationRequestPending = FALSE;

View file

@ -1,4 +1,4 @@
/* $Id: init.c,v 1.1 1999/06/08 22:50:59 ea Exp $
/* $Id: init.c,v 1.2 1999/07/17 23:10:30 ea Exp $
*
* reactos/subsys/csrss/init.c
*
@ -7,115 +7,200 @@
* ReactOS Operating System
*
*/
#define PROTO_LPC
#include <ddk/ntddk.h>
#include <internal/lpc.h>
#include "csrss.h"
#if 0
struct _SERVER_PORT
{
HANDLE Port;
THREAD Thread;
};
struct _SERVER_PORTS
{
struct _SERVER_PORT Api;
struct _SERVER_PORT SbApi;
}
void Thread_Api(void*);
void Thread_SbApi(void*);
/*
* Server's named ports.
*/
struct _SERVER_PORTS
Server =
{
{INVALID_HANDLE_VALUE,Thread_Api},
{INVALID_HANDLE_VALUE,Thread_SbApi}
};
/**********************************************************************
* NAME
* Thread_Api
*
* DESCRIPTION
* Handle connection requests from clients to the port
* "\Windows\ApiPort".
*/
static
void
Thread_Api(void * pPort)
{
HANDLE port;
NTSTATUS Status;
HANDLE Port;
HANDLE ConnectedPort;
port = * (HANDLE*) pPort;
Port = * (HANDLE*) pPort;
NtListenPort(port);
/*
* Make the CSR API port listen.
*/
Status = NtListenPort(
Port,
CSRSS_API_PORT_QUEUE_SIZE
);
if (!NT_SUCCESS(Status))
{
/*
* FIXME: notify SM we could not
* make the port listen.
*/
return;
}
/*
* Wait for a client to connect
*/
while (TRUE)
{
NtAcceptConnectPort(
port
);
if (NT_SUCCESS(NtCompleteConnectPort(port)))
/*
* Wait for a connection request;
* the new connected port's handle
* is stored in ConnectedPort.
*/
Status = NtAcceptConnectPort(
Port,
& ConnectedPort
);
if (NT_SUCCESS(Status))
{
/* dispatch call */
if (NT_SUCCESS(NtCompleteConnectPort(ConnectedPort)))
{
/* dispatch call */
continue;
}
/* error */
}
}
}
/**********************************************************************
* NAME
* Thread_SbApi
*
* DESCRIPTION
* Handle connection requests from clients to the port
* "\Windows\SbApiPort".
*/
static
void
Thread_SbApi(void * pPort)
{
HANDLE port;
NTSTATUS Status;
HANDLE Port;
HANDLE ConnectedPort;
port = * (HANDLE*) pPort;
Port = * (HANDLE*) pPort;
NtListenPort(port);
Status = NtListenPort(
Port,
CSRSS_SBAPI_PORT_QUEUE_SIZE
);
if (!NT_SUCCESS(Status))
{
return;
}
/*
* Wait for a client to connect
*/
while (TRUE)
{
NtAcceptConnectPort(
port
);
if (NT_SUCCESS(NtCompleteConnectPort(port)))
Status = NtAcceptConnectPort(
Port,
& ConnectedPort
);
if (NT_SUCCESS(Status))
{
/* dispatch call */
if (NT_SUCCESS(NtCompleteConnectPort(ConnectedPort)))
{
/* dispatch call */
continue;
}
/* error: Port.CompleteConnect failed */
continue;
}
/* error */
/* error: Port.AcceptConnect failed */
}
}
#endif
/**********************************************************************
* NAME
* InitializeServer
*
* DESCRIPTION
* Create a directory object (\windows) and two named LPC ports:
*
* 1. \windows\ApiPort
* 2. \windows\SbApiPort
*
* RETURN VALUE
* TRUE: Initialization OK; otherwise FALSE.
*/
BOOL
InitializeServer(void)
{
NTSTATUS Status;
OBJECT_ATTRIBUTES ObAttributes;
HANDLE MySelf;
#if 0
MySelf = NtCurrentProcess();
/* \ApiPort */
Server.Api.Port =
NtCreatePort(
LPC_CSR_PORT_NAME_APIPORT,
/* NEW NAMED PORT: \ApiPort */
Status = NtCreatePort(
& Server.Api.Port, /* New port's handle */
& ObAttributes, /* Port object's attributes */
...
);
NtCreateThread(
& Server.Api.Thread,
0, /* desired access */
& ObAttributes, /* object attributes */
MySelf, /* process' handle */
0, /* client id */
Thread_ApiPort,
(void*) & Server.Api.Port
);
/* \SbApiPort */
Server.SbApi.Port =
NtCreatePort(
LPC_CSR_PORT_NAME_SBAPIPORT,
if (!NT_SUCCESS(Status))
{
return FALSE;
}
Status = NtCreateThread(
& Server.Api.Thread,
0, /* desired access */
& ObAttributes, /* object attributes */
NtCurrentProcess(), /* process' handle */
0, /* client id */
Thread_ApiPort,
(void*) & Server.Api.Port
);
if (!NT_SUCCESS(Status))
{
NtClose(Server.Api.Port);
return FALSE;
}
/* NEW NAMED PORT: \SbApiPort */
Status = NtCreatePort(
& Server.SbApi.Port,
& ObAttributes,
...
);
NtCreateThread(
& Server.SbApi.Thread,
Thread_SbApi,
(void*) & Server.SbApi.Port
);
#endif
if (!NT_SUCCESS(Status))
{
NtClose(Server.Api.Port);
return FALSE;
}
Status = NtCreateThread(
& Server.SbApi.Thread,
Thread_SbApi,
(void*) & Server.SbApi.Port
);
if (!NT_SUCCESS(Status))
{
NtClose(Server.Api.Port);
NtClose(Server.SbApi.Port);
return FALSE;
}
return TRUE;
}

View file

@ -1,4 +1,4 @@
/* $Id: lpcstub.c,v 1.1 1999/06/08 22:50:59 ea Exp $
/* $Id: lpcstub.c,v 1.2 1999/07/17 23:10:30 ea Exp $
*
* lpcstub.c
*
@ -7,7 +7,6 @@
*
*/
#include <ddk/ntddk.h>
#include <internal/lpc.h>
#include "api.h"

View file

@ -0,0 +1,30 @@
/* $Id: api.c,v 1.1 1999/07/17 23:10:30 ea Exp $
*
* reactos/subsys/psxss/api.c
*
* ReactOS Operating System
*
*
*/
#include <ddk/ntddk.h>
#include <internal/lpc.h>
#include "api.h"
BOOL TerminationRequestPending = FALSE;
long
port_dispatcher_api(
PLPC_REQUEST_REPLY pLpcRequestReply
)
{
switch (pLpcRequestReply->Function)
{
case LPC_PSX_API_PROCESS_CREATE:
return POSIX_PROCESS_Create(pLpcRequestReply);
case LPC_PSX_API_PROCESS_TERMINATE:
return POSIX_PROCESS_Terminate(pLpcRequestReply);
}
return LPC_ERROR_INVALID_FUNCTION;
}
/* EOF */

View file

@ -0,0 +1,27 @@
/* $Id: process.c,v 1.1 1999/07/17 23:10:31 ea Exp $
*
* reactos/subsys/psxss/api/process.c
*
* ReactOS Operating System
*
*/
static
LPC_RETURN_CODE
PSXSS_creat(
PLPC_REQUEST_REPLY pLpcRequestReply
)
{
return LPC_ERROR_CALL_NOT_IMPLEMENTED;
}
static
LPC_RETURN_CODE
PSXSS_terminate(
PLPC_REQUEST_REPLY pLpcRequestReply
)
{
return LPC_ERROR_CALL_NOT_IMPLEMENTED;
}
/* EOF */

186
reactos/subsys/psxss/init.c Normal file
View file

@ -0,0 +1,186 @@
/* $Id: init.c,v 1.1 1999/07/17 23:10:31 ea Exp $
*
* init.c
*
* ReactOS Operating System
*
*/
#include <ddk/ntddk.h>
#include <internal/lpc.h>
struct _SERVER_DIRECTORIES
{
HANDLE Root; /* MS & Interix(tm): \PSXSS\ */
HANDLE Session; /* MS & Interix(tm): \PSXSS\PSXSES\ */
HANDLE System; /* Interix(tm) only: \PSXSS\SYSTEM\ */
};
struct _SERVER_PORT
{
HANDLE Port;
THREAD Thread;
};
struct _SERVER
{
struct _SERVER_DIRECTORIES Directory;
struct _SERVER_PORT Api;
struct _SERVER_PORT SbApi;
};
void Thread_Api(void*);
void Thread_SbApi(void*);
struct _SERVER
Server =
{
{INVALID_HANDLE_VALUE,INVALID_HANDLE_VALUE},
{INVALID_HANDLE_VALUE,Thread_Api},
{INVALID_HANDLE_VALUE,Thread_SbApi}
};
static
void
Thread_Api(void * pPort)
{
HANDLE port;
port = * (HANDLE*) pPort;
NtListenPort(port);
while (TRUE)
{
NtAcceptConnectPort(
port
);
if (NT_SUCCESS(NtCompleteConnectPort(port)))
{
/* dispatch call */
}
}
}
static
void
Thread_SbApi(void * pPort)
{
HANDLE port;
port = * (HANDLE*) pPort;
NtListenPort(port);
while (TRUE)
{
NtAcceptConnectPort(
port
);
if (NT_SUCCESS(NtCompleteConnectPort(port)))
{
/* dispatch call */
continue;
}
/* error */
}
}
/***********************************************************************
* InitializeServer
*
* DESCRIPTION
* Initialize the POSIX+ subsystem server process. That is:
*
* 1. create the directory object "\PSXSS\";
* 2. create the API port "\PSXSS\ApiPort";
* 3. create the debug port "\PSXSS\SbApiPort";
* 4. create the sessions directory object "\PSXSS\PSXSES\";
* 5. create the system directory object "\PSXSS\SYSTEM\";
* 6. initialize port threads
*
* RETURN VALUE
* TRUE Initialization succeeded:
* FALSE Initialization failed.
*
* NOTE
* The "\PSXSS\SYSTEM\" directory object does not exist
* in the MS implementation, but appears in WNT's namespace
* when the Interix(tm) subsystem is installed.
*/
BOOL
InitializeServer(void)
{
NTSTATUS Status;
OBJECT_ATTRIBUTES ObAttributes;
/*
* STEP 1
* Create the directory object "\PSXSS\"
*
*/
Status = NtCreateDirectoryObject(
PSXSS_DIRECTORY_NAME_ROOT
& Server.Directory.Root
);
/*
* STEP 2
* Create the LPC port "\PSXSS\ApiPort"
*
*/
Server.Api.Port =
NtCreatePort(
PSXSS_PORT_NAME_APIPORT,
...
);
NtCreateThread(
& Server.Api.Thread,
0, /* desired access */
& ObAttributes, /* object attributes */
NtCurrentProcess(), /* process' handle */
0, /* client id */
Thread_ApiPort,
(void*) & Server.Api.Port
);
/*
* STEP 3
* Create the LPC port "\PSXSS\SbApiPort"
*
*/
Server.SbApi.Port =
NtCreatePort(
PSXSS_PORT_NAME_SBAPIPORT,
...
);
Status = NtCreateThread(
& Server.SbApi.Thread,
Thread_SbApi,
(void*) & Server.SbApi.Port
);
/*
* STEP 4
* Create the POSIX+ session directory object
* "\PSXSS\PSXSES\"
*
*/
Status = NtCreateDirectoryObject(
PSXSS_DIRECTORY_NAME_SESSIONS
& Server.Directory.Sessions
);
/*
* STEP 5
* Create the POSIX+ system directory object
* "\PSXSS\SYSTEM\"
*
*/
Status = NtCreateDirectoryObject(
PSXSS_DIRECTORY_NAME_SYSTEM
& Server.Directory.System
);
return TRUE;
}
/* EOF */

View file

@ -0,0 +1,36 @@
# $Id: makefile,v 1.1 1999/07/17 23:10:31 ea Exp $
#
# CSRSS: Client/server run-time subsystem
#
# ReactOS Operating System
#
TARGET=csrss
OBJECTS = $(TARGET).o init.o $(TARGET).coff
LIBS = ../../lib/ntdll/ntdll.a
all: $(TARGET).exe
.phony: all
clean:
- $(RM) $(TARGET).o
- $(RM) $(TARGET).exe
- $(RM) $(TARGET).sym
- $(RM) $(TARGET).coff
.phony: clean
$(TARGET).coff: $(TARGET).rc
$(RC) $(TARGET).rc $(TARGET).coff
$(TARGET).exe: $(OBJECTS) $(LIBS)
$(LD) \
$(OBJECTS) \
$(LIBS) \
-o $(TARGET).exe \
--subsystem native
$(NM) --numeric-sort $(TARGET).exe > $(TARGET).sym
include ../../rules.mak

View file

@ -0,0 +1,81 @@
/* $Id: psxss.c,v 1.1 1999/07/17 23:10:31 ea Exp $
*
* reactos/subsys/psxss/psxss.c
*
* POSIX+ subsystem server process
*
* ReactOS Operating System
*
* --------------------------------------------------------------------
*
* This software is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software; see the file COPYING.LIB. If not, write
* to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
* MA 02139, USA.
*
* --------------------------------------------------------------------
*
* 19990605 (Emanuele Aliberti)
* Compiled successfully with egcs 1.1.2
*/
#include <ddk/ntddk.h>
//#include <internal/lpc.h>
BOOL TerminationRequestPending = FALSE;
BOOL InitializeServer(void);
void
DisplayString(
LPCWSTR Message
)
{
UNICODE_STRING title;
title.Buffer = (LPWSTR) Message;
title.Length = wcslen(title.Buffer) * sizeof (WCHAR);
title.MaximumLength = title.Length + sizeof (WCHAR);
NtDisplayString( & title );
}
/* Native process' entry point */
void
NtProcessStartup( PSTARTUP_ARGUMENT StartupArgument )
{
DisplayString( L"POSIX+ Subsystem\n" );
if (TRUE == InitializeServer())
{
while (FALSE == TerminationRequestPending)
{
/* Do nothing! Should it
* be the SbApi port's
* thread instead?
*/
NtYieldExecution();
}
}
else
{
DisplayString( L"PSX: Subsystem initialization failed.\n" );
/*
* Tell SM we failed.
*/
}
NtTerminateProcess( NtCurrentProcess(), 0 );
}
/* EOF */

View file

@ -0,0 +1,38 @@
#include "../../include/defines.h"
#include "../../include/reactos/resource.h"
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
VS_VERSION_INFO VERSIONINFO
FILEVERSION RES_UINT_FV_MAJOR,RES_UINT_FV_MINOR,RES_UINT_FV_REVISION,RES_UINT_FV_BUILD
PRODUCTVERSION RES_UINT_PV_MAJOR,RES_UINT_PV_MINOR,RES_UINT_PV_REVISION,RES_UINT_PV_BUILD
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", RES_STR_COMPANY_NAME
VALUE "FileDescription", "POSIX+ Subsystem Process\0"
VALUE "FileVersion", RES_STR_FILE_VERSION
VALUE "InternalName", "psxss\0"
VALUE "LegalCopyright", RES_STR_LEGAL_COPYRIGHT
VALUE "OriginalFilename", "psxss.exe\0"
VALUE "ProductName", RES_STR_PRODUCT_NAME
VALUE "ProductVersion", RES_STR_PRODUCT_VERSION
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END

View file

@ -0,0 +1,23 @@
/* $Id: sbapi.c,v 1.1 1999/07/17 23:10:31 ea Exp $
*
* sbapi.c - Displatcher for the \SbApiPort
*
* ReactOS Operating System
*
*
*/
#include <ddk/ntddk.h>
#include <internal/lpc.h>
/* The \SbApi dispatcher: what is this port for? */
LPC_RETURN_CODE
port_dispatcher_sbapi(
PLPC_REQUEST_REPLY pLpcRequestReply
)
{
return LPC_ERROR_INVALID_FUNCTION;
}
/* EOF */

View file

@ -1,3 +1,5 @@
/* $Id: brush.c,v 1.3 1999/07/17 23:10:31 ea Exp $
*/
#undef WIN32_LEAN_AND_MEAN

View file

@ -1,4 +1,4 @@
; $Id: win32k.def,v 1.3 1999/05/27 23:08:13 rex Exp $
; $Id: win32k.def,v 1.4 1999/07/17 23:10:31 ea Exp $
;
; win32k.def
;
@ -6,7 +6,7 @@
;
LIBRARY win32k
EXPORTS
W32kGetVectors
;W32kGetVectors
BRUSHOBJ_pvAllocRbrush
BRUSHOBJ_pvGetRbrush
BRUSHOBJ_ulGetBrushColor