Commit Graph

486 Commits

Author SHA1 Message Date
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
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