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