Commit Graph

423 Commits

Author SHA1 Message Date
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
Alexandre Julliard
d10ca9ce46 Fixed GMEM_ZEROINIT in GlobalRealloc (thanks to Gerard Patel). 1999-09-04 11:26:56 +00:00
Ulrich Weigand
73bd8d2b1c HEAP_Commit/Decommit were assuming a page size of 4KB
unconditionally.
1999-09-03 16:45:04 +00:00
Marcus Meissner
c37a126f65 Fixed prototype order. 1999-09-03 14:59:10 +00:00
Ulrich Weigand
c3d9f28172 Moved implementation of WOW routines to single file.
Added all missing WOW routines, fixed WOWCallback16Ex.
1999-08-18 18:31:26 +00:00
Uwe Bonnes
0a1645d9a3 Inhibit wraparound in comparison. 1999-08-15 18:44:06 +00:00
Alexandre Julliard
7147e4cfd4 Added an exception handler around a few lstr* functions. 1999-08-08 18:52:14 +00:00
Alexandre Julliard
b375678277 Changed INSTR_EmulateInstruction to use a CONTEXT86 instead of a
SIGCONTEXT.
1999-08-01 12:15:12 +00:00
Ulrich Weigand
81a8057c4e Bugfix: fixed freshly introduced bug in GlobalLock16. 1999-07-28 16:36:29 +00:00
Ulrich Weigand
98b5f77fc2 Added IsBadFlatReadWritePtr16(). 1999-07-27 17:09:14 +00:00
Ulrich Weigand
b2682d4d73 Bugfix: Return selector also in CX from GlobalLock16(). 1999-07-27 16:10:24 +00:00
Ulrich Weigand
b5151d003d Relay code for Win16 register functions converts arguments.
New 'interrupt' keyword added (for Win16 interrupt handlers).
Adapted .spec files and implementations of register routines.
1999-07-25 11:27:36 +00:00
Noel Borthwick
83579c8286 Fix bug with pasting Wine clipboard content to external applications,
by storing clipboard data on the shared system heap.
1999-07-24 12:18:04 +00:00
Ulrich Weigand
4b32fd0d43 Use position-independent code in assembly glue when building .so.
Include if1632/ and graphics/win16drv/ into WineLib.
Move miscemu/emulate.c into dlls/win87em/.
1999-07-15 14:51:40 +00:00
Alexandre Julliard
4220b29be9 Take advantage of the new registers saved in the STACK16FRAME to turn
some 'register' functions into normal functions.
Removed the few remaining 'return' functions to simplify relay
handling.
1999-07-11 17:20:01 +00:00
Marcus Meissner
e32a317b76 Removed the old, historical and no longer working IPC support. 1999-07-11 14:13:56 +00:00
Rein Klazes
eaec1eeda5 Fixed a case when GlobalSize did not return zero after an error. 1999-07-11 13:50:24 +00:00
Howard Abrams
132774804e Added checks for sys/errno.h, sys/signal.h and sys/mman.h. 1999-07-10 13:16:29 +00:00
Ulrich Weigand
c5711b4689 Bugfix: correctly cope with end > 0xfffe. 1999-07-10 11:45:12 +00:00
Ulrich Weigand
8e3201c5da Bugfix: LocalInit with start == 0 always places heap at end of segment. 1999-07-03 15:37:52 +00:00
Alexandre Julliard
617955db88 Changed CONTEXT into CONTEXT86 everywhere we really want an i386
context.
Added #ifdef __i386__ around accesses to 386 registers in the generic
CONTEXT structure.
1999-06-26 18:40:24 +00:00
Patrik Stridvall
1ed4ecffa8 ANSI C fixes.
Removed warnings.
Made the include files self-sufficient.
Some Solaris fixes.
1999-06-26 14:58:24 +00:00
Alexandre Julliard
ebe29ef376 Further server optimizations:
- merged request and reply structures
- build requests directly into the buffer to avoid a copy
1999-06-26 08:43:26 +00:00
Alexandre Julliard
5bc78089db Made server communication faster by using a shared memory block.
A few other optimizations in request processing in the server.
Moved automatically generated request definitions to server.h and
removed include/server/request.h.
1999-06-22 17:26:53 +00:00
Alexandre Julliard
c42dfdd02f Fixed Winelib compilation. 1999-06-20 15:09:32 +00:00
Alexandre Julliard
9597e209f8 Include instruction emulation in Winelib. 1999-06-18 18:29:04 +00:00
Patrik Stridvall
fdcfdb9a6d Added missing/wrong includes. 1999-06-12 14:55:11 +00:00
Alexandre Julliard
1aa2641636 Use the normal environment routines to build the env db of the initial
process.
1999-06-11 18:33:46 +00:00
Alexandre Julliard
156570906f Converted to the new debug interface, using script written by Patrik
Stridvall.
1999-05-23 10:25:25 +00:00
Alexandre Julliard
43c190e7ba Server reorganization:
- moved request handlers to the specific C files
- moved handle management to handle.c
- moved server private includes to server/ instead of include/server/
1999-05-15 10:48:19 +00:00
Alexandre Julliard
0a277b638c Adapted for new register functions support (ESP_reg in register
functions now points after the arguments).
1999-05-13 16:21:37 +00:00
Patrik Stridvall
896889f317 ANSI C fixes. 1999-05-08 12:50:36 +00:00
Alexandre Julliard
06c275a643 Converted to the new debugging interface (done with the help of the
script written by Patrik Stridvall).
1999-05-02 14:32:27 +00:00