Commit Graph

455 Commits

Author SHA1 Message Date
Alexandre Julliard 61d32b4e0d Allocations do not need to be on the system heap. 2001-02-23 01:35:36 +00:00
Alexandre Julliard 5f195f8c01 Small server protocol cleanups. 2001-02-20 23:45:07 +00:00
Alexandre Julliard fe5b19d15b Fixed MEM_SYSTEM handling to avoid unmapping areas that we didn't mmap. 2001-02-20 00:52:41 +00:00
François Gouget 4188fbcb9b Misc typos in comments. 2001-02-14 21:43:06 +00:00
James Abbatiello a7faef9516 Don't require write access on the file handle to create a
copy-on-write mapping.
2001-02-12 18:07:16 +00:00
James Juran f4d5fefb0a Add <string.h> to files that needed it. 2001-01-26 20:43:40 +00:00
Andreas Mohr c9cf70d448 Some more cleanups. 2001-01-26 20:40:50 +00:00
Uwe Bonnes a8be2a5b4f MapViewOfFileEx: make the returned error dependent on the Windows
version used.
2001-01-15 22:20:30 +00:00
Alexandre Julliard 7d5bc5c3f9 Removed some direct accesses to the 16-bit task structure. 2001-01-15 20:09:09 +00:00
Alexandre Julliard efc32d1353 Added flag to differentiate file mappings and VirtualAlloc() blocks,
and reject VirtualFree() calls on file mappings.
2001-01-12 19:59:42 +00:00
François Gouget da2b6a9f26 Fixed some HFILE vs. HANDLE mismatches.
If not used the last parameter of CreateFile must be 0, not -1.
2001-01-06 01:29:18 +00:00
Alexandre Julliard 8081e5a1e5 Added handle_t type to server interface so that we can make handles
pointers later on.
Always use 0 to signal invalid handle in server requests.
2001-01-05 04:08:07 +00:00
Mike McCormack c56a79ad06 Some borken memory monitoring programs divide by dwTotalPageFile,
which probably isn't zero on windows.
2001-01-04 19:52:51 +00:00
Ulrich Weigand 6ef97439b4 Align moveable blocks if the architecture requires it. 2001-01-02 20:13:02 +00:00
Alexandre Julliard e709cdbae3 Added support for composite Unicode characters in MultiByteToWideChar
and WideCharToMultiByte.
2000-12-29 03:56:06 +00:00
Ulrich Weigand cc195924a6 Added check whether unaligned memory access is allowed.
Added macros to access unaligned WORDs / DWORDs.
2000-12-27 04:18:26 +00:00
Alexandre Julliard d549f6909e Use a separate FIFO pair for server requests that don't need to pass a
file descriptor.
Associate file descriptors with handles on the server side so that we
don't need to pass the fd every time the client wants to use it.
2000-12-22 02:04:15 +00:00
Alexandre Julliard 5801723b50 Replaced WIN16_GlobalLock16 by "official" function K32WOWGlobalLock16. 2000-12-22 01:09:26 +00:00
Dmitry Timoshkov f8b96e272a Make new edit control allocate its buffers with granularity 32 byte.
Ensure that all copied strings are 0 terminated.
2000-12-20 18:39:14 +00:00
Alexandre Julliard de25e6f07c Set last error in GlobalUnlock. 2000-12-19 23:38:13 +00:00
Patrik Stridvall 00b86a9b04 Fixed some issues found by winapi_check. 2000-12-16 21:55:05 +00:00
Alexandre Julliard 0b6a79c961 Converted enum_key_value request to the new request mechanism. 2000-12-15 20:57:00 +00:00
Alexandre Julliard 6c8edaa667 Use getpagesize() instead of VIRTUAL_GetPageSize(). 2000-12-13 20:22:47 +00:00
Alexandre Julliard 982a223f36 Replaced PTR_SEG_TO_LIN macro by exported MapSL function.
Fixed a few ptr/segptr mismatches.
Moved CONV_RECT/POINT macros to wingdi16.h.
2000-12-13 20:20:09 +00:00
Alexandre Julliard becb9a353b Moved all Wine internal definitions out of process.h. 2000-12-11 03:48:15 +00:00
Francois Gouget 519346a47e Fixed miscellaneous typos, syntactic and grammatical errors. 2000-12-02 20:18:08 +00:00
Patrik Stridvall 2b3aa616e8 Added/modified documentation for function arguments. 2000-12-01 23:58:28 +00:00
Andreas Mohr e77bdbb16a Fixed crash in UnMapLS for pointers not belonging to the segptr heap. 2000-11-30 19:58:08 +00:00
Alexandre Julliard 71d68bbae0 Use the HEAP_WINE_SEGPTR flag to specify allocations on the segptr heap.
Added a hack in MapLS to recognize such allocations and use the heap
selector in this case.
2000-11-30 01:19:51 +00:00
Andreas Mohr fa940f5989 VirtualQuery should return 0 for all addresses >= 0xc0000000. 2000-11-29 00:01:40 +00:00
Alexandre Julliard 24a62ab9b0 Got rid of the Wine internal lstrcpy* functions and of winestring.h. 2000-11-28 22:40:56 +00:00
Alexandre Julliard 8310aab3e5 Made HEAP_strdup* functions inline (temporary). 2000-11-28 22:34:27 +00:00
Dmitry Timoshkov c34fe084d5 GlobalAlloc as GlobalAlloc16 should round size to 32.
Call SetLastError in GlobalLock.
2000-11-27 01:33:25 +00:00
Alexandre Julliard 394e0eb19b Moved UTSelectorOffsetToLinear and UTLinearToSelectorOffset to
dlls/win32s.
2000-11-26 22:42:49 +00:00
Dimitrie O. Paun 0b7a7bbc06 Include config.h in files that test for constants defined in it. 2000-11-25 01:31:17 +00:00
Alexandre Julliard 914406f854 Moved LDT handling to libwine.so. Changed the interface to use the
exported LDT_ENTRY structure.
2000-11-14 01:54:49 +00:00
Alexandre Julliard 8c540c657e Replaced a few internal functions by exported ones. 2000-11-13 04:16:05 +00:00
Francois Gouget da0acca7d8 Use DUMMYxxxNAME for anonymous struct/unions. 2000-11-10 22:34:39 +00:00
Alexandre Julliard 85423c6a6b Added new library.h header for libwine definitions.
Added getpagesize() and wine_anon_mmap() portability functions.
2000-11-08 04:28:54 +00:00
Alexandre Julliard 278b3f0def Fixed 0/-1 mixup for indicating no mapping handle. 2000-11-07 20:32:08 +00:00
David Elliott 44f84b55f3 Added basic working stubs of new Windows 2000 API functions. 2000-10-29 01:24:54 +00:00
Alexandre Julliard 16e92eb3c3 Removed unused LOCAL_LockSegptr. 2000-10-29 01:23:19 +00:00
Francois Gouget ea5924c040 Return the correct value for dwTotalVirtual.
Return a more plausible value for dwAvailVirtual.
2000-10-28 00:34:29 +00:00
Alexandre Julliard ec936350f9 Fixed multibyte handling in HEAP_strdupAtoW. 2000-10-23 01:28:13 +00:00
Ulrich Weigand 2e7008cdb0 Allow freeing locked global memory handles. 2000-10-19 20:24:25 +00:00
Alexandre Julliard 57f05e1913 Converted a few more server requests to the new mechanism. 2000-10-15 00:40:25 +00:00
Guy Albertelli b111b6d28f Validate access even if wrap past address 0 for IsBadStringPtr[A|W]
and IsBad[Read|Write]Ptr.
2000-10-13 23:06:13 +00:00
Andreas Mohr 1563abe8ec - stupid spelling fixes
- some more loadorder array work
2000-10-13 20:26:52 +00:00
Andreas Mohr 411faaee96 Get rid of shared heap fixme messages.
Slightly corrected my heap commit patch (Xilinx).
2000-10-13 20:21:09 +00:00
Marcus Meissner c0e3db958d Check for buffer overflows on data returns from RegQueryValueExA. 2000-10-13 17:04:14 +00:00
Lawson Whitney 969515d07d Protect GlobalHandle() against bad parameters. 2000-10-02 22:27:37 +00:00
Andreas Mohr d23f506a94 Introduced a new arena flag called GA_DOSMEM to distinguish between
DOSMEM and normal "windows" global mem.
2000-10-02 22:16:21 +00:00
Alexandre Julliard 454355ece1 Convert NtQueryKey and NtEnumerateKey to the new request mechanism.
Fixed a few bugs.
2000-10-02 03:46:58 +00:00
Alexandre Julliard bcf393a5e5 Converted some of the registry server requests to the new request
mechanism.
2000-10-01 01:44:50 +00:00
Andreas Mohr bf69803ce3 Make sure we commit enough memory in a new subheap. 2000-09-29 21:05:33 +00:00
Alexandre Julliard 15bfcd0398 Moved $(MODULE).o rule out of Make.rules into the individual
Makefiles.
2000-09-29 00:28:25 +00:00
Alexandre Julliard d8fab2e67c Removed some of the XXX_reg macros now that we are using the standard
CONTEXT86 structure everywhere.
2000-09-25 23:53:07 +00:00
Alexandre Julliard 072dfb57e3 Removed inclusion of wine/winestring.h from winbase.h and added it to
the C files that need it.
2000-09-25 23:30:56 +00:00
Alexandre Julliard 770eb51ed5 Moved most global data out of the LPDOSTASK structure.
Allocate DPMI real-mode segments globally at startup.
Try to allocate DOS memory at address 0.
2000-09-24 20:47:50 +00:00
Gerard Patel 2a6acd3d70 Locks the virtual views linked list. 2000-09-24 19:47:39 +00:00
Andreas Mohr 0af222ceb4 Added SetLastError() in GetEnvironmentVariableA. 2000-09-22 20:58:23 +00:00
Alexandre Julliard 9edc7d0529 Misc cleanups. 2000-09-18 02:15:25 +00:00
Alexandre Julliard 6dbf67e566 Moved FILE_dommap() to memory/virtual.c (and renamed it VIRTUAL_mmap). 2000-09-18 01:44:08 +00:00
Andreas Mohr 5bb74648d8 Added VirtualAllocEx. 2000-09-16 20:50:36 +00:00
Alexandre Julliard 5bdf9b4c10 Fixed cut&paste typo. 2000-09-06 19:53:58 +00:00
Alexandre Julliard 942dcb1df6 Fixed Unicode conversion in GetAtomNameA (thanks to Gerard Patel). 2000-09-04 20:21:48 +00:00
Alexandre Julliard 92643003cf Converted a lot of server requests to the new exception handling
mechanism.
2000-08-31 01:59:51 +00:00
Alexandre Julliard 9c2370bd75 Added exception handling wrapper to a number of server requests.
Changed a few requests to use the new vararg mechanism.
2000-08-30 00:00:48 +00:00
Alexandre Julliard 350c04b516 Fixed a couple of WINAPI issues with 16-bit spec files (thanks to
Marcus Meissner).
2000-08-25 22:00:06 +00:00
Alexandre Julliard 2a2321bbca Authors: Alexandre Julliard <julliard@codeweavers.com> (for Corel), Albert den Haan <albertd@corel.com>
Added syslevel locking for GDI operations.
Propagate the changes through the graphics code.
2000-08-19 21:38:55 +00:00
Alexandre Julliard c19e1a7e19 Implemented SEC_IMAGE mappings and shared PE sections (with the help
of Peter Ganten).
2000-08-14 20:20:01 +00:00
Alexandre Julliard c7e7df8b17 Replaced all lstr* calls from inside Wine code by their str* equivalent. 2000-08-14 14:41:19 +00:00
Alexandre Julliard 198746d812 Replaced global Callbacks structure by appropriate glue code
generation. Removed a few unused entries in the Callout structure.
2000-08-14 14:29:22 +00:00
Alexandre Julliard c97bb4c5d6 Added Unicode ctype support. 2000-08-11 20:53:40 +00:00
Alexandre Julliard aea78538c8 Added UTF-8 conversion support. 2000-08-11 00:44:33 +00:00
Alexandre Julliard 52900c818f Make PDB, ENVDB and STARTUPINFO global variables.
Added 'module' field in PDB, and removed Wine-specific fields.
2000-08-09 22:33:42 +00:00
Alexandre Julliard 4fef2f1917 Removed obsolete SHMDATA parameter in GLOBAL_CreateBlock. 2000-08-09 22:27:11 +00:00
Alexandre Julliard 3850c1ae16 Moved most USER string functions to dlls/user.
Cleaned up a few more inter-dll dependencies.
2000-08-06 02:42:46 +00:00
Peter Ganten 99443aa5f1 Committing a page of a shared mapping in one process lets it appear
committed in other processes, too. To fake this, we commit them as
soon as they are mapped.
2000-08-01 23:39:07 +00:00
Peter Ganten 9f7907eb69 Moved Wine private heap creation flags to other values.
Return system heap when a shared heap is requested.
2000-08-01 23:38:02 +00:00
Alexandre Julliard 58d5a0a786 Removed some unnecessary inclusions of wingdi.h and winuser.h 2000-07-29 21:58:17 +00:00
Wolfgang Schwotzer d9b8f9be37 Added NULL pointer checks. 2000-07-28 23:58:48 +00:00
Ove Kaaven 7b49914afc Removed the hModule parameter from various DOSMEM routines, the DOSMEM
routines now always use the current memory space.
2000-07-28 22:23:59 +00:00
Alexandre Julliard cd770eafcd Temporarily moved advapi32 registry support back into libwine.so, and
made advapi32 a separate dll.
2000-07-25 15:10:52 +00:00
Hidenori Takeshima d4eefeba12 Fix for supporting DBCS. 2000-07-15 19:46:51 +00:00
Alexandre Julliard 6ce257067a Set ansi/oem/mac code pages from current locale. 2000-07-11 22:08:43 +00:00
Hidenori Takeshima 34e10ee30f GetCommandLine should return non-const strings. 2000-06-24 13:37:05 +00:00
Eric Pouech 3d89dd3b88 Added (back) correct behavior for NULL ptrs in CharToOem funcs. 2000-06-24 12:51:48 +00:00
Eric Pouech 3bcfb90188 Fixed some OOM conditions in GlobalAlloc. 2000-06-24 12:51:24 +00:00
Dmitry Timoshkov 73c32e79c5 Reimplement CharToOemA/W, CharToOemBuffA/W, OemToCharA/W,
OemToCharBuffA/W using MultiByteToWideChar/WideCharToMultiByte.
2000-06-18 17:18:18 +00:00
Alexandre Julliard 261abcd5bc Reimplemented Unicode case mapping in a slightly more efficient way.
Moved case mapping support to the unicode directory.
Some cleanups in cpmap.pl, use WCHAR instead of unsigned short.
2000-06-12 01:16:11 +00:00
Alexandre Julliard d268c22274 Added support for symbol codepage.
Improved handling of undefined codepage characters.
2000-06-10 23:12:44 +00:00
Alexandre Julliard f7bf7ef7b4 Rewrote codepage support to use the new codepage tables. 2000-06-10 04:42:33 +00:00
Dmitry Timoshkov 0072c88111 Implement NTDLL.towupper and NTDLL.towlower using already existing
case conversion tables. Replace all direct calls to towupper/towlower
either to NTDLL for core or to CRTDLL if latter already used in the
non core dll.
2000-06-08 20:05:18 +00:00
Alexandre Julliard 8fe0551aa3 Removed a few unnecessary includes. 2000-06-08 04:57:58 +00:00
Ulrich Weigand afd6a4b810 Updated support for Solaris/Sparc architecture. 2000-06-04 01:48:05 +00:00
Alexandre Julliard 4324b4778b Delay loading of interrupt table functions until they are needed. 2000-06-03 04:52:14 +00:00
Turchanov Sergei 43a27e3696 Implemented local atoms in the server. 2000-05-30 20:32:06 +00:00
Alexandre Julliard c192ba2468 Exec a separate wine binary for every win32 process so that they run
in separate address spaces.
Run 16-bit tasks as Win32 threads, not processes.
2000-05-29 21:25:10 +00:00
Huw D M Davies b8171e8baf HeapFree on a NULL ptr should return TRUE. 2000-05-23 01:12:41 +00:00
Alexandre Julliard 62030ff465 Fixed HeapAlloc(HEAP_ZERO_MEMORY) to clear the whole allocated block.
Various optimizations.
2000-05-09 22:38:19 +00:00
Alexandre Julliard 72eb8d39d4 Use exception handling to implement the IsBad* functions.
Removed /proc/self/maps parsing as it is not very useful with .so libs.
2000-05-01 21:23:02 +00:00
Alexandre Julliard 5b4f3e8d6d Rewrote Unix process launching to allow passing startup information to
Winelib apps. Improved handling of execve() failures.
2000-05-01 16:24:22 +00:00
Dimitrie O. Paun 4d48dd3048 Removed HEAP_xalloc. 2000-04-30 12:22:18 +00:00
Ove Kaaven bda3e66201 Add Wine-internal allocation type MEM_SYSTEM for VirtualAlloc to
register external mappings (like video frame buffers).
2000-04-29 16:45:56 +00:00
Alexandre Julliard f93eb3e319 Authors: Gavriel State <gavriels@corel.com>, Ulrich Czekalla <ulrichc@corel.com>
Added support for memory mapping of 4k aligned PE binaries.  This can
speed up load times significantly for some applications.
2000-04-28 20:26:35 +00:00
Dimitrie O. Paun 7827254cf2 Get rid of HEAP_xrealloc. 2000-04-28 14:43:34 +00:00
Alexandre Julliard 51f6aeb462 Implemented guard pages and stack overflow exceptions. 2000-04-13 17:21:36 +00:00
Huw D M Davies c43fdb75b3 GlobalReAlloc returns 0 on failure. 2000-04-13 15:57:06 +00:00
Andreas Mohr e7dc390f65 Implemented HeapWalk(). 2000-04-09 18:40:14 +00:00
Alexandre Julliard 227a0894d4 Removed a number of global handle allocations and critical section
initializations.
2000-04-08 21:06:06 +00:00
Patrik Stridvall 54fe8380a1 Fixed some issues reported by winapi_check. 2000-04-06 20:21:16 +00:00
Patrik Stridvall 2d6457c11a Added/fixed some documentation reported by winapi_check. 2000-03-28 20:22:59 +00:00
Francois Gouget 6d77d3a1df Use min/max instead of MIN/MAX. 2000-03-25 21:44:35 +00:00
Francois Gouget fdc1065b81 Added (correct) prototype for HeapWalk. 2000-03-24 19:44:19 +00:00
Dimitrie O. Paun 9ad9636725 Removed most calls to xmalloc/xrealloc. 2000-03-19 14:29:50 +00:00
Andreas Mohr 3c506fa36a Added an exception frame for lstrcpy16. 2000-03-19 14:20:28 +00:00
Alexandre Julliard c2ec36877a Removed PROCESS_IsCurrent(). 2000-03-10 22:21:07 +00:00
Patrik Stridvall 7e9913f463 Fixed some warnings. 2000-03-08 18:25:22 +00:00
Marcus Meissner fddbcf3c8d Actual write the cached struct in GlobalMemoryStatus. 2000-03-07 12:24:58 +00:00
Marcus Meissner 6189c198ec Some applications call GlobalMemoryStatus() very often. Cache the
results of the call for 1 second (spotted by Corel).
2000-03-04 19:19:15 +00:00
Patrik Stridvall ea4f831d99 Fixed some Solaris specific assembler problems. 2000-02-27 16:39:48 +00:00
Juergen Schmied 9f50d049ea Fixed definition of the RtlMemory functions. Use macros internally and
for Winelib, use real functions for exports from ntdll.
2000-02-26 19:35:50 +00:00
Alexandre Julliard 916f975624 Improved the selector get/set functions.
Support ANSI-compatible inline asm (with the help of Patrik Stridvall).
2000-02-26 16:51:13 +00:00
Alexandre Julliard bcb7f4ee37 Bug fix for native USER. 2000-02-19 20:51:29 +00:00
Alexandre Julliard b849d79104 Moved global atoms to the server (based on the work of Sergei
Turchanov <turchanov@otvprim.ru>).
2000-02-13 13:56:13 +00:00
Alexandre Julliard 383da68cf9 Optimized debugging API to reduce code size. 2000-02-10 22:15:21 +00:00
Jeremy White d3e22d9d55 Removed #include of wingdi.h and windef.h from winuser.h (and resolved
the resulting compilation failures).
2000-02-10 19:03:02 +00:00
Alexandre Julliard 0a7c1f6c5b Implemented GetThreadSelectorEntry through the server. 2000-01-27 02:54:17 +00:00
Alexandre Julliard 079fd72ca7 Share the system heap between different address spaces. Made process
heap per-address space instead of per-process.
2000-01-25 01:41:35 +00:00
Dmitry Timoshkov d1e3d8d841 Replaced LocalToWideChar() by lstrcpynAtoW(), WideCharToLocal() by
lstrcpynWtoA().
2000-01-23 03:21:14 +00:00
Guy Albertelli 4ef641326a Fix problems with GlobalHandle and GlobalFree so results match Win98.
Restructure HEAP_ValidateInUseArena, HeapValidate, and add
HEAP_IsRealArena to eliminate *bogus* error messages.
2000-01-23 02:25:11 +00:00
Guy Albertelli 9867997450 Added null check in GlobalHandle. 2000-01-15 21:59:12 +00:00
Francois Gouget baa9bf9a23 Buffer overflows and strncpy fixes. 1999-12-27 05:24:06 +00:00
Francois Gouget e73b8b84ba Wrapped some strings in a debugstr_* call.
Replaced some calls to debugstr_{a,w} by debugstr_{a,w}n.
Removed redundant 'L's for Unicode strings.
Tried to harmonize the traces a little bit.
1999-12-26 00:40:37 +00:00
Dimitrie O. Paun dd03cc19fd Make use of the DEFAULT_DEBUG_CHANNEL where appropriate.
Use the default version of FIXME, ERR, WARN, TRACE for the default
channel.
1999-12-08 03:56:23 +00:00
Juergen Schmied 3531ea5501 Removed fixme. 1999-11-25 23:06:51 +00:00
Alexandre Julliard d16319ce22 Store all object names as Unicode in the server. 1999-11-25 21:30:24 +00:00
Ulrich Weigand 3ee1c03efb Bugfix: GetThreadSelectorEntry() sets read-write flag incorrectly. 1999-11-21 02:02:20 +00:00
Alexandre Julliard 453f7315cd Fixed allocation rounding for MEM_RESERVE. 1999-11-15 00:46:30 +00:00
Ulrich Weigand eb94c7d2c4 Adapted to new register function handling. 1999-11-13 23:54:04 +00:00
Ulrich Weigand 0be7cabb49 When decommitting, remap zero pages using MAP_FIXED. 1999-11-10 19:59:32 +00:00
Alexandre Julliard 6cd2c9ebd5 Remap zero-pages when decomitting a page range (based on a patch by
Gerard Patel).
1999-11-08 02:12:30 +00:00
James Abbatiello 161693e4f9 Addresses issues with multiple processes accessing non-global critical
sections.
1999-11-07 19:22:46 +00:00
Michael McCormack 9fcbc54428 Modified lstrcpynWtoA to put terminating null at end of string, not
end of buffer.
1999-11-04 01:54:26 +00:00
Andreas Mohr 7d6e1ea5d7 Bug fix. 1999-10-25 15:39:59 +00:00
Patrik Stridvall 96336324cf - Added missing configuration #if:s and #includes:s.
- Minor configuration related changes.
1999-10-24 22:13:47 +00:00
Richard Cohen 63556084e6 Tidy up TRACE etc to use default channel. 1999-09-19 14:04:15 +00:00
Patrik Stridvall f4fca7c459 Eliminated warnings. 1999-09-11 16:27:20 +00:00
Alexandre Julliard 3b96efc0f7 Added configure check for str[n]casecmp. 1999-09-04 14:36:02 +00:00