| /* | |
| * WIN32S16 | |
| * DLL for Win32s | |
| * | |
| * Copyright (c) 1997 Andreas Mohr | |
| * | |
| * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | |
| * version 2.1 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 | |
| * Lesser General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU Lesser General Public | |
| * License along with this library; if not, write to the Free Software | |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| */ | |
| #include <stdarg.h> | |
| #include <string.h> | |
| #include <stdlib.h> | |
| #include "windef.h" | |
| #include "winbase.h" | |
| #include "wine/winbase16.h" | |
| #include "wine/debug.h" | |
| WINE_DEFAULT_DEBUG_CHANNEL(dll); | |
| /*********************************************************************** | |
| * BootTask (WIN32S16.2) | |
| */ | |
| void WINAPI BootTask16(void) | |
| { | |
| MESSAGE("BootTask(): should only be used by WIN32S.EXE.\n"); | |
| } | |
| /*********************************************************************** | |
| * StackLinearToSegmented (WIN32S16.43) | |
| * | |
| * Written without any docu. | |
| */ | |
| SEGPTR WINAPI StackLinearToSegmented16(WORD w1, WORD w2) | |
| { | |
| FIXME("(%d,%d):stub.\n",w1,w2); | |
| return (SEGPTR)NULL; | |
| } | |
| /*********************************************************************** | |
| * UTSelectorOffsetToLinear (WIN32S16.48) | |
| * | |
| * rough guesswork, but seems to work (I had no "reasonable" docu) | |
| */ | |
| LPVOID WINAPI UTSelectorOffsetToLinear16(SEGPTR sptr) | |
| { | |
| return MapSL(sptr); | |
| } | |
| /*********************************************************************** | |
| * UTLinearToSelectorOffset (WIN32S16.49) | |
| * | |
| * FIXME: I don't know if that's the right way to do linear -> segmented | |
| */ | |
| SEGPTR WINAPI UTLinearToSelectorOffset16(LPVOID lptr) | |
| { | |
| return (SEGPTR)lptr; | |
| } | |
| /*********************************************************************** | |
| * ContinueDebugEvent (WIN32S16.5) | |
| */ | |
| BOOL WINAPI ContinueDebugEvent16(DWORD pid, DWORD tid, DWORD status) | |
| { | |
| return ContinueDebugEvent(pid, tid, status); | |
| } | |
| /*********************************************************************** | |
| * ReadProcessMemory (WIN32S16.6) | |
| */ | |
| BOOL WINAPI ReadProcessMemory16(HANDLE process, LPCVOID addr, LPVOID buffer, | |
| DWORD size, LPDWORD bytes_read) | |
| { | |
| return ReadProcessMemory(process, addr, buffer, size, bytes_read); | |
| } | |
| /*********************************************************************** | |
| * GetLastError (WIN32S16.10) | |
| */ | |
| DWORD WINAPI GetLastError16(void) | |
| { | |
| return GetLastError(); | |
| } | |
| /*********************************************************************** | |
| * CloseHandle (WIN32S16.11) | |
| */ | |
| BOOL WINAPI CloseHandle16(HANDLE handle) | |
| { | |
| return CloseHandle(handle); | |
| } | |
| /*********************************************************************** | |
| * GetExitCodeThread (WIN32S16.13) | |
| */ | |
| BOOL WINAPI GetExitCodeThread16(HANDLE hthread, LPDWORD exitcode) | |
| { | |
| return GetExitCodeThread(hthread, exitcode); | |
| } | |
| /*********************************************************************** | |
| * VirtualQueryEx (WIN32S16.18) | |
| */ | |
| DWORD WINAPI VirtualQueryEx16(HANDLE handle, LPCVOID addr, | |
| PMEMORY_BASIC_INFORMATION info, DWORD len) | |
| { | |
| return VirtualQueryEx(handle, addr, info, len); | |
| } | |
| /*********************************************************************** | |
| * VirtualProtectEx (WIN32S16.19) | |
| */ | |
| BOOL WINAPI VirtualProtectEx16(HANDLE handle, LPVOID addr, DWORD size, | |
| DWORD new_prot, LPDWORD old_prot) | |
| { | |
| return VirtualProtectEx(handle, addr, size, new_prot, old_prot); | |
| } |