ntoskrnl: Make the standard C functions available for importing.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
450f0fa696
commit
7cee5e2bdc
|
@ -1426,94 +1426,94 @@
|
|||
@ cdecl -private -arch=i386 _CIsin() msvcrt._CIsin
|
||||
@ cdecl -private -arch=i386 _CIsqrt() msvcrt._CIsqrt
|
||||
@ cdecl -private _abnormal_termination() msvcrt._abnormal_termination
|
||||
@ stdcall -private -arch=i386 -ret64 _alldiv(int64 int64)
|
||||
@ stdcall -private -arch=i386 -norelay _alldvrm(int64 int64)
|
||||
@ stdcall -private -arch=i386 -ret64 _allmul(int64 int64)
|
||||
@ stdcall -private -arch=i386 -norelay _alloca_probe()
|
||||
@ stdcall -private -arch=i386 -ret64 _allrem(int64 int64)
|
||||
@ stdcall -private -arch=i386 -ret64 _allshl(int64 long)
|
||||
@ stdcall -private -arch=i386 -ret64 _allshr(int64 long)
|
||||
@ stdcall -private -arch=i386 -ret64 _aulldiv(int64 int64)
|
||||
@ stdcall -private -arch=i386 -norelay _aulldvrm(int64 int64)
|
||||
@ stdcall -private -arch=i386 -ret64 _aullrem(int64 int64)
|
||||
@ stdcall -private -arch=i386 -ret64 _aullshr(int64 long)
|
||||
@ stdcall -private -arch=i386 -norelay _chkstk()
|
||||
@ cdecl -private -arch=i386 _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2
|
||||
@ cdecl -private -arch=i386 _except_handler3(ptr ptr ptr ptr) msvcrt._except_handler3
|
||||
@ cdecl -private -arch=i386 _global_unwind2(ptr) msvcrt._global_unwind2
|
||||
@ cdecl -private _itoa(long ptr long) msvcrt._itoa
|
||||
@ cdecl -private _itow(long ptr long) msvcrt._itow
|
||||
@ cdecl -private -arch=x86_64 _local_unwind(ptr ptr) msvcrt._local_unwind
|
||||
@ cdecl -private -arch=i386 _local_unwind2(ptr long) msvcrt._local_unwind2
|
||||
@ cdecl -private _purecall() msvcrt._purecall
|
||||
@ varargs -private _snprintf(ptr long str) msvcrt._snprintf
|
||||
@ varargs -private _snwprintf(ptr long wstr) msvcrt._snwprintf
|
||||
@ cdecl -private _stricmp(str str) NTOSKRNL__stricmp
|
||||
@ cdecl -private _strlwr(str) msvcrt._strlwr
|
||||
@ cdecl -private _strnicmp(str str long) NTOSKRNL__strnicmp
|
||||
@ cdecl -private _strnset(str long long) msvcrt._strnset
|
||||
@ cdecl -private _strrev(str) msvcrt._strrev
|
||||
@ cdecl -private _strset(str long) msvcrt._strset
|
||||
@ cdecl -private _strupr(str) msvcrt._strupr
|
||||
@ stdcall -arch=i386 -ret64 _alldiv(int64 int64)
|
||||
@ stdcall -arch=i386 -norelay _alldvrm(int64 int64)
|
||||
@ stdcall -arch=i386 -ret64 _allmul(int64 int64)
|
||||
@ stdcall -arch=i386 -norelay _alloca_probe()
|
||||
@ stdcall -arch=i386 -ret64 _allrem(int64 int64)
|
||||
@ stdcall -arch=i386 -ret64 _allshl(int64 long)
|
||||
@ stdcall -arch=i386 -ret64 _allshr(int64 long)
|
||||
@ stdcall -arch=i386 -ret64 _aulldiv(int64 int64)
|
||||
@ stdcall -arch=i386 -norelay _aulldvrm(int64 int64)
|
||||
@ stdcall -arch=i386 -ret64 _aullrem(int64 int64)
|
||||
@ stdcall -arch=i386 -ret64 _aullshr(int64 long)
|
||||
@ stdcall -arch=i386 -norelay _chkstk()
|
||||
@ cdecl -arch=i386 _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2
|
||||
@ cdecl -arch=i386 _except_handler3(ptr ptr ptr ptr) msvcrt._except_handler3
|
||||
@ cdecl -arch=i386 _global_unwind2(ptr) msvcrt._global_unwind2
|
||||
@ cdecl _itoa(long ptr long) msvcrt._itoa
|
||||
@ cdecl _itow(long ptr long) msvcrt._itow
|
||||
@ cdecl -arch=x86_64 _local_unwind(ptr ptr) msvcrt._local_unwind
|
||||
@ cdecl -arch=i386 _local_unwind2(ptr long) msvcrt._local_unwind2
|
||||
@ cdecl _purecall() msvcrt._purecall
|
||||
@ varargs _snprintf(ptr long str) msvcrt._snprintf
|
||||
@ varargs _snwprintf(ptr long wstr) msvcrt._snwprintf
|
||||
@ cdecl _stricmp(str str) NTOSKRNL__stricmp
|
||||
@ cdecl _strlwr(str) msvcrt._strlwr
|
||||
@ cdecl _strnicmp(str str long) NTOSKRNL__strnicmp
|
||||
@ cdecl _strnset(str long long) msvcrt._strnset
|
||||
@ cdecl _strrev(str) msvcrt._strrev
|
||||
@ cdecl _strset(str long) msvcrt._strset
|
||||
@ cdecl _strupr(str) msvcrt._strupr
|
||||
@ cdecl _vsnprintf(ptr long str ptr) msvcrt._vsnprintf
|
||||
@ cdecl -private _vsnwprintf(ptr long wstr ptr) msvcrt._vsnwprintf
|
||||
@ cdecl -private _wcsicmp(wstr wstr) msvcrt._wcsicmp
|
||||
@ cdecl -private _wcslwr(wstr) msvcrt._wcslwr
|
||||
@ cdecl -private _wcsnicmp(wstr wstr long) NTOSKRNL__wcsnicmp
|
||||
@ cdecl -private _wcsnset(wstr long long) msvcrt._wcsnset
|
||||
@ cdecl -private _wcsrev(wstr) msvcrt._wcsrev
|
||||
@ cdecl -private _wcsupr(wstr) msvcrt._wcsupr
|
||||
@ cdecl -private atoi(str) msvcrt.atoi
|
||||
@ cdecl -private atol(str) msvcrt.atol
|
||||
@ cdecl -private isdigit(long) msvcrt.isdigit
|
||||
@ cdecl -private islower(long) msvcrt.islower
|
||||
@ cdecl -private isprint(long) msvcrt.isprint
|
||||
@ cdecl -private isspace(long) msvcrt.isspace
|
||||
@ cdecl -private isupper(long) msvcrt.isupper
|
||||
@ cdecl -private isxdigit(long) msvcrt.isxdigit
|
||||
@ cdecl -private mbstowcs(ptr str long) msvcrt.mbstowcs
|
||||
@ cdecl -private mbtowc(ptr str long) msvcrt.mbtowc
|
||||
@ cdecl -private memchr(ptr long long) msvcrt.memchr
|
||||
@ cdecl -private memcpy(ptr ptr long) NTOSKRNL_memcpy
|
||||
@ cdecl -private memmove(ptr ptr long) msvcrt.memmove
|
||||
@ cdecl -private memset(ptr long long) NTOSKRNL_memset
|
||||
@ cdecl -private qsort(ptr long long ptr) msvcrt.qsort
|
||||
@ cdecl -private rand() msvcrt.rand
|
||||
@ varargs -private sprintf(ptr str) msvcrt.sprintf
|
||||
@ cdecl -private srand(long) msvcrt.srand
|
||||
@ cdecl -private strcat(str str) msvcrt.strcat
|
||||
@ cdecl -private strchr(str long) msvcrt.strchr
|
||||
@ cdecl -private strcmp(str str) msvcrt.strcmp
|
||||
@ cdecl -private strcpy(ptr str) msvcrt.strcpy
|
||||
@ cdecl -private strlen(str) msvcrt.strlen
|
||||
@ cdecl -private strncat(str str long) msvcrt.strncat
|
||||
@ cdecl -private strncmp(str str long) msvcrt.strncmp
|
||||
@ cdecl -private strncpy(ptr str long) msvcrt.strncpy
|
||||
@ cdecl -private strrchr(str long) msvcrt.strrchr
|
||||
@ cdecl -private strspn(str str) msvcrt.strspn
|
||||
@ cdecl -private strstr(str str) msvcrt.strstr
|
||||
@ varargs -private swprintf(ptr wstr) msvcrt.swprintf
|
||||
@ cdecl -private tolower(long) msvcrt.tolower
|
||||
@ cdecl -private toupper(long) msvcrt.toupper
|
||||
@ cdecl -private towlower(long) msvcrt.towlower
|
||||
@ cdecl -private towupper(long) msvcrt.towupper
|
||||
@ cdecl _vsnwprintf(ptr long wstr ptr) msvcrt._vsnwprintf
|
||||
@ cdecl _wcsicmp(wstr wstr) msvcrt._wcsicmp
|
||||
@ cdecl _wcslwr(wstr) msvcrt._wcslwr
|
||||
@ cdecl _wcsnicmp(wstr wstr long) NTOSKRNL__wcsnicmp
|
||||
@ cdecl _wcsnset(wstr long long) msvcrt._wcsnset
|
||||
@ cdecl _wcsrev(wstr) msvcrt._wcsrev
|
||||
@ cdecl _wcsupr(wstr) msvcrt._wcsupr
|
||||
@ cdecl atoi(str) msvcrt.atoi
|
||||
@ cdecl atol(str) msvcrt.atol
|
||||
@ cdecl isdigit(long) msvcrt.isdigit
|
||||
@ cdecl islower(long) msvcrt.islower
|
||||
@ cdecl isprint(long) msvcrt.isprint
|
||||
@ cdecl isspace(long) msvcrt.isspace
|
||||
@ cdecl isupper(long) msvcrt.isupper
|
||||
@ cdecl isxdigit(long) msvcrt.isxdigit
|
||||
@ cdecl mbstowcs(ptr str long) msvcrt.mbstowcs
|
||||
@ cdecl mbtowc(ptr str long) msvcrt.mbtowc
|
||||
@ cdecl memchr(ptr long long) msvcrt.memchr
|
||||
@ cdecl memcpy(ptr ptr long) NTOSKRNL_memcpy
|
||||
@ cdecl memmove(ptr ptr long) msvcrt.memmove
|
||||
@ cdecl memset(ptr long long) NTOSKRNL_memset
|
||||
@ cdecl qsort(ptr long long ptr) msvcrt.qsort
|
||||
@ cdecl rand() msvcrt.rand
|
||||
@ varargs sprintf(ptr str) msvcrt.sprintf
|
||||
@ cdecl srand(long) msvcrt.srand
|
||||
@ cdecl strcat(str str) msvcrt.strcat
|
||||
@ cdecl strchr(str long) msvcrt.strchr
|
||||
@ cdecl strcmp(str str) msvcrt.strcmp
|
||||
@ cdecl strcpy(ptr str) msvcrt.strcpy
|
||||
@ cdecl strlen(str) msvcrt.strlen
|
||||
@ cdecl strncat(str str long) msvcrt.strncat
|
||||
@ cdecl strncmp(str str long) msvcrt.strncmp
|
||||
@ cdecl strncpy(ptr str long) msvcrt.strncpy
|
||||
@ cdecl strrchr(str long) msvcrt.strrchr
|
||||
@ cdecl strspn(str str) msvcrt.strspn
|
||||
@ cdecl strstr(str str) msvcrt.strstr
|
||||
@ varargs swprintf(ptr wstr) msvcrt.swprintf
|
||||
@ cdecl tolower(long) msvcrt.tolower
|
||||
@ cdecl toupper(long) msvcrt.toupper
|
||||
@ cdecl towlower(long) msvcrt.towlower
|
||||
@ cdecl towupper(long) msvcrt.towupper
|
||||
@ stdcall vDbgPrintEx(long long str ptr)
|
||||
@ stdcall vDbgPrintExWithPrefix(str long long str ptr)
|
||||
@ cdecl -private vsprintf(ptr str ptr) msvcrt.vsprintf
|
||||
@ cdecl -private wcscat(wstr wstr) msvcrt.wcscat
|
||||
@ cdecl -private wcschr(wstr long) msvcrt.wcschr
|
||||
@ cdecl -private wcscmp(wstr wstr) msvcrt.wcscmp
|
||||
@ cdecl -private wcscpy(ptr wstr) msvcrt.wcscpy
|
||||
@ cdecl -private wcscspn(wstr wstr) msvcrt.wcscspn
|
||||
@ cdecl -private wcslen(wstr) msvcrt.wcslen
|
||||
@ cdecl -private wcsncat(wstr wstr long) msvcrt.wcsncat
|
||||
@ cdecl -private wcsncmp(wstr wstr long) NTOSKRNL_wcsncmp
|
||||
@ cdecl -private wcsncpy(ptr wstr long) msvcrt.wcsncpy
|
||||
@ cdecl -private wcsrchr(wstr long) msvcrt.wcsrchr
|
||||
@ cdecl -private wcsspn(wstr wstr) msvcrt.wcsspn
|
||||
@ cdecl -private wcsstr(wstr wstr) msvcrt.wcsstr
|
||||
@ cdecl -private wcstombs(ptr ptr long) msvcrt.wcstombs
|
||||
@ cdecl -private wctomb(ptr long) msvcrt.wctomb
|
||||
@ cdecl vsprintf(ptr str ptr) msvcrt.vsprintf
|
||||
@ cdecl wcscat(wstr wstr) msvcrt.wcscat
|
||||
@ cdecl wcschr(wstr long) msvcrt.wcschr
|
||||
@ cdecl wcscmp(wstr wstr) msvcrt.wcscmp
|
||||
@ cdecl wcscpy(ptr wstr) msvcrt.wcscpy
|
||||
@ cdecl wcscspn(wstr wstr) msvcrt.wcscspn
|
||||
@ cdecl wcslen(wstr) msvcrt.wcslen
|
||||
@ cdecl wcsncat(wstr wstr long) msvcrt.wcsncat
|
||||
@ cdecl wcsncmp(wstr wstr long) NTOSKRNL_wcsncmp
|
||||
@ cdecl wcsncpy(ptr wstr long) msvcrt.wcsncpy
|
||||
@ cdecl wcsrchr(wstr long) msvcrt.wcsrchr
|
||||
@ cdecl wcsspn(wstr wstr) msvcrt.wcsspn
|
||||
@ cdecl wcsstr(wstr wstr) msvcrt.wcsstr
|
||||
@ cdecl wcstombs(ptr ptr long) msvcrt.wcstombs
|
||||
@ cdecl wctomb(ptr long) msvcrt.wctomb
|
||||
|
||||
################################################################
|
||||
# Wine internal extensions
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "ntstatus.h"
|
||||
#define WIN32_NO_STATUS
|
||||
|
@ -63,13 +64,11 @@ void WINAPI ObfReferenceObject( void *obj );
|
|||
|
||||
NTSTATUS WINAPI ZwQueryInformationProcess(HANDLE,PROCESSINFOCLASS,void*,ULONG,ULONG*);
|
||||
|
||||
extern int CDECL _vsnprintf(char *str, size_t len, const char *format, __ms_va_list argptr);
|
||||
|
||||
static void kvprintf(const char *format, __ms_va_list ap)
|
||||
{
|
||||
static char buffer[512];
|
||||
IO_STATUS_BLOCK io;
|
||||
int len = _vsnprintf(buffer, sizeof(buffer), format, ap);
|
||||
int len = vsnprintf(buffer, sizeof(buffer), format, ap);
|
||||
ZwWriteFile(okfile, NULL, NULL, NULL, &io, buffer, len, NULL, NULL);
|
||||
}
|
||||
|
||||
|
@ -192,28 +191,6 @@ static int broken(int condition)
|
|||
#define todo_wine_if(is_todo) todo_if((is_todo) && running_under_wine)
|
||||
#define win_skip(...) win_skip_(__FILE__, __LINE__, __VA_ARGS__)
|
||||
|
||||
static unsigned int strlenW( const WCHAR *str )
|
||||
{
|
||||
const WCHAR *s = str;
|
||||
while (*s) s++;
|
||||
return s - str;
|
||||
}
|
||||
|
||||
static void *kmemcpy(void *dest, const void *src, SIZE_T n)
|
||||
{
|
||||
const char *s = src;
|
||||
char *d = dest;
|
||||
while (n--) *d++ = *s++;
|
||||
return dest;
|
||||
}
|
||||
|
||||
static void *kmemset(void *dest, int c, SIZE_T n)
|
||||
{
|
||||
unsigned char *d = dest;
|
||||
while (n--) *d++ = (unsigned char)c;
|
||||
return dest;
|
||||
}
|
||||
|
||||
static void *get_proc_address(const char *name)
|
||||
{
|
||||
UNICODE_STRING name_u;
|
||||
|
@ -1041,10 +1018,10 @@ static void test_ob_reference(const WCHAR *test_path)
|
|||
status = ZwCreateEvent(&event_handle, SYNCHRONIZE, &attr, NotificationEvent, TRUE);
|
||||
ok(!status, "ZwCreateEvent failed: %#x\n", status);
|
||||
|
||||
len = strlenW(test_path);
|
||||
len = wcslen(test_path);
|
||||
tmp_path = ExAllocatePool(PagedPool, len * sizeof(WCHAR) + sizeof(tmpW));
|
||||
kmemcpy(tmp_path, test_path, len * sizeof(WCHAR));
|
||||
kmemcpy(tmp_path + len, tmpW, sizeof(tmpW));
|
||||
memcpy(tmp_path, test_path, len * sizeof(WCHAR));
|
||||
memcpy(tmp_path + len, tmpW, sizeof(tmpW));
|
||||
|
||||
RtlInitUnicodeString(&pathU, tmp_path);
|
||||
attr.ObjectName = &pathU;
|
||||
|
@ -1226,7 +1203,7 @@ static void test_resource(void)
|
|||
BOOLEAN ret;
|
||||
HANDLE thread, thread2;
|
||||
|
||||
kmemset(&resource, 0xcc, sizeof(resource));
|
||||
memset(&resource, 0xcc, sizeof(resource));
|
||||
|
||||
status = ExInitializeResourceLite(&resource);
|
||||
ok(status == STATUS_SUCCESS, "got status %#x\n", status);
|
||||
|
@ -1613,7 +1590,7 @@ static NTSTATUS test_basic_ioctl(IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *
|
|||
if (length < sizeof(teststr))
|
||||
return STATUS_BUFFER_TOO_SMALL;
|
||||
|
||||
kmemcpy(buffer, teststr, sizeof(teststr));
|
||||
memcpy(buffer, teststr, sizeof(teststr));
|
||||
*info = sizeof(teststr);
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
|
|
Loading…
Reference in New Issue