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