2003-07-17 Casper S. Hornstrup <chorns@users.sourceforge.net>
[reactos.git] / reactos / ChangeLog
1 2003-07-17 Casper S. Hornstrup <chorns@users.sourceforge.net>
2
3 * INSTALL: Update installation instructions.
4
5 2003-07-16 Royce Mitchell III <royce3@ev1.net>
6
7 * modifed strtok & wcstok in msvcrt so that crtdll can use it.
8 * new private support functions _lasttoken and _wlasttoken to support
9 strtok and wcstok respectively.
10 * fixed lib/msvcrt/stdio/vfscanf.c to remove unnecessary globals.
11 * changed crtdll to use msvcrt's stdio/scanf.c
12
13 2003-07-16 Royce Mitchell III <royce3@ev1.net>
14
15 * fixed warnings at lib/msvcrt/stdio/fputs.c:79
16 and lib/msvcrt/stdlib/errno.c:14
17 and lib/msvcrt/stdlib/wputenv.c:24
18
19 2003-07-16 Royce Mitchell III <royce3@ev1.net>
20
21 * integrated Art Yerkes' _ftime implementation at
22 lib/msvcrt/time/ftime.c
23 * fixed ungetc warning in lib/msvcrt/stdio/vfscanf.c (also
24 renamed ungetc macro to UNGETC for clarity)
25
26 2003-07-15 Royce Mitchell III <royce3@ev1.net>
27
28 * fixed references to errno in MSVCRT to use __set_errno() and
29 _errno() respectively.
30 * Fixed warning (args 3 & 6 in call to CreateThread) in
31 lib/msvcrt/process/threadx.c
32
33 2003-07-15 Royce Mitchell III <royce3@ev1.net>
34
35 * modified crtdll to forward most of it's CTYPE, STRING
36 and WSTRING entries to NTDLL or MSVCRT.
37
38 2003-07-14 James Tabor <jimtabor@adsl-64-217-116-74.dsl.hstntx.swbell.net>
39
40 * lib/gdi32/misc/stubs.c Remove FillRgn.
41 * lib/gdi32/objects/region.c Add FillRng.
42 It looks okay.
43
44 2003-07-12 Casper S. Hornstrup <chorns@users.sourceforge.net>
45
46 Changes for compiling with w32api
47
48 * include/ddk/extypes.h (NPAGED_LOOKASIDE_LIST, PAGED_LOOKASIDE_LIST):
49 Match w32api fields.
50 * include/ddk/halfuncs.h (HalReturnToFirmware, HalReleaseDisplayOwnership,
51 HalQueryDisplayOwnership): Move ...
52 * include/ntos/halfuncs.h: ... here.
53 * include/ntos/rtl.h: (PopEntrySList, PushEntrySList): Move to
54 ntoskrnl/ex/lookas.c.
55 * include/ntos/zw.h (NtAccessCheckAndAuditAlarm, NtCancelTimer,
56 NtCreatePagingFile, NtCreateThread, NtFlushInstructionCache,
57 NtFlushVirtualMemory, NtGetTickCount, NtLoadKey, NtLockVirtualMemory,
58 NtOpenObjectAuditAlarm, NtProtectVirtualMemory, NtQueryDirectoryObject,
59 NtQueryIntervalProfile, NtQueryVirtualMemory, NtRaiseHardError,
60 NtSetInformationKey, NtSetInformationObject, NtSetTimer, NtUnloadKey,
61 NtUnlockVirtualMemory, NtWaitForMultipleObjects, NtCreateProfile,
62 NtDelayExecution, NtExtendSection, NtQuerySection): Include for w32api.
63 * ntoskrnl/ntoskrnl.def (ExInterlockedAddUlong,
64 ExInterlockedInsertHeadList, ExInterlockedInsertTailList,
65 ExInterlockedPopEntryList, ExInterlockedPushEntryList,
66 ExInterlockedRemoveHeadList): Make FASTCALL.
67 * ntoskrnl/ntoskrnl.edf: Ditto.
68 * ntoskrnl/ex/list.c: Ditto.
69 * include/ddk/exfuncs.h: Ditto.
70 (InterlockedPopEntrySList, InterlockedPushEntrySList,
71 ExAllocateFromPagedLookasideList, ExFreeToPagedLookasideList): Add.
72 * ntoskrnl/ex/interlck.c (ExInterlockedDecrementLong,
73 ExInterlockedAddUlong, ExInterlockedIncrementLong): Undefine if defined.
74 * ntoskrnl/ex/lookas.c (PopEntrySList, PushEntrySList,
75 LookasideListLock): Add.
76 * drivers/dd/blue/blue.c: Include <roskrnl.h>.
77 * drivers/dd/videoprt/videoprt.c: Ditto.
78
79 2003-07-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
80
81 * lib/user32/controls/edit.c (EDIT_EM_SetLimitText,
82 EDIT_WM_StyleChanged): Fix unsigned/signed warning.
83
84 2003-07-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
85
86 * config (DBG): Default to 0.
87
88 2003-07-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
89
90 * regtests: New directory.
91 * regtests/kmregtests: Ditto.
92 * regtests/kmrtint: Ditto.
93 * regtests/regtests: Ditto.
94 * regtests/shared: Ditto.
95 * regtests/win32base: Ditto.
96 * include/roskrnl.h: New file.
97 * regtests/Makefile: Ditto.
98 * regtests/kmregtests/.cvsignore: Ditto.
99 * regtests/kmregtests/driver.c: Ditto.
100 * regtests/kmregtests/kmregtests.h: Ditto.
101 * regtests/kmregtests/Makefile: Ditto.
102 * regtests/kmrtint/.cvsignore: Ditto.
103 * regtests/kmrtint/kmrtint.c: Ditto.
104 * regtests/kmrtint/kmrtint.def: Ditto.
105 * regtests/kmrtint/kmrtint.edf: Ditto.
106 * regtests/kmrtint/Makefile: Ditto.
107 * regtests/regtests/.cvsignore: Ditto.
108 * regtests/regtests/Makefile: Ditto.
109 * regtests/regtests/regtests.c: Ditto.
110 * regtests/shared/.cvsignore: Ditto.
111 * regtests/shared/Makefile: Ditto.
112 * regtests/shared/regtests.c: Ditto.
113 * regtests/shared/regtests.h: Ditto.
114 * regtests/win32base/.cvsignore: Ditto.
115 * regtests/win32base/driver.c: Ditto.
116 * regtests/win32base/file-1.c: Ditto.
117 * regtests/win32base/Makefile: Ditto.
118 * regtests/win32base/win32base.def: Ditto.
119 * regtests/win32base/win32base.edf: Ditto.
120 * tools/regtests.c: Ditto.
121 * Makefile: Add target regtests.
122 * config: Add SEH option.
123 * rules.mak: Add tool REGTESTS.
124 * bootdata/hivesys.inf: Add service kmregtests.
125 * include/win32k/bitmaps.h (DIB_BitmapInfoSize): Correct prototype.
126 * ntoskrnl/ke/i386/exp.c (KiKernelTrapHandler): Reverse wrong boolean
127 expression.
128 * ntoskrnl/ke/i386/usertrap.c (KiUserTrapHandler): Ditto.
129 * tools/Makefile: Add tool regtests.
130 * tools/config.mk: Handle SEH option.
131 * tools/helper.mk: Support regression tests.
132
133 2003-07-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
134
135 * apps/tests/bitblt/bitblt.c (MainWndProc): Declare variables
136 before any statements are processed in the scope.
137 * apps/tests/icontest/icontest.c (WinMain): Ditto.
138 * apps/tests/wm_paint/wm_paint.c (WinMain, MainWndProc): Ditto.
139
140 2003-07-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
141
142 * lib/user32/controls/button.c (PB_Paint, GB_Paint): Declare variables
143 before any statements are processed in the scope.
144 * lib/user32/controls/combo.c (CBPaintButton): Ditto.
145 * lib/user32/windows/accel.c (TranslateAcceleratorA): Ditto.
146 * subsys/win32k/include/class.h (W32kGetClassLong): Fix prototype.
147 * subsys/win32k/ntuser/class.c (W32kGetClassLong): Match prototype.
148 * subsys/win32k/ntuser/windc.c (DceAllocDCE): Ditto.
149 * subsys/win32k/ntuser/window.c (DestroyThreadWindows): Ditto.
150
151 2003-07-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
152
153 * tools/rgenstat/rgenstat.c (process_directory): Fix building on Windows.
154
155 2003-07-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
156
157 * tools/rgenstat/rgenstat.c (API_INFO): Add filename field.
158 (path_to_url, get_filename): New functions.
159 (parse_file, process_directory): Build cvs path.
160 (generate_xml_for_component): Set file attribute on a function.
161 * tools/rgenstat/web/rapistatus.css (.h): New class.
162 * tools/rgenstat/web/rapistatus.js (clickHandler): Go to the file in
163 ViewCVS on click on a function.
164 * tools/rgenstat/web/rapistatus.xsl: Handle file attribute.
165
166 2003-07-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
167
168 * subsys/win32k/objects/region.c (W32kFillRgn): Fix syntax error.
169
170 2003-07-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
171
172 * tools/rgenstat/rgenstat.c (get_previous_identifier): Skip end-of-line
173 characters when searching for identifier.
174 (parse_file): Print a warning if no identifier is found.
175
176 2003-07-10 James Tabor <jimtabor@adsl-64-217-116-74.dsl.hstntx.swbell.net>
177
178 * subsys/win32k/objects/region.c: (W32kFillRgn) Implement.
179
180 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
181
182 * lib/winspool/stubs.c: Add @implemented and @unimplemented to APIs.
183
184 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
185
186 * lib/wsock32/stubs.c: Add @implemented and @unimplemented to APIs.
187
188 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
189
190 * lib/ws2_32/misc/bsd.c: Add @implemented and @unimplemented to APIs.
191 * lib/ws2_32/misc/dllmain.c: Ditto.
192 * lib/ws2_32/misc/event.c: Ditto.
193 * lib/ws2_32/misc/ns.c: Ditto.
194 * lib/ws2_32/misc/sndrcv.c: Ditto.
195 * lib/ws2_32/misc/stubs.c: Ditto.
196 * lib/ws2_32/misc/upcall.c: Ditto.
197
198 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
199
200 * drivers/dd/videoprt/videoprt.c: Add @implemented and @unimplemented
201 to APIs.
202
203 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
204
205 * lib/version/misc/stubs.c: Add @implemented and @unimplemented to APIs.
206
207 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
208
209 * lib/user32/misc/dde.c: Add @implemented and @unimplemented to APIs.
210 * lib/user32/misc/desktop.c: Ditto.
211 * lib/user32/misc/display.c: Ditto.
212 * lib/user32/misc/exit.c: Ditto.
213 * lib/user32/misc/object.c: Ditto.
214 * lib/user32/misc/resources.c: Ditto.
215 * lib/user32/misc/sprintf.c: Ditto.
216 * lib/user32/misc/stubs.c: Ditto.
217 * lib/user32/misc/timer.c: Ditto.
218 * lib/user32/misc/winhelp.c: Ditto.
219 * lib/user32/misc/winsta.c: Ditto.
220 * lib/user32/windows/accel.c: Ditto.
221 * lib/user32/windows/bitmap.c: Ditto.
222 * lib/user32/windows/class.c: Ditto.
223 * lib/user32/windows/clipboard.c: Ditto.
224 * lib/user32/windows/cursor.c: Ditto.
225 * lib/user32/windows/dc.c: Ditto.
226 * lib/user32/windows/defwnd.c: Ditto.
227 * lib/user32/windows/dialog.c: Ditto.
228 * lib/user32/windows/draw.c: Ditto.
229 * lib/user32/windows/font.c: Ditto.
230 * lib/user32/windows/hook.c: Ditto.
231 * lib/user32/windows/icon.c: Ditto.
232 * lib/user32/windows/input.c: Ditto.
233 * lib/user32/windows/mdi.c: Ditto.
234 * lib/user32/windows/menu.c: Ditto.
235 * lib/user32/windows/message.c: Ditto.
236 * lib/user32/windows/messagebox.c: Ditto.
237 * lib/user32/windows/nonclient.c: Ditto.
238 * lib/user32/windows/paint.c: Ditto.
239 * lib/user32/windows/prop.c: Ditto.
240 * lib/user32/windows/rect.c: Ditto.
241 * lib/user32/windows/text.c: Ditto.
242 * lib/user32/windows/window.c: Ditto.
243
244 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
245
246 * drivers/net/tdi/cte/string.c: Add @implemented and @unimplemented to
247 APIs.
248 * drivers/net/tdi/cte/stubs.c: Ditto.
249 * drivers/net/tdi/tdi/dereg.c: Ditto.
250 * drivers/net/tdi/tdi/handler.c: Ditto.
251 * drivers/net/tdi/tdi/obsolete.c: Ditto.
252 * drivers/net/tdi/tdi/stubs.c: Ditto.
253
254 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
255
256 * lib/snmpapi/snmpapi.c: Add @implemented and @unimplemented to APIs.
257
258 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
259
260 * lib/secur32/lsa.c: Add @implemented and @unimplemented to APIs.
261
262 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
263
264 * drivers/storage/scsiport/scsiport.c: Add @implemented and
265 @unimplemented to APIs.
266
267 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
268
269 * drivers/net/ndis/ndis/40gone.c: Add @implemented and @unimplemented
270 to APIs.
271 * drivers/net/ndis/ndis/50gone.c: Ditto.
272 * drivers/net/ndis/ndis/buffer.c: Ditto.
273 * drivers/net/ndis/ndis/cl.c: Ditto.
274 * drivers/net/ndis/ndis/cm.c: Ditto.
275 * drivers/net/ndis/ndis/co.c: Ditto.
276 * drivers/net/ndis/ndis/control.c: Ditto.
277 * drivers/net/ndis/ndis/hardware.c: Ditto.
278 * drivers/net/ndis/ndis/io.c: Ditto.
279 * drivers/net/ndis/ndis/memory.c: Ditto.
280 * drivers/net/ndis/ndis/miniport.c: Ditto.
281 * drivers/net/ndis/ndis/protocol.c: Ditto.
282 * drivers/net/ndis/ndis/string.c: Ditto.
283 * drivers/net/ndis/ndis/stubs.c: Ditto.
284 * drivers/net/ndis/ndis/time.c: Ditto.
285
286 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
287
288 * lib/kernel32/debug/break.c: Add @implemented and @unimplemented
289 to APIs.
290 * lib/kernel32/debug/debugger.c: Ditto.
291 * lib/kernel32/debug/output.c: Ditto.
292 * lib/kernel32/except/except.c: Ditto.
293 * lib/kernel32/file/backup.c: Ditto.
294 * lib/kernel32/file/cnotify.c: Ditto.
295 * lib/kernel32/file/copy.c: Ditto.
296 * lib/kernel32/file/create.c: Ditto.
297 * lib/kernel32/file/curdir.c: Ditto.
298 * lib/kernel32/file/delete.c: Ditto.
299 * lib/kernel32/file/deviceio.c: Ditto.
300 * lib/kernel32/file/dir.c: Ditto.
301 * lib/kernel32/file/dosdev.c: Ditto.
302 * lib/kernel32/file/file.c: Ditto.
303 * lib/kernel32/file/find.c: Ditto.
304 * lib/kernel32/file/iocompl.c: Ditto.
305 * lib/kernel32/file/lfile.c: Ditto.
306 * lib/kernel32/file/lock.c: Ditto.
307 * lib/kernel32/file/mailslot.c: Ditto.
308 * lib/kernel32/file/move.c: Ditto.
309 * lib/kernel32/file/npipe.c: Ditto.
310 * lib/kernel32/file/pipe.c: Ditto.
311 * lib/kernel32/file/rw.c: Ditto.
312 * lib/kernel32/file/tape.c: Ditto.
313 * lib/kernel32/file/volume.c: Ditto.
314 * lib/kernel32/mem/global.c: Ditto.
315 * lib/kernel32/mem/heap.c: Ditto.
316 * lib/kernel32/mem/isbad.c: Ditto.
317 * lib/kernel32/mem/local.c: Ditto.
318 * lib/kernel32/mem/procmem.c: Ditto.
319 * lib/kernel32/mem/section.c: Ditto.
320 * lib/kernel32/mem/virtual.c: Ditto.
321 * lib/kernel32/misc/atom.c: Ditto.
322 * lib/kernel32/misc/comm.c: Ditto.
323 * lib/kernel32/misc/computername.c: Ditto.
324 * lib/kernel32/misc/console.c: Ditto.
325 * lib/kernel32/misc/env.c: Ditto.
326 * lib/kernel32/misc/error.c: Ditto.
327 * lib/kernel32/misc/errormsg.c: Ditto.
328 * lib/kernel32/misc/handle.c: Ditto.
329 * lib/kernel32/misc/ldr.c: Ditto.
330 * lib/kernel32/misc/mbchars.c: Ditto.
331 * lib/kernel32/misc/muldiv.c: Ditto.
332 * lib/kernel32/misc/perfcnt.c: Ditto.
333 * lib/kernel32/misc/profile.c: Ditto.
334 * lib/kernel32/misc/res.c: Ditto.
335 * lib/kernel32/misc/stubs.c: Ditto.
336 * lib/kernel32/misc/sysinfo.c: Ditto.
337 * lib/kernel32/misc/time.c: Ditto.
338 * lib/kernel32/misc/toolhelp.c: Ditto.
339 * lib/kernel32/process/cmdline.c: Ditto.
340 * lib/kernel32/process/create.c: Ditto.
341 * lib/kernel32/process/proc.c: Ditto.
342 * lib/kernel32/process/session.c: Ditto.
343 * lib/kernel32/string/lstring.c: Ditto.
344 * lib/kernel32/synch/critical.c: Ditto.
345 * lib/kernel32/synch/event.c: Ditto.
346 * lib/kernel32/synch/intrlck.c: Ditto.
347 * lib/kernel32/synch/mutex.c: Ditto.
348 * lib/kernel32/synch/sem.c: Ditto.
349 * lib/kernel32/synch/timer.c: Ditto.
350 * lib/kernel32/synch/wait.c: Ditto.
351 * lib/kernel32/thread/fiber.c: Ditto.
352 * lib/kernel32/thread/fls.c: Ditto.
353 * lib/kernel32/thread/thread.c: Ditto.
354 * lib/kernel32/thread/tls.c: Ditto.
355
356 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
357
358 * lib/iphlpapi/iphlpapi.c: Add @implemented and @unimplemented
359 to APIs.
360
361 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
362
363 * lib/gdi32/main/dllmain.c: Add @implemented and @unimplemented
364 to APIs.
365 * lib/gdi32/misc/stubs.c: Ditto.
366 * lib/gdi32/misc/stubsa.c: Ditto.
367 * lib/gdi32/misc/stubsw.c: Ditto.
368 * lib/gdi32/objects/bitblt.c: Ditto.
369 * lib/gdi32/objects/brush.c: Ditto.
370 * lib/gdi32/objects/clip.c: Ditto.
371 * lib/gdi32/objects/dc.c: Ditto.
372 * lib/gdi32/objects/fillshap.c: Ditto.
373 * lib/gdi32/objects/line.c: Ditto.
374 * lib/gdi32/objects/pen.c: Ditto.
375 * lib/gdi32/objects/region.c: Ditto.
376 * lib/gdi32/objects/text.c: Ditto.
377
378 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
379
380 * drivers/storage/class2/class2.c: Add @implemented and @unimplemented
381 to APIs.
382
383 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
384
385 * lib/advapi32/misc/shutdown.c: Add @implemented and @unimplemented
386 to APIs.
387 * lib/advapi32/misc/stubs.c: Ditto.
388 * lib/advapi32/misc/sysfunc.c: Ditto.
389 * lib/advapi32/reg/reg.c: Ditto.
390 * lib/advapi32/sec/ac.c: Ditto.
391 * lib/advapi32/sec/misc.c: Ditto.
392 * lib/advapi32/sec/sec.c: Ditto.
393 * lib/advapi32/sec/sid.c: Ditto.
394 * lib/advapi32/service/scm.c: Ditto.
395 * lib/advapi32/service/sctrl.c: Ditto.
396 * lib/advapi32/token/privilege.c: Ditto.
397 * lib/advapi32/token/token.c: Ditto.
398
399 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
400
401 * tools/rgenstat/rgenstat.c (parse_file): Be silent.
402
403 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
404
405 * rules.mak (XSLTPROC): Add.
406 * tools/Makefile: Add rgenstat.
407 * apistatus.lst: New file.
408 * tools/rgenstat: New directory.
409 * tools/rgenstat/.cvsignore: New file.
410 * tools/rgenstat/llmosrt.c: Ditto.
411 * tools/rgenstat/Makefile: Ditto.
412 * tools/rgenstat/rgenstat.c: Ditto.
413 * tools/rgenstat/web: New directory.
414 * tools/rgenstat/web/*.gif: New files.
415 * tools/rgenstat/web/.cvsignore: New file.
416 * tools/rgenstat/web/rapistatus.css: Ditto.
417 * tools/rgenstat/web/rapistatus.js: Ditto.
418 * tools/rgenstat/web/rapistatus.xsl: Ditto.
419
420 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
421
422 * drivers/fs/vfat/misc.c (VfatLockControl): Move it so it is placed
423 before it is referenced.
424 * include/win32k/ntuser.h (NtUserQueryWindow): Correct prototype.
425 * lib/winedbgc/debug.c (default_dbg_vlog): Use wine_dbg_vprintf, not
426 __wine_dbg_vprintf.
427 * ntoskrnl/nt/vdm.c (NtEarlyInitVdm): Work around GCC 3.4 trying to be
428 smart.
429
430 2003-07-07 James Tabor <jimtabor@adsl-64-217-116-74.dsl.hstntx.swbell.net>
431
432 * subsys/win32k/ntuser/window.c: (NtUserQueryWindow) Implement.
433 * include/win32k/ntuser.h: Ditto.
434 * lib/user32/windows/window.c: (GetWindowThreadProcessId) Implement.
435
436 2003-07-05 Casper S. Hornstrup <chorns@users.sourceforge.net>
437
438 * lib/user32/windows/defwnd.c (DefWndHandleLButtonUpNC,
439 User32DefWindowProc): Only send WM_SYSCOMMAND message, not WM_CLOSE.
440 (DefWndHandleSysCommand): Handle SC_CLOSE message.
441
442 2003-07-05 Casper S. Hornstrup <chorns@users.sourceforge.net>
443
444 * include/win32k/ntuser.h (NtUserSetFocus): Correct prototype.
445 * lib/user32/misc/stubs.c (SetFocus): Remove.
446 * lib/user32/windows/defwnd.c (KEYDATA_ALT): New.
447 (User32DefWindowProc): Handle WM_SYSKEYDOWN.
448 * lib/user32/windows/input.c (SetFocus): New.
449 * subsys/win32k/include/msgqueue.h (USER_MESSAGE_QUEUE): Document
450 FocusWindow field.
451 * subsys/win32k/include/window.h (W32kSetFocusWindow): Change return type
452 to HWND.
453 * subsys/win32k/include/winsta.h (W32kGetFocusMessageQueue): New.
454 * subsys/win32k/ntuser/input.c (KeyboardThreadMain): Handle system keys.
455 * subsys/win32k/ntuser/keyboard.c (NtUserSetFocus): New.
456 * subsys/win32k/ntuser/msgqueue.c (MsqPostKeyboardMessage): Implement.
457 * subsys/win32k/ntuser/stubs.c (NtUserSetFocus): Remove.
458 * subsys/win32k/ntuser/window.c (W32kSetFocusWindow): Implement.
459 (NtUserGetClientRect, W32kGetWindowProc, NtUserCreateWindowEx): Release
460 window reference on error.
461 (W32kDestroyWindow): Remove focus from window tree before destroying it
462 if needed.
463 * subsys/win32k/ntuser/winpos.c (WinPosChangeActiveWindow): Implement.
464 (WinPosShowWindow): Activate window if needed.
465 * subsys/win32k/ntuser/winsta.c (W32kGetFocusMessageQueue): New.
466
467 2003-06-27 Casper S. Hornstrup <chorns@users.sourceforge.net>
468
469 * lib/user32/controls/button.c (ButtonWndProc_common): Fix unsigned/signed
470 warning.
471
472 2003-06-07 Casper S. Hornstrup <chorns@users.sourceforge.net>
473
474 * include/ddk/dbgfuncs.h: Move ...
475 * include/ntos/dbgfuncs.h: ... here.
476 * include/basetsd.h (LONG32): Make it a long.
477 * include/ntos.h: Include ntos/dbgfuncs.h.
478 * include/ddk/dbgfuncs.h (DBG_STATUS_*, DBG_GET_SHOW_*): Move to
479 include/ntos/dbgfuncs.h.
480 * include/ddk/exfuncs.h (ExNotifyCallback): Match w32api prototype.
481 (*BinaryTree, *SplayTree, *HashTable): Move to include/ntos/zw.h.
482 * include/ddk/extypes.h (TRAVERSE_METHOD, PKEY_COMPARATOR,
483 PTRAVERSE_ROUTINE, _BINARY_TREE_NODE, BINARY_TREE, SPLAY_TREE_NODE,
484 SPLAY_TREE, HASH_TABLE): Move to include/ntos/zwtypes.h.
485 * include/ddk/status.h (STATUS_PATH_SYNTAX_BAD): Rename to
486 STATUS_OBJECT_PATH_SYNTAX_BAD.
487 * apps/utils/objdir/objdir.c (StatusToName): Change
488 STATUS_PATH_SYNTAX_BAD to STATUS_OBJECT_PATH_SYNTAX_BAD.
489 * ntoskrnl/dbg/errinfo.c: Use STATUS_OBJECT_PATH_SYNTAX_BAD.
490 * include/ntos/rtl.h (RtlQueryRegistryValues, RtlWriteRegistryValue,
491 RtlDeleteRegistryValue): Match w32api prototypes.
492 * include/ntos/zw.h (ZwQuerySystemTime): Ditto.
493 * lib/kernel32/file/cnotify.c (FindFirstChangeNotificationW): Use
494 STATUS_OBJECT_PATH_SYNTAX_BAD.
495 * lib/ntdll/rtl/registry.c (RtlDeleteRegistryValue,
496 RtlQueryRegistryValues, RtlWriteRegistryValue): Match w32api prototypes.
497 * ntoskrnl/cm/cm.h, ntoskrnl/cm/ntfunc.c, ntoskrnl/cm/regfile.c: Change
498 FILETIME to LARGE_INTEGER.
499 * ntoskrnl/cm/rtlfunc.c (RtlDeleteRegistryValue, RtlQueryRegistryValues,
500 RtlWriteRegistryValue): Match w32api prototypes.
501 * ntoskrnl/ex/callback.c (ExNotifyCallback): Ditto.
502 * ntoskrnl/ex/time.c (NtQuerySystemTime): Ditto.
503
504 2003-06-07 Casper S. Hornstrup <chorns@users.sourceforge.net>
505
506 * hal/halx86/dma.c (AdapterObjects): Don't put braces on scalar
507 initializers.
508
509 2003-06-07 Casper S. Hornstrup <chorns@users.sourceforge.net>
510
511 Changes for compiling with w32api
512
513 * include/ddk/obfuncs.h (ObCreateObject): Remove.
514 * include/ntos/zwtypes.h (ObRosCreateObject): Add.
515 * ntoskrnl/ntoskrnl.def, ntoskrnl/ntoskrnl.edf: Export ObCreateObject@36
516 and ObRosCreateObject@20.
517 * ntoskrnl/cm/ntfunc.c, ntoskrnl/cm/registry.c, ntoskrnl/cm/regobj.c,
518 ntoskrnl/io/create.c, ntoskrnl/io/device.c, ntoskrnl/io/iocomp.c,
519 ntoskrnl/lpc/connect.c, ntoskrnl/lpc/create.c, ntoskrnl/mm/section.c,
520 ntoskrnl/nt/evtpair.c, ntoskrnl/nt/mutant.c, ntoskrnl/nt/ntevent.c,
521 ntoskrnl/nt/ntsem.c, ntoskrnl/nt/nttimer.c, ntoskrnl/nt/profile.c,
522 ntoskrnl/ob/dirobj.c, ntoskrnl/ob/namespc.c, ntoskrnl/ob/symlink.c,
523 ntoskrnl/ps/create.c, ntoskrnl/ps/process.c, ntoskrnl/se/token.c,
524 subsys/win32k/ntuser/winsta.c: Use ObRosCreateObject, not ObCreateObject.
525 * ntoskrnl/ob/object.c (ObRosCreateObject): Rename from ObCreateObject.
526 (ObCreateObject): Add stub.
527
528 2003-06-07 Casper S. Hornstrup <chorns@users.sourceforge.net>
529
530 Changes for compiling with w32api
531
532 * include/ddk/cctypes.h (PREACTOS_COMMON_FCB_HEADER): Remove.
533 (FSRTL_COMMON_FCB_HEADER): Add.
534 * include/ddk/iotypes.h (FILE_OBJECT): Rename field
535 SectionObjectPointers to SectionObjectPointer.
536 * ntoskrnl/cc/copy.c, ntoskrnl/cc/misc.c, ntoskrnl/cc/pin.c,
537 ntoskrnl/cc/view.c, ntoskrnl/io/rawfs.c, ntoskrnl/mm/section.c,
538 drivers/fs/cdfs/cleanup.c, drivers/fs/cdfs/fcb.c,
539 drivers/fs/cdfs/fsctl.c, drivers/fs/ntfs/fcb.c, drivers/fs/ntfs/fsctl.c,
540 drivers/fs/vfat/close.c, drivers/fs/vfat/create.c,
541 drivers/fs/vfat/finfo.c, drivers/fs/vfat/fcb.c, drivers/fs/vfat/fsctl.c:
542 Use new FILE_OBJECT structure.
543 * drivers/fs/cdfs/cdfs.h, drivers/fs/ntfs/ntfs.h, drivers/fs/vfat/vfat.h:
544 Use new FSRTL_COMMON_FCB_HEADER structure.
545 * drivers/net/afd/include/afd.h (FSRTL_COMMON_FCB_HEADER): Remove.
546 * include/ddk/ketypes.h (KQUEUE): Match w32api structure.
547 * ntoskrnl/ke/queue.c, ntoskrnl/ke/wait.c: Use new structure.
548 * ntoskrnl/ke/spinlock.c (KeAcquireSpinLockAtDpcLevel,
549 KeReleaseSpinLockFromDpcLevel): Undefine before declaring.
550
551 2003-06-07 Casper S. Hornstrup <chorns@users.sourceforge.net>
552
553 Changes for compiling with w32api
554
555 * include/ddk/ketypes.h (KSPIN_LOCK, PKSPIN_LOCK): Match w32api
556 structures.
557 * ntoskrnl/ke/spinlock.c: Use new structures.
558
559 2003-06-07 Casper S. Hornstrup <chorns@users.sourceforge.net>
560
561 Changes for compiling with w32api
562
563 * include/ddk/service.h: Move ...
564 * include/ntos/service.h: ... here.
565 * include/ddk/kdfuncs.h: Move ...
566 * include/ntos/kdfuncs.h: ... here.
567 * include/ntos/halfuncs.h: New file.
568 * ntoskrnl/include/internal/hal/hal.h,
569 ntoskrnl/include/internal/hal/bus.h,
570 ntoskrnl/include/internal/hal/mps.h: Remove.
571 * hal/halx86/include/hal.h: Remove disabled code.
572 * include/ntos.h: Include ntos/service.h, ntos/halfuncs.h, and
573 ntos/kdfuncs.h.
574 * include/ddk/fstypes.h (FILE_LOCK_TOC): Move ...
575 * include/ntos/file.h: ... here.
576 * include/ddk/halfuncs.h (HalAllProcessorsStarted,
577 HalBeginSystemInterrupt, HalDisableSystemInterrupt,
578 HalEnableSystemInterrupt, HalEndSystemInterrupt,
579 HalInitializeProcessor, HalInitSystem, HalReportResourceUsage): Move to
580 include/ntos/halfuncs.h.
581 * include/ddk/iofuncs.h (IoAssignDriveLetters): Ditto.
582 * include/ddk/kefuncs.h (KeInitializeApc): Match w32api prototype.
583 (KeRaiseIrqlToSynchLevel): Move to include/ntos/halfuncs.h.
584 * include/ddk/ketypes.h (KAPC_ENVIRONMENT): Move to include/ntos/types.h.
585 (KDEVICE_QUEUE, KDEVICE_QUEUE_ENTRY): Match w32api prototype.
586 (KINTERRUPT): Move to include/ntos/zwtypes.h.
587 * include/ddk/mmtypes.h (PAGE_ROUND_UP, PAGE_ROUND_DOWN): Move ...
588 * include/ntos/mm.h: ... here.
589 * include/ddk/ntddk.h: Don't include ddk/kdfuncs.h.
590 * include/ddk/pstypes.h (PKTHREAD, PRKTHREAD): Add.
591 (PsInitialSystemProcess, PsProcessType, PsThreadType): Move ...
592 include/ntos/ps.h: ... here.
593 * lib/ntdll/rtl/i386/exception.c (SehpContinue): New.
594 * ntoskrnl/rtl/i386/exception.c (SehpContinue): Ditto.
595 * ntoskrnl/include/internal/ke.h: Include <ddk/ntifs.h>.
596 * ntoskrnl/include/internal/ntoskrnl.h: Include internal/ke.h.
597 * ntoskrnl/ex/napi.c: Use new structure SSDT_ENTRY.
598 * ntoskrnl/ke/apc.c (KeInitializeApc): Match w32api prototype.
599 * ntoskrnl/ke/kqueue.c: Use fields of new structures KDEVICE_QUEUE
600 and KDEVICE_QUEUE_ENTRY.
601
602 2003-06-07 Casper S. Hornstrup <chorns@users.sourceforge.net>
603
604 * ntoskrnl/cm/regfile.c (CmiCopyKey): Fix unsigned/signed warning.
605
606 2003-06-05 Casper S. Hornstrup <chorns@users.sourceforge.net>
607
608 * lib/user32/windows/icon.c (CURSORICON_FindBestCursor,
609 CURSORICON_FindBestIcon): Fix unsigned/signed warning.
610
611 2003-06-05 Casper S. Hornstrup <chorns@users.sourceforge.net>
612
613 Changes for compiling with w32api
614
615 * ntoskrnl/include/internal/i386/ps.h (KPCR_TSS): Redefine as 0x3C.
616 (KPCR_TIB): New structure.
617 (IKPCR): Ditto.
618 (KPCR): Match w32api structure fieldnames.
619 * ntoskrnl/ke/main.c (ExpInitializeExecutive): Adjust for changes to KPCR.
620 * ntoskrnl/ke/i386/kernel.c: Ditto.
621 * ntoskrnl/ps/thread.c: Ditto.
622
623 2003-06-01 Casper S. Hornstrup <chorns@users.sourceforge.net>
624
625 Changes for compiling with w32api
626
627 * include/ntos/zwtypes.h (SYSTEM_MODULES): Rename to
628 SYSTEM_MODULE_INFORMATION. Match w32api structure fieldnames.
629 (SYSTEM_MODULE_INFORMATION): Rename to SYSTEM_MODULE_INFORMATION_ENTRY.
630 Match w32api structure fieldnames.
631 * include/epsapi.h: Include <ntos.h>.
632 (PSYSMOD_ENUM_ROUTINE, PsaCaptureSystemModules, PsaWalkSystemModules,
633 PsaWalkFirstSystemModule, PsaWalkNextSystemModule): Use
634 SYSTEM_MODULE_INFORMATION_ENTRY and SYSTEM_MODULE_INFORMATION structures.
635 * lib/epsapi/enum/drivers.c: Use SYSTEM_MODULE_INFORMATION_ENTRY and
636 SYSTEM_MODULE_INFORMATION structures.
637 * lib/psapi/misc/win32.c: Ditto.
638 * ntoskrnl/ldr/loader.c: Ditto.
639 * lib/epsapi/enum/modules.c: Include <ntos.h>.
640 * lib/ntdll/rtl/thread.c: Ditto.
641 * lib/rosrtl/thread/context.c: Ditto.
642 * lib/rosrtl/thread/create.c: Ditto.
643 * lib/rosrtl/thread/stack.c: Ditto.
644 * include/ntos.h: Include "rosrtl/thread.h".
645 * include/structs.h (_BLOB_DEFINED): Rename to __BLOB_T_DEFINED.
646 * include/winsock2.h: Ditto.
647 * include/ntos/obtypes.h (POBJECT_TYPE): Make a pointer to struct
648 _OBJECT_TYPE.
649 (PHANDLE_TABLE): Make a pointer to struct _HANDLE_TABLE.
650 * ntoskrnl/include/internal/mm.h (PSECTION_OBJECT): Make a pointer to
651 struct _SECTION_OBJECT.
652 * ntoskrnl/include/internal/i386/ps.h (PKPCR): Make a pointer to struct
653 _KPCR.
654
655 2003-05-28 Casper S. Hornstrup <chorns@users.sourceforge.net>
656
657 * Makefile: Update bootcd target.
658
659 2003-05-28 Casper S. Hornstrup <chorns@users.sourceforge.net>
660
661 * subsys/system/usetup/progress.c (ProgressNextStep): Check if NewPos
662 is odd.
663
664 2003-05-28 Casper S. Hornstrup <chorns@users.sourceforge.net>
665
666 Changes for compiling with w32api
667
668 * include/ddk/haltypes.h: Move ...
669 * include/ntos/haltypes.h: ... here.
670 * include/ddk/obtypes.h: Move ...
671 * include/ntos/obtypes.h: ... here.
672 * include/ddk/i386/tss.h: Move ...
673 * include/ntos/tss.h: ... here.
674 * include/errors.h, include/windows.h: #include_next <windows.h>.
675 * include/ntos.h: Include "ntos/haltypes.h", "ntos/obtypes.h", and
676 "ntos/tss.h".
677 * include/ddk/defines.h (EXPORTED, IMPORTED): Move to
678 include/ntos/types.h.
679 * include/ddk/exfuncs.h, include/ddk/mmtypes.h, include/ntos/except.h,
680 include/ntos/file.h, include/ole32/guiddef.h, include/win32k/color.h,
681 lib/msafd/include/debug.h, lib/user32/include/debug.h,
682 lib/ws2_32/include/debug.h, lib/ws2help/debug.h,
683 ntoskrnl/include/internal/debug.h, ntoskrnl/ke/i386/bthread.S,
684 ntoskrnl/rtl/error.c: Don't define macros if previously defined.
685 * include/ddk/halfuncs.h: Include <ntos/haltypes.h>.
686 * include/ddk/iotypes.h: Include <ntos/obtypes.h>.
687 * include/ddk/ketypes.h (MB_FLAGS_*, LOADER_MODULE, ADDRESS_RANGE,
688 LOADER_PARAMETER_BLOCK): Move to include/ntos/types.h.
689 * include/ddk/ntddk.h: #include_next <ddk/ntddk.h>.
690 * include/ddk/ntifs.h: #include_next <ddk/ntifs.h>.
691 * include/napi/shared_data.h (SharedUserData): Undefine before defining.
692 * include/ntos/rtl.h (RtlUpcaseUnicodeString): Correct prototype.
693 * include/ntos/zwtypes.h (THREAD_STATE): Add.
694 * lib/ntdll/rtl/unicode.c (RtlUpcaseUnicodeString): Match new prototype.
695 * ntoskrnl/rtl/unicode.c (RtlUpcaseUnicodeString): Ditto.
696 * lib/string/Makefile: Include Makefile.$(ARCH). Don't include
697 makefile.$(ARCH).
698 * ntoskrnl/ex/sysinfo.c, ntoskrnl/include/internal/ntoskrnl.h,
699 * ntoskrnl/include/internal/ob.h, ntoskrnl/ob/handle.c: Include <ntos.h>.
700 * ntoskrnl/ke/i386/syscall.S: Don't include <ddk/defines.h>.
701 (KernelMode, UserMode): Define.
702 * ntoskrnl/ke/i386/stkswitch.S, ntoskrnl/ke/i386/tskswitch.S,
703 ntoskrnl/ke/i386/v86m_sup.S: Include <ntos/tss.h>
704
705 2003-05-25 Casper S. Hornstrup <chorns@users.sourceforge.net>
706
707 * Makefile: Fix typo.
708
709 2003-05-25 Casper S. Hornstrup <chorns@users.sourceforge.net>
710
711 * Makefile: Don't install system.hiv. Install fonts and nls directory.
712 * tools/rcopy.c (copy_file, copy_directory, is_directory): New functions.
713
714 2003-05-17 Casper S. Hornstrup <chorns@users.sourceforge.net>
715
716 * ntoskrnl/io/irp.c (IofCallDriver): Don't reference FileObject.
717
718 2003-05-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
719
720 * ntoskrnl/io/cleanup.c (IopCompleteRequest1, IoSecondStageCompletion):
721 Don't dereference Irp->UserEvent here.
722 * ntoskrnl/io/irp.c (IofCallDriver): Reference FileObject.
723 * ntoskrnl/io/rw.c (IopReadWriteIoComplete): New function.
724 * (NtReadFile, NtWriteFile): Set I/O completion routine if using an
725 event that is under object manager control.
726
727 2003-05-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
728
729 * ntoskrnl/Makefile (OBJECTS_IO): Add io/rawfs.o.
730 * ntoskrnl/cm/registry.c (CmiInitHives): Check status using NT_SUCCESS().
731 * ntoskrnl/include/internal/io.h (RawFsIsRawFileSystemDeviceObject,
732 RawFsDriverEntry): Add prototypes.
733 * ntoskrnl/include/internal/ntoskrnl.h (IoInit2): Add prototype.
734 * ntoskrnl/io/device.c (IopCreateDriverObject): Handle unnamed services.
735 * ntoskrnl/io/fs.c (IoMountVolume): Handle mounting of raw volumes.
736 (IoRegisterFileSystem): Add registered filesystem device objects at the
737 head of the list.
738 * ntoskrnl/io/iomgr.c (IoInit2): New function.
739 * ntoskrnl/ke/main.c (ExpInitializeExecutive): Call IoInit2().
740 * ntoskrnl/mm/section.c (MmQuerySectionView): Check return value of call
741 to MmFindRegion().
742 * ntoskrnl/io/rawfs.c: New file.
743
744 2003-05-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
745
746 * lib/fslib/vfatlib/vfatlib.c (VfatFormat): Set hidden sectors.
747 * ntoskrnl/io/xhaldrv.c (xHalIoWritePartitionTable): Implement support
748 for primary partitions.
749 * subsys/system/usetup/partlist.c (CreateSelectedPartition): Compute
750 hidden sectors.
751 * subsys/system/usetup/usetup.c (SelectPartitionPage,
752 DrawFileSystemList, FormatPartitionPage): Don't use conditional define
753 ENABLE_FORMAT.
754 (CreateFileSystemList): Don't draw "Keep current file system" option if
755 formatting is needed.
756 (SelectFileSystemPage): Figure out if partition must be formatted.
757 * subsys/system/usetup/usetup.h (ENABLE_FORMAT): Remove.
758 (FILE_SYSTEM_LIST): Add ForceFormat field.
759
760 2003-05-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
761
762 * lib/user32/windows/font.c (TEXT_PathEllipsify, TEXT_Reprefix): Fix
763 unsigned/signed warning.
764 * ntoskrnl/mm/pagefile.c (MmWriteToSwapPage, MmReadFromSwapPage,
765 NtCreatePagingFile): Ditto.
766
767 2003-05-05 Casper S. Hornstrup <chorns@users.sourceforge.net>
768
769 * tools/helper.mk: Kill implicit rule ".o".
770
771 2003-04-28 Casper S. Hornstrup <chorns@users.sourceforge.net>
772
773 * Makefile (DLLS): Add epsapi, psapi and wsock32.
774 * lib/ntdll/ldr/utils.c (LdrPerformRelocations): Handle the case where a
775 relocation crosses a page boundary.
776 (LdrFixupImports): Use image load address in calculatation of import
777 address list.
778
779 2003-04-28 Casper S. Hornstrup <chorns@users.sourceforge.net>
780
781 * lib/fslib/vfatlib/vfatlib.h: New file.
782 * subsys/system/usetup/format.c: Ditto.
783 * subsys/system/usetup/format.h: Ditto.
784 * lib/fslib/vfatlib/vfatlib.c (GetShiftCount): Define.
785 (VfatWriteBootSector, VfatWriteFsInfo, VfatWriteFAT,
786 VfatWriteRootDirectory): New function.
787 (VfatFormat): Implement.
788 * subsys/system/usetup/bootsup.c: (InstallFat32BootCodeToFile): Use
789 0x0000 as marker to disable backup boot sector.
790 (InstallFat32BootCodeToDisk): Add lower 8-bit to BackupBootSector.
791 Also treat 0x0000 as no backup boot sector is available.
792 * subsys/system/usetup/makefile (TARGET_SDKLIBS): Define.
793 (TARGET_OBJECTS): Add format.o.
794 * subsys/system/usetup/partlist.c (AddPartitionList): Initialize
795 PartNumber field.
796 (GetSelectedPartition): Set PartEntryNumber correctly.
797 (CreateSelectedPartition): Write partition information to disk.
798 (DeleteSelectedPartition): New function.
799 * subsys/system/usetup/partlist.h (PARTDATA): Add field CreatePartition.
800 (DeleteSelectedPartition): Prototype.
801 * subsys/system/usetup/usetup.c (ConfirmDeletePartition): New function.
802 (SelectPartitionPage): Support deletion of partition.
803 (FormatPartitionPage): Support formatting of partition.
804
805 2003-04-27 Casper S. Hornstrup <chorns@users.sourceforge.net>
806
807 * tools/helper.mk (TARGET_ASFLAGS): Add -march and define MK_ARCH_ID.
808 * lib/ntdll/makefile (TARGET_ASFLAGS): Define as
809 "-I $(PATH_TO_TOP)/include".
810 (TARGET_OBJECTS): Add ldr/entry.o.
811 * lib/ntdll/ldr/startup.c: Move inline assembly code...
812 * lib/ntdll/ldr/entry.S: ...here. New file.
813
814 2003-04-27 Casper S. Hornstrup <chorns@users.sourceforge.net>
815
816 * include/kernel32/kernel32.h (assert): Define.
817 * tools/mkhive/.cvsignore: New file.
818
819 2003-04-18 Casper S. Hornstrup <chorns@users.sourceforge.net>
820
821 * subsys/system/usetup/partlist.c (AddPartitionList): Create
822 unpartitioned areas.
823 (CreatePartitionListNoGUI): Save disk geometry.
824 (PrintDiskData): Do not print hidden partition list entries.
825 (ScrollDownPartitionList, ScrollUpPartitionList): Skip hidden partition
826 list entries.
827 (GetActiveBootPartition): Use CurrentDisk as index.
828 (CreateSelectedPartition): New function.
829 * subsys/system/usetup/partlist.h (PARTDATA): Add field NewPartSize.
830 (PARTENTRY): Add fields StartingOffset and HidePartEntry.
831 (DISKENTRY): Add fields Cylinders, TracksPerCylinder, SectorsPerTrack,
832 and BytesPerSector;
833 (CreateSelectedPartition): Add Prototype.
834 * subsys/system/usetup/usetup.c (PAGE_NUMBER): Add CREATE_PARTITION_PAGE
835 and FORMAT_PARTITION_PAGE
836 (CurrentPartitionList, CurrentFileSystemList): New globals.
837 (SelectPartitionPage): Set CurrentPartitionList.
838 (PARTITION_SIZE_INPUT_FIELD_LENGTH): Define as 6.
839 (DrawInputField, ShowPartitionSizeInputBox, CreatePartitionPage,
840 CreateFileSystemList, DestroyFileSystemList, DrawFileSystemList,
841 ScrollDownFileSystemList, ScrollUpFileSystemList, FormatPartitionPage):
842 New functions.
843 (SelectFileSystemPage): Draw partition screen.
844 (CheckFileSystemPage): Handle CREATE_PARTITION_PAGE and
845 FORMAT_PARTITION_PAGE.
846 * subsys/system/usetup/usetup.h (FILE_SYSTEM, FILE_SYSTEM_LIST): Add enums.
847
848 2003-04-17 Casper S. Hornstrup <chorns@users.sourceforge.net>
849
850 * tools/mkhive/infcache.c (InfpCacheFindSection, InfpCacheFindKeyLine,
851 InfFindFirstLine, InfFindFirstMatchLine, InfFindNextMatchLine,
852 InfGetLineCount): Change call to stricmp() to strcasecmp().
853 * tools/mkhive/reginf.c (GetRootKey): Ditto.
854 * tools/mkhive/registry.c (RegSetValue, RegQueryValue): Ditto.
855
856 2003-04-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
857
858 * ntoskrnl/kd/gdbstub.c (KdEnterDebuggerException): Fix signed/unsigned
859 comparison warning.
860 * ntoskrnl/ke/i386/exp.c (KiKernelTrapHandler): Ditto.
861 * ntoskrnl/ke/i386/usertrap.c (KiUserTrapHandler): Ditto.
862 * tools/helper.mk: Do not install static libraries.
863
864 2003-04-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
865
866 * tools/Makefile: Fix rule for mkflpimg.
867
868 2003-04-12 Casper S. Hornstrup <chorns@users.sourceforge.net>
869
870 * tools/cdmake/Makefile: Use HOST_CC.
871 * tools/cdmake/cdmake.c (MAX_PATH, DIR_SEPARATOR_CHAR,
872 DIR_SEPARATOR_STRING): Define.
873 (directory_record): Add fields name_on_cd and extension_on_cd.
874 (error_exit): Make a macro. Avoid using vfprintf and fprintf.
875 (write_directory_record, new_directory_record, compare_directory_order,
876 pass): Use name_on_cd and extension_on_cd.
877 (make_directory_records, get_file_specifications): Use DIR_SEPARATOR_CHAR.
878 (new_directory_record, make_directory_records): Linux implementations.
879 (main): Use DIR_SEPARATOR_CHAR.
880
881 2003-04-06 Casper S. Hornstrup <chorns@users.sourceforge.net>
882
883 * lib/freetype/.cvsignore: Ignore nul.
884
885 2003-04-06 Casper S. Hornstrup <chorns@users.sourceforge.net>
886
887 * drivers/storage/atapi/atapi.c (AtapiReadWrite): Expect an interrupt a
888 bit sooner.
889 * hal/halx86/isa.c (HalpGetIsaInterruptVector): Compute vector for MP.
890 * hal/halx86/pci.c (HalpGetPciInterruptVector): Ditto.
891 * hal/halx86/sysbus.c (HalpGetSystemInterruptVector): Ditto.
892 * hal/halx86/mp.c (AssignIrqVector): Rewrite.
893 (MpsTimerHandler): Disable for now.
894 (MpsSpuriousHandler): Do not acknowledge interrupt.
895 (HalAllProcessorsStarted): Only boot 1 CPU for now.
896 (RescheduleDpcRoutine): New function.
897 (RescheduleDpc): New variable.
898 (HalpInitMPS): Initialize RescheduleDpc. Fix bug in call to memset.
899 * hal/halx86/mpsirql.c: Rewrite.
900 * hal/halx86/include/mps.h (VECTOR2IRQ, IRQ2VECTOR, VECTOR2IRQL,
901 IRQL2VECTOR): New macros.
902 * ntoskrnl/ntoskrnl.def: Add KeRescheduleThread@0.
903 * ntoskrnl/ntoskrnl.edf: Ditto.
904 * ntoskrnl/include/internal/ke.h (KeRescheduleThread): Prototype.
905 * ntoskrnl/ke/kthread.c (KeRescheduleThread): New function.
906 * ntoskrnl/ke/i386/exp.c (KeInitExceptions): Remove unneeded call to
907 set_trap_gate().
908 * ntoskrnl/ke/i386/irq.c (VECTOR2IRQ, IRQ2VECTOR, VECTOR2IRQL): Correct.
909 (IRQ_BASE): Define as FIRST_DEVICE_VECTOR.
910 (NR_IRQS): Define using IRQ_BASE.
911 (KeInitInterrupts): Use IRQ_BASE.
912 (KiInterruptDispatch2): Rewrite.
913 (KiInterruptDispatch): Ditto.
914 (KeConnectInterrupt): Pass Vector to HalEnableSystemInterrupt() for MP.
915 (KeDisconnectInterrupt): Pass Vector to HalDisableSystemInterrupt() for MP.
916 * ntoskrnl/ke/i386/trap.s (_KiTrapProlog): Change 0x124 to KPCR_CURRENT_THREAD.
917
918 2003-04-06 Casper S. Hornstrup <chorns@users.sourceforge.net>
919
920 * Makefile: Add format.
921 * include/fslib/vfatlib.h (VfatFormat): Prototype.
922 * lib/fmifs/format.c (VfatFormat): Add stub.
923 * lib/fmifs/makefile (TARGET_LIBS): Add vfatlib.a.
924 * lib/fslib/vfatlib/vfatlib.c (VfatFormat): Add stub.
925 * tools/helper.mk: Do not install .sym files for static libraries.
926 * subsys/system/format: New directory.
927 * subsys/system/format/makefile: New file.
928 * subsys/system/format/format.c: Ditto.
929
930 2003-04-05 Casper S. Hornstrup <chorns@users.sourceforge.net>
931
932 * include/fslib: New directory.
933 * lib/fslib: Ditto.
934 * lib/fslib/vfatlib: Ditto.
935 * include/fslib/vfatlib.h: New file.
936 * lib/fslib/vfatlib/.cvsignore: Ditto.
937 * lib/fslib/vfatlib/Makefile: Ditto.
938 * lib/fslib/vfatlib/vfatlib.c: Ditto.
939 * Makefile: Support file system libraries
940 * lib/zlib/Makefile: Remove nostrip target.
941 * tools/helper.mk: Add nostrip target.
942
943 2003-04-05 Casper S. Hornstrup <chorns@users.sourceforge.net>
944
945 * tools/.cvsignore: Ignore rline.
946
947 2003-04-05 Casper S. Hornstrup <chorns@users.sourceforge.net>
948
949 * bootcd.bat: Install dosmbr.bin.
950 * drivers/storage/disk/disk.c (DiskClassDeviceControl): Pass physical
951 device object to IoWritePartitionTable().
952 * ntoskrnl/io/xhaldrv.c (xHalReadMBR): New function.
953 (xHalWriteMBR): Ditto.
954 (xHalExamineMBR): Use xHalReadMBR() to read MBR.
955 (xHalIoWritePartitionTable): Partial implement.
956 * subsys/system/usetup/bootsup.c (InstallMBRBootCodeToDisk): New function.
957 * subsys/system/usetup/bootsup.h (InstallMBRBootCodeToDisk): Prototype.
958 * subsys/system/usetup/partlist.c (CreatePartitionListNoGUI): New function.
959 (CreatePartitionList): Use CreatePartitionListNoGUI() to create partition
960 list.
961 (GetPartitionInformation): New function.
962 (MarkPartitionActive): Ditto.
963 * subsys/system/usetup/partlist.h (MarkPartitionActive): Prototype.
964 * subsys/system/usetup/usetup.c (SelectPartitionPage): Make SystemRootPath
965 point to the selected partition if no partitions are active.
966 (BootLoaderPage): If no partitions are active, then install a DOS MBR and
967 mark the selected partition active.
968
969 2003-04-05 Casper S. Hornstrup <chorns@users.sourceforge.net>
970
971 * Makefile: Add bootcd target.
972 (BOOTCD_INSTALL): Set for bootcd install.
973 * rules.mak (TOPDIR): Define on windows.
974 (BOOTCD_DIR): Define.
975 (RLINE): Define.
976 * apps/tests/lpc/makefile: Handle BOOTCD_INSTALL.
977 * apps/tests/mstest/Makefile: Ditto.
978 * apps/tests/nptest/Makefile: Ditto.
979 * apps/tests/shm/makefile: Ditto.
980 * ntoskrnl/Makefile: Handle BOOTCD_INSTALL. Add bootcd target.
981 * drivers/dd/vga/makefile: Add bootcd target.
982 * drivers/dd/blue/makefile (TARGET_BOOTSTRAP): Define as yes.
983 * drivers/dd/floppy/Makefile: Ditto.
984 * drivers/fs/cdfs/makefile: Ditto.
985 * drivers/fs/ntfs/makefile: Ditto.
986 * drivers/fs/vfat/makefile: Ditto.
987 * drivers/input/keyboard/makefile: Ditto.
988 * drivers/storage/atapi/makefile: Ditto.
989 * drivers/storage/cdrom/makefile: Ditto.
990 * drivers/storage/class2/makefile: Ditto.
991 * drivers/storage/disk/makefile: Ditto.
992 * drivers/storage/scsiport/makefile: Ditto.
993 * hal/halx86/Makefile: Ditto.
994 * lib/ntdll/makefile: Ditto.
995 * subsys/system/usetup/makefile (TARGET_BOOTSTRAP): Define as yes.
996 (TARGET_BOOTSTRAP_NAME): Define as smss.exe.
997 * tools/Makefile: Add rline executable.
998 * tools/helper.mk: Support bootcd targets.
999 * tools/rline.c: New file.
1000
1001 2003-04-04 Casper S. Hornstrup <chorns@users.sourceforge.net>
1002
1003 * lib/freetype/builds/compiler/gcc.mk (CC): Comment out; use CC from
1004 rules.mak instead.
1005 * lib/freetype/README.ROS: Note this in porting guide.
1006
1007 2003-03-29 Casper S. Hornstrup <chorns@users.sourceforge.net>
1008
1009 * ntoskrnl/ex/sysinfo.c (SystemProcessInformation): Fix warning.
1010
1011 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
1012
1013 * include/ntos/rtltypes.h (PRTL_BASE_PROCESS_START_ROUTINE): Define.
1014 * lib/kernel32/process/create.c (RtlBaseProcessStartRoutine): Import.
1015 (KlCreateFirstThread): Support images with native subsystem ID.
1016 * lib/ntdll/def/ntdll.def (RtlBaseProcessStartRoutine): Export.
1017 * lib/ntdll/def/ntdll.edf (RtlBaseProcessStartRoutine): Ditto.
1018 * lib/ntdll/rtl/exception.c (RtlBaseProcessStart): Forward declare.
1019 (RtlBaseProcessStartRoutine, RtlBaseProcessStart): Add.
1020
1021 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
1022
1023 * include/defines.h (VS_FFI_SIGNATURE, VS_FFI_STRUCVERSION): Define.
1024
1025 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
1026
1027 * ntoskrnl/ke/i386/exp.c (KiKernelTrapHandler): Use exception code
1028 STATUS_ACCESS_VIOLATION for exception 14.
1029
1030 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
1031
1032 * ntoskrnl/fs/util.c (FsRtlGetFileSize): Implement.
1033
1034 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
1035
1036 * lib/ntdll/rtl/nls.c (RtlCustomCPToUnicodeN, RtlMultiByteToUnicodeN,
1037 RtlOemToUnicodeN, RtlUnicodeToCustomCPN, RtlUnicodeToMultiByteN,
1038 RtlUnicodeToMultiByteSize, RtlUnicodeToOemN,
1039 RtlUpcaseUnicodeToCustomCPN, RtlUpcaseUnicodeToMultiByteN,
1040 RtlUpcaseUnicodeToOemN): Assert when unimplemented code is reached.
1041
1042 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
1043
1044 * include/ntos/zwtypes.h (FILE_BASIC_INFORMATION): Use LARGE_INTEGER,
1045 not TIME type for time fields.
1046 * lib/kernel32/file/copy.c (SetLastWriteTime): Adjust for new type.
1047 (CopyFileExW): Ditto.
1048
1049 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
1050
1051 * include/ntos/types.h (FALSE): Protect with #ifndef FALSE.
1052 (TRUE): Protect with #ifndef TRUE.
1053
1054 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
1055
1056 * include/napi/i386/segment.h (put_user, get_user,
1057 bad_user_access_length, __segment_dummy, __sd, __const_sd, __put_user,
1058 __get_user, __generic_memcpy_tofs, __constant_memcpy_tofs, COMMON,
1059 __generic_memcpy_fromfs, __constant_memcpy_fromfs, memcpy_fromfs,
1060 memcpy_tofs, get_fs_byte, get_fs_word, get_fs_long, put_fs_byte,
1061 put_fs_word, put_fs_long, get_user_word, get_user_byte, get_user_long,
1062 put_user_byte, put_user_word, put_user_long, get_fs, get_ds, set_fs,
1063 set_ds): Remove.
1064
1065 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
1066
1067 * include/ddk/pstypes.h (TLS_OUT_OF_INDEXES): Define.
1068
1069 2003-02-18 Casper S. Hornstrup <chorns@users.sourceforge.net>
1070
1071 * ntoskrnl/cc/view.c (CcRosFlushDirtyPages): Treat a write attempt with
1072 a return value of STATUS_END_OF_FILE as a successful write.
1073 * ntoskrnl/cc/copy.c (WriteCacheSegment): Ditto.
1074
1075 2003-02-18 Casper S. Hornstrup <chorns@users.sourceforge.net>
1076
1077 * ntoskrnl/cm/regfile.c (CmiRemoveSubKey): Kill warnings.
1078 (CmiMergeFree): Ditto.
1079
1080 2003-02-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
1081
1082 * include/structs.h (OSVERSIONINFOEXA): Expand definition of
1083 OSVERSIONINFOA.
1084 (OSVERSIONINFOEXW): Expand definition of OSVERSIONINFOW.
1085 * lib/msafd/misc/helpers.c (LocateHelperDLL): Cast AddressFamily,
1086 SocketType, and Protocol to INT.
1087 * lib/ws2_32/misc/catalog.c (LocateProvider): Ditto.
1088
1089 2003-01-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
1090
1091 * ntoskrnl/dbg/profile.c (KdbProfilerThreadMain): Make STDCALL.
1092
1093 2003-01-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
1094
1095 * drivers/net/tcpip/makefile (TCP_OBJECTS): Add transport/tcp/tcpcore.o,
1096 transport/tcp/tcp_input.o, transport/tcp/tcp_ipv4.o,
1097 transport/tcp/tcp_output.o, and transport/tcp/tcp_timer.o.
1098 * drivers/net/tcpip/transport/tcp/tcp.c (TCPStartup): Call tcp_init().
1099 * drivers/net/tcpip/include/linux.h: New file.
1100 * drivers/net/tcpip/include/tcpcore.h: Ditto.
1101 * drivers/net/tcpip/include/tcpdef.h: Ditto.
1102 * drivers/net/tcpip/transport/tcp/tcp_input.c: Ditto.
1103 * drivers/net/tcpip/transport/tcp/tcp_ipv4.c: Ditto.
1104 * drivers/net/tcpip/transport/tcp/tcp_output.c: Ditto.
1105 * drivers/net/tcpip/transport/tcp/tcp_timer.c: Ditto.
1106 * drivers/net/tcpip/transport/tcp/tcpcore.c: Ditto.
1107
1108 2003-01-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
1109
1110 * lib/kernel32/k32.h: New file.
1111 * lib/kernel32/makefile (TARGET_CFLAGS): Add -I./.
1112 (TARGET_PCH): Set to k32.h.
1113 * lib/kernel32/except/except.c: Use <k32.h>.
1114 * lib/kernel32/file/backup.c: Ditto.
1115 * lib/kernel32/file/cnotify.c: Ditto.
1116 * lib/kernel32/file/copy.c: Ditto.
1117 * lib/kernel32/file/create.c: Ditto.
1118 * lib/kernel32/file/curdir.c: Ditto.
1119 * lib/kernel32/file/delete.c: Ditto.
1120 * lib/kernel32/file/deviceio.c: Ditto.
1121 * lib/kernel32/file/dir.c: Ditto.
1122 * lib/kernel32/file/dosdev.c: Ditto.
1123 * lib/kernel32/file/file.c: Ditto.
1124 * lib/kernel32/file/find.c: Ditto.
1125 * lib/kernel32/file/iocompl.c: Ditto.
1126 * lib/kernel32/file/lfile.c: Ditto.
1127 * lib/kernel32/file/lock.c: Ditto.
1128 * lib/kernel32/file/mailslot.c: Ditto.
1129 * lib/kernel32/file/move.c: Ditto.
1130 * lib/kernel32/file/npipe.c: Ditto.
1131 * lib/kernel32/file/pipe.c: Ditto.
1132 * lib/kernel32/file/rw.c: Ditto.
1133 * lib/kernel32/file/tape.c: Ditto.
1134 * lib/kernel32/file/volume.c: Ditto.
1135 * lib/kernel32/mem/global.c: Ditto.
1136 * lib/kernel32/mem/heap.c: Ditto.
1137 * lib/kernel32/mem/isbad.c: Ditto.
1138 * lib/kernel32/mem/local.c: Ditto.
1139 * lib/kernel32/mem/procmem.c: Ditto.
1140 * lib/kernel32/mem/section.c: Ditto.
1141 * lib/kernel32/mem/virtual.c: Ditto.
1142 * lib/kernel32/misc/atom.c: Ditto.
1143 * lib/kernel32/misc/comm.c: Ditto.
1144 * lib/kernel32/misc/console.c: Ditto.
1145 * lib/kernel32/misc/debug.c: Ditto.
1146 * lib/kernel32/misc/dllmain.c: Ditto.
1147 * lib/kernel32/misc/env.c: Ditto.
1148 * lib/kernel32/misc/error.c: Ditto.
1149 * lib/kernel32/misc/handle.c: Ditto.
1150 * lib/kernel32/misc/ldr.c: Ditto.
1151 * lib/kernel32/misc/profile.c: Ditto.
1152 * lib/kernel32/misc/res.c: Ditto.
1153 * lib/kernel32/misc/stubs.c: Ditto.
1154 * lib/kernel32/misc/sysinfo.c: Ditto.
1155 * lib/kernel32/misc/time.c: Ditto.
1156 * lib/kernel32/process/cmdline.c: Ditto.
1157 * lib/kernel32/process/create.c: Ditto.
1158 * lib/kernel32/process/proc.c: Ditto.
1159 * lib/kernel32/process/session.c: Ditto.
1160 * lib/kernel32/string/lstring.c: Ditto.
1161 * lib/kernel32/synch/critical.c: Ditto.
1162 * lib/kernel32/synch/event.c: Ditto.
1163 * lib/kernel32/synch/intrlck.c: Ditto.
1164 * lib/kernel32/synch/mutex.c: Ditto.
1165 * lib/kernel32/synch/sem.c: Ditto.
1166 * lib/kernel32/synch/timer.c: Ditto.
1167 * lib/kernel32/synch/wait.c: Ditto.
1168 * lib/kernel32/thread/fiber.c: Ditto.
1169 * lib/kernel32/thread/thread.c: Ditto.
1170 * lib/kernel32/thread/tls.c: Ditto.
1171
1172 2003-01-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
1173
1174 * apps/testsets/Makefile (TEST_SETS): Remove ldr.
1175 * include/msvcrt/ctype.h (towupper): Make returntype wchar_t.
1176
1177 2003-01-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
1178
1179 * tools/rtouch.c: Include <sys/utime.h>, not <utime.h>.
1180
1181 2003-01-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
1182
1183 * tools/rtouch.c: New file.
1184 * rules.mak (ROS_USE_PCH): Default to no.
1185 (RTOUCH): Define.
1186 * tools/Makefile: Add rtouch utility.
1187 * tools/helper.mk: Support precompiled headers.
1188
1189 2003-01-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
1190
1191 * ntoskrnl/dbg/profile.c: New file.
1192 * ntoskrnl/Makefile (OBJECTS_KDBG): Add dbg/profile.o.
1193 * ntoskrnl/dbg/kdb.h: Define NTOS_MODE_KERNEL. Include <ntos.h>.
1194 (LdrGetAddressInformation, KdbInitProfiling, KdbInitProfiling2,
1195 KdbDisableProfiling, KdbEnableProfiling, KdbProfileInterrupt) Prototype.
1196 * ntoskrnl/kd/kdebug.c (KdInitSystem): Add /PROFILE option if KDBG=1.
1197 * ntoskrnl/ke/main.c (ExpInitializeExecutive): Call KdbInitProfiling2()
1198 if KDBG=1.
1199 * ntoskrnl/ke/i386/irq.c: Include <../dbg/kdb.h> if KDBG=1.
1200 (KiInterruptDispatch): Call KdbProfileInterrupt() on timer interrupt
1201 if KDBG=1.
1202
1203 2003-01-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
1204
1205 * drivers/fs/vfat/create.c (VfatSupersedeFile): Only notify cache manager
1206 about change in file size if caching is initiated on the file stream.
1207
1208 2003-01-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
1209
1210 * boot.bat: Use DOS end-of-line characters.
1211
1212 2003-01-02 Casper S. Hornstrup <chorns@users.sourceforge.net>
1213
1214 * ntoskrnl/ke/timer.c (KeExpireTimers): Avoid signed/unsigned comparison
1215 warning.
1216 * lib/user32/controls/scrollbar.c (SCROLL_DrawScrollBar): Put a statement
1217 at end.
1218
1219 2002-12-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
1220
1221 * drivers/fs/vfat/cleanup.c (VfatCleanupFile): Only uninitialize caching
1222 when initialized.
1223 * drivers/fs/vfat/fcb.c (vfatReleaseFCB): Ditto.
1224 * lib/kernel32/mem/section.c (CreateFileMappingW): Pass NULL as
1225 MaximumSize to NtCreateSection if dwMaximumSizeHigh and dwMaximumSizeLow
1226 are both 0.
1227 * ntoskrnl/cc/pin.c (CcMapData): Assert if Bcb is NULL.
1228 * ntoskrnl/cc/view.c (CcRosReleaseCacheSegment, CcRosLookupCacheSegment,
1229 CcRosMarkDirtyCacheSegment, CcRosUnmapCacheSegment,
1230 CcRosCreateCacheSegment, CcRosGetCacheSegmentChain,
1231 CcRosGetCacheSegment, CcRosRequestCacheSegment, CcFlushCache,
1232 CcRosDeleteFileCache, CcRosReferenceCache, CcRosDereferenceCache,
1233 CcRosReleaseFileCache, CcGetFileObjectFromSectionPtrs): Ditto.
1234 * ntoskrnl/mm/section.c (MiReadPage): Assert if Fcb->Bcb is NULL.
1235 (MmCreateDataFileSection): Make sure caching is initialized for the file
1236 stream.
1237
1238 2002-11-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
1239
1240 * include/ddk/ldrtypes.h: Move ...
1241 * include/ntos/ldrtypes.h: ... here.
1242 * include/ddk/ntddk.h: Include ldrtypes.h at new location.
1243
1244 2002-11-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
1245
1246 * drivers/bus/acpi/ospm/osl.c (acpi_os_readable, acpi_os_writable):
1247 Match prototypes.
1248 * include/ascii.h (AbortSystemShutdownA): Correct prototype.
1249 * include/debug.h (assert): Wrap in #ifndef assert.
1250 * include/funcs.h (AbortSystemShutdown): Remove duplicate prototype.
1251 * include/ddk/rtltypes.h: Move ...
1252 * include/ntos/rtltypes.h: ... here.
1253 * include/ddk/rtl.h: Move ...
1254 * include/ntos/rtl.h: ... here.
1255 * include/ddk/zwtypes.h: Move ...
1256 * include/ntos/zwtypes.h: ... here.
1257 * include/ddk/zw.h: Move ...
1258 * include/ntos/zw.h: ... here.
1259 | include/ddk/cmfuncs.h: Remove file; Move NtCreateKey to ntos/zw.h.
1260 * include/ntos.h: #include ntos/rtltypes.h, ntos/rtl.h, ntos/zwtypes.h,
1261 and ntos/zw.h.
1262 * include/unicode.h: (AbortSystemShutdownW): Correct prototype.
1263 * include/ddk/ntddk.h: Include headers at new location; Don't include
1264 removed files.
1265 * include/defines.h: Wrap definitions in w32api in #ifndef __USE_W32API.
1266 * include/ntos/zwtypes.h: Ditto.
1267 * include/napi/lpc.h: Ditto.
1268 * include/napi/shared_data.h: Ditto.
1269 * include/napi/teb.h: Ditto.
1270 * include/napi/types.h: Ditto.
1271 * include/ntdll/ldr.h: Ditto.
1272 * include/ntdll/rtl.h: Ditto.
1273 * include/ntos/console.h: Ditto.
1274 * include/ntos/disk.h: Ditto.
1275 * include/ntos/except.h: Ditto.
1276 * include/ntos/file.h: Ditto.
1277 * include/ntos/gditypes.h: Ditto.
1278 * include/ntos/heap.h: Ditto.
1279 * include/ntos/keyboard.h: Ditto.
1280 * include/ntos/mm.h: Ditto.
1281 * include/ntos/ntdef.h: Ditto.
1282 * include/ntos/ps.h: Ditto.
1283 * include/ntos/registry.h: Ditto.
1284 * include/ntos/security.h: Ditto.
1285 * include/ntos/synch.h: Ditto.
1286 * include/ntos/time.h: Ditto.
1287 * include/ntos/types.h: Ditto.
1288 * include/ntos/port.h: Ditto.
1289 * lib/advapi32/misc/shutdown.c (AbortSystemShutdownW,
1290 AbortSystemShutdownA): Correct prototype.
1291 * lib/advapi32/reg/reg.c: #include ntos.h.
1292 * lib/advapi32/sec/misc.c: Ditto.
1293 * lib/advapi32/sec/sid.c: Ditto.
1294 * lib/advapi32/service/sctrl.c: Ditto.
1295 * lib/advapi32/token/token.c: Ditto.
1296 * lib/kernel32/misc/dllmain.c: Ditto.
1297 * ntoskrnl/ex/napi.c: Ditto.
1298 * ntoskrnl/rtl/i386/exception.c: Ditto.
1299 * lib/advapi32/sec/ac.c: Ditto.
1300 (FindFirstFreeAce, GetAce): Change PACE* to PACE_HEADER*.
1301 * lib/advapi32/service/scm.c (EnumServicesStatusExA,
1302 EnumServicesStatusExW, QueryServiceStatusEx): Correct prototype.
1303 * lib/ntdll/rtl/ppb.c (RtlDestroyProcessParameters): Match prototype.
1304 * ntoskrnl/dbg/errinfo.c (DbgGetErrorText): Use %08x, not %08lx.
1305 * ntoskrnl/io/arcname.c (IoCreateSystemRootLink): Use %u, not %lu.
1306 * ntoskrnl/ke/main.c (ExpInitializeExecutive): Ditto.
1307 * (_main): Use %d, not %ld.
1308 * ntoskrnl/include/internal/i386/ke.h: Add #pragma GCC system_header.
1309 * include/ddk/ntdef.h (NTSYSAPI, NTAPI, NTKERNELAPI): Define to STDCALL;
1310 Check if already defined.
1311 * include/base.h (STDCALL, CDECL, CALLBACK, PASCAL): Move to ntos/types.h.
1312
1313 2002-11-13 Rick Gaiser <RickG81@Wanadoo.nl>
1314
1315 * drivers/bus/isapnp/isapnp.c (FindNextReadPort): Increment Port before
1316 checking wether port address is in NE2000 address space range and returning
1317 port address value.
1318
1319 2002-11-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
1320
1321 * drivers/bus/acpi/include/acpi.h: Include platform/types.h.
1322 * drivers/bus/acpi/include/actypes.h: (UINT8, BOOLEAN, UCHAR, UINT16,
1323 INT32, UINT32, UINT64): Disable, use the OS defined types instead.
1324 * drivers/bus/acpi/include/platform/types.h: Remove all types,
1325 include ntos.h instead.
1326 * drivers/bus/acpi/ospm/include/acpisys.h: Don't include
1327 platform/types.h.
1328
1329 2002-11-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
1330
1331 * include/defines.h: Fix warnings when bulding with gcc 3.3.
1332 * include/ddk/status.h: Ditto.
1333 * include/freetype/internal/ftdebug.h: Ditto.
1334 * include/net/ndis.h: Ditto.
1335 * lib/msafd/misc/helpers.c: Ditto.
1336 * lib/user32/windows/defwnd.c: Ditto.
1337 * lib/user32/windows/window.c: Ditto.
1338 * ntoskrnl/cm/ntfunc.c: Ditto.
1339 * ntoskrnl/cm/regfile.c: Ditto.
1340 * ntoskrnl/cm/regobj.c: Ditto.
1341 * ntoskrnl/dbg/errinfo.c: Ditto.
1342 * ntoskrnl/ex/hashtab.c: Ditto.
1343 * ntoskrnl/include/internal/mm.h: Ditto.
1344 * ntoskrnl/io/irp.c: Ditto.
1345 * ntoskrnl/kd/gdbstub.c: Ditto.
1346 * ntoskrnl/ke/queue.c: Ditto.
1347 * ntoskrnl/ke/sem.c: Ditto.
1348 * ntoskrnl/ldr/resource.c: Ditto.
1349 * ntoskrnl/mm/balance.c: Ditto.
1350 * ntoskrnl/mm/freelist.c: Ditto.
1351 * ntoskrnl/mm/mdl.c: Ditto.
1352 * ntoskrnl/mm/npool.c: Ditto.
1353 * ntoskrnl/mm/section.c: Ditto.
1354 * ntoskrnl/rtl/error.c: Ditto.
1355 * ntoskrnl/rtl/mem.c: Ditto.
1356 * ntoskrnl/rtl/string.c: Ditto.
1357 * ntoskrnl/rtl/time.c: Ditto.
1358 * ntoskrnl/rtl/unicode.c: Ditto.
1359 * ntoskrnl/rtl/wstring.c: Ditto.
1360 * ntoskrnl/rtl/i386/exception.c: Ditto.
1361 * subsys/win32k/freetype/src/base/ftinit.c: Ditto.
1362
1363 2002-11-03 Casper S. Hornstrup <chorns@users.sourceforge.net>
1364
1365 * apps/tests/lpc/lpcclt.c: Change LPC_MESSAGE_HEADER to LPC_MESSAGE.
1366 * include/csrss/csrss.h: Ditto.
1367 * include/lsass/lsass.h: Ditto.
1368 * include/napi/dbg.h: Ditto.
1369 * include/napi/lpc.h: Ditto.
1370 * lib/kernel32/misc/console.c: Ditto.
1371 * lib/ntdll/csr/lpc.c: Ditto.
1372 * lib/ntdll/dbg/debug.c: Ditto.
1373 * lib/secur32/lsa.c: Ditto.
1374 * ntoskrnl/dbg/user.c: Ditto.
1375 * ntoskrnl/include/internal/port.h: Ditto.
1376 * ntoskrnl/lpc/connect.c: Ditto.
1377 * ntoskrnl/lpc/reply.c: Ditto.
1378 * ntoskrnl/ps/process.c: Ditto.
1379 * subsys/csrss/api/conio.c: Ditto.
1380 * subsys/csrss/api/process.c: Ditto.
1381 * subsys/csrss/api/user.c: Ditto.
1382
1383 2002-10-26 Casper S. Hornstrup <chorns@users.sourceforge.net>
1384
1385 * lib/msvcrt/except/seh.s: Fix end-of-line formatting.
1386 * lib/ntdll/rtl/i386/exception.c: Ditto.
1387 * lib/ntdll/rtl/i386/except.s: Ditto.
1388 * ntoskrnl/rtl/i386/except.s: Ditto.
1389 * ntoskrnl/rtl/i386/seh.s: Ditto.
1390
1391 2002-10-26 Casper S. Hornstrup <chorns@users.sourceforge.net>
1392
1393 * lib/msvcrt/Makefile (OBJECTS_EXCEPT): Add except/seh.o; Remove
1394 except/exhand3.o.
1395 * lib/msvcrt/except/exhand2.c (MsvcrtDebug): New function.
1396 * lib/msvcrt/except/unwind.c (PEXCEPTION_FRAME): Remove.
1397 (_global_unwind2): Correct prototype.
1398 * lib/ntdll/makefile (RTL_I386_OBJECTS, ARCH_OBJECTS): New groups.
1399 (TARGET_OBJECTS): Add ARCH_OBJECTS group.
1400 * lib/ntdll/rtl/exception.c (KiUserExceptionDispatcher): Set
1401 NumberParameters in exception record.
1402 (RtlRaiseStatus): Remove.
1403 * ntoskrnl/Makefile (OBJECTS_RTL): Remove rtl/seh.o.
1404 (OBJECTS_RTL_I386): Add rtl/i386/except.o, rtl/i386/exception.o, and
1405 rtl/i386/seh.o.
1406 * ntoskrnl/ke/catch.c (RtlpExecuteHandlerForException,
1407 RtlpDumpExceptionRegistrations, RtlpDispatchException,
1408 RtlpExecuteHandler, RtlpExceptionHandler, RtlpUnwindHandler,
1409 RtlpExecuteHandlerForException, RtlpExecuteHandlerForUnwind,
1410 RtlUnwind): Remove.
1411 (RtlpDispatchException): Add prototype.
1412 * ntoskrnl/ke/i386/usertrap.c (ExceptionTypeStrings): Remove.
1413 * ntoskrnl/ps/create.c (PsCreateTeb): Mark end of exception
1414 registration list.
1415 * tools/helper.mk (TARGET_ASFLAGS): Add -g if DBG = 1.
1416 * lib/msvcrt/except/exhand3.c: Remove.
1417 * ntoskrnl/rtl/seh.c: Ditto.
1418 * lib/msvcrt/except/seh.s: New file.
1419 * lib/ntdll/rtl/i386/except.s: Ditto.
1420 * lib/ntdll/rtl/i386/exception.c: Ditto.
1421 * ntoskrnl/rtl/i386/except.s: Ditto.
1422 * ntoskrnl/rtl/i386/exception.c: Ditto.
1423 * ntoskrnl/rtl/i386/seh.s: Ditto.
1424
1425 2002-10-26 Casper S. Hornstrup <chorns@users.sourceforge.net>
1426
1427 * lib/kernel32/process/create.c (_except_handler): New function.
1428 (BaseProcessStart): Ditto.
1429 (KlCreateFirstThread): Return INVALID_HANDLE_VALUE on error; Call
1430 BaseProcessStart() before process entry point.
1431 * lib/kernel32/thread/thread.c (_except_handler): New function.
1432 (ThreadStartup): Protect thread using SEH constructs.
1433
1434 2002-10-26 Casper S. Hornstrup <chorns@users.sourceforge.net>
1435
1436 * include/ddk/zw.h (NtProcessStartup): Use standard calling convention.
1437 * subsys/csrss/csrss.c (NtProcessStartup): Ditto.
1438 * subsys/smss/smss.c (NtProcessStartup): Ditto.
1439 * subsys/system/autochk/autochk.c (NtProcessStartup): Ditto.
1440 * subsys/system/usetup/usetup.c (NtProcessStartup): Ditto.
1441
1442 2002-10-25 Casper S. Hornstrup <chorns@users.sourceforge.net>
1443
1444 * apps/tests/tokentest/tokentest.c (ROS_ACE_HEADER): Move field
1445 AccessMask ...
1446 (ROS_ACE): ... here.
1447 (DisplayDacl): Make pAce an ROS_ACE*; Use new path for AceType; Use
1448 sizeof(ACE) instead of sizeof(ACE_HEADER).
1449 * include/ntos/security.h (ACE_HEADER): Move field AccessMask ...
1450 (ACE): ... here.
1451 * lib/ntdll/rtl/acl.c: Use new path for AccessMask.
1452 * ntoskrnl/se/semgr.c: Ditto.
1453 * ntoskrnl/se/acl.c (SepInitDACLs): Use new path for AccessMask; Use
1454 sizeof(ACE) instead of sizeof(ACE_HEADER).
1455 * ntoskrnl/se/token.c (SepCreateSystemProcessToken): Use sizeof(ACE)
1456 instead of sizeof(ACE_HEADER).
1457
1458 2002-10-20 Casper S. Hornstrup <chorns@users.sourceforge.net>
1459
1460 * include/napi/teb.h (RTL_USER_PROCESS_PARAMETERS): Use field names
1461 as described in Windows NT/2000 Native API Reference.
1462 * lib/kernel32/file/file.c: Use new field names.
1463 * lib/kernel32/misc/console.c: Ditto.
1464 * lib/kernel32/process/create.c: Ditto.
1465 * lib/kernel32/process/proc.c: Ditto.
1466 * lib/ntdll/rtl/path.c: Ditto.
1467 * lib/ntdll/rtl/ppb.c: Ditto.
1468 * lib/ntdll/rtl/process.c: Ditto.
1469
1470 2002-10-19 Casper S. Hornstrup <chorns@users.sourceforge.net>
1471
1472 * include/ntos.h: Include relevant files.
1473 * include/internal/ke.h: Include files relative to
1474 ntoskrnl/include.
1475 * include/internal/arch/ke.h: Ditto.
1476
1477 2002-10-01 Casper S. Hornstrup <chorns@users.sourceforge.net>
1478
1479 * drivers/dd/floppy/floppy.c: Changed PAGESIZE to PAGE_SIZE.
1480 * drivers/fs/cdfs/fcb.c: Ditto.
1481 * drivers/fs/cdfs/fsctl.c: Ditto.
1482 * drivers/fs/cdfs/rw.c: Ditto.
1483 * drivers/fs/ext2/dir.c: Ditto.
1484 * drivers/fs/ext2/inode.c: Ditto.
1485 * drivers/fs/ext2/rw.c: Ditto.
1486 * drivers/fs/ext2/super.c: Ditto.
1487 * drivers/fs/minix/blockdev.c: Ditto.
1488 * drivers/fs/minix/cache.c: Ditto.
1489 * drivers/fs/minix/inode.c: Ditto.
1490 * drivers/fs/minix/rw.c: Ditto.
1491 * drivers/fs/ntfs/fcb.c: Ditto.
1492 * drivers/fs/ntfs/ntfs.h: Ditto.
1493 * drivers/fs/vfat/create.c: Ditto.
1494 * drivers/fs/vfat/direntry.c: Ditto.
1495 * drivers/fs/vfat/dirwr.c: Ditto.
1496 * drivers/fs/vfat/fat.c: Ditto.
1497 * drivers/fs/vfat/fcb.c: Ditto.
1498 * drivers/fs/vfat/fsctl.c: Ditto.
1499 * drivers/fs/vfat/rw.c: Ditto.
1500 * drivers/storage/class2/class2.c: Ditto.
1501 * drivers/storage/scsiport/scsiport.c: Ditto.
1502 * hal/halx86/adapter.c: Ditto.
1503 * hal/halx86/mp.c: Ditto.
1504 * include/ddk/mmfuncs.h: Ditto.
1505 * include/ddk/mmtypes.h: Ditto.
1506 * include/ddk/i386/pagesize.h: Ditto.
1507 * include/ntdll/pagesize.h: Ditto.
1508 * lib/kernel32/process/create.c: Ditto.
1509 * lib/kernel32/thread/thread.c: Ditto.
1510 * lib/ntdll/ldr/utils.c: Ditto.
1511 * lib/ntdll/rtl/env.c: Ditto.
1512 * lib/ntdll/rtl/heap.c: Ditto.
1513 * lib/ntdll/rtl/ppb.c: Ditto.
1514 * lib/ntdll/rtl/process.c: Ditto.
1515 * lib/ntdll/rtl/thread.c: Ditto.
1516 * ntoskrnl/cc/copy.c: Ditto.
1517 * ntoskrnl/cc/view.c: Ditto.
1518 * ntoskrnl/ex/sysinfo.c: Ditto.
1519 * ntoskrnl/include/internal/i386/mm.h: Ditto.
1520 * ntoskrnl/io/mdl.c: Ditto.
1521 * ntoskrnl/ke/kthread.c: Ditto.
1522 * ntoskrnl/ke/i386/kernel.c: Ditto.
1523 * ntoskrnl/ldr/init.c: Ditto.
1524 * ntoskrnl/ldr/loader.c: Ditto.
1525 * ntoskrnl/mm/anonmem.c: Ditto.
1526 * ntoskrnl/mm/cont.c: Ditto.
1527 * ntoskrnl/mm/freelist.c: Ditto.
1528 * ntoskrnl/mm/iospace.c: Ditto.
1529 * ntoskrnl/mm/kmap.c: Ditto.
1530 * ntoskrnl/mm/marea.c: Ditto.
1531 * ntoskrnl/mm/mdl.c: Ditto.
1532 * ntoskrnl/mm/mminit.c: Ditto.
1533 * ntoskrnl/mm/ncache.c: Ditto.
1534 * ntoskrnl/mm/npool.c: Ditto.
1535 * ntoskrnl/mm/pagefile.c: Ditto.
1536 * ntoskrnl/mm/pageop.c: Ditto.
1537 * ntoskrnl/mm/section.c: Ditto.
1538 * ntoskrnl/mm/slab.c: Ditto.
1539 * ntoskrnl/mm/i386/page.c: Ditto.
1540 * ntoskrnl/ob/handle.c: Ditto.
1541 * ntoskrnl/ps/create.c: Ditto.
1542 * ntoskrnl/ps/process.c: Ditto.
1543 * ntoskrnl/ps/w32call.c: Ditto.
1544 * subsys/win32k/include/object.h: Ditto.
1545
1546 2002-10-01 Casper S. Hornstrup <chorns@users.sourceforge.net>
1547
1548 * lib/ntdll/string/ctype.c: Undefine __MSVCRT__ to not have mingw
1549 runtime import _pctype.
1550
1551 2002-09-30 Casper S. Hornstrup <chorns@users.sourceforge.net>
1552
1553 * lib/user32/misc/desktop.c (string.h): Include.
1554 * lib/user32/misc/resources.c: Ditto.
1555 * lib/user32/misc/winhelp.c: Ditto.
1556 * lib/user32/windows/accel.c: Ditto.
1557 * lib/user32/windows/bitmap.c: Ditto.
1558 * subsys/win32k/freetype/ctype.c: Undefine __MSVCRT__ and _pctype to not
1559 have mingw runtime import _pctype.
1560
1561 2002-09-30 Casper S. Hornstrup <chorns@users.sourceforge.net>
1562
1563 * ntoskrnl/cc/view.c (alloca): Prototype.
1564 * ntoskrnl/rtl/ctype.c: Undefine __MSVCRT__ to not have mingw runtime
1565 import _pctype.
1566
1567 2002-08-26 David Welch <welch@computer2.darkstar.org>
1568
1569 * lib/gdi32/misc/dllmain.c (GdiDllInitialize): Don't initialize
1570 win32k.sys for each process.
1571 * subsys/csrss/init.c (CsrServerInitialization): Initialize
1572 win32k.sys as well.
1573
1574 2002-08-26 David Welch <welch@computer2.darkstar.org>
1575
1576 * ntoskrnl/ps/process.c (NtCreateProcess): Reference the
1577 parent process's handle using ExGetPreviousMode.
1578
1579 2002-08-26 David Welch <welch@computer2.darkstar.org>
1580
1581 * lib/user32/misc/dllmain.c (Init): Initialize gdi32 as well.
1582
1583 2002-08-26 David Welch <welch@computer2.darkstar.org>
1584
1585 * iface/addsys/genw32k.c (main, process): Generate a set of
1586 stubs for csrss as well.
1587
1588 2002-08-26 David Welch <welch@computer2.darkstar.org>
1589
1590 * lib/kernel32/process/create.c (CreateProcessW): Initialize
1591 all the members of the new process's PPB.
1592
1593 2002-08-17 David Welch <welch@computer2.darkstar.org>
1594
1595 * ntoskrnl/mm/rmap.c (MmWritePagePhysicalAddress): Ensure the
1596 process isn't freed in the middle of our operations.
1597
1598 2002-08-17 David Welch <welch@computer2.darkstar.org>
1599
1600 * drivers/fs/vfat/finfo.c (VfatSetAllocationSizeInformation): Fixed.
1601
1602 2002-08-17 David Welch <welch@computer2.darkstar.org>
1603
1604 * ntoskrnl/ps/create.c (PiDeleteThread): Don't dereference
1605 the thread's process while holding the thread list lock.
1606
1607 2002-08-17 David Welch <welch@computer2.darkstar.org>
1608
1609 * ntoskrnl/mm/section.c (MmMapViewOfSection): Check there is
1610 enough space for all parts of an image before mapping it; if
1611 there isn't enough space free at the preferred base address
1612 then try to choose a different one.
1613
1614 2002-08-17 David Welch <welch@computer2.darkstar.org>
1615
1616 * ntoskrnl/mm/mpw.c (MmInitMpwThread): Run the MPW thread at
1617 idle priority.
1618
1619 2002-08-17 David Welch <welch@computer2.darkstar.org>
1620
1621 * ntoskrnl/mm/kmap.c (ExUnmapPage, ExAllocatePageWithPhysPage,
1622 MiFreeNonPagedPoolRegion, MiAllocNonPagedPoolRegion): Maintain
1623 a hint of the next free page; makes running with whole page
1624 allocation more bearable.
1625
1626 2002-08-17 David Welch <welch@computer2.darkstar.org>
1627
1628 * ntoskrnl/mm/anonmem.c (MmPageOutVirtualMemory): Show an
1629 out of swap space message if we are out of swap space.
1630 * ntoskrnl/mm/section.c (MmPageOutSectionView): Show an
1631 out of swap space message if we are out of swap space.
1632 * ntoskrnl/mm/pagefile.c (MmAllocSwapPage): Don't automatically
1633 show an out of swap space message on failure.
1634 * ntoskrnl/mm/pagefile.c (MmShowOutOfSpaceMessagePagingFile): New
1635 function to notify the user that the pagefile is full.
1636
1637 2002-08-17 David Welch <welch@computer2.darkstar.org>
1638
1639 * drivers/lib/zlib/Makefile: Create a dummy zlib.sym
1640
1641 2002-08-16 David Welch <welch@computer2.darkstar.org>
1642
1643 * ntoskrnl/mm/npool.c (ExAllocateWholePageBlock): Converted
1644 to use PHYSICAL_ADDRESS type for page address.
1645
1646 2002-08-16 David Welch <welch@computer2.darkstar.org>
1647
1648 * subsys/win32k/ntuser/class.c (W32kCreateClass): Corrected
1649 typo when calculating the offset into the class object to
1650 put the class name string.
1651
1652 2002-08-16 David Welch <welch@computer2.darkstar.org>
1653
1654 * ntoskrnl/ps/thread.c (PsDispatchThreadNoLock): Don't call
1655 the reaper function directly; set an event to wake up a seperate
1656 reaper thread.
1657 * ntoskrnl/ps/thread.c (PsReaperThreadMain): New function that
1658 waits for a notification and then calls PsReapThreads.
1659 * ntoskrnl/ps/thread.c (PsInitThreadManagement): Create the
1660 reaper thread.
1661
1662 2002-08-15 David Welch <welch@computer2.darkstar.org>
1663
1664 * lib/advapi32/misc/dllmain.c (DllMain): Removed debug message.
1665
1666 2002-08-14 David Welch <welch@computer2.darkstar.org>
1667
1668 * subsys/smss/init.c (SmPagingFilesQueryRoutine): If possible
1669 take the size of the paging file from the registry.
1670
1671 2002-08-14 David Welch <welch@computer2.darkstar.org>
1672
1673 * ntoskrnl/mm/section.c (MmCreateDataFileSection): Extend the
1674 section if necessary.
1675
1676 2002-08-14 David Welch <welch@computer2.darkstar.org>
1677
1678 * ntoskrnl/mm/pagefile.c (NtCreatePagingFile): Set the file
1679 size using the FileAllocationInformation class.
1680
1681 2002-08-14 David Welch <welch@computer2.darkstar.org>
1682
1683 * ntoskrnl/mm/anonmem.c (MmWritePageVirtualMemory): Implemented
1684 function to write anonymous memory pages to the swap file.
1685 * ntoskrnl/mm/anonmem.c (MmFreeVirtualMemoryPage): Free any
1686 swap page associated with the page.
1687 * ntoskrnl/mm/mpw.c (MmWriteDirtyPages): New function to find
1688 pages to write to disk.
1689 * ntoskrnl/mm/mpw.c (MmMpwThreadMain): Implemented MPW functionality.
1690 * ntoskrnl/mm/rmap.c (MmWritePagePhysicalAddress): New function
1691 to write a single page back to disk.
1692 * ntoskrnl/mm/rmap.c (MmSetCleanAllRmaps, MmSetDirtyAllRmaps,
1693 MmIsDirtyPageRmap): New rmap function to support the MPW thread.
1694 * ntoskrnl/mm/section.c (MmWritePageSectionView): Implemented
1695 function to write back section pages.
1696 * ntoskrnl/mm/section.c (MmFreeSectionPage): Free any swap
1697 entry associated with the page; mark pages shared with
1698 the cache as dirty if necessary.
1699
1700 2002-08-14 David Welch <welch@computer2.darkstar.org>
1701
1702 * ntoskrnl/ldr/loader.c (LdrPEProcessModule): Set name of
1703 the module into the module text structure.
1704
1705 2002-08-14 David Welch <welch@computer2.darkstar.org>
1706
1707 * ntoskrnl/io/rw.c (NtReadFile, NtWriteFile): Use the correct
1708 test for whether to wait for the completion of i/o.
1709
1710 2002-08-14 David Welch <welch@computer2.darkstar.org>
1711
1712 * ntoskrnl/cm/ntfunc.c (NtFlushKey): Request synchronous i/o
1713 from NtOpenFile.
1714 * ntoskrnl/cm/regfile (CmiInitPermanentRegistryHive): Request
1715 synchronous i/o from NtCreateFile.
1716 * ntoskrnl/dbg/kdb_stabs.c (LdrpLoadModuleSymbols): Request
1717 synchronous i/o from NtOpenFile.
1718 * ntoskrnl/ldr/sysdll.c (LdrpMapSystemDll): Request synchronous i/o
1719 from NtOpenFile.
1720
1721 2002-08-14 David Welch <welch@computer2.darkstar.org>
1722
1723 * ntoskrnl/cc/view.c (CcRosSuggestFreeCacheSegment): Maintain the
1724 correct reference count.
1725
1726 2002-08-14 David Welch <welch@computer2.darkstar.org>
1727
1728 * ntoskrnl/cc/view.c (CcRosFlushCacheSegment): New function to
1729 write back a modified cache segment.
1730 * ntoskrnl/cc/view.c (CcRosFlushDirtyPages): New function to
1731 flush some dirty pages from the cache.
1732 * ntoskrnl/cc/view.c (CcRosMarkDirtyCacheSegment): New function to
1733 mark a cache segment modified while mapped into memory as dirty.
1734
1735 2002-08-14 David Welch <welch@computer2.darkstar.org>
1736
1737 * ntoskrnl/cc/pin.c (CcMapData, CcUnpinData, CcSetDirtyPinnedData):
1738 Store the dirty status in the BCB; don't write back dirty data
1739 immediately.
1740
1741 2002-08-14 David Welch <welch@computer2.darkstar.org>
1742
1743 * include/ntos/mm.h: Added SEC_XXXX defines from 'Windows NT/2000
1744 Native API Reference'
1745
1746 2002-08-14 David Welch <welch@computer2.darkstar.org>
1747
1748 * drivers/fs/vfat/ea.c (VfatSetExtendedAttributes): Empty
1749 placeholder for extended attribute functions.
1750
1751 2002-08-14 David Welch <welch@computer2.darkstar.org>
1752
1753 * drivers/fs/vfat/finfo.c (VfatSetAllocationSizeInformation):
1754 Added function to set allocation size.
1755
1756 2002-08-14 David Welch <welch@computer2.darkstar.org>
1757
1758 * drivers/fs/vfat/fcb.c (vfatFCBInitializeCache): Renamed
1759 to vfatFCBInitializeCacheFromVolume.
1760 * drivers/fs/vfat/fcb.c (vfatMakeFCBFromDirEntry): Don't
1761 initialise the cache with a file object representing the
1762 volume unless the FCB is for a directory.
1763
1764 2002-08-14 David Welch <welch@computer2.darkstar.org>
1765
1766 * drivers/fs/vfat/create.c (VfatPagingFileCreate): Added a
1767 new function for handling paging file only code.
1768 * drivers/fs/vfat/create.c (VfatSupersedeFile): Added a
1769 new function for doing a file supersede.
1770 * drivers/fs/vfat/create.c (VfatCreateFile): Reformatted and
1771 adjusted control flow. Set allocation size and extended attributes
1772 on create.
1773 * drivers/fs/vfat/create.c (VfatCreate): Removed goto.
1774
1775 2002-08-14 David Welch <welch@computer2.darkstar.org>
1776
1777 * drivers/fs/vfat/cleanup.c (VfatCleanupFile): Renamed
1778 updEntry to VfatUpdateEntry.
1779 * drivers/fs/vfat/close.c (VfatCloseFile): Renamed
1780 updEntry to VfatUpdateEntry.
1781 * drivers/fs/vfat/dirwr.c (updEntry): Renamed to
1782 VfatUpdateEntry.
1783 * drivers/fs/vfat/dirwr.c (addEntry): Renamed to
1784 VfatAddEntry.
1785
1786 2002-08-14 David Welch <welch@computer2.darkstar.org>
1787
1788 * apps/tests/sectest/sectest.c (main): Fixed formatting.
1789
1790 2002-08-10 David Welch <welch@computer2.darkstar.org>
1791
1792 * ntoskrnl/mm/i386/page.c (MmSetPageProtect): Fixed
1793 behaviour when called on the system address space.
1794
1795 2002-08-10 David Welch <welch@computer2.darkstar.org>
1796
1797 * ntoskrnl/mm/virtual.c (MmQueryAnonMem, MmProtectAnonMem,
1798 NtAllocateVirtualMemory, NtFreeVirtualMemory): Renamed
1799 segments to regions; moved region code to seperate file.
1800 Implemented NtQueryVirtualMemory and NtProtectVirtualMemory
1801 for anonymous memory areas.
1802
1803 2002-08-10 David Welch <welch@computer2.darkstar.org>
1804
1805 * ntoskrnl/mm/anonmem.c: Moved functions relating to
1806 areas created with NtAllocateVirtualMemory to a
1807 seperate file.
1808
1809 2002-08-10 David Welch <welch@computer2.darkstar.org>
1810
1811 * ntoskrnl/mm/section.c (MmQuerySectionView): Implemented
1812 NtQueryVirtualMemory for section views.
1813
1814 2002-08-10 David Welch <welch@computer2.darkstar.org>
1815
1816 * ntoskrnl/mm/section.c (MmAccessFaultSectionView,
1817 MmNotPresentFaultSectionView, MmProtectSectionView,
1818 MmMapViewOfSegment, MmAlterViewAttributes): Implemented
1819 NtProtectVirtualMemory for section views.
1820
1821 2002-08-10 David Welch <welch@computer2.darkstar.org>
1822
1823 * ntoskrnl/ke/main.c: Removed SEH test code.
1824
1825 2002-08-10 David Welch <welch@computer2.darkstar.org>
1826
1827 * lib/ntdll/ldr/utils.c (LdrFixupImports): Remove the readonly
1828 protection from the IAT before writing to it.
1829
1830 2002-08-10 David Welch <welch@computer2.darkstar.org>
1831
1832 * lib/ntdll/ldr/utils.c (LdrAdjustDllName): Properly null terminate
1833 the base name of the DLL.
1834
1835 2002-08-10 David Welch <welch@computer2.darkstar.org>
1836
1837 * ntoskrnl/ldr/loader.c (LdrPEProcessModule): Set the text segment
1838 of modules to readonly after loading.
1839
1840 2002-08-09 David Welch <welch@computer2.darkstar.org>
1841
1842 * ntoskrnl/ps/create.c (NtCreateThread): Call PsSuspendThread
1843 if NtCreateThread has CreateSuspended as TRUE.
1844 * ntoskrnl/ps/suspend.c (PsSuspendThread, PsResumeThread,
1845 PiSuspendThreadKernelRoutine): Fixed suspend functionality.
1846
1847 2002-08-09 David Welch <welch@computer2.darkstar.org>
1848
1849 * ntoskrnl/ke/i386/usertrap.c (print_user_address): Copy
1850 the LDR variable from the right address.
1851
1852 2002-08-09 David Welch <welch@computer2.darkstar.org>
1853
1854 * ntoskrnl/ke/apc.c (KiDeliverNormalApc): Check for
1855 kernel APCs pending on exit from the kernel.
1856 * ntoskrnl/ke/apc.c (KiDeliverNormalApc, KiDeliverUserApc,
1857 KiDeliverApc): Set the APC's inserted flag to FALSE after
1858 removing it from the thread's queue.
1859
1860 2002-08-09 David Welch <welch@computer2.darkstar.org>
1861
1862 * lib/kernel32/thread/thread.c (ThreadStartup): Don't
1863 call DLL entrypoints; this is done by LdrInitializeThunk.
1864 * lib/ntdll/ldr/startup.c (LdrInitializeThunk): Call
1865 DLLs in initialization order; take the loader lock before
1866 calling.
1867
1868 2002-08-09 David Welch <welch@computer2.darkstar.org>
1869
1870 * apps/tests/thread/thread.c (main): Test suspend and
1871 resume functionality.
1872
1873 2002-08-08 David Welch <welch@computer2.darkstar.org>
1874
1875 * ntoskrnl/mm/section (NtQuerySection): Return the
1876 right result length.
1877
1878 2002-08-08 David Welch <welch@computer2.darkstar.org>
1879
1880 * ntoskrnl/ke/usertrap.c (print_user_address): Check for
1881 a NULL LDR structure in the PEB; copy the LDR pointer in
1882 safely.
1883
1884 2002-08-08 David Welch <welch@computer2.darkstar.org>
1885
1886 * ntoskrnl/ke/apc.c (KiDeliverUserApc): Deliver all present
1887 APCs; release the APC spinlock while acccessing user memory.
1888
1889 2002-08-08 David Welch <welch@computer2.darkstar.org>
1890
1891 * include/internal/ps.h: Adjusted offsets into the ETHREAD
1892 structure.
1893 * include/internal/ps.h: Removed redundant members from the
1894 KTHREAD structure.
1895 * ntoskrnl/ke/kthread.c (KeInitializeThread): Removed
1896 redundant members from the KTHREAD structure.
1897
1898 2002-08-08 David Welch <welch@computer2.darkstar.org>
1899
1900 * ntoskrnl/dbg/kdb.c (KdbEnterDebuggerException): New
1901 function to enter the debugger on an exception.
1902 * ntoskrnl/kd/kdebug.c (KdInitSystem): Initialize the
1903 local kernel debugger if enabled.
1904 * ntoskrnl/ke/catch.c (KiDispatchException): Enter the
1905 local kernel debugger on an exception.
1906
1907 2002-08-08 David Welch <welch@computer2.darkstar.org>
1908
1909 * include/ntdll/ldr.h: Added definition for a DLL entrypoint.
1910 * lib/kernel32/process/create.c (KlCreateFirstThread): Put
1911 the argument to the NtProcessStartup function on the stack.
1912 * lib/kernel32/process/create.c (KlInitPeb): Read the
1913 base address of the new image from the PEB.
1914 * lib/kernel32/process/create.c (CreateProcessW): Start the
1915 first thread at the entrypoint of the new image.
1916 * lib/ntdll/ldr/startup.c (LdrInitializeThunk): If the
1917 function is called after the initial startup then just call the
1918 entrypoints for the loaded DLLs with DLL_THREAD_ATTACH. Don't
1919 call the entrypoint of the image.
1920 * lib/ntdll/rtl/process.c (RtlpCreateFirstThread): Put the
1921 argument to the NtProcessStartup function on the stack.
1922 * lib/ntdll/rtl/process.c (KlInitPeb): Read the base address of
1923 the new image from the PEB.
1924 * lib/ntdll/rtl/process.c (RtlCreateUserProcess): Start the
1925 first thread at the entrypoint of the new image.
1926 * ntoskrnl/ke/i386/bthread.S (PsBeginThreadWithContextInternal):
1927 Use the system call path to begin a usermode thread.
1928 * ntoskrnl/ke/i386/thread.c (Ke386InitThreadWithContext): Convert
1929 the supplied context into a trap frame.
1930 * ntoskrnl/ldr/init.c (LdrLoadInitialProcess): Put the PEB argument
1931 to the NtProcessStartup function on the new stack; start the
1932 first thread at the entrypoint of the image.
1933 * ntoskrnl/ps/create.c (NtCreateThread): Create an APC to call
1934 LdrInitializeThunk in the context of a new thread before its
1935 entrypoint.
1936
1937 2002-08-08 David Welch <welch@computer2.darkstar.org>
1938
1939 * drivers/fs/vfat/cleanup.c (VfatCleanupFile): Uninitialise
1940 the cache on file cleanup.
1941 * drivers/fs/vfat/fcb.c (vfatReleaseFcb): Don't uninitialise
1942 the cache on file close.
1943 * ntoskrnl/cc/copy.c: Renamed zero page global variable.
1944 * ntoskrnl/cc/view.c: Added cache delete function.
1945
1946 2002-07-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
1947
1948 * rules.mak (RSYM): Define.
1949 * include/ddk/zwtypes.h (DebugDbgLoadSymbols): Add to enum
1950 _DEBUG_CONTROL_CODE.
1951 * include/ntdll/ldr.h (LDR_SYMBOL_INFO, LdrpLoadUserModuleSymbols): Add.
1952 (LdrLoadModuleSymbols): Remove.
1953 * include/ntos/kdbgsyms.h (ST_FILENAME, ST_FUNCTION,
1954 ST_LINENUMBER): Add.
1955 (SYMBOL). Make Name an ANSI_STRING.
1956 (IMAGE_SYMBOL_INFO, AreSymbolsParsed): Add.
1957 * lib/ntdll/ldr/startup.c (LdrInitializeThunk): Call
1958 LdrpLoadUserModuleSymbols() not LdrLoadModuleSymbols().
1959 * lib/ntdll/ldr/utils.c (LdrLoadModuleSymbols): Rename to
1960 LdrpLoadUserModuleSymbols.
1961 (LdrpLoadUserModuleSymbols): Use DebugDbgLoadSymbols debug control code.
1962 (LdrLoadDll): assert if out of memory.
1963 (LdrLoadDll): Call
1964 LdrpLoadUserModuleSymbols(), not LdrLoadModuleSymbols().
1965 * lib/ntdll/string/ctype.c (_pctype): #undef.
1966 * ntoskrnl/dbg/dbgctrl.c (NtSystemDebugControl): Call
1967 LdrLoadUserModuleSymbols on DebugDbgLoadSymbols.
1968 * ntoskrnl/include/internal/ldr.h (LdrGetAddressInformation): Add.
1969 * ntoskrnl/include/internal/module.h (MODULE_TEXT_SECTION): Make SymbolInfo
1970 an IMAGE_SYMBOL_INFO.
1971 * ntoskrnl/ke/i386/exp.c (LdrGetAddressInformation): Add prototype.
1972 (print_address): Change #ifdef KDBG to #ifdef DBG.
1973 (KiDoubleFaultHandler, KiDumpTrapFrame, KeDumpStackFrames): Dump
1974 one stack frame per line.
1975 * ntoskrnl/ke/i386/multiboot.S: Create pagetables for more kernel
1976 address space so larger modules can be passed from the boot loader.
1977 * ntoskrnl/ke/i386/usertrap.c (LdrGetAddressInformation): Add prototype.
1978 (print_user_address): Print symbols using LdrGetAddressInformation().
1979 * ntoskrnl/ldr/loader.c (SYMBOLFILE_HEADER, IMAGE_SYMBOL_INFO_CACHE,
1980 STAB_ENTRY, N_FUN, N_SLINE, N_SO, SymbolListHead): Add.
1981 (TAG_SYM_BUF): Remove.
1982 (LdrInitDebug): Remove unneeded code.
1983 (LdrInit1): Prepare for loading symbols.
1984 (LdrpReadLine, HexL, LdrpParseLine, LdrpLoadModuleSymbolsFromBuffer,
1985 LdrpLoadUserModuleSymbolsFromBuffer): Remove.
1986 (LdrpParseImageSymbols, LdrpGetFileName, LdrpGetFunctionName,
1987 LdrpGetLineNumber, LdrGetAddressInformation, LdrpLookupUserSymbolInfo): Add.
1988 (LdrpLoadModuleSymbols, LdrInitializeBootStartDriver): Change to use new
1989 symbol structures.
1990 (LdrLoadUserModuleSymbols): Cache symbol buffers.
1991 (LdrUnloadModuleSymbols): Implement.
1992 (LdrLoadModule, LdrUnloadModule): Change #ifdef KDBG to #ifdef DBG.
1993 (LdrPEProcessModule): Split a line into two lines.
1994 (LdrPEProcessModule): Setup for loading symbols.
1995 * ntoskrnl/ldr/sysdll.c (LdrpMapSystemDll): Open with FILE_SHARE_READ.
1996 * ntoskrnl/ps/process.c (PiFreeSymbols): Call LdrUnloadModuleSymbols() to
1997 free symbols.
1998 (PiDeleteProcess): Change #ifdef KDBG to #ifdef DBG.
1999 * ntoskrnl/rtl/ctype.c (_pctype): #undef.
2000 * ntoskrnl/rtl/string.c (strncpy): Terminate destination string.
2001 * tools/Makefile (rsym): Add target.
2002 * tools/helper.mk: Include config and use -g if DBG = 1.
2003
2004 2002-07-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
2005
2006 * Makefile (install_before): Install system.hiv to correct location.
2007
2008 2002-07-04 David Welch <welch@computer2.darkstar.org>
2009
2010 * subsys/win32k/include/callback.h: Fixed callback argument
2011 definitions.
2012 * subsys/win32k/ntuser/winpos.c: Implemented some more of the windows
2013 sizing/moving code.
2014 * subsys/win32k/ntuser/painting.c: Implemented some more of the
2015 window painting code.
2016 * subsys/win32k/objects/coord.c: Implemented LPtoDP and DPtoLP.
2017 * subsys/win32k/objects/region.c: Added stubs for some more
2018 region functions.
2019
2020 2002-07-04 David Welch <welch@computer2.darkstar.org>
2021
2022 * ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the
2023 process desktop handle as well.
2024
2025 2002-07-04 David Welch <welch@computer2.darkstar.org>
2026
2027 * ntoskrnl/se/token.c: Don't call the ZwXXX variant of
2028 system calls when in system context.
2029
2030 2002-07-04 David Welch <welch@computer2.darkstar.org>
2031
2032 * ntoskrnl/Makefile: Added file with MDA output code.
2033 * ntoskrnl/kd/kdebug.c: Recognize MDA as a destination for
2034 debug output.
2035
2036 2002-07-04 David Welch <welch@computer2.darkstar.org>
2037
2038 * lib/user32/windows/defwnd.c: Implemented some more of the
2039 default window handler.
2040
2041 2002-07-04 David Welch <welch@computer2.darkstar.org>
2042
2043 * lib/user32/misc/stubs.c: Removed some stubs to seperate files.
2044
2045 2002-07-04 David Welch <welch@computer2.darkstar.org>
2046
2047 * lib/user32/user32.def: Export ScreenToClient otherwise we
2048 get problems when code in user32 tries to call it.
2049
2050 2002-07-04 David Welch <welch@computer2.darkstar.org>
2051
2052 * include/win32k/region.h: Added prototypes for some missing
2053 region functions.
2054
2055 2002-07-04 David Welch <welch@computer2.darkstar.org>
2056
2057 * include/win32k/ntuser.h: Added prototypes for some missing
2058 NtUserXXX functions.
2059
2060 2002-07-04 David Welch <welch@computer2.darkstar.org>
2061
2062 * include/user32/wininternal.h: Added some constants for
2063 private GetDCEx styles that WINE needs.
2064
2065 2002-07-04 David Welch <welch@computer2.darkstar.org>
2066
2067 * include/user32/callback.h: Fixed callbacks for messages with
2068 parameters.
2069
2070 2002-07-04 David Welch <welch@computer2.darkstar.org>
2071
2072 * include/napi/win32.h (W32THREAD): Added pointer to the
2073 thread's desktop.
2074 * include/napi/win32.h (W32PROCESS): Removed handle table,
2075 added a pointer to the process's window station.
2076 * subsys/win32k/ntuser/guicheck.c (W32kGuiCheck): Reference
2077 a process's window station on the first win32k system call. Reference
2078 a thread's desktop on the first win32k system call.
2079
2080 2002-07-04 David Welch <welch@computer2.darkstar.org>
2081
2082 * include/messages.h: Added some missing WM_XXX constants.
2083
2084 2002-07-04 David Welch <welch@computer2.darkstar.org>
2085
2086 * drivers/dd/ide/makefile: Compiling with debugging messages
2087 needs libgcc to be linked in.
2088
2089 2002-07-04 David Welch <welch@computer2.darkstar.org>
2090
2091 * iface/addsys/genw32k.c: Generate a variable with the
2092 number of system calls.
2093 * iface/native/genntdll.c: Generate a proper stack frame for
2094 the user system call stubs.
2095 * ntoskrnl/ke/i386/syscall.S: Generate a proper stack frame for
2096 the handler for system calls.
2097
2098 2002-07-04 David Welch <welch@computer2.darkstar.org>
2099
2100 * Makefile: Build the GUI startup application.
2101 * subsys/system/gstart/gstart.c: Application to start up
2102 the GUI.
2103
2104 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
2105
2106 * tools/helper.mk: Make an import library a proper target
2107 depending on the .def file.
2108
2109 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
2110
2111 * subsys/win32k/ntuser/window.c (NtUserGetWindowLong): Began
2112 implementation.
2113
2114 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
2115
2116 * subsys/win32k/misc/object.c (ObmCreateHandle): Return the
2117 correct handle value.
2118
2119 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
2120
2121 * subsys/win32k/makefile: Make win32k depend on the file containing
2122 the service table.
2123
2124 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
2125
2126 * ntoskrnl/ke/i386/stkswitch.S (KeSwitchStackAndRet,
2127 KePushAndStackSwitchAndSysRet): Push one value only.
2128 * ntoskrnl/ps/w32call.c (NtCallbackReturn, NtW32Call): Moved
2129 these functions to a new file. Restore the old trap frame after
2130 returning from a callback.
2131
2132 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
2133
2134 * lib/user32/windows/message.c (CallWindowProcA, CallWindowProcW):
2135 Convert message to Unicode or ASCII if necessary.
2136
2137 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
2138
2139 * include/user32/callback.h: Added WM_CREATE and WM_NCCALCSIZE
2140 callbacks.
2141 * lib/user32/windows/window.c (User32SendCREATEMessageForKernel,
2142 User32SendNCCREATEMessageForKernel): Implemented.
2143 * subsys/win32k/ntuser/callback.c (W32kSendCREATEMessage):
2144 Implemented.
2145
2146 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
2147
2148 * include/structs.h: Added Unicode and ASCII versions of
2149 CREATESTRUCT.
2150
2151 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
2152
2153 * tools/helper.mk: Make the install target depend on all the
2154 files to be installed.
2155
2156 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
2157
2158 * ntoskrnl/ps/thread.c (NtCallbackReturn): Set TSS.Esp0 to the
2159 top of the old stack.
2160 * ntoskrnl/ps/thread.c (NtW32Call): Set TSS.Esp0 to the top of
2161 the new stack. Free the callback stack correctly. Don't copy
2162 portion of the trap frame that doesn't exist in non-v86-mode
2163 interrupts.
2164 * ntoskrnl/ps/thread.c (PsFreeCallbackStack): New function to
2165 free a stack allocated with PsAllocateCallbackStack.
2166
2167 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
2168
2169 * drivers/dd/null/makefile: Commented out local LDFLAGS as
2170 these cause bad relocations in the stripped image.
2171
2172 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
2173
2174 * config: Corrected spelling error.
2175
2176 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
2177
2178 * subsys/system/winlogon/winlogon.c (WinMain): Check for
2179 failure when creating a window system.
2180
2181 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
2182
2183 * ntoskrnl/ob/handle.c (ObDuplicateObject): Added this internal
2184 function for duplicating objects.
2185 * ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the parent
2186 process's window station to the child process.
2187 * ntoskrnl/ps/process.c (PsInitProcessManagement): Initialize the
2188 first process's window station.
2189
2190 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
2191
2192 * ntoskrnl/mm/marea.c (MmCreateMemoryArea): Initialise
2193 page operation structure members.
2194 * ntoskrnl/mm/pageop.c (MmReleasePageOp, MmGetPageOp): Increment
2195 or decrement the page operation count in the memory area.
2196 * ntoskrnl/mm/virtual.c (MmNotPresentFaultVirtualMemory,
2197 MmPageOutVirtualMemory): Check for a deleted memory area before
2198 handling the fault.
2199 * ntoskrnl/mm/virtual.c (MmFreeVirtualMemory): Wait for all
2200 page operations to finish before freeing the memory area.
2201
2202 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
2203
2204 * ntoskrnl/ke/i386/syscall.S (interrupt_handler2e): Corrected
2205 test for previous mode, upper 16-bit of CS on the stack after an
2206 interrupt are arbitary.
2207
2208 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
2209
2210 * lib/user32/misc/winsta.c: Cleaned up indentation.
2211
2212 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
2213
2214 * apps/tests/winhello/winhello.c (WinMain, MainWndProc):
2215 Cleaned up formatting, some more error checks.
2216
2217 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
2218
2219 * ntoskrnl/mm/virtual.c (MmSecureVirtualMemory,
2220 MmUnsecureVirtualMemory, NtQueryVirtualMemory): Corrected indentation.
2221
2222 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
2223
2224 * ntoskrnl/ke/i386/exp.c (KiDoubleFaultHandler): Print CR3
2225 correctly.
2226
2227 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
2228
2229 * ntoskrnl/include/internal/ps.h: Added KTHREAD_STACK_LIMIT definition.
2230 * ntoskrnl/ke/i386/tskswitch.S (Ki386ContextSwitch): Force all the
2231 pages of the kernel stack to be accessible from this process.
2232
2233 2002-06-04 David Welch <welch@cwcom.net>
2234
2235 * ntoskrnl/cc/view.c (ReadCacheSegmentChain): Changes to use
2236 PHYSICAL_ADDRESS type for physical addresses.
2237 * ntoskrnl/cc/copy.c (CcRosCreateCacheSegment): Changes to use
2238 PHYSICAL_ADDRESS type for physical addresses.
2239 * ntoskrnl/cc/copy.c (CcFreeCachePage): Changes to use
2240 PHYSICAL_ADDRESS type for physical addresses.
2241 * ntoskrnl/include/internal/mm.h: Changed prototypes to use
2242 PHYSICAL_ADDRESS type for physical addresses.
2243 * ntoskrnl/include/internal/ps.h (KPROCESS): Changed type of
2244 page directory base to PHYSICAL_ADDRESS.
2245 * ntoskrnl/include/internal/i386/mm.h: Changed prototypes to use
2246 PHYSICAL_ADDRESS type for physical addresses.
2247 * ntoskrnl/ke/kthread.c (KeFreeStackPage): Changes to use
2248 PHYSICAL_ADDRESS type for physical addresses.
2249 * ntoskrnl/ke/kthread.c (KeInitializeThread): Changes to use
2250 PHYSICAL_ADDRESS type for physical addresses.
2251 * ntoskrnl/ke/process.c (KeAttachProcess, KeDetachProcess): Changes
2252 to use PHYSICAL_ADDRESS type for physical addresses.
2253 * ntoskrnl/ke/kernel.c (PcrPages, KeApplicationProcessorInit): Changes
2254 to use PHYSICAL_ADDRESS type for physical addresses.
2255 * ntoskrnl/mm/balance.c (MM_ALLOCATION_REQUEST): Changes to use
2256 PHYSICAL_ADDRESS type for physical addresses.
2257 * ntoskrnl/mm/balance.c (MmReleasePageMemoryConsumer): Changes to use
2258 PHYSICAL_ADDRESS type for physical addresses.
2259 * ntoskrnl/mm/balance.c (MmRequestPageMemoryConsumer): Changes to use
2260 PHYSICAL_ADDRESS type for physical addresses.
2261 * ntoskrnl/mm/cont.c (MmFreeContinuousPage): Changes to use
2262 PHYSICAL_ADDRESS type for physical addresses.
2263 * ntoskrnl/mm/cont.c (MmAllocateContinuousAlignedMemory): Changes to
2264 use PHYSICAL_ADDRESS type for physical addresses.
2265 * ntoskrnl/mm/freelist.c (MmTransferOwnershipPage,
2266 MmGetLRUFirstUserPage, MmGetLRUNextUserPage, MmGetContinuousPages,
2267 MmInitializePageList, MmSetFlagsPage, MmSetRmapListHeadPage,
2268 MmGetRmapListHeadPage, MmMarkPageMapped, MmMarkPageUnmapped,
2269 MmGetFlagsPage, MmSetSavedSwapEntryPage, MmGetSavedSwapEntryPage,
2270 MmReferencePage, MmGetReferenceCountPage, MmIsUsablePage,
2271 MmDereferencePage, MmGetLockCountPage, MmLockPage, MmUnlockPage,
2272 MmAllocPage): Changes to use PHYSICAL_ADDRESS type for physical
2273 addresses.
2274 * ntoskrnl/mm/iospace.c (MmMapIoSpace): Changes to use
2275 PHYSICAL_ADDRESS type for physical addresses.
2276 * ntoskrnl/mm/kmap.c (ExAllocatePage, MiZeroPage, MiCopyFromUserPage,
2277 ExAllocatePageWithPhysPage): Changes to use PHYSICAL_ADDRESS type for
2278 physical addresses.
2279 * ntoskrnl/mm/marea.c (MmFreeMemoryArea): Changes to use
2280 PHYSICAL_ADDRESS type for physical addresses.
2281 * ntoskrnl/mm/mdl.c (MmUnlockPages, MmMapLockedPages,
2282 MmProbeAndLockPages): Changes to use PHYSICAL_ADDRESS type for
2283 physical addresses.
2284 * ntoskrnl/mm/mm.c (MmSharedDataPagePhysicalAddress,
2285 MmCommitPagedPoolAddress, MmNotPresentFault): Changes to use
2286 PHYSICAL_ADDRESS type for physical addresses.
2287 * ntoskrnl/mm/mminit.c (MmInitVirtualMemory): Changes to use
2288 PHYSICAL_ADDRESS type for physical addresses.
2289 * ntoskrnl/mm/ncache.c (MmAllocateNonCachedMemory,
2290 MmFreeNonCachedPage): Changes to use PHYSICAL_ADDRESS type for
2291 physical addresses.
2292 * ntoskrnl/mm/npool.c (grow_kernel_pool): Changes to use
2293 PHYSICAL_ADDRESS type for physical addresses.
2294 * ntoskrnl/mm/rmap.c (MmPageOutPhysicalAddress, MmInsertRmap,
2295 MmDeleteAllRmaps, MmDeleteRmap): Changes to use
2296 PHYSICAL_ADDRESS type for physical addresses.
2297 * ntoskrnl/mm/section.c (MiReadPage, MmNotPresentFaultSectionView,
2298 MmAccessFaultSectionView, MmPageOutDeleteMapping,
2299 MmPageOutSectionView, MmFreeSectionPage): Changes to use
2300 PHYSICAL_ADDRESS type for physical addresses.
2301 * ntoskrnl/mm/slab.c (ExGrowSlabCache): Changes to use
2302 PHYSICAL_ADDRESS type for physical address.
2303 * ntoskrnl/mm/virtual.c (MmPageOutVirtualMemory,
2304 MmNotPresentFaultVirtualMemory, MmFreeVirtualMemoryPage): Changes to
2305 use PHYSICAL_ADDRESS type for physical address.
2306 * ntoskrnl/mm/wset.c (MmTrimUserMemory): Changes to use
2307 PHYSICAL_ADDRESS type for physical address.
2308 * ntoskrnl/mm/page.c (Mmi386ReleaseMmInfo, MmCopyMmInfo,
2309 MmGetPhysicalAddressForProcess, MmCreateVirtualMapping,
2310 MmCreateVirtualMappingUnsafe, MmCreateVirtualMappingForProcess,
2311 MmDeleteVirtualMapping): Changes to use PHYSICAL_ADDRESS type for
2312 physical address.
2313 * ntoskrnl/ps/process (PsInitProcessManagment): Changes to use
2314 PHYSICAL_ADDRESS type for physical address.
2315 * ntoskrnl/ps/thread.c (PsAllocateCallbackStack): Changes to use
2316 PHYSICAL_ADDRESS type for physical address.
2317
2318 2002-06-04 David Welch <welch@cwcom.net>
2319
2320 * Lots of change since the ChangeLog was last updated.
2321
2322 2001-03-18 David Welch <welch@cwcom.net>
2323
2324 * ntoskrnl/ke/apc.c (KiDeliverApc): Bug fix.
2325 * ntoskrnl/ke/apc.c (KeInsertQueueApc): More comments.
2326 * ntoskrnl/ke/catch.c (KiDispatchException): Bug fix.
2327 * ntoskrnl/ke/timer.c (KeDelayExecutionThread): Don't use removed
2328 function KeAddTimeoutThread.
2329 * ntoskrnl/ke/timer.c (KeAddTimeoutThread): Removed.
2330 * ntoskrnl/ke/wait.c (KeWaitForSingleObject, KeWaitForMultipleObjects):
2331 Don't use KeAddTimeoutThread.
2332 * ntoskrnl/mm/freelist.c (MmAllocateContiguousAlignedMemory): Bug fix
2333 * ntoskrnl/mm/freelist.c (MmAllocatePage): Allocate from the top
2334 memory.
2335
2336 2001-03-17 David Welch <welch@cwcom.net>
2337
2338 * ntoskrnl/ke/catch.c (KiDispatchException): Implementation of
2339 exception handling, user-mode only.
2340
2341 2001-03-16 David Welch <welch@cwcom.net>
2342
2343 * include/ddk/zw.h: Corrected declarations of NtCreateProfile,
2344 NtQueryIntervalProfile, NtSetIntervalProfile.
2345 * include/ddk/zwtypes.h: Added definitions of KPROFILE_SOURCE.
2346 * ntoskrnl/include/internal/ke.h: Added the interrupted EIP as a
2347 parameter to KiUpdateSystemTime for profiling purposes.
2348 * ntoskrnl/include/internal/nt: Added declaration for profiling
2349 support initialization.
2350 * ntoskrnl/ke/timer.c (KiUpdateSystemTime, KeExpireTimers): Call
2351 the profiling code on a timer interrupt with the interrupt EIP.
2352 * ntoskrnl/ke/i386/irq.c (KiDispatchInterrupt): Pass the interrupted
2353 EIP to KiUpdateSystemTime.
2354 * ntoskrnl/mm/virtual.c (NtReadVirtualMemory, NtWriteVirtualMemory):
2355 Release the MDLs used properly.
2356 * ntoskrnl/nt/nt.c: Call the profiling support initialization.
2357 * ntoskrnl/nt/ntevent.c (NtCreateEvent): Don't try copying the
2358 ObjectAttributes parameter if it is NULL.
2359 * ntoskrnl/nt/profile.c: Implemented profiling.
2360
2361 2001-03-16 David Welch <welch@cwcom.net>
2362
2363 * ntoskrnl/include/internal/safe.h: Corrected typo.
2364 * ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtQueryEvent):
2365 Corrected typos.
2366 * ntoskrnl/rtl/mem.c: Missing header file.
2367
2368 2001-03-16 David Welch <welch@cwcom.net>
2369
2370 * ntoskrnl/include/internal/safe.h: Add definitions for handling
2371 potentially unsafe pointers.
2372
2373 2001-03-16 David Welch <welch@cwcom.net>
2374
2375 * ntoskrnl/include/internal/mm.h: Removed MmSafeCopyToUser and
2376 MmSafeCopyFromUser as source files need these but don't want internal
2377 mm definitions.
2378 * ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtPulseEvent,
2379 NtQueryEvent, NtResetEvent, NtSetEvent): Copy data to and from
2380 user mode safely.
2381 * ntoskrnl/rtl/mem.c (MmCopyToCaller, MmCopyFromCaller): Helper
2382 functions for copying data to and from potentially unsafe pointers.
2383
2384 2000-12-23 David Welch <welch@cwcom.net>
2385
2386 * All task switching is done in software.
2387 * Beginnings of v86 mode support.
2388
2389 2000-12-22 David Welch <welch@cwcom.net>
2390
2391 * ntoskrnl/ps/kill.c (PiTerminateProcessThreads): Drop
2392 PiThreadListLock before calling PsTerminateOtherThread
2393
2394 2000-12-16 David Welch <welch@cwcom.net>
2395
2396 * ntoskrnl/ex/fmutex.c (ExReleaseFastMutexUnsafe): Only set the
2397 fast mutex's owner back to NULL if it is being released
2398
2399 2000-12-10 David Welch <welch@cwcom.net>
2400
2401 * ntoskrnl/ke/i386/vm86_sup.S (Ki386RetToV86Mode): Added function
2402 to do the raw switch to v86 mode.
2403 * ntoskrnl/include/internal/vm86.h: Definitions for the v86 mode
2404 support.
2405
2406 2000-12-10 David Welch <welch@cwcom.net>
2407
2408 * ntoskrnl/ke/i386/trap.s (PsBeginThreadWithContextInternal): Moved
2409 to ntoskrnl/ke/i386/bswitch.S.
2410 * ntoskrnl/ke/i386/trap.s (interrupt_handler2e): Moved to
2411 ntoskrnl/ke/i386/syscall.S.
2412 * ntoskrnl/ke/i386/trap.s (old_interrupt_handler2e): Removed.
2413
2414 2000-12-04 David Welch <welch@cwcom.net>
2415
2416 * ntoskrnl/ke/i386/irq.c (KiInterruptDispatch): Record the last PC
2417 value for a rescheduled thread.
2418 * ntoskrnl/ke/i386/irqhand.s: Construct a primitive trap frame
2419 in interrupt handlers.
2420
2421 2000-08-30 David Welch <welch@cwcom.net>
2422
2423 * Added calibration of KeStallExecutionProcessor timing
2424 (code from linux 2.2.16).
2425
2426 * Corrected compilation bugs in user32 library.
2427
2428 * Corrected compilation bugs related to anonymous structs
2429 in ndis code.
2430
2431 * Pass command line to kernel from loadros.
2432
2433 * Corrected PIC mask calculation.
2434
2435 2000-05-27 David Welch <welch@cwcom.net>
2436
2437 * Fixed issue with closing non-existent or already closed
2438 handle.
2439
2440 2000-01-26 David Welch <welch@cwcom.net>
2441
2442 * ZwCreateProcess now maps ntdll rather than the user-mode
2443 code.
2444
2445 1999-09-06 David Welch <welch@cwcom.net>
2446
2447 * Implemented ZwOpenProcess.
2448
2449 * Partially implemented killing other threads (possible memory
2450 leaks).
2451
2452 * Made a start on a proper implemention of APCs (based on
2453 article in NT insider).
2454
2455 1998-12-08 David Welch <welch@cwcom.net>
2456
2457 * Corrected bug in shell (Read two keypresses and assumed they
2458 where the key going up and down respectively).
2459
2460 * Corrected race in dpc handling.
2461
2462 * Took out cleanup sections in ZwReadFile (now handled by the
2463 APC).
2464
2465 * Disabled broken code in kernel32.
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475