Commit Graph

433 Commits

Author SHA1 Message Date
Alexandre Julliard 96508ad686 Moved return value handling to the individual relay thunks so that we
only need one version of wine_call_from_16.
Patch the wine_call_from_16 address along with the cs value directly
in the 16-bit code segment to avoid the need for special magic in the
import thunks.
2005-09-18 12:25:22 +00:00
Christian Lupien 112115bd22 Avoid overflow in the read file limit check. 2005-09-18 11:11:36 +00:00
Alexandre Julliard d3dba4e56c Fixed gcc 4.0 warnings. 2005-09-12 10:52:38 +00:00
Alexandre Julliard 20a1a203c6 Use a more portable scheme for storing the name of a critical
section.
2005-09-09 10:19:44 +00:00
Mike McCormack 93ab695a5c Fix gcc 4.0 warnings. 2005-08-26 08:53:31 +00:00
Alexandre Julliard 49b7fdcfc0 Removed the broken mmap64 configure check, and moved the
_FILE_OFFSET_BITS define to wine/port.h. Made sure that all files that
need the define include it.
2005-08-03 21:25:10 +00:00
Stefan Huehner 17ed5537e7 Fix some more -Wmissing-declarations warnings. 2005-07-05 11:05:50 +00:00
Alexandre Julliard ab3d0794ae Moved port configuration to HKCU\Software\Wine\VDM\ppdev. 2005-06-27 18:48:24 +00:00
Alexandre Julliard cc7d74fdc7 Moved I/O port configuration to HKCU\Software\Wine\VDM\Ports. 2005-06-27 18:47:53 +00:00
Stefan Huehner 863a4b1488 Fix some more -Wstrict-prototypes warnings. 2005-06-21 20:53:13 +00:00
Mike McCormack 5b2d5fd758 Use HANDLE instead of HKEY in the NT API. 2005-06-17 13:58:33 +00:00
Stefan Huehner 03cc8c4181 Remove some -Wstrict-prototypes warnings. 2005-06-17 10:11:37 +00:00
Alexandre Julliard c913efa244 Hardcode the location of config.sys, no need for a config parameter
for that.
2005-06-14 11:48:57 +00:00
Alexandre Julliard 2e4bca9db5 Added magic comments to all Wine-specific registry accesses to make
them easier to grep.
2005-06-13 18:56:00 +00:00
Alexandre Julliard f231ef560e Removed references to obsolete configuration entries. 2005-06-13 18:48:09 +00:00
Alexandre Julliard bd000a0203 Removed some unnecessary inclusions of thread.h 2005-06-06 20:13:08 +00:00
Alexandre Julliard a46003c436 Revert previous patch, we still need the winedos import lib for now. 2005-05-19 21:18:53 +00:00
Alexandre Julliard 8aa102baef We no longer need a winedos import library. 2005-05-19 14:25:34 +00:00
Alexandre Julliard 84259840eb Refuse to load if 16-bit support is missing. 2005-05-19 14:21:02 +00:00
Alexandre Julliard 95086f45a4 Moved data structures for 16-bit relay calls to winbase16.h and
removed builtin16.h.
2005-05-16 09:19:18 +00:00
Eric Pouech 6246c2d4c4 Get rid of include/miscemu.h. 2005-05-10 16:01:38 +00:00
Eric Pouech 16df50efbe Moved DOS memory handling to winedos. 2005-05-10 15:22:09 +00:00
Alexandre Julliard 34fa35dc99 Added rules for building import libraries in the individual dll
makefiles, and added support for building a .def.a static import
library too.
2005-05-09 14:42:30 +00:00
Alexandre Julliard d62356aa1e Added rules to build import libraries in the individual dll makefiles.
Generate import libraries with the right name right away instead of
using an intermediate .spec.def file.
2005-05-07 12:39:52 +00:00
Francois Gouget 821d4c4645 Fix nativeapi.pm so it knows about AC_HEADER_STAT().
Make the error message about unexpected '#ifdef HAVE_XXX' clearer.
Protect sys/stat.h #includes with the corresponding '#ifdef HAVE_XXX'
check.
2005-05-06 16:22:54 +00:00
Rein Klazes 1e43a90727 - In MZ_DoLoadImage if an environment segment is specified in the
parameter block, use that and do not inherit from the calling
  process.
- Call FreeEnvironmentStrings when the strings are no longer used.
2005-05-05 10:32:54 +00:00
Eric Pouech 1575c940ef - delayed initialisation of BIOS and SYSTEM information until someone
actually needs it
- now using some manifest constants to make code clearer
2005-04-27 11:08:47 +00:00
Peter Berg Larsen 6aefbc0934 Strncpy elimination. 2005-04-18 15:36:20 +00:00
Peter Berg Larsen 6e3bcb5a54 Replace strncpy with memcpy or lstrcpyn. 2005-04-18 10:30:55 +00:00
Francois Gouget fbb3343547 Assorted spelling fixes. 2005-03-02 13:53:50 +00:00
Francois Gouget 4d801b66e6 Assorted spelling fixes. 2005-02-10 19:19:35 +00:00
Rein Klazes b08f958157 In int21_ioctl - get device data-, set the "is console" bits if the
device handle is a tty or a proper console io handle.
2005-01-14 16:21:07 +00:00
Mike McCormack 4a0f999859 Use CreateEventW in preference to CreateEventA for unnamed events. 2005-01-07 15:40:09 +00:00
Diego Pettenò e07a95688d Get rid of DPRINTF. 2005-01-03 20:04:54 +00:00
Michael Stefaniuc 5ad7d858e0 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2004-12-23 17:06:43 +00:00
Eric Pouech bcfa5b0900 ReadFile and WriteFile must be passed a parameter for the number of
handled bytes when no overlapped operation is done.
2004-12-22 18:38:31 +00:00
Eric Pouech 4056d7ef8c Fixed some errors in function prototypes. 2004-12-13 21:19:01 +00:00
Eric Pouech eefb72c826 Fixed copy&paste error. 2004-12-13 12:04:14 +00:00
Eric Pouech 0a258964c2 Const correctness fixes. 2004-11-30 21:38:57 +00:00
Francois Gouget 3bb5b093e8 Assorted spelling fixes. 2004-10-22 22:27:51 +00:00
Markus Amsler f56618a281 Push on stack in 16 bit mode with segment wrap around. 2004-10-18 22:34:02 +00:00
Markus Amsler 5106ee4a5d Initialize .COM stack. 2004-10-18 21:19:57 +00:00
Hans Leidekker 719a789792 Fix signed/unsigned comparison warnings. 2004-09-22 02:46:38 +00:00
Jukka Heinonen 36420ef44a Added support for int33 show/hide mouse cursor calls. 2004-09-20 19:11:30 +00:00
Markus Amsler 843e58d3bb Respect given buffer size in GET EXTENDED COUNTRY INFORMATION. 2004-09-08 19:05:43 +00:00
Markus Amsler c9b7791198 Fix filename terminator table, correct exclude_last value. 2004-09-07 22:45:58 +00:00
Rein Klazes d1993fb398 Fix compile error with include files from Linux 2.6.7+. 2004-09-07 22:44:34 +00:00
Andreas Mohr 6c3ef7e77d - fix int21 block device read/write
- moved device block access log messages to inner function used by two
  different places
- removed bogus CloseHandle()
2004-09-07 20:26:58 +00:00
Alexandre Julliard 6a27b48895 Fd type is no longer used, get rid of it. 2004-08-18 00:04:58 +00:00
Markus Amsler 9af457edd8 Add DOS editing key support in BUFFERED INPUT. 2004-08-14 00:49:39 +00:00
Markus Amsler ff828161fd Make FINDFIRST working with /. 2004-08-13 00:39:58 +00:00
Markus Amsler f89e115867 Make environment variables uppercase. 2004-08-13 00:39:16 +00:00
Alexandre Julliard b459952144 Avoid some non-portable makefile constructs, and get rid of the
ALTNAMES variable.
2004-08-11 23:59:06 +00:00
Markus Amsler bd97e85922 Fix EXEC function 01 (load but don't execute): initial ax has to be on
child's stack.
2004-08-09 23:39:40 +00:00
Markus Amsler 448dc4fa1e Fixed drive mapping in GET ALLOCATION. 2004-08-09 23:39:12 +00:00
Markus Amsler b5b8810e99 Pass debug exceptions to winedos. 2004-08-04 19:08:19 +00:00
Marcus Meissner f4c813f74b Remove lvalue casts that are no longer supported. 2004-07-12 19:53:24 +00:00
Alexandre Julliard 225c6d2cee Check for non-existent directory in INT21_SetCurrentDirectory to
return a proper error when the directory is not on the current drive.
2004-06-17 04:26:17 +00:00
Rein Klazes a1e8ba9fc2 In INT21_GetFreeDiskSpace adjust the sectors-per-cluster value to make
the total number of clusters fit in a 16 bit register.
2004-06-03 23:20:35 +00:00
Jukka Heinonen 6844c3b59b Implement DOS7 canonicalize path function as a conversion to short
file name.
2004-04-26 20:05:30 +00:00
Alexandre Julliard 73d9e1a62f Fixed/updated the file attributes defines. 2004-04-19 23:11:31 +00:00
Alexandre Julliard bd1fdeddaa Update the drive environment strings when changing the current
directory from 16-bit or DOS code.
2004-04-16 00:08:11 +00:00
Alexandre Julliard 1cb0cf4ced Moved wine_get_unix_file_name implementation to ntdll, and changed it
to return an allocated buffer instead of a fixed size one.
2004-04-14 19:40:53 +00:00
Alexandre Julliard 1a833442a1 Replaced create_file server requests by a call to NtCreateFile. 2004-04-14 04:31:55 +00:00
Alexandre Julliard 49b2f6d964 Get rid of the removable media handling in the server. 2004-04-06 23:41:01 +00:00
Florian Goth f5a7f66818 Added some more stubs after examining the dosbox source code. 2004-04-06 20:14:09 +00:00
Florian Goth 37f5166bf4 Added some stubs. 2004-03-30 20:43:00 +00:00
Florian Goth cc96d67aee Added stubs for a few functions. 2004-03-25 05:28:54 +00:00
Alexandre Julliard 9e4ed6460c .spec.c files are no longer used for 32-bit dlls. 2004-03-24 03:36:44 +00:00
Alexandre Julliard 22508e576f FindFirstFile can return an empty short name if the long name is a
valid DOS name, fixed callers to handle that properly.
2004-03-17 01:50:27 +00:00
Alexandre Julliard 014099caf5 Changed the create_file server request to take NtCreateFile flags
instead of CreateFileW ones (based on a patch by Eric Pouech).
2004-03-12 01:56:49 +00:00
Alexandre Julliard 8045ad5c0e Removed some unnecessary definitions from file.h.
Got rid of drive.h.
2004-03-09 23:51:02 +00:00
Alexandre Julliard e8a339c1d2 Portability fixes for LSB compatibility. 2004-03-01 21:32:02 +00:00
Alexandre Julliard 16de1f7aff Changed handling of special DOS devices to use real file handles
instead of the server device object.
2004-02-24 01:07:52 +00:00
Uwe Bonnes f31a3204ca IO_pp_outp: Allow to switch direction of the printer port. 2004-02-24 00:59:19 +00:00
Patrik Stridvall ede82e3055 Fixed some issues found by winapi_check. 2004-02-20 20:19:23 +00:00
Ge van Geldorp 399901e054 Rename LARGE_INTEGER and ULARGE_INTEGER members "s" to "u" to conform
with PSDK.
2004-01-23 01:51:33 +00:00
Michael Stefaniuc f44b5c46e8 Fixed DOS EXE loader for the case where we realy have only 4 bytes on
the last page of the exe.
2004-01-20 01:25:17 +00:00
Eric Pouech 768008fa20 - got rid of FILE_Dup2 export from kernel32
- move all dos handle related code into dlls/kernel32
2004-01-14 04:34:20 +00:00
Alexandre Julliard e8283089cb Get rid of no longer needed WINE_PACKED define. 2004-01-09 22:18:49 +00:00
Michael Stefaniuc 6c34235f3e - add VESA mode 0x6a (same as 0x102)
- add a macro to check if a mode is a VESA mode
- output the unsupported VGA mode in hex (all VGA/VESA docs use hex
  for that)
2004-01-09 05:03:43 +00:00
Francois Gouget 640cc3f3e1 Assorted spelling fixes. 2004-01-06 22:08:33 +00:00
Eric Pouech 5bf3a2669b Made wine_get_unix_file_name take a Unicode string pointer. 2004-01-05 23:42:09 +00:00
Michael Stefaniuc 32c7454d75 Fill in the color MaskSize and FieldPosition fields in the
ModeInfoBlock.
2004-01-02 21:08:41 +00:00
Michael Stefaniuc b6de8b9dbc Use a struct as specified in the VBE 3.0 standard for the
ModeInfoBlock. Code wise this is a NOP.
2004-01-02 20:45:39 +00:00
Michael Stefaniuc 56f85215f9 Set the "bytes per scan line" field when generating the mode info
block.
2004-01-02 20:11:03 +00:00
Alexandre Julliard 04ecca54a1 Use wine_server_release_fd() instead of close() everywhere we use
wine_server_handle_to_fd().
A few minor winsock cleanups.
2003-12-02 04:19:56 +00:00
Jukka Heinonen cf1b653596 Add upper limit for the number of pending timer interrupts.
Check if timer has been stuck and issue an error to user.
Fix handling of timer period zero.
2003-12-01 22:37:15 +00:00
Alexandre Julliard 402b79a1e8 Porting fixes. 2003-11-27 00:59:36 +00:00
Steven Edwards cfcc449324 Porting fixes. 2003-11-26 22:29:30 +00:00
Uwe Bonnes 111b1cbf68 INT21_GetFreeDiskSpace(): The drive parameter is found in the DL
register.
2003-11-25 03:26:14 +00:00
Eric Pouech ff0365290b Got rid of DRIVE_OpenDevice, and replaced it with Win32 equivalents. 2003-11-25 01:51:07 +00:00
Alexandre Julliard 436eda3071 Removed task.h. 2003-11-25 00:42:26 +00:00
Alexandre Julliard 204847e8f6 Use the wine_ldt_* functions directly in winedos instead of calling
SELECTOR_AllocBlock.
2003-11-18 00:06:15 +00:00
Alexandre Julliard d868549754 Moved toolhelp.h to dlls/kernel. 2003-11-17 20:49:45 +00:00
Alexandre Julliard f9be2f3d21 Removed some unnecessary includes. 2003-11-17 20:31:29 +00:00
Alexandre Julliard 8fb98a41e0 Added wine_ldt_is_system() to replace the IS_SELECTOR_SYSTEM macro,
and stop exporting the WINE_LDT_FIRST_ENTRY constant.
2003-11-17 20:12:56 +00:00
Alexandre Julliard e983652363 Moved a number of DOS definitions out of the global headers and into
winedos private files. Removed the msdos.h header.
2003-11-15 00:13:20 +00:00
Alexandre Julliard adfa5e101f Repaired INT21_FindFirst/FindNext. 2003-11-14 06:22:32 +00:00
Eric Pouech 8ca6cadab1 - moved the remaining of int21 calls to dlls/winedos
- disabled drive enabling/disabling as well as disk serial number
  writing (for DLL separation issues)
- added volume management prototypes to include/winbase.h
- started DefineDosDevice (needed by first item in this list)
- removed int21 specific code from dlls/kernel
2003-11-14 04:54:39 +00:00
Jukka Heinonen d7ee5f3f31 Fix race in real mode event handling.
Merge real mode pending event checking routines.
Remove some obsolete code.
2003-11-11 00:44:10 +00:00
Alexandre Julliard 47f62a402a Set %fs and %gs in the register context to their current value when
calling 16-bit code.
2003-11-05 00:46:44 +00:00
Jukka Heinonen 02a23461ae Implement fat32 extended free space function.
Make fat32 calls reset carry flag explicitly.
2003-11-03 22:13:25 +00:00
Jukka Heinonen 6b47f11db6 Clean up mouse driver implementation. 2003-10-27 22:06:27 +00:00
Jukka Heinonen 181a7cca2b Moved drive parameter block (DPB) routines to winedos. 2003-10-27 22:06:10 +00:00
Rolf Kalbermatter 76f13deb26 Use INVALID_FILE_ATTRIBUTES to test for failure of
GetFileAttributesA/W and not -1 or 0xFFFFFFFF.
2003-10-16 19:12:49 +00:00
Jukka Heinonen 46f29944c3 Remove races from DPMI async event handling. 2003-10-14 05:20:34 +00:00
Dimitrie O. Paun fbdfd910c1 Remove SYMBOLFILE and LDDLLFLAGS from Makefiles. 2003-10-11 01:09:15 +00:00
Oleg Prokhorov 947c61e4f7 Avoid HeapReAlloc of a NULL pointer. 2003-10-09 19:49:05 +00:00
Mike McCormack 8365577125 Don't share some protected mode interrupts in winedos. 2003-10-08 19:07:45 +00:00
Jukka Heinonen ca2902f3d1 Use correct pointer when accessing real mode interrupt vectors under
Win16.
2003-10-07 03:32:03 +00:00
Jukka Heinonen d2936e6ab0 Reboot (int19) under DOS now does ExitProcess.
Made BIOS reboot vector call int19.
2003-10-04 03:06:18 +00:00
Jukka Heinonen abbcf41325 Use correct linear pointer when accessing BIOS data area. 2003-09-30 00:22:12 +00:00
Michael Stefaniuc 0bfdc5554c Silence the FIXME produced by an install check of MVSOUND.SYS. 2003-09-22 19:33:07 +00:00
Michael Stefaniuc 11346f94d1 Silence the FIXME's produced by a check for a dos32 extender. 2003-09-22 19:32:51 +00:00
Jukka Heinonen 23503179dc When entering protected mode, V86 flag must be clear. 2003-09-22 19:32:03 +00:00
Alexandre Julliard 9eb1d2c7fa Moved I/O port handling to dlls/winedos. 2003-09-17 22:45:46 +00:00
Alexandre Julliard add0c5850b Use WOWCallback16Ex to switch to vm86 mode so that we can setup a
proper exception handler and handle instruction emulation.
2003-09-17 20:23:33 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Sylvain Petreolle f20026e7eb Changed some functions to reset CFLAG on success.
Added some traces.
2003-09-03 00:09:29 +00:00
Michael Stefaniuc 8a4f2adace int33 21h is identical to int33 00h. 2003-09-02 00:58:42 +00:00
Jukka Heinonen 7fb4957873 Make DOS process exit using ExitProcess instead of ExitThread.
Make calling DOS exit functions from DPMI either return to StartPM or
print error message if not allowed by DPMI specification.
2003-09-02 00:52:36 +00:00
Jukka Heinonen 0a1fa89f33 Add support for specific EOI PIC command. 2003-09-01 23:55:53 +00:00
Jukka Heinonen ec42ea4dfb Workaround implemented for passing faked mickeys to mouse callback
routine.
2003-08-29 22:13:27 +00:00
Jukka Heinonen f68017b851 Allow application to use VGA window that overlaps framebuffer only
partially.
2003-08-29 22:13:11 +00:00
Alexandre Julliard 7df1b9e03a Start using the exported TEB structure from winternl.h where
possible.
2003-08-28 19:57:35 +00:00
Alexandre Julliard bf97962a51 Avoid including stackframe.h if it's not needed. 2003-08-27 02:52:17 +00:00
Jukka Heinonen be3b2569c7 Make all users of DOSVM_Enter explicitly set V86 flag.
Fix mouse relay stack usage in protected mode.
Raw mode switch now handles interrupt flag correctly.
2003-08-25 01:01:01 +00:00
Alexandre Julliard d631f30945 Fixed copy/paste error in WOWCallback16Ex call (spotted by Dmitry
Timoshkov).
2003-08-25 00:54:24 +00:00
Jukka Heinonen 9adb6f2e3f Replace some magic numbers with symbols.
Add sanity checks so that VGA window cannot be used to access memory
outside framebuffer.
2003-08-25 00:53:35 +00:00
Alexandre Julliard 3a5b7cf105 Extended WOWCallback16Ex to support register functions too. This
allows simplifying the wine_call_to_16 assembly code by moving part of
it to C code, and getting rid of the extra kernel exports.
2003-08-23 23:30:51 +00:00
Jukka Heinonen fbbe6a43aa Make FPU emulation use CS:IP when determining location of calling
software interrupt.
2003-08-20 18:17:39 +00:00
Jukka Heinonen 37925eaf7b Remove unnecessary __wine_call_from_16_regs call frame management code
from raw mode switch handler.
2003-08-20 18:17:23 +00:00
Jukka Heinonen 32e929c0da When forcing call to DOS relay from protected mode, make sure that
relay sees original stack and code pointers. Make it possible for DOS
relay to modify code and stack pointers.
2003-08-19 00:59:23 +00:00
Alexandre Julliard ef94e40cc1 Added missing \n in TRACE calls. 2003-08-18 20:04:27 +00:00
Jukka Heinonen 215a0d6f3e Fix CPU flag handling when internal interrupts are branched to. 2003-08-18 19:52:28 +00:00
Alexandre Julliard 19b6a49845 Allocate DebugInfo field for all critical sections (based on a patch
by Alex Pasadyn).
Get rid of the Wine-specific CRITICAL_SECTION_INIT macro.
2003-08-12 23:50:54 +00:00
Patrik Stridvall ba78aac406 Fixed some issues found by winapi_check. 2003-08-08 21:07:23 +00:00
Jukka Heinonen 02c67f3114 Make int1a BIOS ticks be equal to BIOS segment ticks.
Fix bugs in int1a subfunctions.
2003-07-15 20:50:34 +00:00
Jukka Heinonen 4ef7ba7247 Real mode context should always have V86 flag turned on.
Entering protected mode uses simpler and more robust virtual interrupt
flag check.
Mouse events are now received in graphics modes.
Improved tracing output of int33 handler.
2003-07-08 21:11:52 +00:00
Marcus Meissner 39d1b9c0e5 DPMI exceptions only happen on i386. 2003-07-03 18:08:04 +00:00
Jukka Heinonen 2a3ce4c425 Start processing asynchronous DOS events in DPMI mode. 2003-07-01 03:37:41 +00:00
Dmitry Timoshkov 4e1ef0c114 For all DLLs with defined DllMain and which do not require
DLL_THREAD_ATTACH/DLL_THREAD_DETACH notifications, call
DisableThreadLibraryCalls() in order to slightly improve performance
on thread creation/exiting.
2003-06-30 20:53:48 +00:00
Alexandre Julliard 2b72be546c Replace calls to WaitForMultipleObjects with a 0 count by calls to
SleepEx.
2003-06-30 02:10:19 +00:00
Jukka Heinonen 36001fe660 Make timer IRQ handler regular builtin interrupt handler instead of
using an assembler stub.
2003-06-30 02:03:48 +00:00
Gerald Pfeifer e7724ffc65 Enable all of DllMain(), even if if not MZ_SUPPORTED. 2003-06-27 19:41:10 +00:00
Sylvain Petreolle 1ce760568c Display the interrupt number in hexadecimal. 2003-06-27 19:40:29 +00:00
Gerald Pfeifer 018e3cc67b Expose part of DOSVM_SendQueuedEvents() also for platforms without
MZ_SUPPORTED.
2003-06-24 02:24:54 +00:00
Francois Gouget 17c035b684 O_RDONLY==0 but it's cleaner to pass it to DRIVE_OpenDevice() anyway. 2003-06-23 19:50:16 +00:00
Jukka Heinonen 76f93fb6bc Add IRQ acknowledge handler for internal IRQs.
Change DPMI asynchronous event handling.
Always use alternate stack in DPMI relays and check for pending events
after original stack has been restored.
2003-06-23 03:35:51 +00:00