RtlUnicodeStringToCountedOemString() is now "pass"ed
[reactos.git] / ChangeLog
1 2003-02-10  Casper S. Hornstrup  <chorns@users.sourceforge.net>
2
3         * include/structs.h (OSVERSIONINFOEXA): Expand definition of
4         OSVERSIONINFOA.
5         (OSVERSIONINFOEXW): Expand definition of OSVERSIONINFOW.
6         * lib/msafd/misc/helpers.c (LocateHelperDLL): Cast AddressFamily,
7         SocketType, and Protocol to INT.
8         * lib/ws2_32/misc/catalog.c (LocateProvider): Ditto.
9
10 2003-01-16  Casper S. Hornstrup  <chorns@users.sourceforge.net>
11
12         * ntoskrnl/dbg/profile.c (KdbProfilerThreadMain): Make STDCALL.
13
14 2003-01-15  Casper S. Hornstrup  <chorns@users.sourceforge.net>
15
16         * drivers/net/tcpip/makefile (TCP_OBJECTS): Add transport/tcp/tcpcore.o,
17         transport/tcp/tcp_input.o, transport/tcp/tcp_ipv4.o,
18         transport/tcp/tcp_output.o, and transport/tcp/tcp_timer.o.
19         * drivers/net/tcpip/transport/tcp/tcp.c (TCPStartup): Call tcp_init().
20         * drivers/net/tcpip/include/linux.h: New file.
21         * drivers/net/tcpip/include/tcpcore.h: Ditto.
22         * drivers/net/tcpip/include/tcpdef.h: Ditto.
23         * drivers/net/tcpip/transport/tcp/tcp_input.c: Ditto.
24         * drivers/net/tcpip/transport/tcp/tcp_ipv4.c: Ditto.
25         * drivers/net/tcpip/transport/tcp/tcp_output.c: Ditto.
26         * drivers/net/tcpip/transport/tcp/tcp_timer.c: Ditto.
27         * drivers/net/tcpip/transport/tcp/tcpcore.c: Ditto.
28
29 2003-01-15  Casper S. Hornstrup  <chorns@users.sourceforge.net>
30
31         * lib/kernel32/k32.h: New file.
32         * lib/kernel32/makefile (TARGET_CFLAGS): Add -I./.
33         (TARGET_PCH): Set to k32.h.
34         * lib/kernel32/except/except.c: Use <k32.h>.
35         * lib/kernel32/file/backup.c: Ditto.
36         * lib/kernel32/file/cnotify.c: Ditto.
37         * lib/kernel32/file/copy.c: Ditto.
38         * lib/kernel32/file/create.c: Ditto.
39         * lib/kernel32/file/curdir.c: Ditto.
40         * lib/kernel32/file/delete.c: Ditto.
41         * lib/kernel32/file/deviceio.c: Ditto.
42         * lib/kernel32/file/dir.c: Ditto.
43         * lib/kernel32/file/dosdev.c: Ditto.
44         * lib/kernel32/file/file.c: Ditto.
45         * lib/kernel32/file/find.c: Ditto.
46         * lib/kernel32/file/iocompl.c: Ditto.
47         * lib/kernel32/file/lfile.c: Ditto.
48         * lib/kernel32/file/lock.c: Ditto.
49         * lib/kernel32/file/mailslot.c: Ditto.
50         * lib/kernel32/file/move.c: Ditto.
51         * lib/kernel32/file/npipe.c: Ditto.
52         * lib/kernel32/file/pipe.c: Ditto.
53         * lib/kernel32/file/rw.c: Ditto.
54         * lib/kernel32/file/tape.c: Ditto.
55         * lib/kernel32/file/volume.c: Ditto.
56         * lib/kernel32/mem/global.c: Ditto.
57         * lib/kernel32/mem/heap.c: Ditto.
58         * lib/kernel32/mem/isbad.c: Ditto.
59         * lib/kernel32/mem/local.c: Ditto.
60         * lib/kernel32/mem/procmem.c: Ditto.
61         * lib/kernel32/mem/section.c: Ditto.
62         * lib/kernel32/mem/virtual.c: Ditto.
63         * lib/kernel32/misc/atom.c: Ditto.
64         * lib/kernel32/misc/comm.c: Ditto.
65         * lib/kernel32/misc/console.c: Ditto.
66         * lib/kernel32/misc/debug.c: Ditto.
67         * lib/kernel32/misc/dllmain.c: Ditto.
68         * lib/kernel32/misc/env.c: Ditto.
69         * lib/kernel32/misc/error.c: Ditto.
70         * lib/kernel32/misc/handle.c: Ditto.
71         * lib/kernel32/misc/ldr.c: Ditto.
72         * lib/kernel32/misc/profile.c: Ditto.
73         * lib/kernel32/misc/res.c: Ditto.
74         * lib/kernel32/misc/stubs.c: Ditto.
75         * lib/kernel32/misc/sysinfo.c: Ditto.
76         * lib/kernel32/misc/time.c: Ditto.
77         * lib/kernel32/process/cmdline.c: Ditto.
78         * lib/kernel32/process/create.c: Ditto.
79         * lib/kernel32/process/proc.c: Ditto.
80         * lib/kernel32/process/session.c: Ditto.
81         * lib/kernel32/string/lstring.c: Ditto.
82         * lib/kernel32/synch/critical.c: Ditto.
83         * lib/kernel32/synch/event.c: Ditto.
84         * lib/kernel32/synch/intrlck.c: Ditto.
85         * lib/kernel32/synch/mutex.c: Ditto.
86         * lib/kernel32/synch/sem.c: Ditto.
87         * lib/kernel32/synch/timer.c: Ditto.
88         * lib/kernel32/synch/wait.c: Ditto.
89         * lib/kernel32/thread/fiber.c: Ditto.
90         * lib/kernel32/thread/thread.c: Ditto.
91         * lib/kernel32/thread/tls.c: Ditto.
92
93 2003-01-15  Casper S. Hornstrup  <chorns@users.sourceforge.net>
94
95         * apps/testsets/Makefile (TEST_SETS): Remove ldr.
96         * include/msvcrt/ctype.h (towupper): Make returntype wchar_t.
97
98 2003-01-15  Casper S. Hornstrup  <chorns@users.sourceforge.net>
99
100         * tools/rtouch.c: Include <sys/utime.h>, not <utime.h>.
101
102 2003-01-15  Casper S. Hornstrup  <chorns@users.sourceforge.net>
103
104         * tools/rtouch.c: New file.
105         * rules.mak (ROS_USE_PCH): Default to no.
106         (RTOUCH): Define.
107         * tools/Makefile: Add rtouch utility.
108         * tools/helper.mk: Support precompiled headers.
109
110 2003-01-15  Casper S. Hornstrup  <chorns@users.sourceforge.net>
111
112         * ntoskrnl/dbg/profile.c: New file.
113         * ntoskrnl/Makefile (OBJECTS_KDBG): Add dbg/profile.o.
114         * ntoskrnl/dbg/kdb.h: Define NTOS_MODE_KERNEL. Include <ntos.h>.
115         (LdrGetAddressInformation, KdbInitProfiling, KdbInitProfiling2,
116         KdbDisableProfiling, KdbEnableProfiling, KdbProfileInterrupt) Prototype.
117         * ntoskrnl/kd/kdebug.c (KdInitSystem): Add /PROFILE option if KDBG=1.
118         * ntoskrnl/ke/main.c (ExpInitializeExecutive): Call KdbInitProfiling2()
119         if KDBG=1.
120         * ntoskrnl/ke/i386/irq.c: Include <../dbg/kdb.h> if KDBG=1.
121         (KiInterruptDispatch): Call KdbProfileInterrupt() on timer interrupt
122         if KDBG=1.
123
124 2003-01-15  Casper S. Hornstrup  <chorns@users.sourceforge.net>
125
126         * drivers/fs/vfat/create.c (VfatSupersedeFile): Only notify cache manager
127         about change in file size if caching is initiated on the file stream.
128
129 2003-01-11  Casper S. Hornstrup  <chorns@users.sourceforge.net>
130
131         * boot.bat: Use DOS end-of-line characters.
132
133 2003-01-02  Casper S. Hornstrup  <chorns@users.sourceforge.net>
134
135         * ntoskrnl/ke/timer.c (KeExpireTimers): Avoid signed/unsigned comparison
136         warning.
137         * lib/user32/controls/scrollbar.c (SCROLL_DrawScrollBar): Put a statement
138         at end.
139
140 2002-12-15  Casper S. Hornstrup  <chorns@users.sourceforge.net>
141
142         * drivers/fs/vfat/cleanup.c (VfatCleanupFile): Only uninitialize caching
143         when initialized.
144         * drivers/fs/vfat/fcb.c (vfatReleaseFCB): Ditto.
145         * lib/kernel32/mem/section.c (CreateFileMappingW): Pass NULL as
146         MaximumSize to NtCreateSection if dwMaximumSizeHigh and dwMaximumSizeLow
147         are both 0.
148         * ntoskrnl/cc/pin.c (CcMapData): Assert if Bcb is NULL.
149         * ntoskrnl/cc/view.c (CcRosReleaseCacheSegment, CcRosLookupCacheSegment,
150         CcRosMarkDirtyCacheSegment, CcRosUnmapCacheSegment,
151         CcRosCreateCacheSegment, CcRosGetCacheSegmentChain,
152         CcRosGetCacheSegment, CcRosRequestCacheSegment, CcFlushCache,
153         CcRosDeleteFileCache, CcRosReferenceCache, CcRosDereferenceCache,
154         CcRosReleaseFileCache, CcGetFileObjectFromSectionPtrs): Ditto.
155         * ntoskrnl/mm/section.c (MiReadPage): Assert if Fcb->Bcb is NULL.
156         (MmCreateDataFileSection): Make sure caching is initialized for the file
157         stream.
158
159 2002-11-15  Casper S. Hornstrup  <chorns@users.sourceforge.net>
160
161         * include/ddk/ldrtypes.h: Move ...
162         * include/ntos/ldrtypes.h: ... here.
163         * include/ddk/ntddk.h: Include ldrtypes.h at new location.
164
165 2002-11-13  Casper S. Hornstrup  <chorns@users.sourceforge.net>
166
167         * drivers/bus/acpi/ospm/osl.c (acpi_os_readable, acpi_os_writable):
168         Match prototypes.
169         * include/ascii.h (AbortSystemShutdownA): Correct prototype.
170         * include/debug.h (assert): Wrap in #ifndef assert.
171         * include/funcs.h (AbortSystemShutdown): Remove duplicate prototype.
172         * include/ddk/rtltypes.h: Move ...
173         * include/ntos/rtltypes.h: ... here.
174         * include/ddk/rtl.h: Move ...
175         * include/ntos/rtl.h: ... here.
176         * include/ddk/zwtypes.h: Move ...
177         * include/ntos/zwtypes.h: ... here.
178         * include/ddk/zw.h: Move ...
179         * include/ntos/zw.h: ... here.
180         | include/ddk/cmfuncs.h: Remove file; Move NtCreateKey to ntos/zw.h.
181         * include/ntos.h: #include ntos/rtltypes.h, ntos/rtl.h, ntos/zwtypes.h,
182         and ntos/zw.h.
183         * include/unicode.h: (AbortSystemShutdownW): Correct prototype.
184         * include/ddk/ntddk.h: Include headers at new location; Don't include
185         removed files.
186         * include/defines.h: Wrap definitions in w32api in #ifndef __USE_W32API.
187         * include/ntos/zwtypes.h: Ditto.
188         * include/napi/lpc.h: Ditto.
189         * include/napi/shared_data.h: Ditto.
190         * include/napi/teb.h: Ditto.
191         * include/napi/types.h: Ditto.
192         * include/ntdll/ldr.h: Ditto.
193         * include/ntdll/rtl.h: Ditto.
194         * include/ntos/console.h: Ditto.
195         * include/ntos/disk.h: Ditto.
196         * include/ntos/except.h: Ditto.
197         * include/ntos/file.h: Ditto.
198         * include/ntos/gditypes.h: Ditto.
199         * include/ntos/heap.h: Ditto.
200         * include/ntos/keyboard.h: Ditto.
201         * include/ntos/mm.h: Ditto.
202         * include/ntos/ntdef.h: Ditto.
203         * include/ntos/ps.h: Ditto.
204         * include/ntos/registry.h: Ditto.
205         * include/ntos/security.h: Ditto.
206         * include/ntos/synch.h: Ditto.
207         * include/ntos/time.h: Ditto.
208         * include/ntos/types.h: Ditto.
209         * include/ntos/port.h: Ditto.
210         * lib/advapi32/misc/shutdown.c (AbortSystemShutdownW,
211         AbortSystemShutdownA): Correct prototype.
212         * lib/advapi32/reg/reg.c: #include ntos.h.
213         * lib/advapi32/sec/misc.c: Ditto.
214         * lib/advapi32/sec/sid.c: Ditto.
215         * lib/advapi32/service/sctrl.c: Ditto.
216         * lib/advapi32/token/token.c: Ditto.
217         * lib/kernel32/misc/dllmain.c: Ditto.
218         * ntoskrnl/ex/napi.c: Ditto.
219         * ntoskrnl/rtl/i386/exception.c: Ditto.
220         * lib/advapi32/sec/ac.c: Ditto.
221         (FindFirstFreeAce, GetAce): Change PACE* to PACE_HEADER*.
222         * lib/advapi32/service/scm.c (EnumServicesStatusExA,
223         EnumServicesStatusExW, QueryServiceStatusEx): Correct prototype.
224         * lib/ntdll/rtl/ppb.c (RtlDestroyProcessParameters): Match prototype.
225         * ntoskrnl/dbg/errinfo.c (DbgGetErrorText): Use %08x, not %08lx.
226         * ntoskrnl/io/arcname.c (IoCreateSystemRootLink): Use %u, not %lu.
227         * ntoskrnl/ke/main.c (ExpInitializeExecutive): Ditto.
228         * (_main): Use %d, not %ld.
229         * ntoskrnl/include/internal/i386/ke.h: Add #pragma GCC system_header.
230         * include/ddk/ntdef.h (NTSYSAPI, NTAPI, NTKERNELAPI): Define to STDCALL;
231         Check if already defined.
232         * include/base.h (STDCALL, CDECL, CALLBACK, PASCAL): Move to ntos/types.h.
233
234 2002-11-13  Rick Gaiser  <RickG81@Wanadoo.nl>
235
236         * drivers/bus/isapnp/isapnp.c (FindNextReadPort): Increment Port before
237         checking wether port address is in NE2000 address space range and returning
238         port address value.
239
240 2002-11-10  Casper S. Hornstrup  <chorns@users.sourceforge.net>
241
242         * drivers/bus/acpi/include/acpi.h: Include platform/types.h.
243         * drivers/bus/acpi/include/actypes.h: (UINT8, BOOLEAN, UCHAR, UINT16,
244         INT32, UINT32, UINT64): Disable, use the OS defined types instead.
245         * drivers/bus/acpi/include/platform/types.h: Remove all types,
246         include ntos.h instead.
247         * drivers/bus/acpi/ospm/include/acpisys.h: Don't include
248         platform/types.h.
249
250 2002-11-10  Casper S. Hornstrup  <chorns@users.sourceforge.net>
251
252         * include/defines.h: Fix warnings when bulding with gcc 3.3.
253         * include/ddk/status.h: Ditto.
254         * include/freetype/internal/ftdebug.h: Ditto.
255         * include/net/ndis.h: Ditto.
256         * lib/msafd/misc/helpers.c: Ditto.
257         * lib/user32/windows/defwnd.c: Ditto.
258         * lib/user32/windows/window.c: Ditto.
259         * ntoskrnl/cm/ntfunc.c: Ditto.
260         * ntoskrnl/cm/regfile.c: Ditto.
261         * ntoskrnl/cm/regobj.c: Ditto.
262         * ntoskrnl/dbg/errinfo.c: Ditto.
263         * ntoskrnl/ex/hashtab.c: Ditto.
264         * ntoskrnl/include/internal/mm.h: Ditto.
265         * ntoskrnl/io/irp.c: Ditto.
266         * ntoskrnl/kd/gdbstub.c: Ditto.
267         * ntoskrnl/ke/queue.c: Ditto.
268         * ntoskrnl/ke/sem.c: Ditto.
269         * ntoskrnl/ldr/resource.c: Ditto.
270         * ntoskrnl/mm/balance.c: Ditto.
271         * ntoskrnl/mm/freelist.c: Ditto.
272         * ntoskrnl/mm/mdl.c: Ditto.
273         * ntoskrnl/mm/npool.c: Ditto.
274         * ntoskrnl/mm/section.c: Ditto.
275         * ntoskrnl/rtl/error.c: Ditto.
276         * ntoskrnl/rtl/mem.c: Ditto.
277         * ntoskrnl/rtl/string.c: Ditto.
278         * ntoskrnl/rtl/time.c: Ditto.
279         * ntoskrnl/rtl/unicode.c: Ditto.
280         * ntoskrnl/rtl/wstring.c: Ditto.
281         * ntoskrnl/rtl/i386/exception.c: Ditto.
282         * subsys/win32k/freetype/src/base/ftinit.c: Ditto.
283
284 2002-11-03  Casper S. Hornstrup  <chorns@users.sourceforge.net>
285
286         * apps/tests/lpc/lpcclt.c: Change LPC_MESSAGE_HEADER to LPC_MESSAGE.
287         * include/csrss/csrss.h: Ditto.
288         * include/lsass/lsass.h: Ditto.
289         * include/napi/dbg.h: Ditto.
290         * include/napi/lpc.h: Ditto.
291         * lib/kernel32/misc/console.c: Ditto.
292         * lib/ntdll/csr/lpc.c: Ditto.
293         * lib/ntdll/dbg/debug.c: Ditto.
294         * lib/secur32/lsa.c: Ditto.
295         * ntoskrnl/dbg/user.c: Ditto.
296         * ntoskrnl/include/internal/port.h: Ditto.
297         * ntoskrnl/lpc/connect.c: Ditto.
298         * ntoskrnl/lpc/reply.c: Ditto.
299         * ntoskrnl/ps/process.c: Ditto.
300         * subsys/csrss/api/conio.c: Ditto.
301         * subsys/csrss/api/process.c: Ditto.
302         * subsys/csrss/api/user.c: Ditto.
303
304 2002-10-26  Casper S. Hornstrup  <chorns@users.sourceforge.net>
305
306         * lib/msvcrt/except/seh.s: Fix end-of-line formatting.
307         * lib/ntdll/rtl/i386/exception.c: Ditto.
308         * lib/ntdll/rtl/i386/except.s: Ditto.
309         * ntoskrnl/rtl/i386/except.s: Ditto.
310         * ntoskrnl/rtl/i386/seh.s: Ditto.
311
312 2002-10-26  Casper S. Hornstrup  <chorns@users.sourceforge.net>
313
314         * lib/msvcrt/Makefile (OBJECTS_EXCEPT): Add except/seh.o; Remove
315         except/exhand3.o.
316         * lib/msvcrt/except/exhand2.c (MsvcrtDebug): New function.
317         * lib/msvcrt/except/unwind.c (PEXCEPTION_FRAME): Remove.
318         (_global_unwind2): Correct prototype.
319         * lib/ntdll/makefile (RTL_I386_OBJECTS, ARCH_OBJECTS): New groups.
320         (TARGET_OBJECTS): Add ARCH_OBJECTS group.
321         * lib/ntdll/rtl/exception.c (KiUserExceptionDispatcher): Set
322         NumberParameters in exception record.
323         (RtlRaiseStatus): Remove.
324         * ntoskrnl/Makefile (OBJECTS_RTL): Remove rtl/seh.o.
325         (OBJECTS_RTL_I386): Add rtl/i386/except.o, rtl/i386/exception.o, and
326         rtl/i386/seh.o.
327         * ntoskrnl/ke/catch.c (RtlpExecuteHandlerForException,
328         RtlpDumpExceptionRegistrations, RtlpDispatchException,
329         RtlpExecuteHandler, RtlpExceptionHandler, RtlpUnwindHandler,
330         RtlpExecuteHandlerForException, RtlpExecuteHandlerForUnwind,
331         RtlUnwind): Remove.
332         (RtlpDispatchException): Add prototype.
333         * ntoskrnl/ke/i386/usertrap.c (ExceptionTypeStrings): Remove.
334         * ntoskrnl/ps/create.c (PsCreateTeb): Mark end of exception
335         registration list.
336         * tools/helper.mk (TARGET_ASFLAGS): Add -g if DBG = 1.
337         * lib/msvcrt/except/exhand3.c: Remove.
338         * ntoskrnl/rtl/seh.c: Ditto.
339         * lib/msvcrt/except/seh.s: New file.
340         * lib/ntdll/rtl/i386/except.s: Ditto.
341         * lib/ntdll/rtl/i386/exception.c: Ditto.
342         * ntoskrnl/rtl/i386/except.s: Ditto.
343         * ntoskrnl/rtl/i386/exception.c: Ditto.
344         * ntoskrnl/rtl/i386/seh.s: Ditto.
345
346 2002-10-26  Casper S. Hornstrup  <chorns@users.sourceforge.net>
347
348         * lib/kernel32/process/create.c (_except_handler): New function.
349         (BaseProcessStart): Ditto.
350         (KlCreateFirstThread): Return INVALID_HANDLE_VALUE on error; Call
351         BaseProcessStart() before process entry point.
352         * lib/kernel32/thread/thread.c (_except_handler): New function.
353         (ThreadStartup): Protect thread using SEH constructs.
354
355 2002-10-26  Casper S. Hornstrup  <chorns@users.sourceforge.net>
356
357         * include/ddk/zw.h (NtProcessStartup): Use standard calling convention.
358         * subsys/csrss/csrss.c (NtProcessStartup): Ditto.
359         * subsys/smss/smss.c (NtProcessStartup): Ditto.
360         * subsys/system/autochk/autochk.c (NtProcessStartup): Ditto.
361         * subsys/system/usetup/usetup.c (NtProcessStartup): Ditto.
362
363 2002-10-25  Casper S. Hornstrup  <chorns@users.sourceforge.net>
364
365         * apps/tests/tokentest/tokentest.c (ROS_ACE_HEADER): Move field
366         AccessMask ...
367         (ROS_ACE): ... here.
368         (DisplayDacl): Make pAce an ROS_ACE*; Use new path for AceType; Use
369         sizeof(ACE) instead of sizeof(ACE_HEADER).
370         * include/ntos/security.h (ACE_HEADER): Move field AccessMask ...
371         (ACE): ... here.
372         * lib/ntdll/rtl/acl.c: Use new path for AccessMask.
373         * ntoskrnl/se/semgr.c: Ditto.
374         * ntoskrnl/se/acl.c (SepInitDACLs): Use new path for AccessMask; Use
375         sizeof(ACE) instead of sizeof(ACE_HEADER).
376         * ntoskrnl/se/token.c (SepCreateSystemProcessToken): Use sizeof(ACE)
377         instead of sizeof(ACE_HEADER).
378
379 2002-10-20  Casper S. Hornstrup  <chorns@users.sourceforge.net>
380
381         * include/napi/teb.h (RTL_USER_PROCESS_PARAMETERS): Use field names
382         as described in Windows NT/2000 Native API Reference.
383         * lib/kernel32/file/file.c: Use new field names.
384         * lib/kernel32/misc/console.c: Ditto.
385         * lib/kernel32/process/create.c: Ditto.
386         * lib/kernel32/process/proc.c: Ditto.
387         * lib/ntdll/rtl/path.c: Ditto.
388         * lib/ntdll/rtl/ppb.c: Ditto.
389         * lib/ntdll/rtl/process.c: Ditto.
390
391 2002-10-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
392
393         * include/ntos.h: Include relevant files.
394         * include/internal/ke.h: Include files relative to
395         ntoskrnl/include.
396         * include/internal/arch/ke.h: Ditto.
397
398 2002-10-01  Casper S. Hornstrup  <chorns@users.sourceforge.net>
399
400         * drivers/dd/floppy/floppy.c: Changed PAGESIZE to PAGE_SIZE.
401         * drivers/fs/cdfs/fcb.c: Ditto.
402         * drivers/fs/cdfs/fsctl.c: Ditto.
403         * drivers/fs/cdfs/rw.c: Ditto.
404         * drivers/fs/ext2/dir.c: Ditto.
405         * drivers/fs/ext2/inode.c: Ditto.
406         * drivers/fs/ext2/rw.c: Ditto.
407         * drivers/fs/ext2/super.c: Ditto.
408         * drivers/fs/minix/blockdev.c: Ditto.
409         * drivers/fs/minix/cache.c: Ditto.
410         * drivers/fs/minix/inode.c: Ditto.
411         * drivers/fs/minix/rw.c: Ditto.
412         * drivers/fs/ntfs/fcb.c: Ditto.
413         * drivers/fs/ntfs/ntfs.h: Ditto.
414         * drivers/fs/vfat/create.c: Ditto.
415         * drivers/fs/vfat/direntry.c: Ditto.
416         * drivers/fs/vfat/dirwr.c: Ditto.
417         * drivers/fs/vfat/fat.c: Ditto.
418         * drivers/fs/vfat/fcb.c: Ditto.
419         * drivers/fs/vfat/fsctl.c: Ditto.
420         * drivers/fs/vfat/rw.c: Ditto.
421         * drivers/storage/class2/class2.c: Ditto.
422         * drivers/storage/scsiport/scsiport.c: Ditto.
423         * hal/halx86/adapter.c: Ditto.
424         * hal/halx86/mp.c: Ditto.
425         * include/ddk/mmfuncs.h: Ditto.
426         * include/ddk/mmtypes.h: Ditto.
427         * include/ddk/i386/pagesize.h: Ditto.
428         * include/ntdll/pagesize.h: Ditto.
429         * lib/kernel32/process/create.c: Ditto.
430         * lib/kernel32/thread/thread.c: Ditto.
431         * lib/ntdll/ldr/utils.c: Ditto.
432         * lib/ntdll/rtl/env.c: Ditto.
433         * lib/ntdll/rtl/heap.c: Ditto.
434         * lib/ntdll/rtl/ppb.c: Ditto.
435         * lib/ntdll/rtl/process.c: Ditto.
436         * lib/ntdll/rtl/thread.c: Ditto.
437         * ntoskrnl/cc/copy.c: Ditto.
438         * ntoskrnl/cc/view.c: Ditto.
439         * ntoskrnl/ex/sysinfo.c: Ditto.
440         * ntoskrnl/include/internal/i386/mm.h: Ditto.
441         * ntoskrnl/io/mdl.c: Ditto.
442         * ntoskrnl/ke/kthread.c: Ditto.
443         * ntoskrnl/ke/i386/kernel.c: Ditto.
444         * ntoskrnl/ldr/init.c: Ditto.
445         * ntoskrnl/ldr/loader.c: Ditto.
446         * ntoskrnl/mm/anonmem.c: Ditto.
447         * ntoskrnl/mm/cont.c: Ditto.
448         * ntoskrnl/mm/freelist.c: Ditto.
449         * ntoskrnl/mm/iospace.c: Ditto.
450         * ntoskrnl/mm/kmap.c: Ditto.
451         * ntoskrnl/mm/marea.c: Ditto.
452         * ntoskrnl/mm/mdl.c: Ditto.
453         * ntoskrnl/mm/mminit.c: Ditto.
454         * ntoskrnl/mm/ncache.c: Ditto.
455         * ntoskrnl/mm/npool.c: Ditto.
456         * ntoskrnl/mm/pagefile.c: Ditto.
457         * ntoskrnl/mm/pageop.c: Ditto.
458         * ntoskrnl/mm/section.c: Ditto.
459         * ntoskrnl/mm/slab.c: Ditto.
460         * ntoskrnl/mm/i386/page.c: Ditto.
461         * ntoskrnl/ob/handle.c: Ditto.
462         * ntoskrnl/ps/create.c: Ditto.
463         * ntoskrnl/ps/process.c: Ditto.
464         * ntoskrnl/ps/w32call.c: Ditto.
465         * subsys/win32k/include/object.h: Ditto.
466
467 2002-10-01  Casper S. Hornstrup  <chorns@users.sourceforge.net>
468
469         * lib/ntdll/string/ctype.c: Undefine __MSVCRT__ to not have mingw
470         runtime import _pctype.
471
472 2002-09-30  Casper S. Hornstrup  <chorns@users.sourceforge.net>
473
474         * lib/user32/misc/desktop.c (string.h): Include.
475         * lib/user32/misc/resources.c: Ditto.
476         * lib/user32/misc/winhelp.c: Ditto.
477         * lib/user32/windows/accel.c: Ditto.
478         * lib/user32/windows/bitmap.c: Ditto.
479         * subsys/win32k/freetype/ctype.c: Undefine __MSVCRT__ and _pctype to not
480         have mingw runtime import _pctype.
481
482 2002-09-30  Casper S. Hornstrup  <chorns@users.sourceforge.net>
483
484         * ntoskrnl/cc/view.c (alloca): Prototype.
485         * ntoskrnl/rtl/ctype.c: Undefine __MSVCRT__ to not have mingw runtime
486         import _pctype.
487
488 2002-08-26  David Welch  <welch@computer2.darkstar.org>
489
490         * lib/gdi32/misc/dllmain.c (GdiDllInitialize): Don't initialize
491         win32k.sys for each process.
492         * subsys/csrss/init.c (CsrServerInitialization): Initialize
493         win32k.sys as well.
494
495 2002-08-26  David Welch  <welch@computer2.darkstar.org>
496
497         * ntoskrnl/ps/process.c (NtCreateProcess): Reference the
498         parent process's handle using ExGetPreviousMode.
499
500 2002-08-26  David Welch  <welch@computer2.darkstar.org>
501
502         * lib/user32/misc/dllmain.c (Init): Initialize gdi32 as well.
503
504 2002-08-26  David Welch  <welch@computer2.darkstar.org>
505
506         * iface/addsys/genw32k.c (main, process): Generate a set of
507         stubs for csrss as well.
508
509 2002-08-26  David Welch  <welch@computer2.darkstar.org>
510
511         * lib/kernel32/process/create.c (CreateProcessW): Initialize
512         all the members of the new process's PPB.
513
514 2002-08-17  David Welch  <welch@computer2.darkstar.org>
515
516         * ntoskrnl/mm/rmap.c (MmWritePagePhysicalAddress): Ensure the
517         process isn't freed in the middle of our operations.
518
519 2002-08-17  David Welch  <welch@computer2.darkstar.org>
520
521         * drivers/fs/vfat/finfo.c (VfatSetAllocationSizeInformation): Fixed.
522
523 2002-08-17  David Welch  <welch@computer2.darkstar.org>
524
525         * ntoskrnl/ps/create.c (PiDeleteThread): Don't dereference
526         the thread's process while holding the thread list lock.
527
528 2002-08-17  David Welch  <welch@computer2.darkstar.org>
529
530         * ntoskrnl/mm/section.c (MmMapViewOfSection): Check there is 
531         enough space for all parts of an image before mapping it; if
532         there isn't enough space free at the preferred base address
533         then try to choose a different one.
534
535 2002-08-17  David Welch  <welch@computer2.darkstar.org>
536
537         * ntoskrnl/mm/mpw.c (MmInitMpwThread): Run the MPW thread at
538         idle priority.
539
540 2002-08-17  David Welch  <welch@computer2.darkstar.org>
541
542         * ntoskrnl/mm/kmap.c (ExUnmapPage, ExAllocatePageWithPhysPage,
543         MiFreeNonPagedPoolRegion, MiAllocNonPagedPoolRegion): Maintain
544         a hint of the next free page; makes running with whole page
545         allocation more bearable.
546
547 2002-08-17  David Welch  <welch@computer2.darkstar.org>
548
549         * ntoskrnl/mm/anonmem.c (MmPageOutVirtualMemory): Show an
550         out of swap space message if we are out of swap space.
551         * ntoskrnl/mm/section.c (MmPageOutSectionView): Show an
552         out of swap space message if we are out of swap space.
553         * ntoskrnl/mm/pagefile.c (MmAllocSwapPage): Don't automatically
554         show an out of swap space message on failure.
555         * ntoskrnl/mm/pagefile.c (MmShowOutOfSpaceMessagePagingFile): New
556         function to notify the user that the pagefile is full.
557
558 2002-08-17  David Welch  <welch@computer2.darkstar.org>
559
560         * drivers/lib/zlib/Makefile: Create a dummy zlib.sym
561
562 2002-08-16  David Welch  <welch@computer2.darkstar.org>
563
564         * ntoskrnl/mm/npool.c (ExAllocateWholePageBlock): Converted
565         to use PHYSICAL_ADDRESS type for page address.
566
567 2002-08-16  David Welch  <welch@computer2.darkstar.org>
568
569         * subsys/win32k/ntuser/class.c (W32kCreateClass): Corrected
570         typo when calculating the offset into the class object to
571         put the class name string.
572
573 2002-08-16  David Welch  <welch@computer2.darkstar.org>
574
575         * ntoskrnl/ps/thread.c (PsDispatchThreadNoLock): Don't call
576         the reaper function directly; set an event to wake up a seperate
577         reaper thread.
578         * ntoskrnl/ps/thread.c (PsReaperThreadMain): New function that
579         waits for a notification and then calls PsReapThreads.
580         * ntoskrnl/ps/thread.c (PsInitThreadManagement): Create the
581         reaper thread.
582
583 2002-08-15  David Welch  <welch@computer2.darkstar.org>
584
585         * lib/advapi32/misc/dllmain.c (DllMain): Removed debug message.
586
587 2002-08-14  David Welch  <welch@computer2.darkstar.org>
588
589         * subsys/smss/init.c (SmPagingFilesQueryRoutine): If possible
590         take the size of the paging file from the registry.
591
592 2002-08-14  David Welch  <welch@computer2.darkstar.org>
593
594         * ntoskrnl/mm/section.c (MmCreateDataFileSection): Extend the
595         section if necessary.
596
597 2002-08-14  David Welch  <welch@computer2.darkstar.org>
598
599         * ntoskrnl/mm/pagefile.c (NtCreatePagingFile): Set the file
600         size using the FileAllocationInformation class.
601
602 2002-08-14  David Welch  <welch@computer2.darkstar.org>
603
604         * ntoskrnl/mm/anonmem.c (MmWritePageVirtualMemory): Implemented
605         function to write anonymous memory pages to the swap file.
606         * ntoskrnl/mm/anonmem.c (MmFreeVirtualMemoryPage): Free any
607         swap page associated with the page.
608         * ntoskrnl/mm/mpw.c (MmWriteDirtyPages): New function to find
609         pages to write to disk.
610         * ntoskrnl/mm/mpw.c (MmMpwThreadMain): Implemented MPW functionality.
611         * ntoskrnl/mm/rmap.c (MmWritePagePhysicalAddress): New function
612         to write a single page back to disk.
613         * ntoskrnl/mm/rmap.c (MmSetCleanAllRmaps, MmSetDirtyAllRmaps,
614         MmIsDirtyPageRmap): New rmap function to support the MPW thread.
615         * ntoskrnl/mm/section.c (MmWritePageSectionView): Implemented
616         function to write back section pages.
617         * ntoskrnl/mm/section.c (MmFreeSectionPage): Free any swap
618         entry associated with the page; mark pages shared with
619         the cache as dirty if necessary.
620         
621 2002-08-14  David Welch  <welch@computer2.darkstar.org>
622
623         * ntoskrnl/ldr/loader.c (LdrPEProcessModule): Set name of
624         the module into the module text structure.
625
626 2002-08-14  David Welch  <welch@computer2.darkstar.org>
627
628         * ntoskrnl/io/rw.c (NtReadFile, NtWriteFile): Use the correct
629         test for whether to wait for the completion of i/o.
630
631 2002-08-14  David Welch  <welch@computer2.darkstar.org>
632
633         * ntoskrnl/cm/ntfunc.c (NtFlushKey): Request synchronous i/o
634         from NtOpenFile.
635         * ntoskrnl/cm/regfile (CmiInitPermanentRegistryHive): Request
636         synchronous i/o from NtCreateFile.
637         * ntoskrnl/dbg/kdb_stabs.c (LdrpLoadModuleSymbols): Request
638         synchronous i/o from NtOpenFile.
639         * ntoskrnl/ldr/sysdll.c (LdrpMapSystemDll): Request synchronous i/o
640         from NtOpenFile.
641
642 2002-08-14  David Welch  <welch@computer2.darkstar.org>
643
644         * ntoskrnl/cc/view.c (CcRosSuggestFreeCacheSegment): Maintain the
645         correct reference count.
646
647 2002-08-14  David Welch  <welch@computer2.darkstar.org>
648
649         * ntoskrnl/cc/view.c (CcRosFlushCacheSegment): New function to
650         write back a modified cache segment.
651         * ntoskrnl/cc/view.c (CcRosFlushDirtyPages): New function to
652         flush some dirty pages from the cache.
653         * ntoskrnl/cc/view.c (CcRosMarkDirtyCacheSegment): New function to
654         mark a cache segment modified while mapped into memory as dirty.
655
656 2002-08-14  David Welch  <welch@computer2.darkstar.org>
657
658         * ntoskrnl/cc/pin.c (CcMapData, CcUnpinData, CcSetDirtyPinnedData):
659         Store the dirty status in the BCB; don't write back dirty data
660         immediately.
661
662 2002-08-14  David Welch  <welch@computer2.darkstar.org>
663
664         * include/ntos/mm.h: Added SEC_XXXX defines from 'Windows NT/2000
665         Native API Reference'
666
667 2002-08-14  David Welch  <welch@computer2.darkstar.org>
668
669         * drivers/fs/vfat/ea.c (VfatSetExtendedAttributes): Empty
670         placeholder for extended attribute functions.
671
672 2002-08-14  David Welch  <welch@computer2.darkstar.org>
673
674         * drivers/fs/vfat/finfo.c (VfatSetAllocationSizeInformation):
675         Added function to set allocation size.
676
677 2002-08-14  David Welch  <welch@computer2.darkstar.org>
678
679         * drivers/fs/vfat/fcb.c (vfatFCBInitializeCache): Renamed
680         to vfatFCBInitializeCacheFromVolume.
681         * drivers/fs/vfat/fcb.c (vfatMakeFCBFromDirEntry): Don't
682         initialise the cache with a file object representing the
683         volume unless the FCB is for a directory.
684
685 2002-08-14  David Welch  <welch@computer2.darkstar.org>
686
687         * drivers/fs/vfat/create.c (VfatPagingFileCreate): Added a
688         new function for handling paging file only code.
689         * drivers/fs/vfat/create.c (VfatSupersedeFile): Added a
690         new function for doing a file supersede.
691         * drivers/fs/vfat/create.c (VfatCreateFile): Reformatted and
692         adjusted control flow. Set allocation size and extended attributes
693         on create.
694         * drivers/fs/vfat/create.c (VfatCreate): Removed goto.
695
696 2002-08-14  David Welch  <welch@computer2.darkstar.org>
697
698         * drivers/fs/vfat/cleanup.c (VfatCleanupFile): Renamed
699         updEntry to VfatUpdateEntry.
700         * drivers/fs/vfat/close.c (VfatCloseFile): Renamed
701         updEntry to VfatUpdateEntry.
702         * drivers/fs/vfat/dirwr.c (updEntry): Renamed to
703         VfatUpdateEntry.
704         * drivers/fs/vfat/dirwr.c (addEntry): Renamed to
705         VfatAddEntry.
706
707 2002-08-14  David Welch  <welch@computer2.darkstar.org>
708
709         * apps/tests/sectest/sectest.c (main): Fixed formatting.
710
711 2002-08-10  David Welch  <welch@computer2.darkstar.org>
712
713         * ntoskrnl/mm/i386/page.c (MmSetPageProtect): Fixed
714         behaviour when called on the system address space.
715
716 2002-08-10  David Welch  <welch@computer2.darkstar.org>
717
718         * ntoskrnl/mm/virtual.c (MmQueryAnonMem, MmProtectAnonMem,
719         NtAllocateVirtualMemory, NtFreeVirtualMemory): Renamed
720         segments to regions; moved region code to seperate file.
721         Implemented NtQueryVirtualMemory and NtProtectVirtualMemory
722         for anonymous memory areas.
723
724 2002-08-10  David Welch  <welch@computer2.darkstar.org>
725
726         * ntoskrnl/mm/anonmem.c: Moved functions relating to
727         areas created with NtAllocateVirtualMemory to a 
728         seperate file.
729
730 2002-08-10  David Welch  <welch@computer2.darkstar.org>
731
732         * ntoskrnl/mm/section.c (MmQuerySectionView): Implemented
733         NtQueryVirtualMemory for section views.
734
735 2002-08-10  David Welch  <welch@computer2.darkstar.org>
736
737         * ntoskrnl/mm/section.c (MmAccessFaultSectionView,
738         MmNotPresentFaultSectionView, MmProtectSectionView,
739         MmMapViewOfSegment, MmAlterViewAttributes): Implemented 
740         NtProtectVirtualMemory for section views.
741
742 2002-08-10  David Welch  <welch@computer2.darkstar.org>
743
744         * ntoskrnl/ke/main.c: Removed SEH test code.
745
746 2002-08-10  David Welch  <welch@computer2.darkstar.org>
747
748         * lib/ntdll/ldr/utils.c (LdrFixupImports): Remove the readonly
749         protection from the IAT before writing to it.
750
751 2002-08-10  David Welch  <welch@computer2.darkstar.org>
752
753         * lib/ntdll/ldr/utils.c (LdrAdjustDllName): Properly null terminate
754         the base name of the DLL.
755
756 2002-08-10  David Welch  <welch@computer2.darkstar.org>
757
758         * ntoskrnl/ldr/loader.c (LdrPEProcessModule): Set the text segment
759         of modules to readonly after loading.
760
761 2002-08-09  David Welch  <welch@computer2.darkstar.org>
762
763         * ntoskrnl/ps/create.c (NtCreateThread): Call PsSuspendThread
764         if NtCreateThread has CreateSuspended as TRUE.
765         * ntoskrnl/ps/suspend.c (PsSuspendThread, PsResumeThread,
766         PiSuspendThreadKernelRoutine): Fixed suspend functionality.
767
768 2002-08-09  David Welch  <welch@computer2.darkstar.org>
769
770         * ntoskrnl/ke/i386/usertrap.c (print_user_address): Copy
771         the LDR variable from the right address.
772
773 2002-08-09  David Welch  <welch@computer2.darkstar.org>
774
775         * ntoskrnl/ke/apc.c (KiDeliverNormalApc): Check for
776         kernel APCs pending on exit from the kernel.
777         * ntoskrnl/ke/apc.c (KiDeliverNormalApc, KiDeliverUserApc,
778         KiDeliverApc): Set the APC's inserted flag to FALSE after
779         removing it from the thread's queue.
780
781 2002-08-09  David Welch  <welch@computer2.darkstar.org>
782
783         * lib/kernel32/thread/thread.c (ThreadStartup): Don't
784         call DLL entrypoints; this is done by LdrInitializeThunk.
785         * lib/ntdll/ldr/startup.c (LdrInitializeThunk): Call
786         DLLs in initialization order; take the loader lock before
787         calling.
788
789 2002-08-09  David Welch  <welch@computer2.darkstar.org>
790
791         * apps/tests/thread/thread.c (main): Test suspend and
792         resume functionality.
793
794 2002-08-08  David Welch  <welch@computer2.darkstar.org>
795
796         * ntoskrnl/mm/section (NtQuerySection): Return the
797         right result length.
798
799 2002-08-08  David Welch  <welch@computer2.darkstar.org>
800
801         * ntoskrnl/ke/usertrap.c (print_user_address): Check for
802         a NULL LDR structure in the PEB; copy the LDR pointer in
803         safely. 
804
805 2002-08-08  David Welch  <welch@computer2.darkstar.org>
806
807         * ntoskrnl/ke/apc.c (KiDeliverUserApc): Deliver all present
808         APCs; release the APC spinlock while acccessing user memory.
809
810 2002-08-08  David Welch  <welch@computer2.darkstar.org>
811
812         * include/internal/ps.h: Adjusted offsets into the ETHREAD
813         structure.
814         * include/internal/ps.h: Removed redundant members from the
815         KTHREAD structure.
816         * ntoskrnl/ke/kthread.c (KeInitializeThread): Removed
817         redundant members from the KTHREAD structure.
818
819 2002-08-08  David Welch  <welch@computer2.darkstar.org>
820
821         * ntoskrnl/dbg/kdb.c (KdbEnterDebuggerException): New
822         function to enter the debugger on an exception.
823         * ntoskrnl/kd/kdebug.c (KdInitSystem): Initialize the
824         local kernel debugger if enabled.
825         * ntoskrnl/ke/catch.c (KiDispatchException): Enter the
826         local kernel debugger on an exception.
827
828 2002-08-08  David Welch  <welch@computer2.darkstar.org>
829
830         * include/ntdll/ldr.h: Added definition for a DLL entrypoint.
831         * lib/kernel32/process/create.c (KlCreateFirstThread): Put
832         the argument to the NtProcessStartup function on the stack.
833         * lib/kernel32/process/create.c (KlInitPeb): Read the
834         base address of the new image from the PEB.
835         * lib/kernel32/process/create.c (CreateProcessW): Start the
836         first thread at the entrypoint of the new image.
837         * lib/ntdll/ldr/startup.c (LdrInitializeThunk): If the
838         function is called after the initial startup then just call the
839         entrypoints for the loaded DLLs with DLL_THREAD_ATTACH. Don't
840         call the entrypoint of the image.
841         * lib/ntdll/rtl/process.c (RtlpCreateFirstThread): Put the
842         argument to the NtProcessStartup function on the stack.
843         * lib/ntdll/rtl/process.c (KlInitPeb): Read the base address of
844         the new image from the PEB.
845         * lib/ntdll/rtl/process.c (RtlCreateUserProcess): Start the
846         first thread at the entrypoint of the new image.
847         * ntoskrnl/ke/i386/bthread.S (PsBeginThreadWithContextInternal):
848         Use the system call path to begin a usermode thread.
849         * ntoskrnl/ke/i386/thread.c (Ke386InitThreadWithContext): Convert
850         the supplied context into a trap frame.
851         * ntoskrnl/ldr/init.c (LdrLoadInitialProcess): Put the PEB argument
852         to the NtProcessStartup function on the new stack; start the
853         first thread at the entrypoint of the image.
854         * ntoskrnl/ps/create.c (NtCreateThread): Create an APC to call
855         LdrInitializeThunk in the context of a new thread before its
856         entrypoint.
857
858 2002-08-08  David Welch  <welch@computer2.darkstar.org>
859
860         * drivers/fs/vfat/cleanup.c (VfatCleanupFile): Uninitialise
861         the cache on file cleanup.
862         * drivers/fs/vfat/fcb.c (vfatReleaseFcb): Don't uninitialise
863         the cache on file close.
864         * ntoskrnl/cc/copy.c: Renamed zero page global variable.
865         * ntoskrnl/cc/view.c: Added cache delete function.
866
867 2002-07-13  Casper S. Hornstrup  <chorns@users.sourceforge.net>
868
869         * rules.mak (RSYM): Define.
870         * include/ddk/zwtypes.h (DebugDbgLoadSymbols): Add to enum
871         _DEBUG_CONTROL_CODE.
872         * include/ntdll/ldr.h (LDR_SYMBOL_INFO, LdrpLoadUserModuleSymbols): Add.
873         (LdrLoadModuleSymbols): Remove.
874         * include/ntos/kdbgsyms.h (ST_FILENAME, ST_FUNCTION,
875         ST_LINENUMBER): Add.
876         (SYMBOL). Make Name an ANSI_STRING.
877         (IMAGE_SYMBOL_INFO, AreSymbolsParsed): Add.
878         * lib/ntdll/ldr/startup.c (LdrInitializeThunk): Call
879         LdrpLoadUserModuleSymbols() not LdrLoadModuleSymbols().
880         * lib/ntdll/ldr/utils.c (LdrLoadModuleSymbols): Rename to
881         LdrpLoadUserModuleSymbols.
882         (LdrpLoadUserModuleSymbols): Use DebugDbgLoadSymbols debug control code.
883         (LdrLoadDll): assert if out of memory.
884         (LdrLoadDll): Call
885         LdrpLoadUserModuleSymbols(), not LdrLoadModuleSymbols().
886         * lib/ntdll/string/ctype.c (_pctype): #undef.
887         * ntoskrnl/dbg/dbgctrl.c (NtSystemDebugControl): Call
888         LdrLoadUserModuleSymbols on DebugDbgLoadSymbols.
889         * ntoskrnl/include/internal/ldr.h (LdrGetAddressInformation): Add.
890         * ntoskrnl/include/internal/module.h (MODULE_TEXT_SECTION): Make SymbolInfo
891         an IMAGE_SYMBOL_INFO.
892         * ntoskrnl/ke/i386/exp.c (LdrGetAddressInformation): Add prototype.
893         (print_address): Change #ifdef KDBG to #ifdef DBG.
894         (KiDoubleFaultHandler, KiDumpTrapFrame, KeDumpStackFrames): Dump
895         one stack frame per line.
896         * ntoskrnl/ke/i386/multiboot.S: Create pagetables for more kernel
897         address space so larger modules can be passed from the boot loader.
898         * ntoskrnl/ke/i386/usertrap.c (LdrGetAddressInformation): Add prototype.
899         (print_user_address): Print symbols using LdrGetAddressInformation().
900         * ntoskrnl/ldr/loader.c (SYMBOLFILE_HEADER, IMAGE_SYMBOL_INFO_CACHE,
901         STAB_ENTRY, N_FUN, N_SLINE, N_SO, SymbolListHead): Add.
902         (TAG_SYM_BUF): Remove.
903         (LdrInitDebug): Remove unneeded code.
904         (LdrInit1): Prepare for loading symbols.
905         (LdrpReadLine, HexL, LdrpParseLine, LdrpLoadModuleSymbolsFromBuffer,
906         LdrpLoadUserModuleSymbolsFromBuffer): Remove.
907         (LdrpParseImageSymbols, LdrpGetFileName, LdrpGetFunctionName,
908         LdrpGetLineNumber, LdrGetAddressInformation, LdrpLookupUserSymbolInfo): Add.
909         (LdrpLoadModuleSymbols, LdrInitializeBootStartDriver): Change to use new
910         symbol structures.
911         (LdrLoadUserModuleSymbols): Cache symbol buffers.
912         (LdrUnloadModuleSymbols): Implement.
913         (LdrLoadModule, LdrUnloadModule): Change #ifdef KDBG to #ifdef DBG.
914         (LdrPEProcessModule): Split a line into two lines.
915         (LdrPEProcessModule): Setup for loading symbols.
916         * ntoskrnl/ldr/sysdll.c (LdrpMapSystemDll): Open with FILE_SHARE_READ.
917         * ntoskrnl/ps/process.c (PiFreeSymbols): Call LdrUnloadModuleSymbols() to
918         free symbols.
919         (PiDeleteProcess): Change #ifdef KDBG to #ifdef DBG.
920         * ntoskrnl/rtl/ctype.c (_pctype): #undef.
921         * ntoskrnl/rtl/string.c (strncpy): Terminate destination string.
922         * tools/Makefile (rsym): Add target.
923         * tools/helper.mk: Include config and use -g if DBG = 1.
924
925 2002-07-13  Casper S. Hornstrup  <chorns@users.sourceforge.net>
926
927         * Makefile (install_before): Install system.hiv to correct location.
928
929 2002-07-04  David Welch  <welch@computer2.darkstar.org>
930
931         * subsys/win32k/include/callback.h: Fixed callback argument
932         definitions.
933         * subsys/win32k/ntuser/winpos.c: Implemented some more of the windows
934         sizing/moving code.
935         * subsys/win32k/ntuser/painting.c: Implemented some more of the
936         window painting code.
937         * subsys/win32k/objects/coord.c: Implemented LPtoDP and DPtoLP.
938         * subsys/win32k/objects/region.c: Added stubs for some more
939         region functions.
940
941 2002-07-04  David Welch  <welch@computer2.darkstar.org>
942
943         * ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the
944         process desktop handle as well.
945
946 2002-07-04  David Welch  <welch@computer2.darkstar.org>
947
948         * ntoskrnl/se/token.c: Don't call the ZwXXX variant of
949         system calls when in system context.
950
951 2002-07-04  David Welch  <welch@computer2.darkstar.org>
952
953         * ntoskrnl/Makefile: Added file with MDA output code.
954         * ntoskrnl/kd/kdebug.c: Recognize MDA as a destination for
955         debug output.
956
957 2002-07-04  David Welch  <welch@computer2.darkstar.org>
958
959         * lib/user32/windows/defwnd.c: Implemented some more of the
960         default window handler.
961
962 2002-07-04  David Welch  <welch@computer2.darkstar.org>
963
964         * lib/user32/misc/stubs.c: Removed some stubs to seperate files.
965
966 2002-07-04  David Welch  <welch@computer2.darkstar.org>
967
968         * lib/user32/user32.def: Export ScreenToClient otherwise we
969         get problems when code in user32 tries to call it.
970
971 2002-07-04  David Welch  <welch@computer2.darkstar.org>
972
973         * include/win32k/region.h: Added prototypes for some missing
974         region functions.
975
976 2002-07-04  David Welch  <welch@computer2.darkstar.org>
977
978         * include/win32k/ntuser.h: Added prototypes for some missing
979         NtUserXXX functions.
980
981 2002-07-04  David Welch  <welch@computer2.darkstar.org>
982
983         * include/user32/wininternal.h: Added some constants for
984         private GetDCEx styles that WINE needs.
985
986 2002-07-04  David Welch  <welch@computer2.darkstar.org>
987
988         * include/user32/callback.h: Fixed callbacks for messages with
989         parameters.
990
991 2002-07-04  David Welch  <welch@computer2.darkstar.org>
992
993         * include/napi/win32.h (W32THREAD): Added pointer to the
994         thread's desktop.
995         * include/napi/win32.h (W32PROCESS): Removed handle table,
996         added a pointer to the process's window station.
997         * subsys/win32k/ntuser/guicheck.c (W32kGuiCheck): Reference
998         a process's window station on the first win32k system call. Reference
999         a thread's desktop on the first win32k system call.
1000
1001 2002-07-04  David Welch  <welch@computer2.darkstar.org>
1002
1003         * include/messages.h: Added some missing WM_XXX constants.
1004
1005 2002-07-04  David Welch  <welch@computer2.darkstar.org>
1006
1007         * drivers/dd/ide/makefile: Compiling with debugging messages
1008         needs libgcc to be linked in.
1009
1010 2002-07-04  David Welch  <welch@computer2.darkstar.org>
1011
1012         * iface/addsys/genw32k.c: Generate a variable with the
1013         number of system calls.
1014         * iface/native/genntdll.c: Generate a proper stack frame for
1015         the user system call stubs.
1016         * ntoskrnl/ke/i386/syscall.S: Generate a proper stack frame for
1017         the handler for system calls.
1018
1019 2002-07-04  David Welch  <welch@computer2.darkstar.org>
1020
1021         * Makefile: Build the GUI startup application.
1022         * subsys/system/gstart/gstart.c: Application to start up
1023         the GUI.
1024
1025 2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
1026
1027         * tools/helper.mk: Make an import library a proper target
1028         depending on the .def file.
1029
1030 2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
1031
1032         * subsys/win32k/ntuser/window.c (NtUserGetWindowLong): Began
1033         implementation.
1034
1035 2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
1036
1037         * subsys/win32k/misc/object.c (ObmCreateHandle): Return the
1038         correct handle value.
1039
1040 2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
1041
1042         * subsys/win32k/makefile: Make win32k depend on the file containing
1043         the service table. 
1044
1045 2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
1046
1047         * ntoskrnl/ke/i386/stkswitch.S (KeSwitchStackAndRet,
1048         KePushAndStackSwitchAndSysRet): Push one value only.
1049         * ntoskrnl/ps/w32call.c (NtCallbackReturn, NtW32Call): Moved
1050         these functions to a new file. Restore the old trap frame after
1051         returning from a callback.
1052
1053 2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
1054
1055         * lib/user32/windows/message.c (CallWindowProcA, CallWindowProcW):
1056         Convert message to Unicode or ASCII if necessary.
1057
1058 2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
1059
1060         * include/user32/callback.h: Added WM_CREATE and WM_NCCALCSIZE
1061         callbacks.
1062         * lib/user32/windows/window.c (User32SendCREATEMessageForKernel,
1063         User32SendNCCREATEMessageForKernel): Implemented.
1064         * subsys/win32k/ntuser/callback.c (W32kSendCREATEMessage):
1065         Implemented.    
1066
1067 2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
1068
1069         * include/structs.h: Added Unicode and ASCII versions of
1070         CREATESTRUCT.
1071
1072 2002-06-16  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
1073
1074         * tools/helper.mk: Make the install target depend on all the
1075         files to be installed.
1076
1077 2002-06-16  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
1078
1079         * ntoskrnl/ps/thread.c (NtCallbackReturn): Set TSS.Esp0 to the
1080         top of the old stack.
1081         * ntoskrnl/ps/thread.c (NtW32Call): Set TSS.Esp0 to the top of
1082         the new stack. Free the callback stack correctly. Don't copy
1083         portion of the trap frame that doesn't exist in non-v86-mode
1084         interrupts.
1085         * ntoskrnl/ps/thread.c (PsFreeCallbackStack): New function to
1086         free a stack allocated with PsAllocateCallbackStack.
1087
1088 2002-06-16  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
1089
1090         * drivers/dd/null/makefile: Commented out local LDFLAGS as
1091         these cause bad relocations in the stripped image.
1092
1093 2002-06-16  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
1094
1095         * config: Corrected spelling error.
1096
1097 2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
1098
1099         * subsys/system/winlogon/winlogon.c (WinMain): Check for
1100         failure when creating a window system.
1101
1102 2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
1103
1104         * ntoskrnl/ob/handle.c (ObDuplicateObject): Added this internal
1105         function for duplicating objects.
1106         * ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the parent
1107         process's window station to the child process.
1108         * ntoskrnl/ps/process.c (PsInitProcessManagement): Initialize the
1109         first process's window station.
1110
1111 2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
1112
1113         * ntoskrnl/mm/marea.c (MmCreateMemoryArea): Initialise
1114         page operation structure members.
1115         * ntoskrnl/mm/pageop.c (MmReleasePageOp, MmGetPageOp): Increment
1116         or decrement the page operation count in the memory area.
1117         * ntoskrnl/mm/virtual.c (MmNotPresentFaultVirtualMemory,
1118         MmPageOutVirtualMemory): Check for a deleted memory area before 
1119         handling the fault.
1120         * ntoskrnl/mm/virtual.c (MmFreeVirtualMemory): Wait for all
1121         page operations to finish before freeing the memory area.
1122
1123 2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
1124
1125         * ntoskrnl/ke/i386/syscall.S (interrupt_handler2e): Corrected
1126         test for previous mode, upper 16-bit of CS on the stack after an
1127         interrupt are arbitary.
1128
1129 2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
1130
1131         * lib/user32/misc/winsta.c: Cleaned up indentation.
1132
1133 2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
1134         
1135         * apps/tests/winhello/winhello.c (WinMain, MainWndProc):
1136         Cleaned up formatting, some more error checks.
1137
1138 2002-06-04  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
1139
1140         * ntoskrnl/mm/virtual.c (MmSecureVirtualMemory,
1141         MmUnsecureVirtualMemory, NtQueryVirtualMemory): Corrected indentation.
1142
1143 2002-06-04  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
1144
1145         * ntoskrnl/ke/i386/exp.c (KiDoubleFaultHandler): Print CR3
1146         correctly.
1147
1148 2002-06-04  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
1149
1150         * ntoskrnl/include/internal/ps.h: Added KTHREAD_STACK_LIMIT definition.
1151         * ntoskrnl/ke/i386/tskswitch.S (Ki386ContextSwitch): Force all the
1152         pages of the kernel stack to be accessible from this process.
1153         
1154 2002-06-04  David Welch  <welch@cwcom.net>
1155
1156         * ntoskrnl/cc/view.c (ReadCacheSegmentChain): Changes to use 
1157         PHYSICAL_ADDRESS type for physical addresses.
1158         * ntoskrnl/cc/copy.c (CcRosCreateCacheSegment): Changes to use 
1159         PHYSICAL_ADDRESS type for physical addresses.
1160         * ntoskrnl/cc/copy.c (CcFreeCachePage): Changes to use 
1161         PHYSICAL_ADDRESS type for physical addresses.
1162         * ntoskrnl/include/internal/mm.h: Changed prototypes to use 
1163         PHYSICAL_ADDRESS type for physical addresses.
1164         * ntoskrnl/include/internal/ps.h (KPROCESS): Changed type of
1165         page directory base to PHYSICAL_ADDRESS.
1166         * ntoskrnl/include/internal/i386/mm.h: Changed prototypes to use
1167         PHYSICAL_ADDRESS type for physical addresses.
1168         * ntoskrnl/ke/kthread.c (KeFreeStackPage): Changes to use 
1169         PHYSICAL_ADDRESS type for physical addresses.
1170         * ntoskrnl/ke/kthread.c (KeInitializeThread): Changes to use 
1171         PHYSICAL_ADDRESS type for physical addresses.
1172         * ntoskrnl/ke/process.c (KeAttachProcess, KeDetachProcess): Changes 
1173         to use PHYSICAL_ADDRESS type for physical addresses.
1174         * ntoskrnl/ke/kernel.c (PcrPages, KeApplicationProcessorInit): Changes
1175         to use PHYSICAL_ADDRESS type for physical addresses.
1176         * ntoskrnl/mm/balance.c (MM_ALLOCATION_REQUEST): Changes to use 
1177         PHYSICAL_ADDRESS type for physical addresses.
1178         * ntoskrnl/mm/balance.c (MmReleasePageMemoryConsumer): Changes to use 
1179         PHYSICAL_ADDRESS type for physical addresses.
1180         * ntoskrnl/mm/balance.c (MmRequestPageMemoryConsumer): Changes to use 
1181         PHYSICAL_ADDRESS type for physical addresses.
1182         * ntoskrnl/mm/cont.c (MmFreeContinuousPage): Changes to use 
1183         PHYSICAL_ADDRESS type for physical addresses.
1184         * ntoskrnl/mm/cont.c (MmAllocateContinuousAlignedMemory): Changes to 
1185         use PHYSICAL_ADDRESS type for physical addresses.
1186         * ntoskrnl/mm/freelist.c (MmTransferOwnershipPage, 
1187         MmGetLRUFirstUserPage, MmGetLRUNextUserPage, MmGetContinuousPages,
1188         MmInitializePageList, MmSetFlagsPage, MmSetRmapListHeadPage,
1189         MmGetRmapListHeadPage, MmMarkPageMapped, MmMarkPageUnmapped,
1190         MmGetFlagsPage, MmSetSavedSwapEntryPage, MmGetSavedSwapEntryPage,
1191         MmReferencePage, MmGetReferenceCountPage, MmIsUsablePage,
1192         MmDereferencePage, MmGetLockCountPage, MmLockPage, MmUnlockPage,
1193         MmAllocPage): Changes to use PHYSICAL_ADDRESS type for physical 
1194         addresses.
1195         * ntoskrnl/mm/iospace.c (MmMapIoSpace): Changes to use 
1196         PHYSICAL_ADDRESS type for physical addresses.
1197         * ntoskrnl/mm/kmap.c (ExAllocatePage, MiZeroPage, MiCopyFromUserPage,
1198         ExAllocatePageWithPhysPage): Changes to use PHYSICAL_ADDRESS type for 
1199         physical addresses.
1200         * ntoskrnl/mm/marea.c (MmFreeMemoryArea): Changes to use 
1201         PHYSICAL_ADDRESS type for physical addresses.
1202         * ntoskrnl/mm/mdl.c (MmUnlockPages, MmMapLockedPages, 
1203         MmProbeAndLockPages): Changes to use PHYSICAL_ADDRESS type for 
1204         physical addresses.
1205         * ntoskrnl/mm/mm.c (MmSharedDataPagePhysicalAddress, 
1206         MmCommitPagedPoolAddress, MmNotPresentFault): Changes to use 
1207         PHYSICAL_ADDRESS type for physical addresses.
1208         * ntoskrnl/mm/mminit.c (MmInitVirtualMemory): Changes to use 
1209         PHYSICAL_ADDRESS type for physical addresses.
1210         * ntoskrnl/mm/ncache.c (MmAllocateNonCachedMemory, 
1211         MmFreeNonCachedPage): Changes to use PHYSICAL_ADDRESS type for 
1212         physical addresses.
1213         * ntoskrnl/mm/npool.c (grow_kernel_pool): Changes to use 
1214         PHYSICAL_ADDRESS type for physical addresses.
1215         * ntoskrnl/mm/rmap.c (MmPageOutPhysicalAddress, MmInsertRmap,
1216         MmDeleteAllRmaps, MmDeleteRmap): Changes to use 
1217         PHYSICAL_ADDRESS type for physical addresses.
1218         * ntoskrnl/mm/section.c (MiReadPage, MmNotPresentFaultSectionView,
1219         MmAccessFaultSectionView, MmPageOutDeleteMapping, 
1220         MmPageOutSectionView, MmFreeSectionPage): Changes to use 
1221         PHYSICAL_ADDRESS type for physical addresses.
1222         * ntoskrnl/mm/slab.c (ExGrowSlabCache): Changes to use 
1223         PHYSICAL_ADDRESS type for physical address.
1224         * ntoskrnl/mm/virtual.c (MmPageOutVirtualMemory, 
1225         MmNotPresentFaultVirtualMemory, MmFreeVirtualMemoryPage): Changes to 
1226         use PHYSICAL_ADDRESS type for physical address.
1227         * ntoskrnl/mm/wset.c (MmTrimUserMemory): Changes to use 
1228         PHYSICAL_ADDRESS type for physical address.
1229         * ntoskrnl/mm/page.c (Mmi386ReleaseMmInfo, MmCopyMmInfo,
1230         MmGetPhysicalAddressForProcess, MmCreateVirtualMapping,
1231         MmCreateVirtualMappingUnsafe, MmCreateVirtualMappingForProcess,
1232         MmDeleteVirtualMapping): Changes to use PHYSICAL_ADDRESS type for 
1233         physical address.
1234         * ntoskrnl/ps/process (PsInitProcessManagment): Changes to use 
1235         PHYSICAL_ADDRESS type for physical address.
1236         * ntoskrnl/ps/thread.c (PsAllocateCallbackStack): Changes to use 
1237         PHYSICAL_ADDRESS type for physical address.
1238
1239 2002-06-04  David Welch  <welch@cwcom.net>
1240
1241         * Lots of change since the ChangeLog was last updated.
1242
1243 2001-03-18  David Welch  <welch@cwcom.net>
1244
1245         * ntoskrnl/ke/apc.c (KiDeliverApc): Bug fix.
1246         * ntoskrnl/ke/apc.c (KeInsertQueueApc): More comments.
1247         * ntoskrnl/ke/catch.c (KiDispatchException): Bug fix.
1248         * ntoskrnl/ke/timer.c (KeDelayExecutionThread): Don't use removed 
1249         function KeAddTimeoutThread.
1250         * ntoskrnl/ke/timer.c (KeAddTimeoutThread): Removed.
1251         * ntoskrnl/ke/wait.c (KeWaitForSingleObject, KeWaitForMultipleObjects):
1252         Don't use KeAddTimeoutThread.
1253         * ntoskrnl/mm/freelist.c (MmAllocateContiguousAlignedMemory): Bug fix
1254         * ntoskrnl/mm/freelist.c (MmAllocatePage): Allocate from the top
1255         memory.
1256
1257 2001-03-17  David Welch  <welch@cwcom.net>
1258
1259         * ntoskrnl/ke/catch.c (KiDispatchException): Implementation of
1260         exception handling, user-mode only.
1261
1262 2001-03-16  David Welch  <welch@cwcom.net>
1263
1264         * include/ddk/zw.h: Corrected declarations of NtCreateProfile,
1265         NtQueryIntervalProfile, NtSetIntervalProfile.
1266         * include/ddk/zwtypes.h: Added definitions of KPROFILE_SOURCE.
1267         * ntoskrnl/include/internal/ke.h: Added the interrupted EIP as a
1268         parameter to KiUpdateSystemTime for profiling purposes.
1269         * ntoskrnl/include/internal/nt: Added declaration for profiling
1270         support initialization.
1271         * ntoskrnl/ke/timer.c (KiUpdateSystemTime, KeExpireTimers): Call
1272         the profiling code on a timer interrupt with the interrupt EIP.
1273         * ntoskrnl/ke/i386/irq.c (KiDispatchInterrupt): Pass the interrupted
1274         EIP to KiUpdateSystemTime.
1275         * ntoskrnl/mm/virtual.c (NtReadVirtualMemory, NtWriteVirtualMemory):
1276         Release the MDLs used properly.
1277         * ntoskrnl/nt/nt.c: Call the profiling support initialization.
1278         * ntoskrnl/nt/ntevent.c (NtCreateEvent): Don't try copying the
1279         ObjectAttributes parameter if it is NULL.
1280         * ntoskrnl/nt/profile.c: Implemented profiling.
1281
1282 2001-03-16  David Welch  <welch@cwcom.net>
1283
1284         * ntoskrnl/include/internal/safe.h: Corrected typo.
1285         * ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtQueryEvent):
1286         Corrected typos.
1287         * ntoskrnl/rtl/mem.c: Missing header file.
1288
1289 2001-03-16  David Welch  <welch@cwcom.net>
1290
1291         * ntoskrnl/include/internal/safe.h: Add definitions for handling
1292         potentially unsafe pointers.
1293
1294 2001-03-16  David Welch  <welch@cwcom.net>
1295
1296         * ntoskrnl/include/internal/mm.h: Removed MmSafeCopyToUser and
1297         MmSafeCopyFromUser as source files need these but don't want internal 
1298         mm definitions.
1299         * ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtPulseEvent,
1300         NtQueryEvent, NtResetEvent, NtSetEvent): Copy data to and from
1301         user mode safely.
1302         * ntoskrnl/rtl/mem.c (MmCopyToCaller, MmCopyFromCaller): Helper
1303         functions for copying data to and from potentially unsafe pointers.
1304
1305 2000-12-23  David Welch  <welch@cwcom.net>
1306
1307         * All task switching is done in software.
1308         * Beginnings of v86 mode support.
1309
1310 2000-12-22  David Welch  <welch@cwcom.net>
1311
1312         * ntoskrnl/ps/kill.c (PiTerminateProcessThreads): Drop 
1313         PiThreadListLock before calling PsTerminateOtherThread
1314
1315 2000-12-16  David Welch  <welch@cwcom.net>
1316
1317         * ntoskrnl/ex/fmutex.c (ExReleaseFastMutexUnsafe): Only set the
1318         fast mutex's owner back to NULL if it is being released
1319
1320 2000-12-10  David Welch  <welch@cwcom.net>
1321
1322         * ntoskrnl/ke/i386/vm86_sup.S (Ki386RetToV86Mode): Added function
1323         to do the raw switch to v86 mode.
1324         * ntoskrnl/include/internal/vm86.h: Definitions for the v86 mode
1325         support.
1326
1327 2000-12-10  David Welch  <welch@cwcom.net>
1328
1329         * ntoskrnl/ke/i386/trap.s (PsBeginThreadWithContextInternal): Moved
1330         to ntoskrnl/ke/i386/bswitch.S.
1331         * ntoskrnl/ke/i386/trap.s (interrupt_handler2e): Moved to
1332         ntoskrnl/ke/i386/syscall.S.
1333         * ntoskrnl/ke/i386/trap.s (old_interrupt_handler2e): Removed.
1334
1335 2000-12-04  David Welch  <welch@cwcom.net>
1336
1337         * ntoskrnl/ke/i386/irq.c (KiInterruptDispatch): Record the last PC 
1338         value for a rescheduled thread.
1339         * ntoskrnl/ke/i386/irqhand.s: Construct a primitive trap frame
1340         in interrupt handlers.  
1341         
1342 2000-08-30  David Welch  <welch@cwcom.net>
1343
1344         * Added calibration of KeStallExecutionProcessor timing
1345           (code from linux 2.2.16).
1346                
1347         * Corrected compilation bugs in user32 library.
1348
1349         * Corrected compilation bugs related to anonymous structs
1350           in ndis code.
1351                
1352         * Pass command line to kernel from loadros.
1353                
1354         * Corrected PIC mask calculation.
1355                
1356 2000-05-27  David Welch <welch@cwcom.net>
1357
1358         * Fixed issue with closing non-existent or already closed
1359           handle.
1360
1361 2000-01-26  David Welch <welch@cwcom.net>
1362
1363         * ZwCreateProcess now maps ntdll rather than the user-mode
1364           code.
1365
1366 1999-09-06  David Welch <welch@cwcom.net>
1367
1368         * Implemented ZwOpenProcess.
1369                
1370         * Partially implemented killing other threads (possible memory
1371           leaks).
1372                
1373         * Made a start on a proper implemention of APCs (based on 
1374           article in NT insider).
1375
1376 1998-12-08  David Welch <welch@cwcom.net>
1377
1378         * Corrected bug in shell (Read two keypresses and assumed they
1379           where the key going up and down respectively).
1380                
1381         * Corrected race in dpc handling.
1382                
1383         * Took out cleanup sections in ZwReadFile (now handled by the 
1384           APC).
1385                
1386         * Disabled broken code in kernel32.
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396