diff --git a/reactos/include/ntdll/csr.h b/reactos/include/ntdll/csr.h index d57f1ad2338..d0467e20d36 100644 --- a/reactos/include/ntdll/csr.h +++ b/reactos/include/ntdll/csr.h @@ -1,4 +1,4 @@ -/* $Id: csr.h,v 1.4 2001/05/02 22:22:23 ekohl Exp $ +/* $Id: csr.h,v 1.5 2001/06/17 09:23:46 ekohl Exp $ * */ @@ -12,9 +12,16 @@ NTSTATUS STDCALL CsrClientCallServer(PCSRSS_API_REQUEST Request, PCSRSS_API_REPLY Reply, ULONG Length, ULONG ReplyLength); +VOID STDCALL CsrIdentifyAlertableThread(VOID); NTSTATUS STDCALL CsrNewThread(VOID); NTSTATUS STDCALL CsrSetPriorityClass(HANDLE Process, PULONG PriorityClass); +VOID STDCALL CsrProbeForRead(IN CONST PVOID Address, + IN ULONG Length, + IN ULONG Alignment); +VOID STDCALL CsrProbeForWrite(IN CONST PVOID Address, + IN ULONG Length, + IN ULONG Alignment); #endif /* __INCLUDE_NTDLL_CSR_H */ diff --git a/reactos/lib/ntdll/csr/api.c b/reactos/lib/ntdll/csr/api.c index 8ec3d0ebb2e..96634598cb3 100644 --- a/reactos/lib/ntdll/csr/api.c +++ b/reactos/lib/ntdll/csr/api.c @@ -1,4 +1,4 @@ -/* $Id: api.c,v 1.9 2001/05/02 22:23:00 ekohl Exp $ +/* $Id: api.c,v 1.10 2001/06/17 09:24:04 ekohl Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -10,6 +10,7 @@ #include #include +#include #include #include @@ -86,6 +87,12 @@ CsrClientConnectToServer(VOID) return(STATUS_SUCCESS); } +VOID STDCALL +CsrIdentifyAlertableThread(VOID) +{ + /* FIXME: notify csrss that current thread is alertable */ +} + NTSTATUS STDCALL CsrNewThread(VOID) { @@ -102,4 +109,49 @@ CsrSetPriorityClass(HANDLE Process, return (STATUS_NOT_IMPLEMENTED); } +VOID STDCALL +CsrProbeForRead(IN CONST PVOID Address, + IN ULONG Length, + IN ULONG Alignment) +{ + PUCHAR Pointer; + UCHAR Data; + + if (Length == 0) + return; + + if ((ULONG)Address & (Alignment - 1)) + RtlRaiseStatus(STATUS_DATATYPE_MISALIGNMENT); + + Pointer = (PUCHAR)Address; + Data = *Pointer; + Pointer = (PUCHAR)((ULONG)Address + Length -1); + Data = *Pointer; +} + +VOID STDCALL +CsrProbeForWrite(IN CONST PVOID Address, + IN ULONG Length, + IN ULONG Alignment) +{ + PUCHAR Pointer; + UCHAR Data; + + if (Length == 0) + return; + + if ((ULONG)Address & (Alignment - 1)) + RtlRaiseStatus(STATUS_DATATYPE_MISALIGNMENT); + +// if (Address >= MmUserProbeAddress) +// RtlRaiseStatus(STATUS_ACCESS_VIOLATION); + + Pointer = (PUCHAR)Address; + Data = *Pointer; + *Pointer = Data; + Pointer = (PUCHAR)((ULONG)Address + Length -1); + Data = *Pointer; + *Pointer = Data; +} + /* EOF */ diff --git a/reactos/lib/ntdll/csr/capture.c b/reactos/lib/ntdll/csr/capture.c index 35dc7fa9dc8..e4542b7a042 100644 --- a/reactos/lib/ntdll/csr/capture.c +++ b/reactos/lib/ntdll/csr/capture.c @@ -1,4 +1,4 @@ -/* $Id: capture.c,v 1.1 2001/06/11 20:36:44 ea Exp $ +/* $Id: capture.c,v 1.2 2001/06/17 09:24:04 ekohl Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -34,9 +34,37 @@ STDCALL CsrAllocateCaptureBuffer ( return NULL; } +VOID STDCALL +CsrAllocateCapturePointer(ULONG Unknown0, + ULONG Unknown1, + ULONG Unknown2) +{ + +} + +VOID STDCALL +CsrCaptureMessageBuffer(ULONG Unknown0, + ULONG Unknown1, + ULONG Unknown2, + ULONG Unknown3) +{ + +} + BOOLEAN STDCALL CsrFreeCaptureBuffer (PVOID CaptureBuffer) { return RtlFreeHeap (hCaptureHeap, 0, CaptureBuffer); } +PLARGE_INTEGER STDCALL +CsrCaptureTimeout(LONG Milliseconds, + PLARGE_INTEGER Timeout) +{ + if (Milliseconds == -1) + return NULL; + + Timeout->QuadPart = Milliseconds * -100000; + return Timeout; +} + /* EOF */ diff --git a/reactos/lib/ntdll/def/ntdll.def b/reactos/lib/ntdll/def/ntdll.def index a3669aae3c4..3c7fcc07998 100644 --- a/reactos/lib/ntdll/def/ntdll.def +++ b/reactos/lib/ntdll/def/ntdll.def @@ -1,4 +1,4 @@ -; $Id: ntdll.def,v 1.73 2001/05/30 20:01:58 ekohl Exp $ +; $Id: ntdll.def,v 1.74 2001/06/17 09:25:03 ekohl Exp $ ; ; ReactOS Operating System ; @@ -14,10 +14,10 @@ EXPORTS CsrClientCallServer@16 CsrClientConnectToServer@0 ;CsrFreeCaptureBuffer -;CsrIdentifyAlertableThread +CsrIdentifyAlertableThread@0 CsrNewThread@0 -;CsrProbeForRead -;CsrProbeForWrite +CsrProbeForRead@12 +CsrProbeForWrite@12 CsrSetPriorityClass@8 DbgBreakPoint@0 DbgPrint diff --git a/reactos/lib/ntdll/def/ntdll.edf b/reactos/lib/ntdll/def/ntdll.edf index 97921f59b80..69834fa575d 100644 --- a/reactos/lib/ntdll/def/ntdll.edf +++ b/reactos/lib/ntdll/def/ntdll.edf @@ -1,4 +1,4 @@ -; $Id: ntdll.edf,v 1.62 2001/05/30 20:01:58 ekohl Exp $ +; $Id: ntdll.edf,v 1.63 2001/06/17 09:25:03 ekohl Exp $ ; ; ReactOS Operating System ; @@ -14,10 +14,10 @@ EXPORTS CsrClientCallServer=CsrClientCallServer@16 CsrClientConnectToServer=CsrClientConnectToServer@0 ;CsrFreeCaptureBuffer -;CsrIdentifyAlertableThread +CsrIdentifyAlertableThread=CsrIdentifyAlertableThread@0 CsrNewThread=CsrNewThread@0 -;CsrProbeForRead -;CsrProbeForWrite +CsrProbeForRead=CsrProbeForRead@12 +CsrProbeForWrite=CsrProbeForWrite@12 CsrSetPriorityClass=CsrSetPriorityClass@8 DbgBreakPoint=DbgBreakPoint@0 DbgPrint