Implemented a few trivial ntdll functions that have been added in
recent Windows versions.
This commit is contained in:
parent
dcc2d6c254
commit
55ad6cc520
|
@ -619,7 +619,7 @@
|
|||
@ stub RtlGetCompressionWorkSpaceSize
|
||||
@ stdcall RtlGetControlSecurityDescriptor(ptr ptr ptr)
|
||||
@ stdcall RtlGetCurrentDirectory_U(long ptr)
|
||||
# @ stub RtlGetCurrentPeb
|
||||
@ stdcall RtlGetCurrentPeb()
|
||||
@ stdcall RtlGetDaclSecurityDescriptor(ptr ptr ptr ptr)
|
||||
@ stub RtlGetElementGenericTable
|
||||
# @ stub RtlGetElementGenericTableAvl
|
||||
|
@ -1254,7 +1254,7 @@
|
|||
@ cdecl _i64tow(long long ptr long)
|
||||
@ cdecl _itoa(long ptr long)
|
||||
@ cdecl _itow(long ptr long)
|
||||
# @ stub _lfind
|
||||
@ cdecl _lfind(ptr ptr ptr long ptr) lfind
|
||||
@ cdecl _ltoa(long ptr long)
|
||||
@ cdecl _ltow(long ptr long)
|
||||
@ cdecl _memccpy(ptr ptr long long) memccpy
|
||||
|
@ -1286,19 +1286,19 @@
|
|||
@ cdecl atan(double)
|
||||
@ cdecl atoi(str)
|
||||
@ cdecl atol(str)
|
||||
# @ stub bsearch
|
||||
@ cdecl bsearch(ptr ptr long long ptr)
|
||||
@ cdecl ceil(double)
|
||||
@ cdecl cos(double)
|
||||
@ cdecl fabs(double)
|
||||
@ cdecl floor(double)
|
||||
# @ stub isalnum
|
||||
@ cdecl isalnum(long)
|
||||
@ cdecl isalpha(long)
|
||||
# @ stub iscntrl
|
||||
@ cdecl iscntrl(long)
|
||||
@ cdecl isdigit(long)
|
||||
# @ stub isgraph
|
||||
@ cdecl isgraph(long)
|
||||
@ cdecl islower(long)
|
||||
@ cdecl isprint(long)
|
||||
# @ stub ispunct
|
||||
@ cdecl ispunct(long)
|
||||
@ cdecl isspace(long)
|
||||
@ cdecl isupper(long)
|
||||
@ cdecl iswalpha(long) NTDLL_iswalpha
|
||||
|
@ -1343,8 +1343,8 @@
|
|||
@ cdecl toupper(long)
|
||||
@ cdecl towlower(long) NTDLL_towlower
|
||||
@ cdecl towupper(long) NTDLL_towupper
|
||||
# @ stub vDbgPrintEx
|
||||
# @ stub vDbgPrintExWithPrefix
|
||||
@ stdcall vDbgPrintEx(long long str ptr)
|
||||
@ stdcall vDbgPrintExWithPrefix(str long long str ptr)
|
||||
@ cdecl vsprintf(ptr str ptr)
|
||||
@ cdecl wcscat(wstr wstr) NTDLL_wcscat
|
||||
@ cdecl wcschr(wstr long) NTDLL_wcschr
|
||||
|
|
|
@ -60,6 +60,15 @@ NTSTATUS WINAPI NtTerminateProcess( HANDLE handle, LONG exit_code )
|
|||
return ret;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* RtlGetCurrentPeb [NTDLL.@]
|
||||
*
|
||||
*/
|
||||
PEB * WINAPI RtlGetCurrentPeb(void)
|
||||
{
|
||||
return NtCurrentTeb()->Peb;
|
||||
}
|
||||
|
||||
#define UNIMPLEMENTED_INFO_CLASS(c) \
|
||||
case c: \
|
||||
FIXME("(process=%p) Unimplemented information class: " #c "\n", ProcessHandle); \
|
||||
|
|
|
@ -314,19 +314,39 @@ NTSTATUS WINAPIV DbgPrint(LPCSTR fmt, ...)
|
|||
*/
|
||||
NTSTATUS WINAPIV DbgPrintEx(ULONG iComponentId, ULONG Level, LPCSTR fmt, ...)
|
||||
{
|
||||
char buf[1024];
|
||||
NTSTATUS ret;
|
||||
va_list args;
|
||||
|
||||
va_start(args, fmt);
|
||||
vsprintf(buf, fmt, args);
|
||||
ret = vDbgPrintEx(iComponentId, Level, fmt, args);
|
||||
va_end(args);
|
||||
return ret;
|
||||
}
|
||||
|
||||
switch (Level & DPFLTR_MASK) {
|
||||
case DPFLTR_ERROR_LEVEL: ERR("%lx: %s", iComponentId, buf); break;
|
||||
case DPFLTR_WARNING_LEVEL: WARN("%lx: %s", iComponentId, buf); break;
|
||||
/******************************************************************************
|
||||
* vDbgPrintEx [NTDLL.@]
|
||||
*/
|
||||
NTSTATUS WINAPI vDbgPrintEx( ULONG id, ULONG level, LPCSTR fmt, va_list args )
|
||||
{
|
||||
return vDbgPrintExWithPrefix( "", id, level, fmt, args );
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* vDbgPrintExWithPrefix [NTDLL.@]
|
||||
*/
|
||||
NTSTATUS WINAPI vDbgPrintExWithPrefix( LPCSTR prefix, ULONG id, ULONG level, LPCSTR fmt, va_list args )
|
||||
{
|
||||
char buf[1024];
|
||||
|
||||
vsprintf(buf, fmt, args);
|
||||
|
||||
switch (level & DPFLTR_MASK)
|
||||
{
|
||||
case DPFLTR_ERROR_LEVEL: ERR("%s%lx: %s", prefix, id, buf); break;
|
||||
case DPFLTR_WARNING_LEVEL: WARN("%s%lx: %s", prefix, id, buf); break;
|
||||
case DPFLTR_TRACE_LEVEL:
|
||||
case DPFLTR_INFO_LEVEL:
|
||||
default: TRACE("%lx: %s", iComponentId, buf); break;
|
||||
default: TRACE("%s%lx: %s", prefix, id, buf); break;
|
||||
}
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
|
|
@ -2020,6 +2020,7 @@ void WINAPI RtlFreeUnicodeString(PUNICODE_STRING);
|
|||
NTSTATUS WINAPI RtlGetAce(PACL,DWORD,LPVOID *);
|
||||
NTSTATUS WINAPI RtlGetControlSecurityDescriptor(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR_CONTROL,LPDWORD);
|
||||
NTSTATUS WINAPI RtlGetCurrentDirectory_U(ULONG, LPWSTR);
|
||||
PEB * WINAPI RtlGetCurrentPeb(void);
|
||||
NTSTATUS WINAPI RtlGetDaclSecurityDescriptor(PSECURITY_DESCRIPTOR,PBOOLEAN,PACL *,PBOOLEAN);
|
||||
ULONG WINAPI RtlGetFullPathName_U(PCWSTR,ULONG,PWSTR,PWSTR*);
|
||||
NTSTATUS WINAPI RtlGetGroupSecurityDescriptor(PSECURITY_DESCRIPTOR,PSID *,PBOOLEAN);
|
||||
|
@ -2179,6 +2180,9 @@ NTSTATUS WINAPI RtlpNtCreateKey(PHANDLE,ACCESS_MASK,const OBJECT_ATTRIBUTES*,UL
|
|||
NTSTATUS WINAPI RtlpWaitForCriticalSection(RTL_CRITICAL_SECTION *);
|
||||
NTSTATUS WINAPI RtlpUnWaitCriticalSection(RTL_CRITICAL_SECTION *);
|
||||
|
||||
NTSTATUS WINAPI vDbgPrintEx(ULONG,ULONG,LPCSTR,va_list);
|
||||
NTSTATUS WINAPI vDbgPrintExWithPrefix(LPCSTR,ULONG,ULONG,LPCSTR,va_list);
|
||||
|
||||
/* Wine internal functions */
|
||||
|
||||
extern NTSTATUS wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRING *unix_name_ret,
|
||||
|
|
Loading…
Reference in New Issue