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