Some csr additions

svn path=/trunk/; revision=1976
This commit is contained in:
Eric Kohl 2001-06-17 09:25:03 +00:00
parent 5a58cc8836
commit c4bb1e256b
5 changed files with 98 additions and 11 deletions

View file

@ -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 */

View file

@ -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 <ddk/ntddk.h>
#include <ntdll/csr.h>
#include <ntdll/rtl.h>
#include <string.h>
#include <csrss/csrss.h>
@ -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 */

View file

@ -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 */

View file

@ -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

View file

@ -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