Commit Graph

496 Commits

Author SHA1 Message Date
Alexandre Julliard 77dc009d91 Fixed bug in system heap creation when it already exists. 2001-12-26 20:38:53 +00:00
Uwe Bonnes 9788815b9c GlobalReAlloc16: If heap has GlobalPageLock set, try only with
HEAP_REALLOC_IN_PLACE_ONLY flag set.
2001-12-20 00:00:25 +00:00
Alexandre Julliard b0f586178a Moved heap functions to ntdll.
Got rid of internal heap flags.
Reimplemented MapLS to not depend on the segptr heap.
2001-12-19 19:16:27 +00:00
Alexandre Julliard 9fcd89a5d8 Removed unnecessary includes. 2001-12-17 22:12:23 +00:00
Rein Klazes 9aa748cb2a Added error message in LOCAL_GetBlock(). 2001-12-17 21:20:27 +00:00
Alexandre Julliard 60fd03d248 Use ntdll functions instead of MultiByteToWideChar/WideCharToMultiByte
to avoid corrupting the last error code.
2001-12-05 22:18:48 +00:00
Alexandre Julliard 996c0bff59 Removed ntdll dependency on MultiByteToWideChar/WideCharToMultiByte
kernel32 functions, plus a few small cleanups.
2001-12-05 22:14:57 +00:00
Andrew Lewycky c5ec01890a map_image: map the PE header readonly. 2001-11-30 23:08:21 +00:00
Alexandre Julliard 9caa71eef4 Redesign of the server communication protocol to allow arbitrary sized
data to be exchanged.
Split request and reply structures to make backwards compatibility
easier.
Moved many console functions to dlls/kernel, added code page support,
changed a few requests to behave properly with the new protocol.
2001-11-30 18:46:42 +00:00
Alexandre Julliard b0fa2a8ca8 Fixed registry routines broken by the structure sizes fix. 2001-11-24 03:41:37 +00:00
Dmitry Timoshkov 6b6596a1e3 Fixed packing and layout of many system structures. 2001-11-23 18:44:43 +00:00
Andreas Mohr 55a14edd17 Use exception handler for GlobalUnlock, GlobalFree. 2001-11-20 20:26:35 +00:00
François Gouget 1425941e29 Fix the #include order for config.h.
Add #include "config.h" directives where needed.
2001-11-06 20:57:11 +00:00
Alexandre Julliard 51349422b9 Try to use read instead of mmap for files on removable media, so that
we don't need to keep the mapping handle open.
2001-10-24 00:30:23 +00:00
Andreas Mohr e15badb478 Cosmetics. 2001-10-21 15:18:15 +00:00
Francois Gouget 541ff5fb9f Add INVALID_ATOM and MAXINTATOM to winbase.h.
Replace MIN_STR_ATOM with MAXINTATOM.
2001-10-15 17:49:23 +00:00
Francois Gouget 386cf6e342 When including 'wine/port.h', include it first.
Remove redundant 'config.h' includes.
2001-10-14 16:25:47 +00:00
Francois Gouget e5ddd26dd7 When including config.h, include it first. 2001-10-14 16:18:52 +00:00
Alexandre Julliard d8a8c1131d Added atom_t type for atoms to make sure we use the same type
everywhere. Handle MIN_STR_ATOM offset in the server.
2001-10-12 18:45:29 +00:00
Alexandre Julliard a0c38fe3dd Fix MapViewOfFile to always return a 64K-aligned address.
Avoid converting pointers to UINT.
2001-10-09 21:50:44 +00:00
Andreas Mohr f359895daf Yet another documentation/message text patch. 2001-10-02 17:49:20 +00:00
Alexandre Julliard abc3539768 Fixed size check in HEAP_FindFreeBlock to make sure we also find
blocks that have the exact size needed.
2001-09-26 23:11:21 +00:00
Francois Gouget 5ee3879ce0 Fix the conversions of a command line to/from an argv array. 2001-09-20 19:05:11 +00:00
Alexandre Julliard 301df6b5cd Added names to standard critical sections (suggested by Andreas
Mohr).
2001-08-16 18:12:56 +00:00
Alexandre Julliard 1922c72b8a Removed unnecessary inclusion of heap.h. 2001-07-25 00:43:29 +00:00
Patrik Stridvall bc38d6bfde - Made sure that the files that contains the declarations
of the implementated functions are included.
- Corrected mismatching prototypes.
- Cleaned up the include section.
2001-07-20 18:00:00 +00:00
Alexandre Julliard 37e9503ae8 Moved server.h to include/wine. 2001-07-19 00:39:09 +00:00
Patrik Stridvall 33929be46f - Made sure that the files that contains the declarations
of implementated functions are included.
- Corrected mismatching prototypes.
- Cleaned up the include section.
2001-07-18 21:04:23 +00:00
Patrik Stridvall 3dd618791e Documentation fixes. 2001-07-18 21:02:05 +00:00
Patrik Stridvall e9782fa1fc Documentation fixes. 2001-07-12 22:33:51 +00:00
Patrik Stridvall 044855c6ec Documentation fixes. 2001-07-11 18:56:41 +00:00
Patrik Stridvall 01d5e5b071 Documentation fixes. 2001-07-02 19:59:40 +00:00
Patrik Stridvall 3ca9823941 Documentation ordinal fixes. 2001-06-20 23:03:14 +00:00
Alexandre Julliard 2b27fcd9bf Added direct system call for unaligned mmap support on Linux.
Support 64-bit file offsets in MapViewOfFileEx.
2001-06-14 19:31:36 +00:00
Patrik Stridvall dae8de69e2 Documentation ordinal fixes (using winapi_fixup). 2001-06-13 20:13:18 +00:00
Francois Gouget e76218dd61 Add '\n' at the end of traces. 2001-05-09 17:31:31 +00:00
Dmitry Timoshkov 8e013f9bd8 VirtualProtect should return correct old protection flags. 2001-04-20 18:28:18 +00:00
Alexandre Julliard 9515336378 Small dll separation fixes. 2001-03-23 19:13:23 +00:00
Alexandre Julliard 389b039fe4 We need to create the system heap at startup even though we don't use
it, since some Win95 native dlls depend on that.
2001-03-04 01:06:07 +00:00
Alexandre Julliard 67a749999a New set of macros for server calls; makes requests without variable
part somewhat faster.
2001-02-27 02:09:16 +00:00
Alexandre Julliard 7f187e5043 Only create the system heap when we actually need it. 2001-02-23 01:37:05 +00:00
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