Compare commits

..

2918 Commits

Author SHA1 Message Date
The ReactOS Team
b83808650b This commit was manufactured by cvs2svn to create tag 'ros-0_0_20'.
svn path=/tags/ros-0_0_20/; revision=3317
2002-08-05 19:57:47 +00:00
Jason Filby
aac9125953 Updated version file to 0.0.20
svn path=/trunk/; revision=3316
2002-08-05 19:57:47 +00:00
Robert Dickenson
aa405ed6f1 Added combobox to drivebar, yet to get working. Whole application needs alot of cleanup.
Fixed up makefile plus dependancies and now builds (and runs) with ros-tools.

svn path=/trunk/; revision=3315
2002-08-04 18:40:49 +00:00
Eugene Ingerman
c724d71f77 Fixed a bug in the new Engxxx objects code.
svn path=/trunk/; revision=3314
2002-08-04 18:21:59 +00:00
Eugene Ingerman
7325b379e2 Rewrote gdi (Engxxx) objects.
svn path=/trunk/; revision=3313
2002-08-04 09:55:11 +00:00
Eugene Ingerman
94706d121d Added more tests to gditest.c
svn path=/trunk/; revision=3312
2002-08-04 09:53:19 +00:00
Eugene Ingerman
d9243a0a4b Removed deprecated file.
svn path=/trunk/; revision=3311
2002-08-04 09:52:05 +00:00
Eric Kohl
cfa1943b4f Don't alloc an extra console upon startup.
Added correct calculation of free disk size for drives larger than 2GB.

svn path=/trunk/; revision=3309
2002-08-01 10:29:18 +00:00
Eric Kohl
4201812a7e Added RtlCopyLuidAndAttributesArray() and RtlCopySidAndAttributesArray().
svn path=/trunk/; revision=3308
2002-07-29 15:37:06 +00:00
Eric Kohl
5295bac977 Added cache flush counters.
svn path=/trunk/; revision=3307
2002-07-29 15:29:58 +00:00
Brian Palmer
410b3629c3 Changes in v1.6.2 (7/28/2002) (brianp)
- Fix for GetFatEntry16 bug (fathelp.asm) by Mike Lerwill

svn path=/trunk/; revision=3306
2002-07-29 06:49:58 +00:00
Eric Kohl
8e93e09163 Added missing fastcall list functions
svn path=/trunk/; revision=3305
2002-07-27 13:02:37 +00:00
Robert Kopferl
d35d4191c1 -Nearly compiles doscalls
-Added  an mixing header to have ntddk and os2 included without conflicts

svn path=/trunk/; revision=3304
2002-07-26 00:23:13 +00:00
Eric Kohl
554d0a03f4 Implemented RtlTimeToElapsedTimeFields().
svn path=/trunk/; revision=3303
2002-07-25 16:58:58 +00:00
Eric Kohl
873c86599e Implemented RtlTimeToElapsedtimeFields().
svn path=/trunk/; revision=3302
2002-07-25 16:57:49 +00:00
Eric Kohl
9a04ad5955 Added compression functions (not usabel yet).
svn path=/trunk/; revision=3301
2002-07-25 13:18:31 +00:00
Eric Kohl
a79a9cbba6 Implemented IoCheckDesiredAccess() and IoGetInitialStack().
svn path=/trunk/; revision=3300
2002-07-24 17:49:31 +00:00
Robert Kopferl
d6e258cc9e free os2.h version
svn path=/trunk/; revision=3299
2002-07-23 13:00:46 +00:00
Robert Kopferl
a6c291342a *** empty log message ***
svn path=/trunk/; revision=3298
2002-07-23 13:00:11 +00:00
Robert Kopferl
77fce8841d update
svn path=/trunk/; revision=3297
2002-07-23 12:30:01 +00:00
Robert Dickenson
58d70d404f Added control panel applet icons to the list control imagelist. Next I'll make them lauch!
svn path=/trunk/; revision=3296
2002-07-23 08:24:54 +00:00
Jurgen van Gael
3ce45b038f OpenSCManager waits for services.exe to initialize
svn path=/trunk/; revision=3295
2002-07-23 08:16:05 +00:00
Eugene Ingerman
57a74268f7 Fixed bugs in region operations code (should run region tests correctly now)
svn path=/trunk/; revision=3294
2002-07-23 08:03:15 +00:00
Brian Palmer
ac37c58b98 Fix for disk caching while doing drive remapping
svn path=/trunk/; revision=3293
2002-07-23 06:46:55 +00:00
Robert Dickenson
0e96a84263 Whatever it is I changed, it's now backed up before I go to bed.
svn path=/trunk/; revision=3292
2002-07-22 21:12:26 +00:00
Robert Dickenson
916c8b493b Basic Control Panel created.
svn path=/trunk/; revision=3291
2002-07-22 21:05:41 +00:00
Eric Kohl
c1652a2ee6 Read drive number from the command line.
Added some sanity checks.

svn path=/trunk/; revision=3290
2002-07-22 17:53:12 +00:00
Eugene Ingerman
5faa3537c3 Missing file.
svn path=/trunk/; revision=3289
2002-07-22 17:42:52 +00:00
Robert Dickenson
63850f4969 Added missing file and some hex string conversion routines. Now displays registry data.
svn path=/trunk/; revision=3288
2002-07-22 14:41:40 +00:00
Steven Edwards
11a446cf74 Commited as binary
svn path=/trunk/; revision=3287
2002-07-22 11:12:38 +00:00
Steven Edwards
b2e2bb7f04 Removed to recommit as binary
svn path=/trunk/; revision=3286
2002-07-22 11:11:55 +00:00
Eugene Ingerman
2bda045a8e Added GetRegionData gdi function. Added region test. Fixed some bugs.
svn path=/trunk/; revision=3285
2002-07-22 07:55:49 +00:00
Brian Palmer
1aa76f94bd Added BIOS drive mapping functionality
svn path=/trunk/; revision=3284
2002-07-22 03:44:08 +00:00
Eric Kohl
c747481470 Moved WS_EX_CLIENTEDGE to the correct location.
svn path=/trunk/; revision=3283
2002-07-21 22:57:06 +00:00
Robert Dickenson
48266252bf Almost completed dialog layouts contributed by Ian McLean.
svn path=/trunk/; revision=3282
2002-07-21 18:28:26 +00:00
David Welch
45d7740d94 Renamed kernel.map -> ntoskrnl.map
svn path=/trunk/; revision=3280
2002-07-20 21:49:35 +00:00
Eugene Ingerman
d525647699 Use kernel.map (text format ntoskrnl symbols) instead of ntosknl.sym in pice. Fixed several bugs.
svn path=/trunk/; revision=3279
2002-07-20 20:27:22 +00:00
Jurgen van Gael
6fc62fb9b0 GCC 3.1 compatibility
svn path=/trunk/; revision=3278
2002-07-20 16:54:58 +00:00
Robert Dickenson
0efb5bd01d Updated version information.
svn path=/trunk/; revision=3277
2002-07-20 16:43:35 +00:00
Robert Dickenson
f3e89b62de Added new section to support default applications:
/* ReactOS default Application Registry Root Path */
#define RES_STR_ROSAPP_REGISTRY_ROOT	"Software\\ReactWare"

svn path=/trunk/; revision=3276
2002-07-20 16:38:55 +00:00
Robert Dickenson
e6ccc243b9 Updated with changes to version information.
svn path=/trunk/; revision=3275
2002-07-20 16:37:12 +00:00
Robert Dickenson
51278afbc0 Updated with an improvement to the registry save/restore module.
svn path=/trunk/; revision=3274
2002-07-20 16:35:34 +00:00
Robert Dickenson
f4629b5599 Updated with latest progress. How does one read a default registry value???
svn path=/trunk/; revision=3273
2002-07-20 16:29:26 +00:00
Robert Dickenson
ad319a46cf Updated with latest progress. Started on a worker thread for network enumerating and file change notifications.
svn path=/trunk/; revision=3272
2002-07-20 16:24:45 +00:00
Eric Kohl
86dc3a88d2 Added check for loaded system start drivers.
Create control pipe before a service is started.

svn path=/trunk/; revision=3271
2002-07-20 13:34:10 +00:00
Eric Kohl
ed77972722 Minor improvements.
svn path=/trunk/; revision=3270
2002-07-20 13:32:26 +00:00
Eric Kohl
951f903bda Added some experimental code
svn path=/trunk/; revision=3269
2002-07-20 13:31:34 +00:00
Eric Kohl
db6e84c404 Implemented FileAllInformation.
svn path=/trunk/; revision=3268
2002-07-20 11:44:37 +00:00
Eric Kohl
aa3245dd92 Fixed [Nt/Zw]QueryAttributeFile() and [Nt/Zw]QueryFullAttributesFile() prototypes.
svn path=/trunk/; revision=3267
2002-07-20 01:00:34 +00:00
Eric Kohl
41598868d1 Implemented FileNetworkOpenInformation.
svn path=/trunk/; revision=3266
2002-07-20 00:57:36 +00:00
Eric Kohl
f91b107c89 Fixed 'clean' rule because rdel cannot delete itself.
svn path=/trunk/; revision=3265
2002-07-19 12:31:49 +00:00
Eugene Ingerman
72c8bf3db3 Fixed typo. Now can disable kernel debugger by setting KDBG = 0 in config.
svn path=/trunk/; revision=3264
2002-07-19 03:56:47 +00:00
Steven Edwards
0504b08b95 Cleanup make and install, Moved all of the incompleate stuff to the end of make.
svn path=/trunk/; revision=3263
2002-07-19 02:11:11 +00:00
Eugene Ingerman
8d9c181908 Implemented some of gdi region functions.
svn path=/trunk/; revision=3262
2002-07-18 21:59:18 +00:00
Eugene Ingerman
52102e72fc Export MmCopyFrom/ToCaller from ntoskrnl. Added MulDiv.
svn path=/trunk/; revision=3261
2002-07-18 21:49:59 +00:00
Robert Dickenson
76e2e2e22f Added listview updating.
svn path=/trunk/; revision=3260
2002-07-18 20:27:52 +00:00
Eric Kohl
8553d39828 Moved _SET_PARTITON_INFORMATION to a common location.
svn path=/trunk/; revision=3259
2002-07-18 19:56:31 +00:00
Eric Kohl
a54c9ddecb Fixed a typo.
svn path=/trunk/; revision=3258
2002-07-18 18:18:17 +00:00
Robert Dickenson
b3b4923b11 Added properties dialog.
svn path=/trunk/; revision=3257
2002-07-18 18:18:12 +00:00
Robert Dickenson
53dd918713 Updated with cleanup of treeview module.
svn path=/trunk/; revision=3256
2002-07-18 18:16:42 +00:00
Eric Kohl
fb4e8713ea Added _purecall().
svn path=/trunk/; revision=3255
2002-07-18 18:15:09 +00:00
Eric Kohl
dbd109d357 Removed some obsolete definitions of __unit64.
Added a few missing newlines.

svn path=/trunk/; revision=3254
2002-07-18 18:12:59 +00:00
Eric Kohl
b0c64e3f9f Added IOCTL_DISK_SET_PARTITION_INFO.
Added checks for user induced errors.
Added basic shutdown/flush support.

svn path=/trunk/; revision=3253
2002-07-18 18:09:59 +00:00
Eric Kohl
3b8674494e Build and install beep and null driver.
svn path=/trunk/; revision=3252
2002-07-18 00:31:40 +00:00
Eric Kohl
99197ba099 Reported sector size must always be a power of 2.
svn path=/trunk/; revision=3251
2002-07-18 00:30:22 +00:00
Eric Kohl
fc1193592b Fixed access to non-existent device extension.
svn path=/trunk/; revision=3250
2002-07-18 00:29:19 +00:00
David Welch
2e467c56a3 Symbol loading working in kdb.
svn path=/trunk/; revision=3249
2002-07-18 00:25:31 +00:00
David Welch
90bd33d955 Print stack frames as densely as possible.
svn path=/trunk/; revision=3248
2002-07-17 23:11:37 +00:00
David Welch
d7c17b103d Updated .cvsignore file
svn path=/trunk/; revision=3247
2002-07-17 22:57:58 +00:00
David Welch
bbeb8dbe36 KDB stabs file.
svn path=/trunk/; revision=3246
2002-07-17 22:57:18 +00:00
David Welch
e646abc58c Fixed null pointer exceptions.
Removed private install script.
Moved stabs reading to a seperate file.
Added hooks for the kernel debugger.

svn path=/trunk/; revision=3245
2002-07-17 22:56:11 +00:00
David Welch
82ad78524a Remove crash testing code.
svn path=/trunk/; revision=3244
2002-07-17 21:28:37 +00:00
David Welch
9d6848e6ed Fixed some bugs.
svn path=/trunk/; revision=3243
2002-07-17 21:04:57 +00:00
Robert Dickenson
21214f6b8c Updated treeview and listview functionality.
svn path=/trunk/; revision=3242
2002-07-16 23:22:19 +00:00
Robert Dickenson
1ad1b97103 Updated treeview and listview functionality.
svn path=/trunk/; revision=3241
2002-07-16 22:18:29 +00:00
Robert Dickenson
74571d0428 Added save and restore of calculator mode using registry.
svn path=/trunk/; revision=3240
2002-07-16 21:54:17 +00:00
Robert Dickenson
8e12d121dc Added framework for new application - calc.
svn path=/trunk/; revision=3239
2002-07-16 19:15:12 +00:00
Steven Edwards
3c63d04d0d Fixed warning about missing include
svn path=/trunk/; revision=3238
2002-07-15 22:48:56 +00:00
Steven Edwards
83ed1ffe5f added hcalc target
svn path=/trunk/; revision=3237
2002-07-15 22:41:07 +00:00
Steven Edwards
9eb8af7e68 Added Makefile for hcalc calc replacement. Works.
svn path=/trunk/; revision=3236
2002-07-15 22:40:36 +00:00
Steven Edwards
7a09dc279a Fix no new line at end of file gcc 3.1 warrnings
svn path=/trunk/; revision=3235
2002-07-15 22:29:32 +00:00
Robert Dickenson
a4ae51d977 Minor mod.
svn path=/trunk/; revision=3234
2002-07-15 20:02:06 +00:00
Robert Dickenson
2f8748afe5 Updates with progress on calling standard dialogs, FileOpen, SelectFont and more...
svn path=/trunk/; revision=3233
2002-07-15 20:01:15 +00:00
Robert Dickenson
cc89fd7bba Updates with progress on TreeView, ChildWnd type and more...
svn path=/trunk/; revision=3232
2002-07-15 20:00:02 +00:00
Hartmut Birr
4f0371f4af Changed the ordering for allocating the inquiry buffer and zeroing the srb in ScsiPortInquire.
svn path=/trunk/; revision=3231
2002-07-15 18:25:17 +00:00
Eric Kohl
3886e2f66b Dump the first MFT cluster and some file attributes.
svn path=/trunk/; revision=3230
2002-07-15 15:37:33 +00:00
Steven Edwards
d34f38d43f Fix end of line warning for gcc 3.1
svn path=/trunk/; revision=3229
2002-07-15 11:26:07 +00:00
Steven Edwards
8ef0e02d6f Fix end of line warning
svn path=/trunk/; revision=3228
2002-07-15 11:11:17 +00:00
Steven Edwards
7e1f00545a Fix winebuild of regsvr32
svn path=/trunk/; revision=3227
2002-07-15 10:54:13 +00:00
Rex Jolliff
4177237053 a test
svn path=/trunk/; revision=3226
2002-07-15 05:24:27 +00:00
Steven Edwards
c979d633b1 Import of DJ Dalories hcalc window calculator
svn path=/trunk/; revision=3225
2002-07-15 04:55:44 +00:00
Robert Dickenson
1713f73a79 sync minor mod.
svn path=/trunk/; revision=3224
2002-07-14 22:38:37 +00:00
Brian Palmer
17731321a4 *** empty log message ***
svn path=/trunk/; revision=3223
2002-07-14 22:33:06 +00:00
Robert Dickenson
a0f2e6b8ca Split window control, listview and treeview moved to child window.
svn path=/trunk/; revision=3222
2002-07-14 21:03:10 +00:00
Robert Dickenson
dbbae605b7 Split window control, listview and treeview moved to child window.
svn path=/trunk/; revision=3221
2002-07-14 20:38:52 +00:00
Robert Dickenson
45552bacf0 Updated with minor modifications only.
svn path=/trunk/; revision=3220
2002-07-14 18:00:54 +00:00
Robert Dickenson
cf0bb98945 Updated with progress. Still far to go....
svn path=/trunk/; revision=3219
2002-07-14 17:59:36 +00:00
Steven Edwards
5705c99d2a Added touch to the makefile
svn path=/trunk/; revision=3218
2002-07-14 16:01:28 +00:00
Robert Dickenson
8919efa70d Removed obsolete cpp versions of files.
svn path=/trunk/; revision=3217
2002-07-14 15:22:53 +00:00
Hartmut Birr
0ff8db0de8 Close the files after loading.
svn path=/trunk/; revision=3216
2002-07-14 07:48:17 +00:00
Eugene Ingerman
a0e70e46a2 Added reference counting and deferred deletion for GDI objects.
svn path=/trunk/; revision=3215
2002-07-13 21:37:27 +00:00
Casper Hornstrup
e39975e5f1 Fix typo
svn path=/trunk/; revision=3214
2002-07-13 20:56:53 +00:00
Casper Hornstrup
66b0087b28 If symbols are available then pass them to the OS as multiboot modules
svn path=/trunk/; revision=3213
2002-07-13 12:55:07 +00:00
Casper Hornstrup
84b74a9cd9 2002-07-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
* rules.mak (RSYM): Define.
	* include/ddk/zwtypes.h (DebugDbgLoadSymbols): Add to enum
	_DEBUG_CONTROL_CODE.
	* include/ntdll/ldr.h (LDR_SYMBOL_INFO, LdrpLoadUserModuleSymbols): Add.
	(LdrLoadModuleSymbols): Remove.
	* include/ntos/kdbgsyms.h (ST_FILENAME, ST_FUNCTION,
	ST_LINENUMBER): Add.
	(SYMBOL). Make Name an ANSI_STRING.
	(IMAGE_SYMBOL_INFO, AreSymbolsParsed): Add.
	* lib/ntdll/ldr/startup.c (LdrInitializeThunk): Call
	LdrpLoadUserModuleSymbols() not LdrLoadModuleSymbols().
	* lib/ntdll/ldr/utils.c (LdrLoadModuleSymbols): Rename to
	LdrpLoadUserModuleSymbols.
	(LdrpLoadUserModuleSymbols): Use DebugDbgLoadSymbols debug control code.
	(LdrLoadDll): assert if out of memory.
	(LdrLoadDll): Call
	LdrpLoadUserModuleSymbols(), not LdrLoadModuleSymbols().
	* lib/ntdll/string/ctype.c (_pctype): #undef.
	* ntoskrnl/dbg/dbgctrl.c (NtSystemDebugControl): Call
	LdrLoadUserModuleSymbols on DebugDbgLoadSymbols.
	* ntoskrnl/include/internal/ldr.h (LdrGetAddressInformation): Add.
	* ntoskrnl/include/internal/module.h (MODULE_TEXT_SECTION): Make SymbolInfo
	an IMAGE_SYMBOL_INFO.
	* ntoskrnl/ke/i386/exp.c (LdrGetAddressInformation): Add prototype.
	(print_address): Change #ifdef KDBG to #ifdef DBG.
	(KiDoubleFaultHandler, KiDumpTrapFrame, KeDumpStackFrames): Dump
	one stack frame per line.
	* ntoskrnl/ke/i386/multiboot.S: Create pagetables for more kernel
	address space so larger modules can be passed from the boot loader.
	* ntoskrnl/ke/i386/usertrap.c (LdrGetAddressInformation): Add prototype.
	(print_user_address): Print symbols using LdrGetAddressInformation().
	* ntoskrnl/ldr/loader.c (SYMBOLFILE_HEADER, IMAGE_SYMBOL_INFO_CACHE,
	STAB_ENTRY, N_FUN, N_SLINE, N_SO, SymbolListHead): Add.
	(TAG_SYM_BUF): Remove.
	(LdrInitDebug): Remove unneeded code.
	(LdrInit1): Prepare for loading symbols.
	(LdrpReadLine, HexL, LdrpParseLine, LdrpLoadModuleSymbolsFromBuffer,
	LdrpLoadUserModuleSymbolsFromBuffer): Remove.
	(LdrpParseImageSymbols, LdrpGetFileName, LdrpGetFunctionName,
	LdrpGetLineNumber, LdrGetAddressInformation, LdrpLookupUserSymbolInfo): Add.
	(LdrpLoadModuleSymbols, LdrInitializeBootStartDriver): Change to use new
	symbol structures.
	(LdrLoadUserModuleSymbols): Cache symbol buffers.
	(LdrUnloadModuleSymbols): Implement.
	(LdrLoadModule, LdrUnloadModule): Change #ifdef KDBG to #ifdef DBG.
	(LdrPEProcessModule): Split a line into two lines.
	(LdrPEProcessModule): Setup for loading symbols.
	* ntoskrnl/ldr/sysdll.c (LdrpMapSystemDll): Open with FILE_SHARE_READ.
	* ntoskrnl/ps/process.c (PiFreeSymbols): Call LdrUnloadModuleSymbols() to
	free symbols.
	(PiDeleteProcess): Change #ifdef KDBG to #ifdef DBG.
	* ntoskrnl/rtl/ctype.c (_pctype): #undef.
	* ntoskrnl/rtl/string.c (strncpy): Terminate destination string.
	* tools/Makefile (rsym): Add target.
	* tools/helper.mk: Include config and use -g if DBG = 1.

svn path=/trunk/; revision=3212
2002-07-13 12:44:09 +00:00
Casper Hornstrup
3e56065829 2002-07-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
* Makefile (install_before): Install system.hiv to correct location.

svn path=/trunk/; revision=3211
2002-07-13 11:45:13 +00:00
Eric Kohl
684b660d77 Fixed a typo
svn path=/trunk/; revision=3210
2002-07-13 11:31:02 +00:00
Robert Dickenson
54a958627a Corrected makefiles for all tests and added new application GetSysMetrics.
svn path=/trunk/; revision=3209
2002-07-10 20:10:16 +00:00
Robert Dickenson
8c8c369504 Updated with changes due to file manager and registry editor work.
svn path=/trunk/; revision=3208
2002-07-10 18:41:10 +00:00
Robert Dickenson
0a8fa54c83 Updated with latest work. Still far to go...
svn path=/trunk/; revision=3207
2002-07-10 18:39:21 +00:00
Eric Kohl
aaf641d620 Implemented the ability to create suspended threads.
svn path=/trunk/; revision=3206
2002-07-10 15:17:35 +00:00
Eric Kohl
cae7cd6a6c Renamed some thread states.
svn path=/trunk/; revision=3205
2002-07-10 15:15:00 +00:00
Eric Kohl
2ecad3b855 ConnectNamedPipe(): STATUS_PIPE_CONNECTED reports a successful connect.
svn path=/trunk/; revision=3204
2002-07-10 15:09:57 +00:00
Robert Dickenson
4684f7fe0e cleanup
svn path=/trunk/; revision=3203
2002-07-09 21:47:54 +00:00
Robert Dickenson
c63a30db15 Fixed missing module in makefile.
svn path=/trunk/; revision=3202
2002-07-09 21:46:46 +00:00
Robert Dickenson
00bd48992d Added some options dialog procedures.
svn path=/trunk/; revision=3201
2002-07-09 21:40:02 +00:00
Robert Dickenson
b2afb794ec Added some resources.
svn path=/trunk/; revision=3200
2002-07-09 20:42:46 +00:00
Robert Dickenson
95e5b26b81 Added new template multiple document interface application.
svn path=/trunk/; revision=3199
2002-07-09 19:53:58 +00:00
Robert Dickenson
d28f38708e Removed obsolete files.
svn path=/trunk/; revision=3198
2002-07-09 19:49:08 +00:00
Robert Dickenson
131548b463 Committing latest progress, still much TODO:
svn path=/trunk/; revision=3197
2002-07-09 19:46:14 +00:00
Robert Dickenson
8fafe08ea7 Added network information utility, net\niclist.
svn path=/trunk/; revision=3196
2002-07-09 19:41:53 +00:00
Robert Dickenson
11d5861527 cleanup
svn path=/trunk/; revision=3195
2002-07-09 19:40:50 +00:00
Robert Dickenson
3f876808eb Created new network utility niclist for displaying list of packet capture devices.
svn path=/trunk/; revision=3194
2002-07-09 19:34:41 +00:00
Steven Edwards
51fbd50e50 More wine dlls/programs
svn path=/trunk/; revision=3193
2002-07-09 03:15:41 +00:00
Steven Edwards
6270465595 Updated for wine
svn path=/trunk/; revision=3192
2002-07-08 12:35:50 +00:00
Steven Edwards
500bd3f56c Fixed typo
svn path=/trunk/; revision=3191
2002-07-08 07:19:38 +00:00
Steven Edwards
f562ef75b8 Fixed more of wine
svn path=/trunk/; revision=3190
2002-07-07 20:03:52 +00:00
Robert Dickenson
ee5be2916e Added entry for new coder.
svn path=/trunk/; revision=3189
2002-07-07 19:47:04 +00:00
Steven Edwards
8c8444aecb Removed by mistake
svn path=/trunk/; revision=3188
2002-07-07 10:44:03 +00:00
Steven Edwards
cb2bfa2afb Syncing of WINE dlls
svn path=/trunk/; revision=3187
2002-07-06 22:36:44 +00:00
Eric Kohl
5e114ab271 Revert last patch.
svn path=/trunk/; revision=3186
2002-07-06 17:38:06 +00:00
Steven Edwards
8fc03ec0f6 Remove wine's rpcrt for the list of targets
svn path=/trunk/; revision=3185
2002-07-06 10:39:18 +00:00
Steven Edwards
3c971f2b7b new config.h
svn path=/trunk/; revision=3184
2002-07-06 10:08:29 +00:00
Robert Dickenson
050dbf13f5 Updated with progress work.
svn path=/trunk/; revision=3182
2002-07-06 02:44:16 +00:00
Eric Kohl
8e101e71d4 Added the ability to expand embedded environment variables to RtlExpandEnvironmentVariable().
svn path=/trunk/; revision=3181
2002-07-05 17:23:05 +00:00
David Welch
54ab6db1c4 Added some missing files.
svn path=/trunk/; revision=3180
2002-07-04 20:12:28 +00:00
David Welch
3c453d5dc1 2002-07-04 David Welch <welch@computer2.darkstar.org>
* subsys/win32k/include/callback.h: Fixed callback argument
	definitions.
	* subsys/win32k/ntuser/winpos.c: Implemented some more of the windows
	sizing/moving code.
	* subsys/win32k/ntuser/painting.c: Implemented some more of the
	window painting code.
	* subsys/win32k/objects/coord.c: Implemented LPtoDP and DPtoLP.
	* subsys/win32k/objects/region.c: Added stubs for some more
	region functions.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the
	process desktop handle as well.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/se/token.c: Don't call the ZwXXX variant of
	system calls when in system context.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/Makefile: Added file with MDA output code.
	* ntoskrnl/kd/kdebug.c: Recognize MDA as a destination for
	debug output.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* lib/user32/windows/defwnd.c: Implemented some more of the
	default window handler.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* lib/user32/misc/stubs.c: Removed some stubs to seperate files.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* lib/user32/user32.def: Export ScreenToClient otherwise we
	get problems when code in user32 tries to call it.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* include/win32k/region.h: Added prototypes for some missing
	region functions.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* include/win32k/ntuser.h: Added prototypes for some missing
	NtUserXXX functions.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* include/user32/wininternal.h: Added some constants for
	private GetDCEx styles that WINE needs.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* include/user32/callback.h: Fixed callbacks for messages with
	parameters.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* include/napi/win32.h (W32THREAD): Added pointer to the
	thread's desktop.
	* include/napi/win32.h (W32PROCESS): Removed handle table,
	added a pointer to the process's window station.
	* subsys/win32k/ntuser/guicheck.c (W32kGuiCheck): Reference
	a process's window station on the first win32k system call. Reference
	a thread's desktop on the first win32k system call.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* include/messages.h: Added some missing WM_XXX constants.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* drivers/dd/ide/makefile: Compiling with debugging messages
	needs libgcc to be linked in.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* iface/addsys/genw32k.c: Generate a variable with the
	number of system calls.
	* iface/native/genntdll.c: Generate a proper stack frame for
	the user system call stubs.
	* ntoskrnl/ke/i386/syscall.S: Generate a proper stack frame for
	the handler for system calls.

2002-07-04  David Welch  <welch@computer2.darkstar.org>

	* Makefile: Build the GUI startup application.
	* subsys/system/gstart/gstart.c: Application to start up
	the GUI.

svn path=/trunk/; revision=3179
2002-07-04 19:56:38 +00:00
Steven Edwards
9033534bb4 Fix Wine Resource Compiler Path
svn path=/trunk/; revision=3178
2002-07-04 18:16:42 +00:00
Robert Dickenson
d5251a1991 Fixed incorrect order of resource strings to identifiers.
svn path=/trunk/; revision=3177
2002-07-03 19:33:40 +00:00
Robert Dickenson
157460c518 New File Manager application - winfile.
svn path=/trunk/; revision=3176
2002-07-03 19:32:52 +00:00
Robert Dickenson
bfab1ffb07 Added entries for regedit, regedt32 and taskmgr.
svn path=/trunk/; revision=3175
2002-07-03 18:13:30 +00:00
Robert Dickenson
2c0cbaa9e2 Cleanup after first check-in.
svn path=/trunk/; revision=3174
2002-07-03 18:12:53 +00:00
Robert Dickenson
7fe69e5501 Cleanup after extracting regedit code.
svn path=/trunk/; revision=3173
2002-07-03 18:11:49 +00:00
Robert Dickenson
dc8c16d0fc Created new application - regedit.
svn path=/trunk/; revision=3172
2002-07-03 17:52:20 +00:00
Robert Dickenson
a13ca47ccb Minor updates, added status bar support from TaskMgr.
svn path=/trunk/; revision=3171
2002-07-02 17:37:20 +00:00
Robert Dickenson
06560b36fd Started ReactOS regedt32 application. Mainframe, menus and makefile only.
svn path=/trunk/; revision=3170
2002-07-02 16:57:56 +00:00
Robert Dickenson
bdbc30455a Fixes to performance page resizing and font.bmp updated.
svn path=/trunk/; revision=3169
2002-07-02 15:43:04 +00:00
Brian Palmer
4b42b078ed Recommitting files as binary.
svn path=/trunk/; revision=3168
2002-07-02 04:16:12 +00:00
Brian Palmer
6de3925ad4 Removed corrupt binary files that were added as text files.
svn path=/trunk/; revision=3167
2002-07-02 04:13:43 +00:00
Robert Dickenson
aea5d54245 Fixed font bitmap and minor window placement mods.
svn path=/trunk/; revision=3166
2002-06-30 14:52:10 +00:00
Eugene Ingerman
994b70bb48 Video mode switching when entering pice shell.
svn path=/trunk/; revision=3165
2002-06-30 02:45:44 +00:00
Eugene Ingerman
d01d6a21a7 Ignore v86 faults (for now).
svn path=/trunk/; revision=3164
2002-06-30 02:41:29 +00:00
Eugene Ingerman
a6b20c5fda Added NFLAGS when calling nasm.
svn path=/trunk/; revision=3163
2002-06-30 02:40:24 +00:00
Robert Dickenson
7ec506fe21 no message
svn path=/trunk/; revision=3162
2002-06-29 20:14:26 +00:00
Robert Dickenson
d08fc97f99 Some work on resizing performance page.
svn path=/trunk/; revision=3161
2002-06-29 20:01:17 +00:00
Robert Dickenson
b7d141eefe Added macro for passing RCFLAGS to resource compiler.
svn path=/trunk/; revision=3160
2002-06-29 18:21:00 +00:00
Robert Dickenson
51036c7f74 Updated for building with GCC.
Added graphcntrl for performance page.
Various fixes and additions.

svn path=/trunk/; revision=3159
2002-06-29 18:13:03 +00:00
Brian Palmer
7fc762dac1 Changes in v1.4 (6/27/2002)
- Added separate configuration for a SETUPLDR version

svn path=/trunk/; revision=3158
2002-06-28 00:50:16 +00:00
Eric Kohl
1f6b602dc5 Added check for loaded module prior to loading it.
svn path=/trunk/; revision=3157
2002-06-27 17:52:32 +00:00
Eric Kohl
5b7f97ebf6 Stop the system if SystemRoot cannot be created or is not accessible.
svn path=/trunk/; revision=3156
2002-06-27 17:47:55 +00:00
Eric Kohl
32dfc1175f Set missing OBJ_OPENLINK attribute in IoDeleteSymbolicLinkObject().
svn path=/trunk/; revision=3155
2002-06-27 17:46:53 +00:00
Eric Kohl
1020b229fe Fixed SystemRoot accessibility check.
svn path=/trunk/; revision=3154
2002-06-27 17:45:45 +00:00
Brian Palmer
c2f51ccadd Makefile now generates a sorted symbol file - freeldr.sym
svn path=/trunk/; revision=3153
2002-06-26 22:44:07 +00:00
Brian Palmer
3d14932152 Fixed Makefile so it will work when you do a clean checkout and the tools aren't already built.
svn path=/trunk/; revision=3152
2002-06-26 22:32:43 +00:00
Hartmut Birr
ccf3e5b082 Fixed a typo.
svn path=/trunk/; revision=3151
2002-06-26 18:39:50 +00:00
Hartmut Birr
402fdf5780 Fixed some calculatations in ObmpGetObjectHandle.
svn path=/trunk/; revision=3150
2002-06-26 18:38:24 +00:00
Hartmut Birr
317666175c Added PCM_PARTIAL_RESOURCE_LIST.
svn path=/trunk/; revision=3149
2002-06-26 18:37:36 +00:00
Hartmut Birr
518b1b7a13 Changed the sector size from BLOCKSIZE to the size from the boot sector.
svn path=/trunk/; revision=3148
2002-06-26 18:36:41 +00:00
Eric Kohl
40fe11fc2b Added 'Multi UNC Provider' driver stub.
Added NTFS driver stub.

svn path=/trunk/; revision=3147
2002-06-25 22:25:17 +00:00
Eric Kohl
24c84ca4b7 Added NTFS driver stub.
svn path=/trunk/; revision=3146
2002-06-25 22:23:06 +00:00
Eric Kohl
ef401a1081 Added 'Multi UNC Provider' driver stub.
svn path=/trunk/; revision=3145
2002-06-25 22:21:41 +00:00
Eric Kohl
0892a6b53a Added eventlog service stub.
Added rpc server stub.

svn path=/trunk/; revision=3144
2002-06-25 21:14:26 +00:00
Eric Kohl
b7bc22228a Added rpc server stub.
svn path=/trunk/; revision=3143
2002-06-25 21:11:11 +00:00
Eric Kohl
5190929b04 Added eventlog service stub.
svn path=/trunk/; revision=3142
2002-06-25 21:10:14 +00:00
Eric Kohl
e8b989193d Implemented CallNamedPipeW() and TransactNamedPipe().
svn path=/trunk/; revision=3141
2002-06-25 18:49:38 +00:00
David Welch
409ca20cca One case only please.
svn path=/trunk/; revision=3138
2002-06-22 11:59:46 +00:00
Robert Dickenson
8a68c12c32 Updated with latest changes for including new net modules.
svn path=/trunk/; revision=3136
2002-06-21 21:05:32 +00:00
Robert Dickenson
ea7f10019b Added required definitions for the packet driver to build.
svn path=/trunk/; revision=3135
2002-06-21 20:40:51 +00:00
Eugene Ingerman
1c6674aa68 Fixed typo/bug in W32kCallWindowProc.
svn path=/trunk/; revision=3134
2002-06-21 04:14:07 +00:00
Eric Kohl
5bba28324f Fixed a long-standing hack to open symbolic link objects.
svn path=/trunk/; revision=3133
2002-06-20 21:31:39 +00:00
Eric Kohl
27a682e098 Fixed severe bugs in the default value handling of RegSetValue() and RegQueryValue().
Implemented simple registry links.
Added creation of the CurrentControlSet link.

svn path=/trunk/; revision=3132
2002-06-20 16:31:59 +00:00
Eugene Ingerman
669dabbc82 Updated PICE to work with recent kernel changes. Changed kernel module handling.
svn path=/trunk/; revision=3131
2002-06-20 04:46:11 +00:00
Eric Kohl
79d575aef4 Implemented registry links (REG_LINK).
Create the 'CurrentControlSet' link after the registry has been initialized.

svn path=/trunk/; revision=3130
2002-06-19 22:32:47 +00:00
Eric Kohl
5c4728ed0a Added registry link tests.
svn path=/trunk/; revision=3129
2002-06-19 22:27:43 +00:00
Robert Dickenson
a493f4baea Added new library packet.dll
svn path=/trunk/; revision=3128
2002-06-19 15:50:29 +00:00
Robert Dickenson
0f848a3fd1 Added packet.sys to target list.
svn path=/trunk/; revision=3127
2002-06-19 15:46:32 +00:00
Robert Dickenson
2ce7a61b0b Fixed invalid paths. Added packet to target list.
svn path=/trunk/; revision=3126
2002-06-19 15:45:48 +00:00
Robert Dickenson
d45d540c92 Added new exports
svn path=/trunk/; revision=3125
2002-06-19 15:44:47 +00:00
Robert Dickenson
b61d3e84c2 Added new driver 'packet', ported from the Windows Packet Capture Driver project.
svn path=/trunk/; revision=3124
2002-06-19 15:43:15 +00:00
Robert Dickenson
d8141822e2 Added .cvsingore file.
svn path=/trunk/; revision=3123
2002-06-19 06:38:03 +00:00
Robert Dickenson
c2b9c68cbf Created new module for wshirda.dll
svn path=/trunk/; revision=3122
2002-06-19 06:26:11 +00:00
KJK::Hyperion
2d2ac84025 PSAPI meta-source files moved in the standard location
svn path=/trunk/; revision=3121
2002-06-18 22:36:43 +00:00
KJK::Hyperion
1a9ed68d15 PSAPI initial commit
svn path=/trunk/; revision=3120
2002-06-18 22:16:53 +00:00
David Welch
77a2974988 Moved win32 callback support into a new file.
svn path=/trunk/; revision=3119
2002-06-18 22:03:48 +00:00
David Welch
5f997bca7b 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* tools/helper.mk: Make an import library a proper target
	depending on the .def file.

2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>

	* subsys/win32k/ntuser/window.c (NtUserGetWindowLong): Began
	implementation.

2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>

	* subsys/win32k/misc/object.c (ObmCreateHandle): Return the
	correct handle value.

2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>

	* subsys/win32k/makefile: Make win32k depend on the file containing
	the service table.

2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>

	* ntoskrnl/ke/i386/stkswitch.S (KeSwitchStackAndRet,
	KePushAndStackSwitchAndSysRet): Push one value only.
	* ntoskrnl/ps/w32call.c (NtCallbackReturn, NtW32Call): Moved
	these functions to a new file. Restore the old trap frame after
	returning from a callback.

2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>

	* lib/user32/windows/message.c (CallWindowProcA, CallWindowProcW):
	Convert message to Unicode or ASCII if necessary.

2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>

	* include/user32/callback.h: Added WM_CREATE and WM_NCCALCSIZE
	callbacks.
	* lib/user32/windows/window.c (User32SendCREATEMessageForKernel,
	User32SendNCCREATEMessageForKernel): Implemented.
	* subsys/win32k/ntuser/callback.c (W32kSendCREATEMessage):
	Implemented.

2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>

	* include/structs.h: Added Unicode and ASCII versions of
	CREATESTRUCT.

svn path=/trunk/; revision=3118
2002-06-18 21:51:11 +00:00
Brian Palmer
3acd677b53 Fixed GetBiosMemoryMap() function.
svn path=/trunk/; revision=3117
2002-06-18 21:40:27 +00:00
Eric Kohl
9fb8f57561 IoDestroyDriverList(): Free memory of group and service entries.
IopCreateServiceListEntry(): simplified function and reduced memory consumption.

svn path=/trunk/; revision=3116
2002-06-18 07:11:44 +00:00
Eric Kohl
b29a9b85b9 RtlQueryRegistryValues() must treat REG_MULTI_SZ and REG_EXPAND_SZ values like REG_SZ values upon direct queries.
svn path=/trunk/; revision=3115
2002-06-18 07:07:42 +00:00
joeg
57c8a1c6e3 apps/tests/tokentest.c
* Fix stupidity that prevented tokentest
  from compiling

svn path=/trunk/; revision=3114
2002-06-17 23:13:35 +00:00
joeg
941ae04aa2 ntoskrnl/ps/process.c
* Call SepCreateSystemProcessToken() when creating the
  initial system process.  Cleanup the token during
  in PiDeleteProcess().

* Call SepInitializeNewProcess() during NtCreateProcess
  to copy the parent processes token to the new process.

ntoskrnl/include/internal/se.h
ntoskrnl/se/token.c

* Change name of SepDuplicationToken() [which was unimplemented]
  to SepDuplicateToken().  Implement it.

* Implement new functions (which are used by process.c)
  SepInitializeNewProcess() and SepCreateSystemToken().

* Correctly (I think) set Token->ImpersonationLevel in
  NtCreateToken().

apps/tests/tokentest/tokentest.c

* Dump the current processes token.

svn path=/trunk/; revision=3113
2002-06-17 22:52:32 +00:00
joeg
0f1c17eda0 ntoskrnl/ke/main.c
* Move SeInit2() to before we initialize process
  management so we can create an initial system
  token to go with the initial system process.

ntoskrnl/ps/process.c
* Implement NtOpenProcessToken() by calling
  _NtOpenProcessToken() -- why do we have
  both of these?

* Fix bug in _NtOpenProcessToken() that
  caused us to crash creating the token
  handle.

* Return STATUS_INVALID_INFO_CLASS from
  NtQueryInformationProcess() and
  NtSetInformationProcess() for information classes
  documented as unqueryable or unsettable
  by Gary Nebbet in his book "Native API Reference".

* Fix bug in NtSetInformationProcess() where it
  assigns the primary token -- it derefeneced the
  old token if SeExchangePrimaryToken() failed;
  it should have derferenced it if it succeeded.

svn path=/trunk/; revision=3112
2002-06-17 22:16:34 +00:00
Robert Dickenson
eebe5809fd Created new empty module for buiding ws2help.dll
Yet to define parameters and return values for all exports.

svn path=/trunk/; revision=3111
2002-06-17 19:33:45 +00:00
Eric Kohl
81a07ed6a6 Improved driver loading sequence with respect to the group order.
Added ability to run user-mode services.

svn path=/trunk/; revision=3110
2002-06-17 15:47:32 +00:00
Eric Kohl
1b52f5ff18 Implemented direct query of REG_EXPAND_SZ values.
svn path=/trunk/; revision=3109
2002-06-17 15:42:30 +00:00
Steven Edwards
df3c5b992e added simple tcp server test
svn path=/trunk/; revision=3108
2002-06-17 06:01:17 +00:00
David Welch
279f0b0ed5 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* tools/help.mk: Make the install target depend on all the
	files to be installed.

2002-06-16  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>

	* ntoskrnl/ps/thread.c (NtCallbackReturn): Set TSS.Esp0 to the
	top of the old stack.
	* ntoskrnl/ps/thread.c (NtW32Call): Set TSS.Esp0 to the top of
	the new stack. Free the callback stack correctly. Don't copy
	portion of the trap frame that doesn't exist in non-v86-mode
	interrupts.
	* ntoskrnl/ps/thread.c (PsFreeCallbackStack): New function to
	free a stack allocated with PsAllocateCallbackStack.

2002-06-16  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>

	* drivers/dd/null/makefile: Commented out local LDFLAGS as
	these cause bad relocations in the stripped image.

2002-06-16  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>

	* config: Corrected spelling error.

svn path=/trunk/; revision=3107
2002-06-16 21:41:16 +00:00
Jason Filby
78f1caa4a9 NtW32Call: replace sizeof(KTRAP_FRAME) with 124 bytes
svn path=/trunk/; revision=3106
2002-06-16 20:52:07 +00:00
Eric Kohl
e6b5136b65 Fixed wrong interpretation of value cell size in NtSetValueKey().
svn path=/trunk/; revision=3105
2002-06-16 20:00:34 +00:00
Casper Hornstrup
7c5d3bb9ef Revert last change
svn path=/trunk/; revision=3104
2002-06-16 17:25:58 +00:00
Casper Hornstrup
1a1942d5c0 Avoid importing _pctype when using mingw-runtime 2.0.
svn path=/trunk/; revision=3103
2002-06-16 16:27:22 +00:00
Eric Kohl
d783d4d686 Fixed loading of symbol files.
Implemented automatic loading of PICE.

svn path=/trunk/; revision=3102
2002-06-16 11:45:06 +00:00
Steven Edwards
56deabe577 Updated Makefile to fix building
svn path=/trunk/; revision=3101
2002-06-16 06:05:28 +00:00
Steven Edwards
a8b847f532 Fixed include path in ramdriver
svn path=/trunk/; revision=3100
2002-06-16 06:02:17 +00:00
Steven Edwards
4d831f2242 Fixed building of Serial Mouse driver (still broken)
svn path=/trunk/; revision=3099
2002-06-16 04:47:56 +00:00
Eric Kohl
7c25d62093 Changed calling convention of EngXxx funtions to STDCALL.
Added missing includes.

svn path=/trunk/; revision=3096
2002-06-15 21:44:08 +00:00
Eric Kohl
37c39cc09a Changed the calling convention used by the video miniport/port driver interface and the display driver/win32k interface (DrvXxx functions) to STDCALL.
The EngXxx and other funtions will be changed in a second step.

svn path=/trunk/; revision=3095
2002-06-15 14:58:25 +00:00
Hartmut Birr
8dd702a72b Fixed saving of esp in KePushAndStackSwitchAndSysRet.
svn path=/trunk/; revision=3094
2002-06-15 14:57:29 +00:00
Jason Filby
97970adc7d Fixed missing initialization in PsAllocateCallback
svn path=/trunk/; revision=3093
2002-06-15 11:27:28 +00:00
Eric Kohl
5e1123c888 Cleanup, add display of token values being passed into ZwCreateToken() as well as display of values coming out of the token.
(Patch by Joseph Galbraith)

svn path=/trunk/; revision=3092
2002-06-15 10:13:35 +00:00
Eric Kohl
6017a8515d Enable %wZ and %Z format specifiers (remove #if 0).
Fix check for NULL Buffer (it was checking for non-null Buffer).
Fix length field when printing unicode strings; it was printing twice as many characters as it should have.
(Patch by Joseph Galbraith)

svn path=/trunk/; revision=3091
2002-06-15 10:12:43 +00:00
Eric Kohl
165c6d209a Fix bug in RtlEqualSid() that caused all sids with the same sub-authority count to compare equal.
Teach RtlpAddKnownAce() some status values other than STATUS_UNSUCCESSFUL.
(Patch by Joseph Galbraith)

svn path=/trunk/; revision=3090
2002-06-15 10:10:43 +00:00
Eric Kohl
fd874ecc14 Fix bug in RtlpAddKnownAce() that caused it to place the SID in the wrong location.
Teach RtlpAddKnownAce() some status values other than STATUS_UNSUCCESSFUL.
(Patch by Joseph Galbraith)

svn path=/trunk/; revision=3089
2002-06-15 10:09:17 +00:00
Jason Filby
b6b3e3f14e Bugfix: correct memory allocation calculation
svn path=/trunk/; revision=3088
2002-06-14 20:56:17 +00:00
Jason Filby
b592122ee6 Fixed another typo
svn path=/trunk/; revision=3087
2002-06-14 19:07:32 +00:00
Jason Filby
0a5b749896 Fixed some typos
svn path=/trunk/; revision=3086
2002-06-14 18:55:09 +00:00
Casper Hornstrup
5b804e36db Don't install static libraries.
svn path=/trunk/; revision=3085
2002-06-14 17:17:38 +00:00
Jason Filby
a0c16e128a GuiCheck for NtUserRegisterClassExWOW
svn path=/trunk/; revision=3081
2002-06-14 15:21:43 +00:00
Eric Kohl
260116f684 Fixed direct reference to a driver object.
svn path=/trunk/; revision=3080
2002-06-14 14:24:28 +00:00
Eric Kohl
01b92c6de5 Pass pointer to CSRSS process on first create request.
svn path=/trunk/; revision=3079
2002-06-14 14:23:14 +00:00
Eric Kohl
69c0982e64 Added vga driver
svn path=/trunk/; revision=3078
2002-06-14 14:19:28 +00:00
Casper Hornstrup
7e27a9348f Delete dependency files on clean
svn path=/trunk/; revision=3077
2002-06-14 13:20:08 +00:00
Casper Hornstrup
49051a245f Use standard mingw32 prefix on linux.
svn path=/trunk/; revision=3076
2002-06-14 13:04:18 +00:00
Casper Hornstrup
8d0ecd86c9 Make clean rule depend on tools rule
svn path=/trunk/; revision=3075
2002-06-14 11:06:03 +00:00
Eric Kohl
503826a739 Fixed automatic loading of required modules.
Cleaned up module loading interface.

svn path=/trunk/; revision=3074
2002-06-14 07:49:58 +00:00
David Welch
fd2a5c35a4 Split up some stubs into their own files.
svn path=/trunk/; revision=3068
2002-06-13 20:36:40 +00:00
Hartmut Birr
e019c02170 Reseting the conversion qualifier for each new value from the format string.
svn path=/trunk/; revision=3063
2002-06-13 16:45:02 +00:00
Eric Kohl
e2822009d7 Fixed driver unloading upon failing initialization.
svn path=/trunk/; revision=3062
2002-06-13 15:14:28 +00:00
Brian Palmer
63ea3fb94c Cross-platform tools added to Makefiles.
svn path=/trunk/; revision=3061
2002-06-13 00:39:49 +00:00
Eric Kohl
6ab0a870c1 Updated the system hive and the boot driver list.
svn path=/trunk/; revision=3060
2002-06-12 23:38:28 +00:00
Eric Kohl
6f7c3842bc Now ZwLoadDriver() uses the registry path instead of a file name to load a driver.
svn path=/trunk/; revision=3059
2002-06-12 23:35:55 +00:00
Eric Kohl
9d3870ce78 Cleaned up the driver loading routines.
svn path=/trunk/; revision=3058
2002-06-12 23:33:15 +00:00
Eric Kohl
2137580260 Use the registry to load system start drivers.
svn path=/trunk/; revision=3057
2002-06-12 23:30:36 +00:00
Eric Kohl
0f47c75c9a Use NtSetSystemInformation() to load win32k.sys because it is not a driver but a kernel extension.
svn path=/trunk/; revision=3056
2002-06-12 23:26:56 +00:00
Eric Kohl
c16bc4c28d RtlpGetRegistryHandle(): Don't remove a leading backslash if an absolute registry path is used.
svn path=/trunk/; revision=3055
2002-06-12 23:24:19 +00:00
Casper Hornstrup
debb46b5c3 BugCheck if no boot drivers are passed to ntoskrnl.exe
svn path=/trunk/; revision=3054
2002-06-12 14:06:29 +00:00
Casper Hornstrup
a07b0d8b8e * Call RtlCreateUnicodeString() instead of RtlInitUnicodeString() when
initializing the DeviceNode->ServiceName, since IopFreeDeviceNode()
  will use RtlFreeUnicodeString() on it.

* Call ObDereferenceObject() instead of ExFreePool() to release the
  DeviceObject if DriverEntry fails.
  Patch from Joseph Galbraith.

svn path=/trunk/; revision=3053
2002-06-12 14:05:03 +00:00
Rex Jolliff
72a2cedd0a another test of commit mailer
svn path=/trunk/; revision=3052
2002-06-12 02:32:14 +00:00
Rex Jolliff
c2c993d6bb a test of commit mailer
svn path=/trunk/; revision=3051
2002-06-12 01:59:50 +00:00
David Welch
05ad1d3198 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* subsys/system/winlogon/winlogon.c (WinMain): Check for
	failure when creating a window system.

2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>

	* ntoskrnl/ob/handle.c (ObDuplicateObject): Added this internal
	function for duplicating objects.
	* ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the parent
	process's window station to the child process.
	* ntoskrnl/ps/process.c (PsInitProcessManagement): Initialize the
	first process's window station.

2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>

	* ntoskrnl/mm/marea.c (MmCreateMemoryArea): Initialise
	page operation structure members.
	* ntoskrnl/mm/pageop.c (MmReleasePageOp, MmGetPageOp): Increment
	or decrement the page operation count in the memory area.
	* ntoskrnl/mm/virtual.c (MmNotPresentFaultVirtualMemory,
	MmPageOutVirtualMemory): Check for a deleted memory area before
	handling the fault.
	* ntoskrnl/mm/virtual.c (MmFreeVirtualMemory): Wait for all
	page operations to finish before freeing the memory area.

2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>

	* ntoskrnl/ke/i386/syscall.S (interrupt_handler2e): Corrected
	test for previous mode, upper 16-bit of CS on the stack after an
	interrupt are arbitary.

2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>

	* lib/user32/misc/winsta.c: Cleaned up indentation.

2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>

	* apps/tests/winhello/winhello.c (WinMain, MainWndProc):
	Cleaned up formatting, some more error checks.

2002-06-04  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>

	* ntoskrnl/mm/virtual.c (MmSecureVirtualMemory,
	MmUnsecureVirtualMemory, NtQueryVirtualMemory): Corrected indentation.

svn path=/trunk/; revision=3050
2002-06-11 22:09:03 +00:00
Casper Hornstrup
669a991546 Add multi and expand registry key type support.
svn path=/trunk/; revision=3049
2002-06-11 20:10:36 +00:00
Eric Kohl
30a776c6e9 Fixed LdrpCompareModuleNames() to accept fully qualified path names too.
svn path=/trunk/; revision=3048
2002-06-11 18:37:23 +00:00
Brian Palmer
a89e08d368 Caches the current FAT sector so it doesn't read again if it doesn't have to.
svn path=/trunk/; revision=3047
2002-06-11 16:58:31 +00:00
Casper Hornstrup
65ae3074e9 Kill warnings.\n Use DbgPrint for debugging registry.
svn path=/trunk/; revision=3046
2002-06-11 16:23:20 +00:00
Brian Palmer
8bab1a8f2d Optimized FAT32 bootsector to read more than 1 sector at a time on systems supporting LBA calls.
svn path=/trunk/; revision=3045
2002-06-11 05:41:45 +00:00
Eric Kohl
6ac81e7954 Changed data structure which represents driver objects from MODULE_OBJECT to DRIVER_OBJECT.
Now a DriverEntry's RegistryPath string is usable automagically.

svn path=/trunk/; revision=3044
2002-06-10 23:04:48 +00:00
Hartmut Birr
0ddc3e2715 Reference/Dereference the process object in PiTerminateProcess.
svn path=/trunk/; revision=3043
2002-06-10 21:37:45 +00:00
Hartmut Birr
0dbc90e4e0 Unmap the pages first and than remove the entries from the allocation map in MmUnmapLockedPages.
svn path=/trunk/; revision=3042
2002-06-10 21:36:31 +00:00
Hartmut Birr
16068960f0 Replaced all calls to MmDereferencePage with MmReleasePageMemoryConsumer.
Added handling for multiple referenced pages in MmReleasePageMemoryConsumer.

svn path=/trunk/; revision=3041
2002-06-10 21:34:38 +00:00
Hartmut Birr
a64eec7e49 Added flushing of file streams.
svn path=/trunk/; revision=3040
2002-06-10 21:28:36 +00:00
Hartmut Birr
495dfc660f Rewrote fread/fwrite for a better/faster handling of reads/writes requests.
svn path=/trunk/; revision=3039
2002-06-10 21:26:36 +00:00
Hartmut Birr
9ac5422074 Fixed ftell for streams which are opened for reading and writing.
svn path=/trunk/; revision=3038
2002-06-10 21:23:34 +00:00
Hartmut Birr
f0cb69cade Fixed fflush for non dirty file streams.
svn path=/trunk/; revision=3037
2002-06-10 21:21:06 +00:00
Hartmut Birr
b971a7adc6 Fixed a minor bug in updEntry.
svn path=/trunk/; revision=3036
2002-06-10 21:19:18 +00:00
Hartmut Birr
f3e094f2f0 Updating the directory entries in VfatWrite only, if the allocation size has changed.
Added zeroing for files, if the write starts after the current end of the file.

svn path=/trunk/; revision=3035
2002-06-10 21:17:57 +00:00
Hartmut Birr
20a4914b89 Added updating of directory entries in VfatCleanupFile/VfatCloseFile.
svn path=/trunk/; revision=3034
2002-06-10 21:15:58 +00:00
Hartmut Birr
87e32585f2 Fixed a minor bug in CcSetFileSizes.
svn path=/trunk/; revision=3033
2002-06-10 21:13:26 +00:00
Hartmut Birr
8393c73b3b Implemented CcZeroData.
svn path=/trunk/; revision=3032
2002-06-10 21:11:56 +00:00
Eric Kohl
c4d4559cce Moved io/drvlck.c to mm.
Minimize access to the module object via the object manager.
Use module list for internal module management.
Protect module list with a spinlock.

svn path=/trunk/; revision=3031
2002-06-10 08:50:55 +00:00
Eric Kohl
c9e12ce035 Handle multi-string group order list properly.
svn path=/trunk/; revision=3030
2002-06-09 13:28:49 +00:00
Emanuele Aliberti
10514a1fd8 PSXSS: It seems the renamed csrterm did not get in the repository.
PSXSS: I try again.

svn path=/trunk/; revision=3029
2002-06-09 08:37:07 +00:00
Brian Palmer
662162a601 Fixed bug that was preventing FreeLoader from booting on FAT32 systems.
svn path=/trunk/; revision=3028
2002-06-09 00:03:58 +00:00
Brian Palmer
20327bf11a Changes in v1.3.1 (6/8/2002)
- Implemented MmAllocateMemoryAtAddress()
- Fixed Linux boot code to go through the memory manager to allocate memory at 1MB

svn path=/trunk/; revision=3027
2002-06-08 19:20:01 +00:00
Emanuele Aliberti
6eab84796a Mostly path fixing after new modules layout is in effect.
I renamed the terminal emulator CSRTERM: now it is named POSIXW32,
because it is a a door to reach the POSIX+ subsystem FROM the Win32
subsystem.

svn path=/trunk/; revision=3026
2002-06-08 16:28:05 +00:00
Eric Kohl
bb14287865 - Implement NtCreateToken()
- Implement RtlGetAce()
- Fix bug which cause RtlCreateAcl() to always fail.
- Cleanup parameter names and fix bug that caused a buffer overrun in RtlCopySidAndAttributesArray()
- When referencing the token object in NtQueryInformationToken() pass in either TOKEN_QUERY access or TOKEN_QUERY_SOURCE access. Passing in zero led to ObReferenceObjectByHandle() always failing with ACCESS_DENIED.
- Fixed NtQueryInformationToken() to check the buffer length and return STATUS_BUFFER_TO_SMALL and the required length.
- Ensure that the ReturnLength is set correctly when NtQueryInformationToken() succeeds. Previously, it was set to the number of bytes unused in the user buffer in some cases or not set at all.
- Handle case of NULL default dacl correctly in NtQueryInformationToken()
- Update main makefile to build apps\utils.
- Update makefiles in apps\utils to have the correct PATH_TO_TOP.
- Update main makefile to build apps\tests\tokentest

Written by Joseph Galbraith.

svn path=/trunk/; revision=3024
2002-06-07 23:00:20 +00:00
Eric Kohl
33cc33c731 Let services.exe load the auto-start drivers.
svn path=/trunk/; revision=3023
2002-06-07 20:11:03 +00:00
Hartmut Birr
e1a2eb2f0b Fixed the return value in GetFileSize.
svn path=/trunk/; revision=3022
2002-06-07 16:54:04 +00:00
Hartmut Birr
23ed00e90e Fixed the allocation size for the fat in VfatMount.
svn path=/trunk/; revision=3021
2002-06-07 16:53:18 +00:00
Eugene Ingerman
9910fb19ec Updated paths after directory was moved.
svn path=/trunk/; revision=3020
2002-06-07 05:35:04 +00:00
Eric Kohl
421ce5c9dc Fixed broken handling of SCSI port capabilities.
svn path=/trunk/; revision=3019
2002-06-06 23:20:08 +00:00
Brian Palmer
0bb513eddf Makefile fixes
svn path=/trunk/; revision=3018
2002-06-06 21:33:13 +00:00
Jason Filby
aa8aca9ec4 Don't define CC in makefile
svn path=/trunk/; revision=3017
2002-06-06 20:36:52 +00:00
Eric Kohl
6a97fcb4f7 Added full short name (8.3 name) support.
svn path=/trunk/; revision=3016
2002-06-06 19:01:04 +00:00
Eric Kohl
cf6fb9b64c Fixed another silly bug.
svn path=/trunk/; revision=3015
2002-06-06 18:59:50 +00:00
Jason Filby
51fddda8d4 Implemented NtUserPeekMessage
svn path=/trunk/; revision=3014
2002-06-06 17:50:16 +00:00
Eric Kohl
bee2ec8653 Added partial suppport for short names (8.3 names).
svn path=/trunk/; revision=3013
2002-06-06 16:20:52 +00:00
Eric Kohl
f9769b54cf Fixed a typo in RtlGenerate8dot3Name().
Added more tests to RtlIsNameLegalDOS8Dot3().

svn path=/trunk/; revision=3012
2002-06-06 16:17:26 +00:00
Eric Kohl
819490ac07 Fixed the copy length in RtlQueryRegistryValues(). Found by Hartmut Birr.
svn path=/trunk/; revision=3011
2002-06-06 14:03:58 +00:00
Brian Palmer
ac99fa1fdc Changes in v1.3 (6/5/2002)
- Added protected mode exception handling in case FreeLoader crashes
- Reworked memory manager to use all of extended memory
- Reworked UI code, now supports multiple text-mode resolutions

svn path=/trunk/; revision=3010
2002-06-06 05:58:37 +00:00
Hartmut Birr
998a072d3f Fixed the alocation size in NtRegisterThreadTerminatePort.
svn path=/trunk/; revision=3009
2002-06-05 19:38:08 +00:00
Hartmut Birr
a7c919c505 Created the object handle only if the object is created successful in ObCreateObject.
This fixes some crashs after changing to a nonexisting drive and
a message like 'Parent is a Directory which is not a device type'.

svn path=/trunk/; revision=3008
2002-06-05 19:37:12 +00:00
Hartmut Birr
2422bc4676 Fixed the wrong parameter odering in a call to memset in EiAddSharedOwner.
svn path=/trunk/; revision=3007
2002-06-05 19:36:10 +00:00
Hartmut Birr
69671d74e1 Fixed the copy length in RtlQueryRegistryValues.
svn path=/trunk/; revision=3006
2002-06-05 19:35:04 +00:00
Hartmut Birr
926cc1342f Fixed a test after a memory allocation in CmiInitPermanentRegistryHive.
svn path=/trunk/; revision=3005
2002-06-05 19:34:08 +00:00
Hartmut Birr
d55c657a07 Fixed the error string odering.
svn path=/trunk/; revision=3004
2002-06-05 19:33:11 +00:00
Hartmut Birr
6e8befbaa7 Fixed the declaration of _alloca/alloca.
svn path=/trunk/; revision=3003
2002-06-05 19:32:20 +00:00
Hartmut Birr
b37ed73013 Fixed the value CurrentTransferPages for splited requests in ScsiClassReadWrite.
svn path=/trunk/; revision=3002
2002-06-05 19:31:39 +00:00
Eric Kohl
9078342c24 Implemented RtlGenerate8dot3Name() and RtlIsNameLegalDOS8Dot3().
svn path=/trunk/; revision=3001
2002-06-05 16:53:36 +00:00
David Welch
3d3be3df27 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* ntoskrnl/ke/i386/exp.c (KiDoubleFaultHandler): Print CR3
	correctly.

2002-06-04  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>

	* ntoskrnl/include/internal/ps.h: Added KTHREAD_STACK_LIMIT definition.
	* ntoskrnl/ke/i386/tskswitch.S (Ki386ContextSwitch): Force all the
	pages of the kernel stack to be accessible from this process.

2002-06-04  David Welch  <welch@cwcom.net>

	* ntoskrnl/cc/view.c (ReadCacheSegmentChain): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/cc/copy.c (CcRosCreateCacheSegment): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/cc/copy.c (CcFreeCachePage): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/include/internal/mm.h: Changed prototypes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/include/internal/ps.h (KPROCESS): Changed type of
	page directory base to PHYSICAL_ADDRESS.
	* ntoskrnl/include/internal/i386/mm.h: Changed prototypes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/ke/kthread.c (KeFreeStackPage): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/ke/kthread.c (KeInitializeThread): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/ke/process.c (KeAttachProcess, KeDetachProcess): Changes
	to use PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/ke/kernel.c (PcrPages, KeApplicationProcessorInit): Changes
	to use PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/balance.c (MM_ALLOCATION_REQUEST): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/balance.c (MmReleasePageMemoryConsumer): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/balance.c (MmRequestPageMemoryConsumer): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/cont.c (MmFreeContinuousPage): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/cont.c (MmAllocateContinuousAlignedMemory): Changes to
	use PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/freelist.c (MmTransferOwnershipPage,
	MmGetLRUFirstUserPage, MmGetLRUNextUserPage, MmGetContinuousPages,
	MmInitializePageList, MmSetFlagsPage, MmSetRmapListHeadPage,
	MmGetRmapListHeadPage, MmMarkPageMapped, MmMarkPageUnmapped,
	MmGetFlagsPage, MmSetSavedSwapEntryPage, MmGetSavedSwapEntryPage,
	MmReferencePage, MmGetReferenceCountPage, MmIsUsablePage,
	MmDereferencePage, MmGetLockCountPage, MmLockPage, MmUnlockPage,
	MmAllocPage): Changes to use PHYSICAL_ADDRESS type for physical
	addresses.
	* ntoskrnl/mm/iospace.c (MmMapIoSpace): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/kmap.c (ExAllocatePage, MiZeroPage, MiCopyFromUserPage,
	ExAllocatePageWithPhysPage): Changes to use PHYSICAL_ADDRESS type for
	physical addresses.
	* ntoskrnl/mm/marea.c (MmFreeMemoryArea): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/mdl.c (MmUnlockPages, MmMapLockedPages,
	MmProbeAndLockPages): Changes to use PHYSICAL_ADDRESS type for
	physical addresses.
	* ntoskrnl/mm/mm.c (MmSharedDataPagePhysicalAddress,
	MmCommitPagedPoolAddress, MmNotPresentFault): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/mminit.c (MmInitVirtualMemory): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/ncache.c (MmAllocateNonCachedMemory,
	MmFreeNonCachedPage): Changes to use PHYSICAL_ADDRESS type for
	physical addresses.
	* ntoskrnl/mm/npool.c (grow_kernel_pool): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/rmap.c (MmPageOutPhysicalAddress, MmInsertRmap,
	MmDeleteAllRmaps, MmDeleteRmap): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/section.c (MiReadPage, MmNotPresentFaultSectionView,
	MmAccessFaultSectionView, MmPageOutDeleteMapping,
	MmPageOutSectionView, MmFreeSectionPage): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/slab.c (ExGrowSlabCache): Changes to use
	PHYSICAL_ADDRESS type for physical address.
	* ntoskrnl/mm/virtual.c (MmPageOutVirtualMemory,
	MmNotPresentFaultVirtualMemory, MmFreeVirtualMemoryPage): Changes to
	use PHYSICAL_ADDRESS type for physical address.
	* ntoskrnl/mm/wset.c (MmTrimUserMemory): Changes to use
	PHYSICAL_ADDRESS type for physical address.
	* ntoskrnl/mm/page.c (Mmi386ReleaseMmInfo, MmCopyMmInfo,
	MmGetPhysicalAddressForProcess, MmCreateVirtualMapping,
	MmCreateVirtualMappingUnsafe, MmCreateVirtualMappingForProcess,
	MmDeleteVirtualMapping): Changes to use PHYSICAL_ADDRESS type for
	physical address.
	* ntoskrnl/ps/process (PsInitProcessManagment): Changes to use
	PHYSICAL_ADDRESS type for physical address.
	* ntoskrnl/ps/thread.c (PsAllocateCallbackStack): Changes to use
	PHYSICAL_ADDRESS type for physical address.

2002-06-04  David Welch  <welch@cwcom.net>

	* Lots of change since the ChangeLog was last updated.

svn path=/trunk/; revision=3000
2002-06-04 15:26:58 +00:00
Eric Kohl
a7a6f4a353 Fixed typo!
svn path=/trunk/; revision=2999
2002-06-04 14:14:07 +00:00
Eric Kohl
0fae9a2eac Fixed token type initialization.
svn path=/trunk/; revision=2998
2002-06-04 13:44:06 +00:00
Casper Hornstrup
a31f8b8f88 Corrected install.bat
svn path=/trunk/; revision=2997
2002-06-02 22:19:11 +00:00
Nedko Arnaudov
63409d34cf Ignore some intermediate files
svn path=/trunk/; revision=2996
2002-06-02 21:16:44 +00:00
Casper Hornstrup
1504a1115c Compile with new layout
svn path=/trunk/; revision=2995
2002-06-02 19:25:02 +00:00
Robert Kopferl
3d8bcf9d02 reorganized some files
svn path=/trunk/; revision=2994
2002-05-30 15:11:47 +00:00
Eric Kohl
9238b6279b Replaced linux partition type constants.
svn path=/trunk/; revision=2993
2002-05-29 21:41:41 +00:00
Eric Kohl
f07010f0fe Replaces linux partition type constants.
svn path=/trunk/; revision=2992
2002-05-29 21:39:06 +00:00
Eric Kohl
a6945246c2 Minor cleanup
svn path=/trunk/; revision=2991
2002-05-28 16:11:17 +00:00
Eric Kohl
b5f307997d Wait for BUSY to clear prior to selecting a drive. Disabled old code.
svn path=/trunk/; revision=2990
2002-05-28 09:34:18 +00:00
Eric Kohl
4cd4c7a855 Build a fake partition table for removable media drives.
svn path=/trunk/; revision=2989
2002-05-28 09:29:07 +00:00
Eric Kohl
d92e35924c Fix to support removable media (512 bytes per sector only!).
svn path=/trunk/; revision=2988
2002-05-28 09:25:09 +00:00
Hartmut Birr
a6f55d8cf7 Fixed creation of paging file in SmPagingFilesQueryRoutine.
svn path=/trunk/; revision=2987
2002-05-27 18:24:44 +00:00
Hartmut Birr
5d9e939c65 Fixed returned file length in GetFileInformationByHandle.
svn path=/trunk/; revision=2986
2002-05-27 18:23:49 +00:00
Eric Kohl
69494ad0b8 Silenced debug messages.
svn path=/trunk/; revision=2985
2002-05-26 20:25:49 +00:00
Eric Kohl
f193742266 Implemented command retries.
Improved error handling.

svn path=/trunk/; revision=2984
2002-05-26 20:24:42 +00:00
Eric Kohl
af5a948adf Always update disk geometry.
svn path=/trunk/; revision=2983
2002-05-26 20:23:22 +00:00
Eric Kohl
5aad28cf99 Silenced debug messages.
svn path=/trunk/; revision=2982
2002-05-26 20:20:39 +00:00
Eric Kohl
32e8099716 Enabled driver letter assignment for removable drives.
svn path=/trunk/; revision=2981
2002-05-26 20:18:18 +00:00
Eric Kohl
9ca6cf1169 Made NTFS-Partitions mountable.
svn path=/trunk/; revision=2980
2002-05-25 13:32:51 +00:00
Eric Kohl
a9f79206fa Fixed timeout for unpopulated ide channels.
Fixed inquiry data block for unpopulated ide channels.
Minor cleanup.

svn path=/trunk/; revision=2979
2002-05-25 13:30:53 +00:00
Eric Kohl
66bc07c8b9 Fixed severe bug in drive detection code.
Minor cleanup.

svn path=/trunk/; revision=2978
2002-05-24 22:28:11 +00:00
Eric Kohl
6ff87bd4f1 Fixed a severe bug in RtlQueryRegistryValues() and implemented support for REG_EXPAND_SZ.
Read the system environment from the registry.

svn path=/trunk/; revision=2977
2002-05-24 18:08:39 +00:00
Eric Kohl
dffbf01285 Added import of REG_EXPAND_SZ registry values.
Added media change support.
Added 'BootExecute'-feature to smss.
Added autochk dummy application.

svn path=/trunk/; revision=2976
2002-05-24 07:52:09 +00:00
Emanuele Aliberti
890bc030ff Build failed, then I removed it and checked it out again but ^Ms were there again.
I just removed the ^M at EOF. Maybe this time it works.

svn path=/trunk/; revision=2975
2002-05-23 20:59:22 +00:00
Eric Kohl
02fd65a6dc Use NT-compatible (VPB-based) mounting mechanism.
svn path=/trunk/; revision=2974
2002-05-23 09:53:26 +00:00
Brian Palmer
e5423f156b Compared the output of fat.asm from nasm v0.98 and nasm v0.98.32.
Modified fat.asm to produce the same output under both versions.

svn path=/trunk/; revision=2973
2002-05-22 22:15:28 +00:00
Eric Kohl
8e529b4411 Read settings from the registry.
svn path=/trunk/; revision=2972
2002-05-22 15:55:51 +00:00
Eric Kohl
47ee8afc68 Fixed Unload routine prototype.
svn path=/trunk/; revision=2971
2002-05-21 19:29:00 +00:00
David Welch
f4623b38f3 ntoskrnl/cc/view.c: CcRosTrimCache: Added a comment describing the
function.
ntoskrnl/ex/fmutex.c: ExAcquireFastMutexUnsafe: Reverted incorrect fix.
ntoskrnl/mm/section.c: MmUnmapViewOfSection: Removed acquiring the address
space lock; this is always done by the caller.
ntoskrnl/mm/section.c: NtUnmapViewOfSection: Hold the address space lock
over calls to MmUnmapViewOfSection.

svn path=/trunk/; revision=2970
2002-05-19 14:09:35 +00:00
Casper Hornstrup
10100f9649 Fixed a bug in ExAquireFastMutexUnsafe
svn path=/trunk/; revision=2969
2002-05-19 13:53:02 +00:00
David Welch
daad760238 services/fs/cdfs/.cvsignore: Added .cvsignore file
ntoskrnl/ex/fmutex.c: ExAcquireFastMutex: Added an check for recursively
acquiring a FAST_MUTEX.
ntoskrnl/include/internal/mm.h: ADDRESS_SPACE: Changed lock from a KMUTEX
to a FAST_MUTEX.
ntoskrnl/mm/aspace: MmLockAddressSpace, MmUnlockAddressSpace,
MmInitializeAddressSpace: Changed lock from a KMUTEX to a FAST_MUTEX
ntoskrnl/mm/mdl.c: MmInitializeMdlImplementation, MmMapLockedPages,
MmUnmapLockedPages: Use a special region that doesn't need the address
space lock for mapping MDLs.
ntoskrnl/mm/mminit.c: MmInit2: Call MDL initialization routine.
ntoskrnl/mm/section.c: MmMapViewOfSegment: Changed to a static function,
don't lock the address space since it is done by the caller.
ntoskrnl/ps/thread.c: PsDumpThreads: Fixed garbage prints in stack dump.

svn path=/trunk/; revision=2968
2002-05-17 23:01:57 +00:00
KJK::Hyperion
aec0b9bcfc New calls and new exported functions
svn path=/trunk/; revision=2967
2002-05-17 02:21:54 +00:00
KJK::Hyperion
da32d20e2c Miscellaneous calls
svn path=/trunk/; revision=2966
2002-05-17 02:16:16 +00:00
KJK::Hyperion
2d949174b9 Preliminary code for fork()
svn path=/trunk/; revision=2965
2002-05-17 02:12:55 +00:00
KJK::Hyperion
bce8535f50 Started implementing sys/stat.h calls
svn path=/trunk/; revision=2964
2002-05-17 02:10:41 +00:00
KJK::Hyperion
75a810da7d TLS calls (currently unused)
svn path=/trunk/; revision=2963
2002-05-17 02:07:14 +00:00
KJK::Hyperion
69ca37d697 Temporary code for debugging purposes
svn path=/trunk/; revision=2962
2002-05-17 02:04:39 +00:00
KJK::Hyperion
d24e468cb0 Fixed some embarassing errors
svn path=/trunk/; revision=2961
2002-05-17 01:55:34 +00:00
KJK::Hyperion
a2da78fa4e errno finally thread-safe
svn path=/trunk/; revision=2960
2002-05-17 01:52:03 +00:00
KJK::Hyperion
a97804075b Temporary code for debugging purposes
svn path=/trunk/; revision=2959
2002-05-17 01:49:53 +00:00
KJK::Hyperion
084950fd26 Temporary code
svn path=/trunk/; revision=2958
2002-05-17 01:47:13 +00:00
KJK::Hyperion
34a6708f44 Fixed assert() macro, fixed header
svn path=/trunk/; revision=2957
2002-05-17 01:42:41 +00:00
KJK::Hyperion
9523648137 SysV IPC headers
svn path=/trunk/; revision=2956
2002-05-17 01:37:15 +00:00
Eric Kohl
cca52d053b Modified LdrLoadModule() to return NTSTATUS.
Added missing definitions.

svn path=/trunk/; revision=2955
2002-05-16 06:41:30 +00:00
Eric Kohl
2d27974602 Added experimental support for FAT and NTFS FSDs.
Silenced debug messges.

svn path=/trunk/; revision=2954
2002-05-15 18:05:00 +00:00
Eric Kohl
1875c5ebb2 Added file system recognizer driver.
Implemented file system driver loading.
Minor cleanup.

svn path=/trunk/; revision=2953
2002-05-15 09:42:19 +00:00
Eric Kohl
3991d36943 Silenced debug message.
svn path=/trunk/; revision=2952
2002-05-14 23:17:12 +00:00
Eric Kohl
58cf63221a Fixed several cache-related bugs.
Silenced debug messages.

svn path=/trunk/; revision=2951
2002-05-14 23:16:23 +00:00
David Welch
fb21de32de Reverted the MPW changes (keep these in a seperate branch)
svn path=/trunk/; revision=2950
2002-05-14 21:19:21 +00:00
Casper Hornstrup
7922a9018d Added section test
svn path=/trunk/; revision=2947
2002-05-13 20:16:26 +00:00
Casper Hornstrup
c804ca06be Use ULONG_PTR instead of ULONG when doing pointer arithmetics.
Use ULONG_PTR for physical adresses and PVOID for virtual addresses.
Added several consistency checks in the memory memory manager.

svn path=/trunk/; revision=2946
2002-05-13 18:10:41 +00:00
Eric Kohl
5e4527aff7 Added file and directory caching.
Improved verify support.
Fixed a joliet filename bug.

svn path=/trunk/; revision=2945
2002-05-09 15:53:02 +00:00
Casper Hornstrup
e37bad87b8 Support multiple debug targets at the same time.
E.g. to use both serial logging on COM1 and GDB remote debugging on COM2 use:
/DEBUGPORT=COM1 /COM2 /DEBUGPORT=GDB
Made PICE compile with GCC 3.2.

svn path=/trunk/; revision=2944
2002-05-08 17:05:32 +00:00
Hartmut Birr
f82f2801bb Removed reseting of IrpFlags in ScsiPortDispatchScsi.
svn path=/trunk/; revision=2943
2002-05-07 23:13:24 +00:00
Hartmut Birr
51b30bed9f Opened files for redirection inheritable.
Printed error messages in main to stderr. If the output is redirected,
the error message isn't printed in the redirection.

svn path=/trunk/; revision=2942
2002-05-07 23:05:33 +00:00
Hartmut Birr
0e177cc7b9 Fixed a memory leakage in MmCreateImageSection.
Fixed a bug in MmNotPresentFaultSectionView.
Removed some wrong calls to ObDereferenceObject in MmMapViewOfSection.

svn path=/trunk/; revision=2941
2002-05-07 22:53:05 +00:00
Hartmut Birr
72d2c10489 Implemented CsrTerminateProcess.
svn path=/trunk/; revision=2940
2002-05-07 22:46:23 +00:00
Hartmut Birr
be75fc2273 Fixed the range test for handles in CsrGetObject/CsrReleaseObject.
svn path=/trunk/; revision=2939
2002-05-07 22:45:40 +00:00
Hartmut Birr
cbfefd1beb Create console active event inheritable.
svn path=/trunk/; revision=2938
2002-05-07 22:44:23 +00:00
Hartmut Birr
b6c40390d2 Fixed return value in CdfsGetFsSizeInformation.
svn path=/trunk/; revision=2937
2002-05-07 22:42:46 +00:00
Hartmut Birr
0ef49e3484 Modified reading of pipes.
Fixed some bugs.

svn path=/trunk/; revision=2936
2002-05-07 22:41:22 +00:00
Hartmut Birr
311a376750 Modified closing of pipes.
svn path=/trunk/; revision=2935
2002-05-07 22:40:35 +00:00
Hartmut Birr
cd1ca716e4 Added testing for inheritable objects/handles.
svn path=/trunk/; revision=2934
2002-05-07 22:39:26 +00:00
Hartmut Birr
8844bece5a Added testing for inheritable objects in NtDuplicateObject/ObCreateHandleTable.
Modified ObCreateHandleTable. The target handle table has now the same layout as the source table.

svn path=/trunk/; revision=2933
2002-05-07 22:38:29 +00:00
Hartmut Birr
136a40d069 Lock address space at returning in MmNotPresentFaultVirtualMemory.
svn path=/trunk/; revision=2932
2002-05-07 22:36:46 +00:00
Hartmut Birr
a2b0f101ef Fixed a wrong index in MmProbeAndLockPages.
svn path=/trunk/; revision=2931
2002-05-07 22:35:02 +00:00
Hartmut Birr
a76424cbbb Lock/unlock address space in KeReleasThread.
svn path=/trunk/; revision=2930
2002-05-07 22:34:17 +00:00
Hartmut Birr
d05ba1b39e Fixed the command line.
svn path=/trunk/; revision=2929
2002-05-07 22:33:07 +00:00
Hartmut Birr
ad703f36f3 Added handling for pipe closing.
svn path=/trunk/; revision=2928
2002-05-07 22:32:13 +00:00
Hartmut Birr
eb12656476 Started piping implementation.
svn path=/trunk/; revision=2927
2002-05-07 22:31:26 +00:00
Hartmut Birr
f88bb45115 Started piping implementation.
Fixed the command line for popen.

svn path=/trunk/; revision=2926
2002-05-07 22:27:42 +00:00
Hartmut Birr
b343539680 Added csrss notification in ExitProcess.
svn path=/trunk/; revision=2925
2002-05-07 22:26:29 +00:00
Hartmut Birr
e11e2826a9 Added support for piping.
svn path=/trunk/; revision=2924
2002-05-07 22:25:40 +00:00
Hartmut Birr
deb8a30fce Added basic support for console handles in DuplicateHandle.
svn path=/trunk/; revision=2923
2002-05-07 22:24:52 +00:00
Hartmut Birr
8b88e468e5 Fixed return value in CloseConsoleHandle.
svn path=/trunk/; revision=2922
2002-05-07 22:23:17 +00:00
Hartmut Birr
889631b2b9 Added handling for lpSecurityAttributes (for inheitable handles) in CreatePipe.
svn path=/trunk/; revision=2921
2002-05-07 22:22:28 +00:00
Hartmut Birr
652f529412 Do not call NtFlushBuffersFile for console handles.
svn path=/trunk/; revision=2920
2002-05-07 22:21:47 +00:00
Hartmut Birr
8aa6e0e7f6 Added handling for lpSecurityAttributes (for inheritable handles) in CreateFileW.
svn path=/trunk/; revision=2919
2002-05-07 22:21:02 +00:00
Hartmut Birr
b5d90aa2e5 Added O_NOINHERIT.
svn path=/trunk/; revision=2918
2002-05-07 22:20:00 +00:00
David Welch
2503ffd406 Added some comments.
svn path=/trunk/; revision=2916
2002-05-06 22:25:50 +00:00
David Welch
f1694d4913 Some additions to the USER code; nothing is working yet.
svn path=/trunk/; revision=2915
2002-05-06 22:20:32 +00:00
Hartmut Birr
2593e9b43d Added support for accessing the raw volume.
Rewrote the read/write functions.

svn path=/trunk/; revision=2914
2002-05-05 20:20:15 +00:00
Hartmut Birr
2ca90e6988 Implemented VfatGetUserBuffer and VfatLockUserBuffer.
svn path=/trunk/; revision=2913
2002-05-05 20:19:45 +00:00
Hartmut Birr
cc92156f65 Added support for accessing the raw volume.
Disabled some debug messages.

svn path=/trunk/; revision=2912
2002-05-05 20:19:14 +00:00
Hartmut Birr
d31b1c24ca Added support for accessing the raw volume.
svn path=/trunk/; revision=2911
2002-05-05 20:18:33 +00:00
KJK::Hyperion
11cc443546 made _read() non-greedy - it now returns as soon as any amount of data has been read. It's the expected behavior for line-buffered streams (KJK::Hyperion)
svn path=/trunk/; revision=2910
2002-05-05 17:18:50 +00:00
Casper Hornstrup
ee0b635648 Corrected mailing lists link
svn path=/trunk/; revision=2909
2002-05-05 15:30:01 +00:00
Casper Hornstrup
9ee98eeca9 Fixed warnings and errors so ReactOS can be compiled with GCC 3.2.
Removed unused ntoskrnl/rtl/bitops.c

svn path=/trunk/; revision=2908
2002-05-05 14:57:45 +00:00
Phillip Susi
b0188a2a7a Fixed ReadConsoleInput() to not wait for a newline
svn path=/trunk/; revision=2907
2002-05-05 03:45:21 +00:00
Brian Palmer
86b351ce41 Changes in v1.2.2 (5/4/2002)
- Fixed memory leak in menu.c

svn path=/trunk/; revision=2906
2002-05-04 09:25:47 +00:00
Brian Palmer
5d75740eea Quick Makefile fix
svn path=/trunk/; revision=2905
2002-05-04 08:19:22 +00:00
Brian Palmer
ab6d9f2a6b Changes in v1.2.1 (5/3/2002)
- Makefile updates
- Optimized the Makefile
- Removed recursive make functionality (builds much faster now)
- Places all output into one single directory
- Added automagically generated dependencies

svn path=/trunk/; revision=2904
2002-05-03 23:56:18 +00:00
David Welch
42bf54f96d Fixed irq problems.
Print more information on kernel mode exceptions.
Translate grub style command lines.

svn path=/trunk/; revision=2903
2002-05-02 23:45:33 +00:00
Jason Filby
930e00507c Proper line spacing and implemented cls
svn path=/trunk/; revision=2902
2002-05-02 09:10:00 +00:00
Eric Kohl
bff0ad1c2b Implemented read support.
Disabled debug messages.

svn path=/trunk/; revision=2901
2002-05-01 21:52:05 +00:00
Eric Kohl
7e9f288b08 Fixed FCB management functions.
Added file and directory information.
Fixed several minor bugs.
Disabled most of the debug messages.

svn path=/trunk/; revision=2900
2002-05-01 13:15:42 +00:00
Brian Palmer
467e8c55cc Changes in v1.2 (4/30/2002)
- All Linux kernels are supported (zImage & bzImage, loaded high & low)
- Initrd support
- FreeLoader now compiles under Mingw32 instead of just DJGPP, but
  the Mingw32 linker seems to output a corrupt binary.

svn path=/trunk/; revision=2899
2002-04-30 06:26:33 +00:00
Eric Kohl
b5d501b385 Improved default value handling in RtlQueryRegistryValues().
svn path=/trunk/; revision=2898
2002-04-29 23:20:44 +00:00
KJK::Hyperion
488ec274f1 Fixed bugs in null device drivers, added zero stream device
svn path=/trunk/; revision=2897
2002-04-29 23:06:42 +00:00
KJK::Hyperion
bceb83614d Fixed order of TARGET_LFLAGS in the command lines of rules for kernel-mode targets
Added "nostrip" rule for static libraries, currently does nothing new

svn path=/trunk/; revision=2896
2002-04-29 23:02:12 +00:00
Hartmut Birr
2a609b87c4 Added wild card expansion for argv.
svn path=/trunk/; revision=2895
2002-04-28 22:38:11 +00:00
Hartmut Birr
9412a16ec8 Added S_IFREG for files only.
svn path=/trunk/; revision=2894
2002-04-28 22:37:36 +00:00
Hartmut Birr
0bb4cfa71e Added _fcloseall for DLL_PROCESS_DETACH.
svn path=/trunk/; revision=2893
2002-04-28 22:37:00 +00:00
Brian Palmer
a28d727f4e Fixed FAT short file name buffer overflow that was causing some long filenames not to work correctly.
svn path=/trunk/; revision=2892
2002-04-28 20:31:42 +00:00
Hartmut Birr
efa19d923d Added support for bat/cmd files.
Added support for shell piping.

svn path=/trunk/; revision=2891
2002-04-27 19:26:54 +00:00
Hartmut Birr
ade2b9c4eb Fixed a bug in findDirSpace().
svn path=/trunk/; revision=2890
2002-04-27 19:25:57 +00:00
Hartmut Birr
418853bd8f Added seting of exit status in NtTerminateProcess.
svn path=/trunk/; revision=2889
2002-04-27 19:25:16 +00:00
Hartmut Birr
4aead93e6e Fixed a bug in MmUnmapLockedPages.
svn path=/trunk/; revision=2888
2002-04-27 19:24:45 +00:00
Hartmut Birr
83bcc22c5e Added npfs.sys to the automatic loaded drivers.
svn path=/trunk/; revision=2887
2002-04-27 19:24:15 +00:00
Hartmut Birr
18501a22c4 Added IoFileObjectType to ObReferenceObjectByHandle. If the function is not called with a file handle, there occures a page fault.
Moved dereferencing of the file object to IoSecondStageCompletion.

svn path=/trunk/; revision=2886
2002-04-27 19:23:33 +00:00
Hartmut Birr
10e98570f5 Changed to event object from file object.
svn path=/trunk/; revision=2885
2002-04-27 19:22:55 +00:00
Hartmut Birr
474ffaeded Fixed the test for FO_SYNCHONOUS_IO.
svn path=/trunk/; revision=2884
2002-04-27 19:22:09 +00:00
Hartmut Birr
ce8cda7cc1 Moved dereferencing of file objects to IoSecondStageCompletion.
svn path=/trunk/; revision=2883
2002-04-27 19:21:32 +00:00
Hartmut Birr
a253312fcf Moved '/DEBUGPORT=SCREEN' from loadros to (a)boot.bat.
svn path=/trunk/; revision=2882
2002-04-27 19:20:29 +00:00
Hartmut Birr
608baa209c Removed S_IFREG for files.
svn path=/trunk/; revision=2881
2002-04-27 19:17:25 +00:00
Hartmut Birr
ff2c349be8 Fixed a minor bug.
svn path=/trunk/; revision=2880
2002-04-27 19:16:53 +00:00
Hartmut Birr
d5b7bf25ee Moved CloseFile within MoveFileExW.
svn path=/trunk/; revision=2879
2002-04-27 19:15:43 +00:00
Hartmut Birr
4e33db4f34 Made GetTempFileNameA/W workable.
svn path=/trunk/; revision=2878
2002-04-27 19:15:00 +00:00
Hartmut Birr
80d859daab Added a trailing '\' to the directory in GetTempPathW.
svn path=/trunk/; revision=2877
2002-04-27 19:14:30 +00:00
Hartmut Birr
a82ce4daf4 Fixed a memory leakage in DeleteFileW.
svn path=/trunk/; revision=2876
2002-04-27 19:13:41 +00:00
Hartmut Birr
6d95c53a84 Fixed a memory leakage in CreateFileW.
svn path=/trunk/; revision=2875
2002-04-27 19:13:15 +00:00
Eric Kohl
e2ccc04cc8 Release MDL on IRP-completion. Thanks to Hartmut Birr.
svn path=/trunk/; revision=2874
2002-04-27 19:01:24 +00:00
Eric Kohl
4e09f73d4d Added code to import REG_MULTI_SZ values.
svn path=/trunk/; revision=2873
2002-04-27 19:00:14 +00:00
Eric Kohl
23f679e571 Added media change support (untested).
Added directory listing (works only on the root directory).

svn path=/trunk/; revision=2872
2002-04-26 23:21:28 +00:00
Eric Kohl
321c888721 Fixed drive map in the shared user page.
svn path=/trunk/; revision=2871
2002-04-26 19:59:25 +00:00
Eric Kohl
f46d1f34e3 Simplified access to the shared user page.
Update TickCountLow on timer ticks.

svn path=/trunk/; revision=2870
2002-04-26 13:12:34 +00:00
Eric Kohl
8ae62fd2db Removed direct debug output.
Replaced direct calls to bios routines.

svn path=/trunk/; revision=2869
2002-04-25 22:24:24 +00:00
Eric Kohl
7111fc6bfa Added the original copyright from isolinux.
Added 'Press any key to boot from CD' feature.
Changed load path to '\REACTOS\FREELDR.SYS'.

svn path=/trunk/; revision=2868
2002-04-25 14:22:25 +00:00
Brian Palmer
a9450f5a72 FreeLoader version 1.0!
Supports booting Linux bzImage kernels
No initrd support (yet)
No zImage support (yet)
No ext2 file system support (yet)
Forward slashes '/' as well as backslashes '\' can be used for path names in FAT & ISO-9660
Fixed bug in LBA code where is was only reading one sector even if you asked for more
Fixed bug in FAT code, was also present in ISO-9660 code

svn path=/trunk/; revision=2867
2002-04-25 02:48:15 +00:00
Eric Kohl
8c136a909a Implemented request-splitting.
svn path=/trunk/; revision=2866
2002-04-24 22:20:50 +00:00
Eric Kohl
c1e3c3d7fe Added ISO-9660 support.
svn path=/trunk/; revision=2865
2002-04-23 09:08:59 +00:00
Eric Kohl
13206a61a1 Added ISO-9660 boot sector description.
svn path=/trunk/; revision=2864
2002-04-22 12:05:07 +00:00
Eric Kohl
bba0443d8d Added .cvsignore file.
Added cdrom bootsector.

svn path=/trunk/; revision=2863
2002-04-22 10:02:35 +00:00
Phillip Susi
2b6504d6a9 Some more fixes to the IO manager routines to use the KEVENT in the FILE_OBJECT correctly
svn path=/trunk/; revision=2862
2002-04-20 03:46:40 +00:00
Phillip Susi
951c94bc9a Fixed stat() to set the S_IFREG flag to indicate that the file is a normal file
svn path=/trunk/; revision=2861
2002-04-20 03:33:12 +00:00
Phillip Susi
bd99ddf7af KiInterruptDispatch was leaving interrupts disabled when dropping to PASSIVE_LEVEL to run the idle thread
I'm not quite sure I have it reenable interrupts at a safe place, but at least it does enable them

svn path=/trunk/; revision=2860
2002-04-20 03:21:35 +00:00
Eric Kohl
50015e56ee Fixed a silly bug! I forgot to move an #include line. :-/
svn path=/trunk/; revision=2859
2002-04-19 20:27:20 +00:00
Eric Kohl
b88eb21a16 Restricted mounting of file systems (e.g. don't try to mount a cdrom file system to a harddisk).
Moved helper functions of IoVerifyVolume().
Minor improvements to IoVerifyVolume().

svn path=/trunk/; revision=2858
2002-04-19 10:10:29 +00:00
Robert Kopferl
3665f8cac4 documentatnio
and slight mods

svn path=/trunk/; revision=2857
2002-04-18 23:49:42 +00:00
Robert Kopferl
a333340f0b my idea of a dirstruct
svn path=/trunk/; revision=2856
2002-04-18 23:48:12 +00:00
Eric Kohl
1fbe5019da Fixed a typo that caused cdfs mounts to fail ('CdRom0' vs 'Cdrom0'). :-/
Removed old drive letter assignment code.

svn path=/trunk/; revision=2855
2002-04-17 18:26:53 +00:00
Eric Kohl
d3e627f08c Moved the hardcoded command line string to loadros.
svn path=/trunk/; revision=2854
2002-04-17 11:56:33 +00:00
Eric Kohl
d3b50da3ce Added a dos command line buffer and hardcoded the kernel command line for ntoskrnl.exe.
svn path=/trunk/; revision=2853
2002-04-17 11:55:37 +00:00
Brian Palmer
c44d02099d Added LBA support to FAT12/16 boot sector
Now the FAT12/16 boot sector properly works on all FAT12/16 partition types (1, 4, 6, 0xe)
Fixed a few small bugs

svn path=/trunk/; revision=2852
2002-04-16 06:11:08 +00:00
Eric Kohl
3730336e4d Split the driver into more files.
Replaced FCB code.
Improved the mount code.

svn path=/trunk/; revision=2851
2002-04-15 20:39:49 +00:00
Eric Kohl
e00643eb28 Removed obsolete 'optimization'.
svn path=/trunk/; revision=2850
2002-04-15 12:38:01 +00:00
Emanuele Aliberti
3febeb4ae5 Minor fixes-
svn path=/trunk/; revision=2847
2002-04-14 18:06:39 +00:00
Phillip Susi
9c79266654 Fixed idle loop to use HLT to save power and cpu time under vmware
svn path=/trunk/; revision=2846
2002-04-14 16:01:19 +00:00
Phillip Susi
03c68cbfb4 HiSetIrql() was leaving interrupts disabled, fixed.
svn path=/trunk/; revision=2845
2002-04-14 16:00:27 +00:00
Steven Edwards
81345fd691 Still working on making dflat32 a dll. Alot of this will be cleaned up in the
next few weeks. I'm going through the DFLAT api doc and fixing the export
names and then going to try to build a simple hello dflat application.

svn path=/trunk/; revision=2844
2002-04-14 10:15:06 +00:00
Eugene Ingerman
531d8f275d Fixed potential zero pointer reference.
svn path=/trunk/; revision=2843
2002-04-12 17:54:07 +00:00
Eric Kohl
c423031b39 Added basic iso-9660 file system driver. Thanks to Art Yerkes.
svn path=/trunk/; revision=2842
2002-04-12 15:43:38 +00:00
Emanuele Aliberti
bb24d01a48 PSX: early code for the PSXSS server program. Currently it is a W32 console application,
therefore it is not a proper subsystem, but it will be converted to native as soon as
it begins working. It probably does NOT work under ROS. I tested it under NT 4.0 SP 6a.
To see what it creates in the system name sapce, run WinObj, and HandleEx. If you
run csrterm.exe, it tries to connect to psxss.exe, but then dies because the API to
tell psxss to create a PSX process it not implemented yet. PSXDLL.DLL will connect
to \POSIX+\ApiPort (initial code in psx/lib/psxdll/misc/init.c is mute).

svn path=/trunk/; revision=2841
2002-04-10 21:30:22 +00:00
Emanuele Aliberti
f6c21b1a91 PSX: updated internal PSXSS system calls table generator.
svn path=/trunk/; revision=2840
2002-04-10 21:13:30 +00:00
Emanuele Aliberti
b9b1d40823 PSX: more work on the terminal emulator that runs in the W32 subsystem.
svn path=/trunk/; revision=2839
2002-04-10 21:12:41 +00:00
Eric Kohl
f1bc2201f0 Implemented IOCTL_CDROM_GET_DRIVE_GEOMETRY.
Some fixes to enable mounting of cdroms.

svn path=/trunk/; revision=2838
2002-04-10 17:02:22 +00:00
Eric Kohl
62b86daaf8 Moved IoVerifyVolume().
Made CDROM and TAPE devices mountable.

svn path=/trunk/; revision=2837
2002-04-10 09:58:45 +00:00
Steven Edwards
b6a1093b95 Disregard this, I hit remove by mistake and am adding it back
svn path=/trunk/; revision=2836
2002-04-10 07:47:56 +00:00
Steven Edwards
80bd55a9d0 Disregard this, I hit remove by mistake and am adding it back
svn path=/trunk/; revision=2835
2002-04-10 07:44:09 +00:00
Steven Edwards
1e8b9112f0 fix some warnings in the makefile and added a time_t test
svn path=/trunk/; revision=2834
2002-04-10 07:18:40 +00:00
Steven Edwards
5a5caf8ad5 A even more simple windowing test.
This should be our first goal before winhello

svn path=/trunk/; revision=2833
2002-04-10 03:52:30 +00:00
Phillip Susi
b1caf2b5e9 Reworked quite a bit of IO manager code to fix several bugs:
1) fixed create.c to use a null file name when opening the raw device, instead of a file name with a single null terminator char

2) fixed cleanup.c create.c dir.c file.c fs.c page.c rw.c to use the KEVENT object in the FILE_OBJECT when it needs one to wait on, or if there is no FILE_OBJECT, the KEVENT MUST be allocated from non paged pool, NOT the stack.

svn path=/trunk/; revision=2832
2002-04-07 18:36:13 +00:00
Phillip Susi
6ce277b452 MAJOR BUGFIX: ide.sys was not returning iostatus information when it completed requests ( error code, and length transfered )
svn path=/trunk/; revision=2831
2002-04-07 18:28:49 +00:00
Emanuele Aliberti
5a81c98a15 Fixed makefile for building import libraries for the PSX subsystem DK.
svn path=/trunk/; revision=2830
2002-04-07 14:21:13 +00:00
Emanuele Aliberti
2888319d30 Wrong port: CSRTERM.EXE will connect to \POSIX+\SessionPort not to
\POSIX+\ApiPort.

svn path=/trunk/; revision=2829
2002-04-07 14:06:46 +00:00
Emanuele Aliberti
6bdcbd1bb7 Minor change.
svn path=/trunk/; revision=2828
2002-04-07 13:56:16 +00:00
Emanuele Aliberti
8c130e007e Version info script added.
Modified to link against /dk/psx/lib/psxdll.a

svn path=/trunk/; revision=2827
2002-04-07 13:53:51 +00:00
Steven Edwards
80362e4ed7 added Hartmuts KeDetachProcess(); and attach patch for GCC.
svn path=/trunk/; revision=2826
2002-04-07 09:24:36 +00:00
Emanuele Aliberti
3cbf8c1de6 PSX: The tool to build internal system calls tables and auxiliary C files.
svn path=/trunk/; revision=2825
2002-04-06 16:07:34 +00:00
Emanuele Aliberti
0c3dba541d Minor fixes: some more code needed to make it work.
This one actually connects to the PSXSS.EXE process.

svn path=/trunk/; revision=2824
2002-04-06 16:00:46 +00:00
Eric Kohl
c19d6a953f Fixed crash in environment variable evaluation.
svn path=/trunk/; revision=2822
2002-04-05 12:53:21 +00:00
Steven Edwards
2c38da05a1 Added BSD touch utillity.
svn path=/trunk/; revision=2821
2002-04-03 03:57:56 +00:00
Hartmut Birr
224bb37961 Fixed a bug in RtlDestroyHeap, that will cause a page fault, if more than one subheap exist.
svn path=/trunk/; revision=2820
2002-04-03 00:04:01 +00:00
Eric Kohl
bcde238ede Added mapping of scsi error codes to status codes.
Retries are still disabled.

svn path=/trunk/; revision=2816
2002-04-01 23:51:09 +00:00
Hartmut Birr
6c88e069c4 Fixed a typo.
svn path=/trunk/; revision=2815
2002-04-01 22:18:01 +00:00
Hartmut Birr
9e6b238365 Fixed a wrong length check in RtlAnsiStringToUnicodeString()/RtlOemStringToUnicodeString().
svn path=/trunk/; revision=2814
2002-04-01 22:13:15 +00:00
Hartmut Birr
0bdd211873 Fixed the length calculation in RtlCreateProcessParameters().
svn path=/trunk/; revision=2813
2002-04-01 22:11:52 +00:00
Hartmut Birr
b17ab99f15 Fixed a wrong parameter for a call to ZwFreeVirtualMemory(). This fixes a page fault at address 0 (cr2 = 0).
Fixed the calculation of the maximum heap count in RtlInitializeHeapManager().

svn path=/trunk/; revision=2812
2002-04-01 22:11:12 +00:00
Hartmut Birr
c75ecda469 Added ansi to unicode translation for the environment in CreateProcessA().
Changed handling for current directory in CreateProcessAW().
Changed size calculation for the environment in KlInitPeb().
Changed determaining of program name and command line in CreateProcessW().
Added conversion for some handles in CreateProcessW().

svn path=/trunk/; revision=2811
2002-04-01 22:09:59 +00:00
Hartmut Birr
de299abd9a Fixed some wrong size calculations in GetEnvironmentStringsA().
Fixed a wrong return value in GetEnvironmentVariableA().

svn path=/trunk/; revision=2810
2002-04-01 22:08:20 +00:00
Hartmut Birr
6c10b3528a Rewrote OpenFile().
svn path=/trunk/; revision=2809
2002-04-01 22:06:51 +00:00
Hartmut Birr
e806f90b71 Fixed handling for non existing files.
svn path=/trunk/; revision=2808
2002-04-01 22:05:43 +00:00
Hartmut Birr
ea5f41e8a5 Added handling for std handles.
svn path=/trunk/; revision=2807
2002-04-01 22:03:56 +00:00
Hartmut Birr
7497838509 Changed to a separat heap for malloc/calloc/realloc/free.
svn path=/trunk/; revision=2806
2002-04-01 22:03:13 +00:00
Hartmut Birr
ae374594ce Removed fixed size of environment vars.
svn path=/trunk/; revision=2805
2002-04-01 22:01:33 +00:00
Hartmut Birr
2cda2c03b3 Fixed error handling in _filebuf().
svn path=/trunk/; revision=2804
2002-04-01 22:00:02 +00:00
Hartmut Birr
3005268105 Removed fixed size of args and envblock in go32_exec() (gcc uses a very large cmd line).
Added closing of thread and/or process handle at exit in _spawnve().
Added debug messages.

svn path=/trunk/; revision=2803
2002-04-01 21:58:45 +00:00
Hartmut Birr
4d142d61ac Added closing of process handle at exit.
svn path=/trunk/; revision=2802
2002-04-01 21:56:56 +00:00
Hartmut Birr
aaeb01a3e1 Changed heap validation.
svn path=/trunk/; revision=2801
2002-04-01 21:55:50 +00:00
Hartmut Birr
0ea281268b Added heap initialization for malloc/calloc/realloc/free.
Added debug messages.
Removed fixed count for environment.

svn path=/trunk/; revision=2800
2002-04-01 21:55:09 +00:00
Hartmut Birr
e129158330 Added debug messages.
Added LN to CR/LN translation for text files.

svn path=/trunk/; revision=2799
2002-04-01 21:52:45 +00:00
Hartmut Birr
5cd1300eac Added debug messages.
Added special handling for std file descriptors.

svn path=/trunk/; revision=2798
2002-04-01 21:51:59 +00:00
Hartmut Birr
e8b5ff7de0 Added CR-removing for text files.
Added debug messages.

svn path=/trunk/; revision=2797
2002-04-01 21:50:56 +00:00
Hartmut Birr
db69b4ae79 Fixed initialization of new fileno_modes in __fileno_alloc().
Added setting of errno in _open().
Added debug messages.

svn path=/trunk/; revision=2796
2002-04-01 21:47:31 +00:00
Hartmut Birr
50c7ca2780 Added debug messages.
svn path=/trunk/; revision=2795
2002-04-01 21:38:50 +00:00
Hartmut Birr
a45170ea27 Added ntdll.a to TARGET_SDKLIBS
svn path=/trunk/; revision=2794
2002-04-01 21:33:27 +00:00
Steven Edwards
3a6f36f512 typedef int key_t; was defined twice
svn path=/trunk/; revision=2793
2002-03-31 04:37:19 +00:00
Steven Edwards
e158da64af Minor cosmetic cleanup....sorry I'm a little obsessive compulsive
svn path=/trunk/; revision=2792
2002-03-31 04:25:15 +00:00
Steven Edwards
7c813ceacd added bootc.lst to aboot.bat. I dont know if the ACPI driver is
still working like this.

svn path=/trunk/; revision=2791
2002-03-31 04:23:35 +00:00
Eric Kohl
59c881e5c3 Fixed a serious typo.
svn path=/trunk/; revision=2790
2002-03-30 01:59:01 +00:00
Steven Edwards
63e2886299 Making dflat32 a dll. Its a little broken ATM.
svn path=/trunk/; revision=2789
2002-03-28 12:15:40 +00:00
Eric Kohl
fabd313f2a Added support for .lst files. Thanks to Art Yerkes.
svn path=/trunk/; revision=2788
2002-03-27 22:26:25 +00:00
Steven Edwards
29e7f88439 Updated Makefile for wine_unicode.dll wrc and winebuild.
Added wrc to rules.mk

These are not used yet.

svn path=/trunk/; revision=2787
2002-03-27 04:38:58 +00:00
Eric Kohl
c620a68b29 Implemented the SENSE_REQUEST command.
svn path=/trunk/; revision=2786
2002-03-27 00:35:52 +00:00
Robert Kopferl
196b746efd *** empty log message ***
svn path=/trunk/; revision=2785
2002-03-26 01:42:02 +00:00
Eric Kohl
aa38bd158b Cosmetic changes
svn path=/trunk/; revision=2784
2002-03-25 21:56:55 +00:00
Eric Kohl
c773562024 Started improving error handling and retries.
svn path=/trunk/; revision=2783
2002-03-25 21:56:19 +00:00
Hartmut Birr
5ede96eff7 Fixed the length of the command line.
svn path=/trunk/; revision=2782
2002-03-25 21:11:13 +00:00
Hartmut Birr
f4a1a5dd8e Rewrote SearchPathW().
svn path=/trunk/; revision=2781
2002-03-25 21:09:18 +00:00
Hartmut Birr
329e4b6888 Fixed negativ positions in SetFilePointer().
svn path=/trunk/; revision=2780
2002-03-25 21:07:17 +00:00
Emanuele Aliberti
68230ee1f4 Minor change: CVS Id placeholder fixed or added.
svn path=/trunk/; revision=2779
2002-03-24 18:55:39 +00:00
Emanuele Aliberti
1c80c9b655 Linker warning fixed.
svn path=/trunk/; revision=2778
2002-03-24 18:52:10 +00:00
Eric Kohl
1bac32612a Initialized device lock event.
svn path=/trunk/; revision=2777
2002-03-24 15:30:44 +00:00
Eric Kohl
e3879d11ec Set feature register for atapi commands.
svn path=/trunk/; revision=2776
2002-03-24 15:29:57 +00:00
Steven Edwards
7f0bfc685d Started work on seperating dflat32 console graphics library in to a dll
inital header import.

svn path=/trunk/; revision=2775
2002-03-24 15:29:09 +00:00
Casper Hornstrup
9ab896569c Added tree traversal routines for tree data structures.
svn path=/trunk/; revision=2774
2002-03-23 19:44:46 +00:00
Robert Kopferl
aea2b71437 initial comit
svn path=/trunk/; revision=2773
2002-03-23 19:23:28 +00:00
KJK::Hyperion
e23995664a updated clean rule
svn path=/trunk/; revision=2772
2002-03-23 18:13:33 +00:00
Casper Hornstrup
59562362a8 Support non-paged version of binary tree, splay tree and hash table.
svn path=/trunk/; revision=2771
2002-03-23 13:53:22 +00:00
Eric Kohl
716ec9c7cf Disabled annoying debug message.
svn path=/trunk/; revision=2770
2002-03-22 23:07:40 +00:00
Eric Kohl
4fd3b07f1d Started using lookaside lists for SRBs.
Fixed a typo.

svn path=/trunk/; revision=2769
2002-03-22 23:06:58 +00:00
Eric Kohl
a97f4f1164 Disabled debug output.
svn path=/trunk/; revision=2768
2002-03-22 23:05:44 +00:00
Eric Kohl
24f7c7d9bb Pass correct Cdb size.
svn path=/trunk/; revision=2767
2002-03-22 23:05:13 +00:00
Casper Hornstrup
c08aa00a0e Added a binary tree implementation
Added a splay tree implementation
Added a hash table implementation

svn path=/trunk/; revision=2766
2002-03-22 20:58:23 +00:00
Eric Kohl
be5628fdc9 Started support for removable disk drives.
svn path=/trunk/; revision=2765
2002-03-22 20:35:09 +00:00
Eric Kohl
0b0f4a17d0 Fixed default geometry.
svn path=/trunk/; revision=2764
2002-03-22 20:34:15 +00:00
Eric Kohl
270385e857 Added default disk geometry.
svn path=/trunk/; revision=2763
2002-03-22 20:32:36 +00:00
Eric Kohl
a613171558 Fixed atapi block size bug.
svn path=/trunk/; revision=2762
2002-03-22 20:31:26 +00:00
KJK::Hyperion
3b1645e839 some types and constants modified for compatibility with Microsoft POSIX
svn path=/trunk/; revision=2761
2002-03-22 01:26:28 +00:00
KJK::Hyperion
4e0441ed70 dummy include files for compatibility with Microsoft POSIX
svn path=/trunk/; revision=2760
2002-03-22 01:24:49 +00:00
KJK::Hyperion
3fdc53241d useless commit: fixed comment
svn path=/trunk/; revision=2759
2002-03-21 22:50:06 +00:00
KJK::Hyperion
a910a28a31 added read and write syscalls to psxdll, rule for csrapi.a
svn path=/trunk/; revision=2758
2002-03-21 22:49:24 +00:00
KJK::Hyperion
abded70d84 Csr API (temporary - for testing purposes only)
svn path=/trunk/; revision=2757
2002-03-21 22:48:38 +00:00
KJK::Hyperion
8bc9429074 more forward exports to NTDLL
svn path=/trunk/; revision=2756
2002-03-21 22:47:05 +00:00
KJK::Hyperion
75deecc48d implemented read and write system calls
svn path=/trunk/; revision=2755
2002-03-21 22:46:30 +00:00
KJK::Hyperion
9e44e1b4a3 finally working spawn
svn path=/trunk/; revision=2754
2002-03-21 22:43:27 +00:00
KJK::Hyperion
01011e86cc various fixes
svn path=/trunk/; revision=2753
2002-03-21 22:43:13 +00:00
KJK::Hyperion
acbed041bb removed unused variable
svn path=/trunk/; revision=2752
2002-03-21 22:41:53 +00:00
KJK::Hyperion
2584adcb3b fixed code to determine file inode - should work now
svn path=/trunk/; revision=2751
2002-03-21 22:41:20 +00:00
KJK::Hyperion
ecf734386e problem with CVS...
svn path=/trunk/; revision=2750
2002-03-21 22:40:48 +00:00
KJK::Hyperion
82e00a0128 fixed code to determine file inode - should work now
svn path=/trunk/; revision=2749
2002-03-21 22:38:13 +00:00
Eric Kohl
54802d46db Changed drive assignment.
svn path=/trunk/; revision=2748
2002-03-21 19:35:58 +00:00
Eric Kohl
4b4b2c0194 Boot new disk and cdrom drivers instead of ide.sys.
svn path=/trunk/; revision=2747
2002-03-20 21:06:27 +00:00
Eric Kohl
5fa7b5d2e6 Added isotest utility.
svn path=/trunk/; revision=2746
2002-03-20 21:04:46 +00:00
Eric Kohl
68cf79c0ef Try to read disk capacity on startup.
svn path=/trunk/; revision=2745
2002-03-20 20:00:07 +00:00
Eric Kohl
ff879e4069 Fixed minor bugs.
svn path=/trunk/; revision=2744
2002-03-20 19:55:08 +00:00
Eric Kohl
4b81987f15 Fixed minor bug.
svn path=/trunk/; revision=2743
2002-03-20 19:54:06 +00:00
Steven Edwards
5edcdad825 Minor updates. Hope to use in the build system at some point.
svn path=/trunk/; revision=2742
2002-03-20 02:59:42 +00:00
Brian Palmer
25ca1a385c Rewrote .ini file code - should be much faster (especially in bochs)
Leading whitespace in a line is now ignored
Changed .ini file comment character from '#' to ';' to be compatible with MS
There is still a mysterious memory allocation failed bug however!?

svn path=/trunk/; revision=2741
2002-03-20 00:39:32 +00:00
Hartmut Birr
4eaf05b3e3 Disabled the cache access for the page file in VfatReadFile()/VfatWriteFile().
Fixed a return value in NextCluster().

svn path=/trunk/; revision=2740
2002-03-19 02:29:32 +00:00
Eric Kohl
42922e8b27 Implemented ATAPI support.
svn path=/trunk/; revision=2739
2002-03-19 00:48:52 +00:00
Hartmut Birr
5731706583 Fixed creation of environment variable SystemDrive.
svn path=/trunk/; revision=2738
2002-03-18 22:44:42 +00:00
Hartmut Birr
d09531b121 All:
Changed directory and fat access to pining-interface.
Removed unused values from DEVICE_EXTENSION structure.
Changed calculation of available and free clusters.
Changed mount and type determining procedure.
Moved some functions to fsctl.c

volume.c:
Added FAT32 fs type.

dirw.c:
Fixed a directory creation bug on FAT32 (Thanks to Eric Kohl).
Fixed a directory deletion bug.

dir.c:
Fixed a dead lock in DoQuery.
Fixed some memory leakages.

svn path=/trunk/; revision=2737
2002-03-18 22:37:13 +00:00
Eric Kohl
2c21decf9c Fixed Nt/ZwCreatePagingFile() prototype.
svn path=/trunk/; revision=2736
2002-03-18 16:16:47 +00:00
Hartmut Birr
aac1177de4 Implemented RamdrvDispatchDeviceControl for IOCTL_DISK_GET_DRIVE_GEOMETRY.
svn path=/trunk/; revision=2735
2002-03-17 22:31:11 +00:00
Hartmut Birr
933c073785 Implemented FloppyDispatchDeviceControl for IOCTL_DISK_GET_DRIVE_GEOMETRY (not complete).
svn path=/trunk/; revision=2734
2002-03-17 22:28:22 +00:00
Emanuele Aliberti
3f6956a59c PSX: file needed to compile csrterm.
svn path=/trunk/; revision=2733
2002-03-17 22:19:37 +00:00
Emanuele Aliberti
ab561cad5a Initial code for the VT-100 terminal emulator that runs in the W32
subsystem and connects to the PSXSS.EXE (WIP).

svn path=/trunk/; revision=2732
2002-03-17 22:15:39 +00:00
KJK::Hyperion
8571b1561a Moved zlib in reactos/lib/zlib and updated to version 1.1.4
svn path=/trunk/; revision=2731
2002-03-17 21:21:39 +00:00
KJK::Hyperion
dc5296ac57 Moved zlib in reactos/lib/zlib and updated to version 1.1.4
svn path=/trunk/; revision=2730
2002-03-17 21:08:37 +00:00
KJK::Hyperion
5d114d5f6c Added zlib version 1.1.4 to the source tree (contains several bugfixes, some security related). Currently, makefile.reactos is called to make a static zlib.a, not by the master makefile, but by reactos/apps/cabman/makefile, since it's the only part of ReactOS that uses zlib, at the moment
Should this be fixed? should zlib be a DLL? please comment!

svn path=/trunk/; revision=2729
2002-03-17 21:05:05 +00:00
Hartmut Birr
9a02e2c18b Fixed the return value in GetEnvironmentVariable().
svn path=/trunk/; revision=2728
2002-03-17 17:56:57 +00:00
Hartmut Birr
3e432831b1 Added the packed attribute to some structures.
svn path=/trunk/; revision=2727
2002-03-17 17:53:34 +00:00
Hartmut Birr
d9ded3d529 Added a trailing null entry in NtQueryDirectoryObject().
svn path=/trunk/; revision=2726
2002-03-17 17:51:33 +00:00
Hartmut Birr
11edaf36b0 Fixed the copy length in GetSystemDirectory().
svn path=/trunk/; revision=2725
2002-03-17 17:49:56 +00:00
Hartmut Birr
c5dba326b2 Increased the debug print buffer.
svn path=/trunk/; revision=2724
2002-03-17 17:48:17 +00:00
Hartmut Birr
52ec7b4aa1 Fixed the maximum length in DbgPrint().
svn path=/trunk/; revision=2723
2002-03-17 17:23:03 +00:00
Hartmut Birr
6f1ce04e39 Fixed a parameter for IRPMN_MOUNT_VOLUME.
svn path=/trunk/; revision=2722
2002-03-17 17:21:44 +00:00
Eric Kohl
6574059d88 Fixed a 'ghost drives' bug.
svn path=/trunk/; revision=2721
2002-03-17 15:47:31 +00:00
Eric Kohl
831af58934 Improved registry initialization.
svn path=/trunk/; revision=2720
2002-03-16 19:57:26 +00:00
Eric Kohl
c35bee1fdd Added ISA-Bus initialization by Hartmut Birr.
svn path=/trunk/; revision=2719
2002-03-16 16:13:57 +00:00
Eric Kohl
e451a9e365 Moved CreateSystemRootLink() away.
svn path=/trunk/; revision=2718
2002-03-16 00:00:13 +00:00
Casper Hornstrup
e210855943 assertmsg() macro
svn path=/trunk/; revision=2717
2002-03-15 23:24:43 +00:00
Casper Hornstrup
190f4b2256 Configuration manager cleanup.
Added consistency checks.

svn path=/trunk/; revision=2716
2002-03-15 19:46:07 +00:00
Casper Hornstrup
bcc0a8a082 assertmsg() macro
svn path=/trunk/; revision=2715
2002-03-15 19:44:16 +00:00
Eric Kohl
8155941183 Fixed device characteristics.
svn path=/trunk/; revision=2714
2002-03-15 16:35:41 +00:00
Eric Kohl
70bf7d3e28 Added write-ability for ATA devices (harddisks).
svn path=/trunk/; revision=2713
2002-03-15 16:34:52 +00:00
Hartmut Birr
2c92fa8738 Fixed return value in ReadFile().
svn path=/trunk/; revision=2712
2002-03-14 16:35:53 +00:00
Hartmut Birr
b53f18ea54 Fixed a wrong pointer calculation in RtlpCopyParameterString().
svn path=/trunk/; revision=2711
2002-03-14 16:32:49 +00:00
Casper Hornstrup
dd9ae3aba1 Added arcname.o to makefile
svn path=/trunk/; revision=2710
2002-03-13 23:37:25 +00:00
Eric Kohl
7628f451d5 Fixed some function prototypes.
svn path=/trunk/; revision=2709
2002-03-13 20:41:28 +00:00
Eric Kohl
94860ff5bb Moved creation of ARC names into ntoskrnl.
svn path=/trunk/; revision=2708
2002-03-13 01:53:00 +00:00
Eric Kohl
576dc2f69b Moved creation of ARC names into ntoskrnl.
svn path=/trunk/; revision=2707
2002-03-13 01:30:34 +00:00
Eric Kohl
724d0e6c2f Implemented IOCTL_DISK_GET_PARTITION_INFO.
Removed internal disk size limit.

svn path=/trunk/; revision=2706
2002-03-12 20:16:53 +00:00
Brian Palmer
c08d8bcfb9 Fixed bug in LBA code.
svn path=/trunk/; revision=2705
2002-03-12 19:55:08 +00:00
KJK::Hyperion
0ae6e2be42 prototype for __PdxSpawnPosixProcess()
svn path=/trunk/; revision=2704
2002-03-11 20:51:59 +00:00
KJK::Hyperion
fde508f3f3 added __PdxProcessDataToProcessParameters()
svn path=/trunk/; revision=2703
2002-03-11 20:51:16 +00:00
KJK::Hyperion
5c3b75ab41 added missing include
svn path=/trunk/; revision=2702
2002-03-11 20:50:49 +00:00
KJK::Hyperion
0283e02202 updated to reflect modifications to the code
svn path=/trunk/; revision=2701
2002-03-11 20:49:09 +00:00
KJK::Hyperion
b62ac8152f initial code for process attach
svn path=/trunk/; revision=2700
2002-03-11 20:48:25 +00:00
KJK::Hyperion
6d05bb6b7a added a TODO
svn path=/trunk/; revision=2699
2002-03-11 20:48:08 +00:00
KJK::Hyperion
65b82fb4d2 __PdxSpawnPosixProcess() now initializes process parameters too. Almost working!
svn path=/trunk/; revision=2698
2002-03-11 20:46:38 +00:00
KJK::Hyperion
5306bd86fb Added __PdxProcessDataToProcessParameters()
svn path=/trunk/; revision=2697
2002-03-11 20:45:07 +00:00
Brian Palmer
1bd3b67ed2 Reworked LoadAndBootPartition() function, got rid of warnings.
svn path=/trunk/; revision=2696
2002-03-11 18:50:17 +00:00
KJK::Hyperion
1058361a99 typo
svn path=/trunk/; revision=2695
2002-03-10 18:06:08 +00:00
KJK::Hyperion
885b79ec17 added some exports, and tweaked the makefile
svn path=/trunk/; revision=2694
2002-03-10 17:10:30 +00:00
KJK::Hyperion
2e992926e3 finally (and hopefully) functional __PdxSpawnPosixProcess. To be tested
svn path=/trunk/; revision=2693
2002-03-10 17:09:46 +00:00
KJK::Hyperion
cabe571090 __PdxSerializeProcessData and __PdxUnserializeProcessData calls
svn path=/trunk/; revision=2692
2002-03-10 17:04:07 +00:00
KJK::Hyperion
e2f5d4b2f6 prototypes for __PdxSerializeProcessData and __PdxUnserializeProcessData
svn path=/trunk/; revision=2691
2002-03-10 17:03:18 +00:00
Phillip Susi
5126871fcf Some fixes for the expression evaluator:
Evaluate static symbols
Evaulate local symbols
Still has bugs locating type definitions, at least for pointer types
There also seems to be a bug matching up lines of source with the correct instruction addresses

svn path=/trunk/; revision=2690
2002-03-09 20:51:43 +00:00
Emanuele Aliberti
48e308623c I added Steven Edwards and KJK::Hyperion to the rccp.
More to come as soon as I finish scanning the cvs-commit list.

svn path=/trunk/; revision=2689
2002-03-09 16:04:50 +00:00
Hartmut Birr
5fbc8d0a6e Fixed a dead lock between an APC (delivered from IoCompleteRequest)
and a call to KeWaitForSingleObject.

svn path=/trunk/; revision=2688
2002-03-08 17:04:03 +00:00
Eric Kohl
7828679470 Silenced it.
Minor cleanup.

svn path=/trunk/; revision=2687
2002-03-08 12:03:28 +00:00
Eric Kohl
13ea277979 Added IOCTL_DISK_GET_PARTITION_INFO.
Silenced it.

svn path=/trunk/; revision=2686
2002-03-08 12:01:26 +00:00
Eric Kohl
c10817479d Silenced it.
svn path=/trunk/; revision=2685
2002-03-08 11:59:49 +00:00
Eric Kohl
339287ad60 Recognizes CD-ROM drives.
svn path=/trunk/; revision=2684
2002-03-08 11:59:08 +00:00
Eric Kohl
c309738334 Improved recognition of ATAPI devices.
Minor cleanup.

svn path=/trunk/; revision=2683
2002-03-08 11:58:23 +00:00
KJK::Hyperion
9ccb920754 Fixed typo
svn path=/trunk/; revision=2682
2002-03-07 06:08:00 +00:00
KJK::Hyperion
d57ab3df35 introducing __PdxSpawnPosixProcess(). Still some linker warnings, will solve tomorrow
svn path=/trunk/; revision=2681
2002-03-07 06:07:31 +00:00
KJK::Hyperion
a681b85839 FdTable field in the process data is no more a pointer
svn path=/trunk/; revision=2680
2002-03-07 06:03:11 +00:00
KJK::Hyperion
eb3d1a3163 created datatype for the denormalized process data block
svn path=/trunk/; revision=2679
2002-03-07 05:48:35 +00:00
KJK::Hyperion
b9dbbc8eb8 preliminary spawn code (untested yet)
svn path=/trunk/; revision=2678
2002-03-07 05:46:03 +00:00
Emanuele Aliberti
57c6671059 Little work on InitializeFmIfs
svn path=/trunk/; revision=2677
2002-03-07 00:24:24 +00:00
Brian Palmer
513784c84a Fixed a bug in the LBA extensions detection code.
Fixed a bug in the root directory size calculations for FAT12 & FAT16 (I must have been smoking something when I wrote that).
Started work on new .ini file code, the old stuff is just way too slow.

svn path=/trunk/; revision=2676
2002-03-06 18:32:22 +00:00
Eric Kohl
dfbd52f882 Handles are no longer used to create type objects.
svn path=/trunk/; revision=2675
2002-03-06 12:40:47 +00:00
Steven Edwards
3fd9aedce9 added tapi32.dll and wintrust.dll to ROS_BUILD_WINE
svn path=/trunk/; revision=2674
2002-03-05 12:48:40 +00:00
Eric Kohl
3783d01bf9 Fixed remainingcalls to ObGetReferenceCount() and ObGetHandleCount().
svn path=/trunk/; revision=2673
2002-03-05 11:33:12 +00:00
Eric Kohl
8532827baf Added ObGetObjectHandleCount().
svn path=/trunk/; revision=2672
2002-03-05 00:20:54 +00:00
Eric Kohl
193d7e020b Fixed a typo.
svn path=/trunk/; revision=2671
2002-03-05 00:05:28 +00:00
Eric Kohl
c6d18aba96 Enabled reading of multiple sectors.
svn path=/trunk/; revision=2670
2002-03-04 22:31:51 +00:00
Steven Edwards
ab94337372 added urlmon.dll to ROS_BUILD_WINE
svn path=/trunk/; revision=2669
2002-03-04 12:42:30 +00:00
Eric Kohl
2867dd6eab Fixed stupid bugs.
svn path=/trunk/; revision=2668
2002-03-03 23:46:01 +00:00
Eric Kohl
6146ce21ba no message
svn path=/trunk/; revision=2667
2002-03-03 19:47:58 +00:00
Eric Kohl
d4186cf428 Fixed a typo, thanks to Hartmut Birr.
Completion routine will called only once.

svn path=/trunk/; revision=2666
2002-03-03 19:39:10 +00:00
Phillip Susi
16c7c6fa94 Fixed path separator issue for people using cmd instead of sh
svn path=/trunk/; revision=2665
2002-03-03 17:52:01 +00:00
KJK::Hyperion
f090eec7df mistakes in templates second part
svn path=/trunk/; revision=2664
2002-03-03 17:24:04 +00:00
KJK::Hyperion
7631564040 whoops - silly mistake in templates
svn path=/trunk/; revision=2663
2002-03-03 17:23:29 +00:00
Steven Edwards
3c460dc0c3 build and install mapi32.dll as part of ROS_BUILD_WINE
svn path=/trunk/; revision=2662
2002-03-03 10:51:51 +00:00
Eric Kohl
4c0500171e Implemented IOCTL_DISK_GET_PARTITION_INFO.
Fixed bug in IOCTL_DISK_GET_DRIVE_GEOMETRY.

svn path=/trunk/; revision=2660
2002-03-01 23:18:35 +00:00
Eric Kohl
82b7a361af Started implementing type objects.
Some object manager cleanup.

svn path=/trunk/; revision=2659
2002-03-01 00:47:40 +00:00
Hartmut Birr
3accb67df3 Fixed the 'event wait bug' in MmRequestPageMemoryConsumer.
svn path=/trunk/; revision=2658
2002-02-28 17:44:48 +00:00
Eric Kohl
e96e35d335 Removed useless controller object.
svn path=/trunk/; revision=2657
2002-02-27 22:50:31 +00:00
Brian Palmer
b764471786 Improved memory management
The heap now sets it's size at run time instead of being hard coded

svn path=/trunk/; revision=2656
2002-02-27 21:33:59 +00:00
David Welch
463cc8858c Applied Harmut Birr's patch
svn path=/trunk/; revision=2655
2002-02-27 01:12:26 +00:00
Brian Palmer
ad979612af Fix for buffer conflict between fat code and cache code - by Mike Lerwill
svn path=/trunk/; revision=2654
2002-02-26 23:17:22 +00:00
Eric Kohl
e6b4f4973d Free an SRB after use.
svn path=/trunk/; revision=2653
2002-02-26 23:02:14 +00:00
Phillip Susi
fd4c65ede9 Fixed _vsnprintf() to actually use the buffer size limit to prevent buffer overflows
Sorry, but I had to re indent and tabify this code, I could not read it because it was all screwed up before.

svn path=/trunk/; revision=2652
2002-02-26 05:59:00 +00:00
Brian Palmer
c66e8c39d3 Added full disk partition management functions
Extended partitions are supported (untested)
If you call OpenDrive() with Partition == 0 you get the active (or bootable) partition
Partitions 1 - 4 are the primary partitions
Partitions 5 - n are the extended partitions
Also added disk parameter detection code (always assumes 512 byte sector size, I don't like that but I don't see any other way)

svn path=/trunk/; revision=2651
2002-02-26 00:26:35 +00:00
Phillip Susi
f83db8cc84 Fixed debug print to not overflow the stack on long prints.
Increased buffer from 512 to 1024 bytes, and truncate string using _vsnprintf()

svn path=/trunk/; revision=2650
2002-02-25 22:45:04 +00:00
Phillip Susi
9594f61e1f Fixed typeo in etags target
svn path=/trunk/; revision=2649
2002-02-25 21:51:43 +00:00
Phillip Susi
75c16ac538 Removed incorrect path seperator replacement
svn path=/trunk/; revision=2648
2002-02-25 05:07:35 +00:00
Emanuele Aliberti
21a85d799e Minor changes for making apps/baresh compile (tough it doesn't work yet).
svn path=/trunk/; revision=2647
2002-02-24 22:14:05 +00:00
Emanuele Aliberti
20037ec24c Modified demo LPC server and client with verbose output.
svn path=/trunk/; revision=2646
2002-02-24 17:44:22 +00:00
Jason Filby
0a549d94c9 New 0019 release date
svn path=/trunk/; revision=2644
2002-02-24 13:10:37 +00:00
Eric Kohl
265859b2aa Fixed showstopper!
svn path=/trunk/; revision=2643
2002-02-23 23:08:58 +00:00
Steven Edwards
558200355f dll baseaddress list, may be used as part of future build process.
Please help keep it up2date.

svn path=/trunk/; revision=2642
2002-02-23 03:52:18 +00:00
Eric Kohl
14f393cb80 Added some more prototypes
svn path=/trunk/; revision=2641
2002-02-22 17:57:57 +00:00
Eric Kohl
e21b78b3e3 Added ObGetObjectPointerCount() and SetokenImpersonationLevel().
svn path=/trunk/; revision=2640
2002-02-22 13:36:24 +00:00
Jason Filby
fc7aea5826 Version 0.0.19
svn path=/trunk/; revision=2639
2002-02-21 22:48:39 +00:00
Eric Kohl
e8082ff034 Removed common TOKEN_CONTROL structure.
svn path=/trunk/; revision=2638
2002-02-20 22:51:48 +00:00
Eric Kohl
8393800e76 Started security manager initialization.
Some cleanup.

svn path=/trunk/; revision=2637
2002-02-20 20:16:49 +00:00
KJK::Hyperion
19ad3d7a30 purely cosmetic commit: edited the introductory comments of several files to uniform them to a common format, added $Id$ macro to all files, cleanup from legacy stuff, fully commented templates
svn path=/trunk/; revision=2636
2002-02-20 09:17:58 +00:00
KJK::Hyperion
e858ec1801 whoops - forgot to commit header files
svn path=/trunk/; revision=2635
2002-02-20 07:13:22 +00:00
KJK::Hyperion
ad8ae0a2f5 now introducing the POSIX+ client DLL! (my first check-in, hope I don't f*** up something)
svn path=/trunk/; revision=2634
2002-02-20 07:06:52 +00:00
Eric Kohl
4e9d91b819 Removed unused code.
svn path=/trunk/; revision=2633
2002-02-19 14:06:36 +00:00
Eric Kohl
40a007aba1 - Fixed object creation. Named objects are now automatically attached to a parent directory object.
- Minor header cleanup.

svn path=/trunk/; revision=2632
2002-02-19 00:09:25 +00:00
Hartmut Birr
46cef7fc9b Fixed the 'Frequent Crasher Bug'.
svn path=/trunk/; revision=2631
2002-02-18 18:41:23 +00:00
Hartmut Birr
be9ed281e0 Fixed some overruns with a not zero terminated string and a given precision specification.
svn path=/trunk/; revision=2630
2002-02-18 18:39:31 +00:00
Hartmut Birr
d1cfd4ffdb Changed from Nt to Zw functions in VGAResetDevice.
svn path=/trunk/; revision=2629
2002-02-16 22:00:52 +00:00
Jason Filby
c9d3381474 disable debugging messages
svn path=/trunk/; revision=2628
2002-02-16 00:51:02 +00:00
Hartmut Birr
3ea1b601d2 Restore the 80x50 mode in VGAResetDevice().
svn path=/trunk/; revision=2627
2002-02-15 20:17:10 +00:00
Hartmut Birr
409ce02fa7 In W32kDeleteDC call UnreferenceDriver only for non memory DC.
This will fix the second gditest bug.

svn path=/trunk/; revision=2626
2002-02-15 20:14:43 +00:00
Eric Kohl
9ca5a97711 Removed obsolete functions/protypes HalInitFirstTask() and HalSwitchTask().
Renamed misleading function HalReleaseTask() to KeReleaseThread().

svn path=/trunk/; revision=2625
2002-02-15 14:47:55 +00:00
Brian Palmer
67d2ffb153 Fixed bug in partition table code where it incorrectly calculated the partition start sector
svn path=/trunk/; revision=2624
2002-02-14 23:11:05 +00:00
Hartmut Birr
40910fe910 Set the min size of an allocated block to the size of the free block header.
This fix the gditest bug.

svn path=/trunk/; revision=2623
2002-02-14 00:07:23 +00:00
Jason Filby
b90a7afc42 No need to load vgamp.sys on startup
svn path=/trunk/; revision=2622
2002-02-12 12:30:46 +00:00
Jason Filby
252d2dbf1d Reenable CSRSS process detection
svn path=/trunk/; revision=2621
2002-02-12 12:00:28 +00:00
Casper Hornstrup
f57567e347 Capture debug prints in PICE.
Break into PICE on control+d.

svn path=/trunk/; revision=2620
2002-02-10 20:21:40 +00:00
Eric Kohl
7a5ecf6515 Implemented expansion of REG_MULTI_SZ.
svn path=/trunk/; revision=2619
2002-02-10 13:55:45 +00:00
Casper Hornstrup
bfe7eb862e Display driver name when loading it.
svn path=/trunk/; revision=2618
2002-02-10 13:35:37 +00:00
Casper Hornstrup
7115aab674 Added Private ICE to main makefile.
svn path=/trunk/; revision=2617
2002-02-10 02:02:15 +00:00
Casper Hornstrup
59c5e836e1 Made it easier to add new keyboard layouts.
Added Danish keyboard layout (DK).

svn path=/trunk/; revision=2616
2002-02-10 02:01:31 +00:00
Eric Kohl
0ce194ac1a Fixed wrong string length calculation in RtlAppendUnicodeToString().
svn path=/trunk/; revision=2615
2002-02-09 23:29:50 +00:00
Casper Hornstrup
0fdb820f0b Oops...don't load that driver.
svn path=/trunk/; revision=2614
2002-02-09 19:20:44 +00:00
Casper Hornstrup
430a416722 Accept /DEBUGPORT=GDB and /DEBUGPORT=PICE on command line.
Break into debugger on KeBugCheckEx() if available.
Fixed typo in readme.txt.

svn path=/trunk/; revision=2613
2002-02-09 18:41:24 +00:00
Eugene Ingerman
effa2fbabb Fixed locals and evaluation in pice.
svn path=/trunk/; revision=2612
2002-02-09 07:34:05 +00:00
Brian Palmer
bfa03497ad CacheInitializeDrive() no longer retains old cache data on removable drives
Fixed small bug where it could possibly try to read more sectors than the BIOS supports

svn path=/trunk/; revision=2611
2002-02-08 23:58:12 +00:00
Casper Hornstrup
1cc5bd55b6 Removed or changed debug prints printed at boot.
svn path=/trunk/; revision=2610
2002-02-08 02:57:10 +00:00
Steven Edwards
565837d1f1 updated to install winhello and winefile
svn path=/trunk/; revision=2609
2002-02-07 03:22:04 +00:00
Steven Edwards
168b55e958 cleanup + finger client
svn path=/trunk/; revision=2608
2002-02-07 01:32:20 +00:00
Eric Kohl
1d0d9fbf9f Implemented [Nt/Zw]QueryMultipleValueKey().
svn path=/trunk/; revision=2607
2002-02-06 01:23:10 +00:00
Hartmut Birr
52d2359910 Fixed some bugs in vfatMakeAbsoluteFilename/VfatOpenFile with relative filenames.
svn path=/trunk/; revision=2606
2002-02-05 21:32:30 +00:00
Hartmut Birr
b95ed3ddf1 Fixed a bug in DoQuery with empty serach pattern strings after the first call to DoQuery.
svn path=/trunk/; revision=2605
2002-02-05 21:31:03 +00:00
Eric Kohl
48fa361844 Added system.hiv to boot modules.
svn path=/trunk/; revision=2604
2002-02-05 15:53:20 +00:00
Eric Kohl
916157c159 Implemented value enumeration in RtlQueryRegistryValues().
svn path=/trunk/; revision=2603
2002-02-05 15:42:41 +00:00
Eric Kohl
5d67a14618 Fixed name string length and termination for KeyValueBasicInformation and KeyValueFullInformation.
svn path=/trunk/; revision=2602
2002-02-05 02:48:56 +00:00
Phillip Susi
1815855fb6 Fixed linkage to unbzip2.sys, working again
svn path=/trunk/; revision=2601
2002-02-05 02:30:13 +00:00
Phillip Susi
2a7825f502 Balenced paged and non paged pool sizes to 100 megs each, instead of 4 paged and 400 non
svn path=/trunk/; revision=2600
2002-02-05 02:24:29 +00:00
Casper Hornstrup
14a6c7e57d Removed old HAL.
svn path=/trunk/; revision=2599
2002-02-04 22:13:02 +00:00
Steven Edwards
9808ba2cb8 Fixed a typo - Guido de Jong
svn path=/trunk/; revision=2598
2002-02-04 13:08:58 +00:00
Eric Kohl
1768fa6632 Fixed a typo.
svn path=/trunk/; revision=2597
2002-02-04 01:21:03 +00:00
Emanuele Aliberti
09ce94865b Rollback to old LPC_MESSAGE_HEADER.
svn path=/trunk/; revision=2596
2002-02-03 22:32:18 +00:00
Eric Kohl
246369a31b Updates to the disk driver stack.
svn path=/trunk/; revision=2595
2002-02-03 20:21:59 +00:00
Eugene Ingerman
95410deae9 Fix for current source line unassembly bug in pice.
svn path=/trunk/; revision=2594
2002-02-03 01:10:16 +00:00
Eric Kohl
cca6500c93 Fixed broken serial debug logging.
The gdb interface is enabled by the /GDB option on the command line.

svn path=/trunk/; revision=2593
2002-02-02 20:13:42 +00:00
Phillip Susi
01ab93badd Oops! binary libraries should't be in CVS!
svn path=/trunk/; revision=2592
2002-02-02 18:00:54 +00:00
Phillip Susi
ccaafe31cf Use LARGE_INTEGER for section view size, as expected by NtCreateSection
Original Patch by Guido de Jong

svn path=/trunk/; revision=2591
2002-02-02 17:15:22 +00:00
Phillip Susi
51357bf8aa Changed NULL to 0 where integer expected, to get rid of warning
Patch by Guido de Jong.

svn path=/trunk/; revision=2590
2002-02-02 17:14:40 +00:00
Hartmut Birr
c64bcfabad Fixed a buffer overflow in DoQuery, if the unicode string (search pattern) isn't zero-terminated.
Fixed the returned length for the file names.
Fixed the returned status at the end of a directory scan.

svn path=/trunk/; revision=2589
2002-02-02 14:04:55 +00:00
Phillip Susi
a5549b5653 Build unbzip2.sys as export driver, instead of unbzip2.dll
svn path=/trunk/; revision=2587
2002-01-31 20:26:25 +00:00
Phillip Susi
f17ca2d3d9 Link to unbzip2.sys
svn path=/trunk/; revision=2586
2002-01-31 20:22:12 +00:00
Phillip Susi
8e5647c51a A few minor changes
svn path=/trunk/; revision=2585
2002-01-31 20:22:00 +00:00
Eric Kohl
8acb48f0de Added cdrom class driver skeleton.
svn path=/trunk/; revision=2584
2002-01-31 15:02:12 +00:00
Eric Kohl
ae35748cfa Disk driver stack update.
svn path=/trunk/; revision=2583
2002-01-31 14:58:52 +00:00
Eugene Ingerman
760f3874ca no message
svn path=/trunk/; revision=2582
2002-01-31 05:30:06 +00:00
Eugene Ingerman
1cdf4f9806 Fixed source code display on breakpoint in pice.
svn path=/trunk/; revision=2581
2002-01-31 05:29:28 +00:00
Steven Edwards
c331ef4c1b fix a couple of warnings - Guido de Jong
svn path=/trunk/; revision=2580
2002-01-31 04:22:50 +00:00
Eugene Ingerman
8d8acf54de Debug output cleanup.
svn path=/trunk/; revision=2579
2002-01-30 20:42:04 +00:00
Eugene Ingerman
23b672891b Porting pice. Workaround for a bug in gcc. Some other small stuff.
svn path=/trunk/; revision=2578
2002-01-30 19:45:24 +00:00
Eugene Ingerman
87b5401bff Porting pice. Bug fixes for disassembly.
svn path=/trunk/; revision=2577
2002-01-29 07:22:26 +00:00
Eugene Ingerman
e8e9853e27 Porting pice. Bug fixes.
svn path=/trunk/; revision=2576
2002-01-29 04:21:17 +00:00
Steven Edwards
ae77777da5 added finger to makefile
svn path=/trunk/; revision=2575
2002-01-28 08:38:22 +00:00
Steven Edwards
c8abcc5cb4 Take care of some warnings and remove a unused header in finger
svn path=/trunk/; revision=2574
2002-01-28 08:37:34 +00:00
Steven Edwards
b80ba17572 finger client for reactos
svn path=/trunk/; revision=2573
2002-01-28 07:17:21 +00:00
David Welch
130144b797 Fixed clean rule
svn path=/trunk/; revision=2572
2002-01-27 17:28:16 +00:00
David Welch
c34c3cfae4 Added missing files
Updated .cvsignore files

svn path=/trunk/; revision=2571
2002-01-27 14:47:44 +00:00
David Welch
0f6c1e0177 Added missing file
svn path=/trunk/; revision=2570
2002-01-27 14:08:00 +00:00
David Welch
7d915349e5 Fixes for problems with win32k
svn path=/trunk/; revision=2569
2002-01-27 03:25:45 +00:00
Eric Kohl
f48e849f05 Basic work on disk driver stack (still incomplete).
svn path=/trunk/; revision=2568
2002-01-27 01:25:49 +00:00
David Welch
8dff4a88dc More user work
svn path=/trunk/; revision=2567
2002-01-27 01:11:24 +00:00
Phillip Susi
c4a09186d3 Fixed vma command to show kernel memory space too, not just user
svn path=/trunk/; revision=2566
2002-01-27 00:34:59 +00:00
Phillip Susi
eea1010947 Fixed page fault handler to walk the correct memory space ( kernel or user ) depending on where the address is
svn path=/trunk/; revision=2565
2002-01-27 00:33:36 +00:00
Casper Hornstrup
b2f22718cc Remove build tools on make clean.
Patches from Guido de Jong.

svn path=/trunk/; revision=2564
2002-01-26 23:56:15 +00:00
Steven Edwards
6be4e2ac3a Updated license information for whois and ncftp.
svn path=/trunk/; revision=2563
2002-01-26 21:44:32 +00:00
David Welch
1a131779a2 Updated ntoskrnl win32 support
svn path=/trunk/; revision=2562
2002-01-26 21:22:48 +00:00
David Welch
aebf70e07f Present large reads to the filesystem from CcCopyRead
svn path=/trunk/; revision=2561
2002-01-26 21:21:02 +00:00
Phillip Susi
b51e21217f Fixed keyboard scancode maps for US keyboards
svn path=/trunk/; revision=2560
2002-01-26 19:46:36 +00:00
Eric Kohl
26c5adcb95 Added support for IRP_MJ_SCSI
svn path=/trunk/; revision=2559
2002-01-26 17:59:25 +00:00
Emanuele Aliberti
35fb40b8b7 LPC message types changed from macros to a enum type (LPC_TYPE).
svn path=/trunk/; revision=2558
2002-01-26 11:19:18 +00:00
Phillip Susi
8779eb9ec7 Read files in non cached mode, much faster this way
svn path=/trunk/; revision=2557
2002-01-26 08:09:21 +00:00
Phillip Susi
48908e14cc Fixed IoCreateFile to recognize the FILE_NO_INTERMEDIATE_BUFFERING flag
svn path=/trunk/; revision=2556
2002-01-26 06:20:16 +00:00
Phillip Susi
72e047dd5b Fixed bug in SwitchTable
svn path=/trunk/; revision=2555
2002-01-26 05:54:25 +00:00
Eugene Ingerman
6c0fa06e39 Porting pice. Fixed bug in interrupt handling.
svn path=/trunk/; revision=2554
2002-01-26 05:17:45 +00:00
Steven Edwards
12359f4a27 Updated to install whois and edit
svn path=/trunk/; revision=2553
2002-01-26 03:23:25 +00:00
Steven Edwards
8d8fea751b updated makefile to build regsvr32
svn path=/trunk/; revision=2552
2002-01-26 01:37:35 +00:00
Eugene Ingerman
5850033b27 Added a few definitions for pice.
svn path=/trunk/; revision=2551
2002-01-26 01:11:04 +00:00
Phillip Susi
ab6e9ba7b7 Fixed a file IO calls to handle failure correctly
svn path=/trunk/; revision=2550
2002-01-25 01:46:51 +00:00
Phillip Susi
5f282abf99 Fixed infinite recursive call in debug print
svn path=/trunk/; revision=2549
2002-01-25 01:45:54 +00:00
Eric Kohl
56275af6c3 Fixed drive identification bug.
svn path=/trunk/; revision=2548
2002-01-24 10:04:50 +00:00
Brian Palmer
148e40a24e Reworked the boot sector & boot drive code
You can again use FreeLoader to dual boot between two drives or a boot sector file

svn path=/trunk/; revision=2547
2002-01-24 00:59:16 +00:00
Casper Hornstrup
5a6adb4f13 Added GNU Debugger stub for remote debugging.
Fixed bugs in NtQueryDirectoryObject.
Added static library target.

svn path=/trunk/; revision=2546
2002-01-23 23:39:26 +00:00
Brian Palmer
198a544138 Removed code to save screen contents before entering freeldr
Moved all architecture specific code to the arch & arch/i386 directories
Renamed asmcode.* to arch.*

svn path=/trunk/; revision=2545
2002-01-23 19:57:42 +00:00
Brian Palmer
fd75e7d985 Improved disk error reporting
svn path=/trunk/; revision=2544
2002-01-22 23:56:08 +00:00
Steven Edwards
4694f10044 updated to build whois client
svn path=/trunk/; revision=2543
2002-01-22 00:10:09 +00:00
Steven Edwards
f853dfb8a1 BSD 4.x whois client for win32.
svn path=/trunk/; revision=2542
2002-01-21 23:13:45 +00:00
Phillip Susi
905afd86d0 Removed duplicate definition of IO_COUNTERS structure
svn path=/trunk/; revision=2541
2002-01-21 22:35:30 +00:00
Phillip Susi
e5d54247ac Fixed several warnings by #includeing ctype.h, and marking several very long integral constants with the LL suffix
svn path=/trunk/; revision=2540
2002-01-21 22:34:55 +00:00
Hartmut Birr
57bf0a56e5 Added ntoskrnl.sym to install rule.
svn path=/trunk/; revision=2539
2002-01-21 22:34:36 +00:00
Phillip Susi
63546989b5 Replased improper use of NULL with 0 to get rid of warnings
svn path=/trunk/; revision=2538
2002-01-21 22:32:59 +00:00
Hartmut Birr
f32fe94b88 Removed IoGetCurrentIrpStackLocation from some functions.
svn path=/trunk/; revision=2537
2002-01-21 22:30:27 +00:00
Hartmut Birr
8a8f132dbf Added the packed attribute to IO_STACK_LOCATION.
svn path=/trunk/; revision=2536
2002-01-21 22:28:45 +00:00
Hartmut Birr
b4ee5e08ee Changed the macros IoGetCurrentIrpStackLocation and IoGetNextIrpStackLocation to the old state.
svn path=/trunk/; revision=2535
2002-01-21 22:27:36 +00:00
Eric Kohl
28c174051d Fixed some function declarations.
svn path=/trunk/; revision=2534
2002-01-21 11:42:04 +00:00
Eugene Ingerman
88650ed55e Porting pice. Bug fixes.
svn path=/trunk/; revision=2533
2002-01-21 10:03:50 +00:00
Emanuele Aliberti
656f7cb1f4 Test crt0 for the PSX subsystem.
svn path=/trunk/; revision=2532
2002-01-20 21:24:49 +00:00
Emanuele Aliberti
e031e6192e Bare shell for testing the PSX subsystem (not ready yet).
svn path=/trunk/; revision=2531
2002-01-20 21:22:29 +00:00
Brian Palmer
b26dfc9d77 Fixed bug that occurred during DEBUG builds
svn path=/trunk/; revision=2530
2002-01-19 09:40:29 +00:00
Eric Kohl
a2760cfdd4 Disabled nls file loading
svn path=/trunk/; revision=2529
2002-01-19 03:30:28 +00:00
Brian Palmer
5db0abce79 Better LBA support
Correctly determines FAT type based on cluster count instead of partition id

svn path=/trunk/; revision=2528
2002-01-19 00:37:06 +00:00
Eric Kohl
c5c65dd160 Fixed obvious typos.
svn path=/trunk/; revision=2527
2002-01-18 22:43:51 +00:00
Eric Kohl
c78f940a00 Added missing prototype.
svn path=/trunk/; revision=2526
2002-01-18 22:42:25 +00:00
Brian Palmer
41e1df9977 Recommitting file as binary
svn path=/trunk/; revision=2525
2002-01-18 19:20:32 +00:00
Brian Palmer
b80569cee7 Accidentally committed this file without the -kb flag
svn path=/trunk/; revision=2524
2002-01-18 19:19:43 +00:00
Brian Palmer
ec2583c6d5 Added disk cache
Optimized disk reads so it reads a track at a time or 64k if LBA

svn path=/trunk/; revision=2523
2002-01-18 05:59:58 +00:00
Emanuele Aliberti
ff0495900e Year, in the copyright string, updated.
svn path=/trunk/; revision=2522
2002-01-17 23:26:26 +00:00
Emanuele Aliberti
e5d9890c6c KERNEL_VERSION macro removed from reactos/version.h.
Use the dinamically generated macros in reactos/buildno.h.

svn path=/trunk/; revision=2521
2002-01-17 23:22:58 +00:00
Emanuele Aliberti
43348bb6dc FsRtlIsNtstatusExpected fixed (Bo Branten reported the bug).
svn path=/trunk/; revision=2520
2002-01-17 23:17:39 +00:00
Hartmut Birr
035f768d4a Added some fixes for accessing the page file.
svn path=/trunk/; revision=2519
2002-01-15 21:54:51 +00:00
Casper Hornstrup
550ffd05d5 Fixed compilation error.
svn path=/trunk/; revision=2518
2002-01-15 20:08:48 +00:00
Eugene Ingerman
b438e48231 Porting pice. Forgot this one.
svn path=/trunk/; revision=2517
2002-01-15 04:37:08 +00:00
Eugene Ingerman
3595be74a5 Porting pice. Intermediate checkin. Now compiles and runs a little bit.
svn path=/trunk/; revision=2516
2002-01-15 04:35:14 +00:00
David Welch
793bbe0455 Implemented NtW32Call and NtCallbackReturn
Updated some .cvsignore files

svn path=/trunk/; revision=2515
2002-01-15 02:51:32 +00:00
Phillip Susi
e136b71248 NtW32Call was causing a compile error and didn't do anything anyhow, so I changed it back to be UNIMPLEMENTED so things will compile.
By the way, what is this function for?

svn path=/trunk/; revision=2514
2002-01-15 01:42:57 +00:00
David Welch
0267a0a1c8 More missing files.
svn path=/trunk/; revision=2513
2002-01-15 00:43:18 +00:00
Eugene Ingerman
2aceac7176 Porting pice. Intermediate checkin. Now compiles.
svn path=/trunk/; revision=2512
2002-01-14 22:04:09 +00:00
David Welch
f36ace9e25 More missing files
svn path=/trunk/; revision=2511
2002-01-14 09:12:22 +00:00
Eric Kohl
d2b345f07d Fixed registry bug.
svn path=/trunk/; revision=2510
2002-01-14 04:51:15 +00:00
Eric Kohl
13b04f00b5 Added atapi disk driver stack (disabled).
svn path=/trunk/; revision=2509
2002-01-14 01:49:47 +00:00
Eric Kohl
f541fc1ccf Install disk drivers and *.nls files.
svn path=/trunk/; revision=2508
2002-01-14 01:47:44 +00:00
Eric Kohl
b25339ac84 Improved disk driver stack.
svn path=/trunk/; revision=2507
2002-01-14 01:45:03 +00:00
Eric Kohl
89ff8f7de2 Split rtl.h into rtl.h and rtltypes.h.
svn path=/trunk/; revision=2506
2002-01-14 01:41:08 +00:00
David Welch
47910ad286 Added missing files
svn path=/trunk/; revision=2505
2002-01-14 01:11:58 +00:00
David Welch
43b2190795 Began work on message queue and default window procedure
svn path=/trunk/; revision=2504
2002-01-13 22:52:08 +00:00
Emanuele Aliberti
a600e78a7a Minor changes and some interfaces updated in FsRtl.
svn path=/trunk/; revision=2503
2002-01-13 22:02:31 +00:00
Eugene Ingerman
2c1c5c45b1 Porting pice. Intermediate checkin.
svn path=/trunk/; revision=2502
2002-01-13 08:47:32 +00:00
Eric Kohl
fd4d47ccfc Ignore '\r' in HalDisplayString().
svn path=/trunk/; revision=2499
2002-01-10 01:01:27 +00:00
Eric Kohl
25c85c7dfe KeBugCheck() calls KeBugCheckEx().
KeBugCheckEx() displays additional bug message.

svn path=/trunk/; revision=2498
2002-01-10 00:59:32 +00:00
Eric Kohl
1208d849d0 Added message table to resouces.
Fixed a duplicate message definition.

svn path=/trunk/; revision=2497
2002-01-10 00:57:30 +00:00
Eric Kohl
17b74887c6 Fixed type casts.
svn path=/trunk/; revision=2496
2002-01-10 00:55:23 +00:00
David Welch
fe7d926068 More swapping fixes
svn path=/trunk/; revision=2495
2002-01-09 03:00:21 +00:00
Eugene Ingerman
3a8ce6bf63 Porting pice. Changed symbolic information handling.
svn path=/trunk/; revision=2494
2002-01-08 20:44:18 +00:00
David Welch
8cb9f1dd16 More swapping fixes
svn path=/trunk/; revision=2493
2002-01-08 00:49:02 +00:00
Jason Filby
b93878d368 regsvr32 from Jurgen Van Gael
svn path=/trunk/; revision=2492
2002-01-07 21:12:10 +00:00
Jason Filby
5e182b5ed0 olectl.h from Jurgen Van Gael
svn path=/trunk/; revision=2491
2002-01-07 21:10:33 +00:00
Hartmut Birr
da2423a49a Fixed the mapping of MmPageArray.
This solves the >134MB crash.

svn path=/trunk/; revision=2490
2002-01-05 11:31:05 +00:00
Casper Hornstrup
a9c89818ae Added application that will display statistics for ReactOS source code.
svn path=/trunk/; revision=2489
2002-01-04 23:50:58 +00:00
Casper Hornstrup
598cb0cb4c Fixed compilation of wmc.
svn path=/trunk/; revision=2488
2002-01-04 23:40:13 +00:00
David Welch
cc47e7056e Zero page list
svn path=/trunk/; revision=2487
2002-01-04 23:39:07 +00:00
Eugene Ingerman
fa8eafcb38 Porting pice. Added coff symbol parsing to pice, and some other small things.
svn path=/trunk/; revision=2486
2002-01-04 23:37:29 +00:00
Hartmut Birr
fae2e4844a Fixed a wrong initialisation in PiDeleteProcess().
svn path=/trunk/; revision=2485
2002-01-04 22:35:26 +00:00
Hartmut Birr
6837f9c4ef Fixed the return value for the root key in GetMaxValueNameLength().
svn path=/trunk/; revision=2484
2002-01-04 22:07:38 +00:00
Eric Kohl
0d5652813b Started kernel queue implementation.
Added win32k support functions.

svn path=/trunk/; revision=2483
2002-01-04 13:09:37 +00:00
David Welch
f376a8013e Fixes so wmc compiled on non-windows platforms
svn path=/trunk/; revision=2482
2002-01-04 03:12:13 +00:00
Casper Hornstrup
e2bd4b9b87 Removed reference to bitops.h
svn path=/trunk/; revision=2481
2002-01-04 00:23:54 +00:00
David Welch
c79d00b49a Fixed LPC section bug
svn path=/trunk/; revision=2480
2002-01-03 22:52:29 +00:00
Eric Kohl
059a7a0f64 Implemented process and thread notification routines.
svn path=/trunk/; revision=2479
2002-01-03 18:02:34 +00:00
Eric Kohl
041c7d16a5 Added massage table.
svn path=/trunk/; revision=2478
2002-01-03 14:52:05 +00:00
Eric Kohl
1806f623e7 Implemented PsLookupXxx() functions.
svn path=/trunk/; revision=2477
2002-01-03 14:03:05 +00:00
Casper Hornstrup
3221f88ce3 Free memory for symbols when process is terminated.
svn path=/trunk/; revision=2476
2002-01-03 12:48:02 +00:00
Hartmut Birr
a4178da184 Fixed the length for the registry key HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION.
svn path=/trunk/; revision=2475
2002-01-03 11:09:35 +00:00
Casper Hornstrup
09bfe41894 Free memory for symbols when process is terminated.
svn path=/trunk/; revision=2474
2002-01-02 21:00:55 +00:00
Eric Kohl
7a30c6749a Removed old codepage tables.
svn path=/trunk/; revision=2473
2002-01-02 00:53:51 +00:00
Eric Kohl
00aa97da88 Added binary .nls files.
svn path=/trunk/; revision=2472
2002-01-02 00:51:37 +00:00
Eric Kohl
ab4a7cd152 Added nls tool.
svn path=/trunk/; revision=2471
2002-01-02 00:48:14 +00:00
David Welch
6ade027031 More cygwin fixes
svn path=/trunk/; revision=2470
2002-01-01 05:09:50 +00:00
David Welch
3273c93173 Fixed bug with cygwin1.dll (still doesn't work)
svn path=/trunk/; revision=2469
2002-01-01 03:29:16 +00:00
David Welch
e5a34ef337 Fixed some swapping bugs and deadlocks
svn path=/trunk/; revision=2468
2002-01-01 00:21:57 +00:00
David Welch
3ea11463b3 Swapping to disk
svn path=/trunk/; revision=2467
2001-12-31 19:06:49 +00:00
Steven Edwards
36214fbd89 Updates for console telnet for win32
svn path=/trunk/; revision=2466
2001-12-31 18:30:20 +00:00
Steven Edwards
ab18809029 Updates for ReactOS build system
svn path=/trunk/; revision=2465
2001-12-31 18:25:36 +00:00
Steven Edwards
0dd9d2664c Fixes for real this time for new telnet client
svn path=/trunk/; revision=2464
2001-12-31 17:37:11 +00:00
Steven Edwards
5d7f30939a Fixes for new telnet client
svn path=/trunk/; revision=2463
2001-12-31 17:14:08 +00:00
David Welch
a155c42316 Virtual memory support
svn path=/trunk/; revision=2462
2001-12-31 01:53:46 +00:00
Steven Edwards
02e3483cf5 Updated readme information
svn path=/trunk/; revision=2461
2001-12-30 20:29:54 +00:00
Steven Edwards
5dc19ca3d1 Updating parts rosapps to ReactOS build system
new bat installer for rosapps.

svn path=/trunk/; revision=2460
2001-12-30 20:26:43 +00:00
Steven Edwards
87e06102cd Updates for Midnight Commander and telnet
svn path=/trunk/; revision=2459
2001-12-30 10:07:14 +00:00
Steven Edwards
c98929fa7e New Telnet Client
svn path=/trunk/; revision=2458
2001-12-30 10:05:48 +00:00
Steven Edwards
f0c5d1e87f Midnight Commander for Win32 Makefile Update
svn path=/trunk/; revision=2457
2001-12-30 10:02:48 +00:00
Steven Edwards
e5c0c7185e Midnight Commander for Win32
svn path=/trunk/; revision=2456
2001-12-30 10:02:14 +00:00
Steven Edwards
2a2768dea3 updated wine dlls and programs install script.
svn path=/trunk/; revision=2455
2001-12-30 08:04:23 +00:00
Steven Edwards
4a95d5eee9 updated wine dlls and programs install script.
svn path=/trunk/; revision=2454
2001-12-30 07:31:07 +00:00
Steven Edwards
86bda6b3d9 Added ncftp to rosapps
svn path=/trunk/; revision=2453
2001-12-30 06:31:25 +00:00
Steven Edwards
289a784eef compleated the removal of net_apps from makefile, fix build with readfile build
svn path=/trunk/; revision=2452
2001-12-30 05:49:13 +00:00
Steven Edwards
b3486a5605 removed $(net_apps) from build for reactos
svn path=/trunk/; revision=2451
2001-12-30 05:43:45 +00:00
Steven Edwards
0c57ecc79f updated gditest.c
Thanks to Richard Campbell

svn path=/trunk/; revision=2450
2001-12-30 04:35:55 +00:00
Steven Edwards
4a13352942 moved ping to rosapps/net
svn path=/trunk/; revision=2449
2001-12-30 04:34:20 +00:00
Steven Edwards
78f37dc93e Updated make and install for move of netapps to rosapps
svn path=/trunk/; revision=2448
2001-12-30 04:31:34 +00:00
Steven Edwards
2ee9a6c165 Removed ncftp
svn path=/trunk/; revision=2447
2001-12-30 04:27:43 +00:00
Steven Edwards
3d9541523b Updates for move of net apps to rosapps
svn path=/trunk/; revision=2446
2001-12-30 04:23:18 +00:00
Steven Edwards
f355097ad2 Updates for move of net apps to rosapps
svn path=/trunk/; revision=2445
2001-12-30 04:12:47 +00:00
Steven Edwards
174bb8c3d3 Move network apps to rosapps
svn path=/trunk/; revision=2444
2001-12-30 04:06:25 +00:00
David Welch
3fd3d008eb Trim cache
svn path=/trunk/; revision=2443
2001-12-29 14:32:22 +00:00
Eric Kohl
2fbbe48059 Add NLS information.
svn path=/trunk/; revision=2442
2001-12-28 21:24:48 +00:00
Eric Kohl
5a38010118 Added NLS-file loader.
svn path=/trunk/; revision=2441
2001-12-28 21:21:27 +00:00
Eric Kohl
d6278aba2a Fixed a bug.
svn path=/trunk/; revision=2440
2001-12-28 21:17:37 +00:00
David Welch
aee376797f Memory balancer
svn path=/trunk/; revision=2439
2001-12-28 00:04:45 +00:00
David Welch
47ba969751 Set WP bit in CR0
Fix protection for paged pool
Start on cache improvements

svn path=/trunk/; revision=2438
2001-12-27 23:56:42 +00:00
David Welch
48149a428f More fixes
svn path=/trunk/; revision=2437
2001-12-27 00:00:11 +00:00
David Welch
ff9a3a9a79 Misc fixes.
svn path=/trunk/; revision=2436
2001-12-26 23:34:07 +00:00
Steven Edwards
515231623e Updates for ncftp 3.0.3 for reactos
svn path=/trunk/; revision=2435
2001-12-20 19:05:45 +00:00
Steven Edwards
de04b33937 ncftp for win32 3.0.3
svn path=/trunk/; revision=2434
2001-12-20 18:50:07 +00:00
David Welch
cc824ce464 Fixed fast mutex implementation (they are NOT recursive)
Implemented paged pool
Removed duplicate dependency tool source file

svn path=/trunk/; revision=2433
2001-12-20 03:56:10 +00:00
Steven Edwards
cbd8e654dc Updated makefile to build winefilemanager
svn path=/trunk/; revision=2432
2001-12-16 05:27:16 +00:00
Eugene Ingerman
3edb1beb95 Porting pice. Added pe parsing in loader.
svn path=/trunk/; revision=2431
2001-12-15 23:50:07 +00:00
Emanuele Aliberti
a7d526433d A general Makefile for building the POSIX+ development kit.
svn path=/trunk/; revision=2430
2001-12-15 11:04:26 +00:00
Emanuele Aliberti
8c97b5dd72 A general Makefile for building the native/kernel-mode development kit.
svn path=/trunk/; revision=2429
2001-12-15 11:02:40 +00:00
Emanuele Aliberti
074449ffe5 A general Makefile for building the Win32(tm) development kit.
svn path=/trunk/; revision=2428
2001-12-15 11:00:53 +00:00
Emanuele Aliberti
485cee30c2 process/session.c in the makefile.
svn path=/trunk/; revision=2427
2001-12-11 23:18:16 +00:00
Phillip Susi
e27c5fbd2f Moved $(MK_GCCLIBS) to correct place on gcc command line
svn path=/trunk/; revision=2426
2001-12-11 06:00:07 +00:00
Brian Palmer
8c29563890 Added Task Manager to cvs repository
Won't build yet due to old headers included with MingW32

svn path=/trunk/; revision=2425
2001-12-10 01:19:33 +00:00
Eric Kohl
10231d15e7 Added preliminary system hive file.
svn path=/trunk/; revision=2424
2001-12-09 04:58:44 +00:00
Casper Hornstrup
1ba52efab8 Fixed compilation error
svn path=/trunk/; revision=2423
2001-12-07 22:42:38 +00:00
Emanuele Aliberti
a5208b8fca Added prototype for ProcessIdToSessionId().
svn path=/trunk/; revision=2422
2001-12-07 11:24:34 +00:00
Emanuele Aliberti
d36ee56715 A stub file for TS APIs in kernel32.
svn path=/trunk/; revision=2421
2001-12-07 11:19:49 +00:00
Eugene Ingerman
ef93b48310 Porting pice. Added keyboard hook and some file functions.
svn path=/trunk/; revision=2420
2001-12-06 09:20:57 +00:00
David Welch
8c3f4003e7 Removed bitops.h
svn path=/trunk/; revision=2419
2001-12-06 00:54:54 +00:00
Eric Kohl
909d916ca5 Implemented file system change notification.
svn path=/trunk/; revision=2418
2001-12-05 12:14:13 +00:00
Eric Kohl
116270d2e0 Added missing create parameters to IoCreateFile().
svn path=/trunk/; revision=2417
2001-12-05 12:11:55 +00:00
David Welch
64ebe91f78 Fixed security define spelling
Added duplication notification

svn path=/trunk/; revision=2416
2001-12-05 01:40:25 +00:00
Eric Kohl
eaf3de3006 Replaced binary constants by corresponding flags.
svn path=/trunk/; revision=2415
2001-12-04 20:47:54 +00:00
David Welch
fc1ce2a0d3 Remove debugging changes.
svn path=/trunk/; revision=2414
2001-12-02 23:37:25 +00:00
David Welch
7a15ff20db Implemented LPC sections
Changed WriteConsoleOutput to pass data in the section

svn path=/trunk/; revision=2413
2001-12-02 23:34:43 +00:00
Phillip Susi
b7f6ddaf9a Fixed typeo that prevented compilation
svn path=/trunk/; revision=2412
2001-12-01 20:57:23 +00:00
Eugene Ingerman
87d07db47c Fixed small bug in keyboard driver that prevented filter driver from working. Added keyboard hook.
svn path=/trunk/; revision=2410
2001-11-30 01:38:24 +00:00
Eric Kohl
6be5fe1285 Implemented PsGetProcessExitTime() and PsIsThreadTerminating().
svn path=/trunk/; revision=2409
2001-11-29 16:41:22 +00:00
Steven Edwards
3684c3d179 found out shell has kill built it
svn path=/trunk/; revision=2408
2001-11-29 07:24:48 +00:00
Brian Palmer
c157992a67 Fixed Makefile problem
Added tool to fix Win2k/XP NTVDM bug so DJGPP works without crashing

svn path=/trunk/; revision=2407
2001-11-29 01:56:04 +00:00
Emanuele Aliberti
45422998d5 Base files (incomplete) for PSAPI.DLL.
svn path=/trunk/; revision=2406
2001-11-28 23:35:16 +00:00
Emanuele Aliberti
ad6cb832a4 *** empty log message ***
svn path=/trunk/; revision=2404
2001-11-28 16:11:36 +00:00
Brian Palmer
12e0be217f Re-organized things a slight bit.
Split up stdlib.c and renamed it to rtl.
Separated disk functions from file system functions.

svn path=/trunk/; revision=2403
2001-11-28 10:26:53 +00:00
Steven Edwards
d4d6b6dbf7 Initial revision
svn path=/trunk/; revision=2400
2001-11-28 01:37:59 +00:00
Steven Edwards
d3b8d085e2 Initial revision
svn path=/trunk/; revision=2397
2001-11-27 14:24:14 +00:00
Eric Kohl
16e5929c1c Added system hive support.
Started hardware detection.

svn path=/trunk/; revision=2396
2001-11-27 12:42:47 +00:00
Eric Kohl
7a1bc8eaca Added system hive support.
svn path=/trunk/; revision=2395
2001-11-26 22:33:20 +00:00
Eric Kohl
0aee7968ad Added 'dword' data type.
svn path=/trunk/; revision=2394
2001-11-25 18:28:00 +00:00
David Welch
8fd78223cb include/csrss/csrss.h: Include a define for the size of the common
part of the csrss message header.
lib/kernel32/misc/console.c: WriteConsole: Use the same meanings for the
Length argument to CsrClientCallServer as all other callers.
lib/kernel32/misc/console.c: WriteConsoleOutput: Break up long requests
(not very efficently).
lib/ntdll/csr/lpc.c: CsrClientCallServer: Fill out DataSize and
MessageSize correctly.
lib/kernel32/misc/dllmain.c: DllMain: Die if we can't connect to csrss.
ntoskrnl/include/internal/ntoskrnl.c: Increase size of non-paged pool
ntoskrnl/ke/i386/exp.c: On double fault print loops in the stack trace
only once.
ntoskrnl/ke/i386/usertrap.c: Corrected checking in stack trace.
ntoskrnl/lpc/send.c: NtRequestWaitReplyPort: Check message consistency and
copy in safely.
ntoskrnl/mm/aspace.c: MmLockAddressSpace: Don't bother locking if we are
the only thread running.
ntoskrnl/mm/kmap.c: Implementing support functions for whole page
allocation.
ntoskrnl/mm/npool.c: Implementing allocation mode where every block is
allocated in a whole page and placed against the end so writes beyond the
allocated portion are caught immediately.

svn path=/trunk/; revision=2393
2001-11-25 15:21:11 +00:00
Jason Filby
2ddebe867f Moved W32THREAD to teb.h
svn path=/trunk/; revision=2392
2001-11-24 14:08:54 +00:00
Eric Kohl
3c7c6e909d Added some security/access functions.
svn path=/trunk/; revision=2389
2001-11-22 02:37:32 +00:00
Eric Kohl
396df5ce12 Implemented RtlImpersonateSelf().
svn path=/trunk/; revision=2388
2001-11-21 22:31:18 +00:00
Eric Kohl
d1d89cd409 Fixed PsRevertToSelf().
svn path=/trunk/; revision=2387
2001-11-21 18:44:50 +00:00
Steven Edwards
f1ea6d86e7 add mkdir C:\bin for wineapps
svn path=/trunk/; revision=2386
2001-11-20 23:49:03 +00:00
Hartmut Birr
94048a055d Fixed a bug in FAT12FindAvailableCluster.
svn path=/trunk/; revision=2385
2001-11-20 23:40:26 +00:00
Rex Jolliff
c900b97902 added default rule for .cpp files
svn path=/trunk/; revision=2384
2001-11-20 21:56:54 +00:00
Eric Kohl
5f56974966 Implemented read/write.
svn path=/trunk/; revision=2383
2001-11-20 20:35:10 +00:00
David Welch
229104bb31 Split kernel and user-mode exception handling
svn path=/trunk/; revision=2382
2001-11-20 02:31:21 +00:00
David Welch
b981b14821 Fixed zsh crash bug, it still doesn't work however
svn path=/trunk/; revision=2381
2001-11-20 02:29:45 +00:00
Jason Filby
0e27bfa7dd Fix for CreateCompatibleDC
svn path=/trunk/; revision=2380
2001-11-19 12:06:23 +00:00
Eric Kohl
303f10c6fd Fixed a few compiler warinings.
svn path=/trunk/; revision=2379
2001-11-18 20:20:42 +00:00
David Welch
57300d2523 Oops, used copy to caller instead of copy from caller
svn path=/trunk/; revision=2378
2001-11-18 01:28:50 +00:00
David Welch
189a5e8404 Fixed bugs with vim
svn path=/trunk/; revision=2377
2001-11-18 00:31:24 +00:00
Eric Kohl
5d289c12b2 Fixed GetExtendedMemorySize(). My i486-DX4/75 didn't like the old routine.
svn path=/trunk/; revision=2376
2001-11-17 00:00:33 +00:00
Eric Kohl
60a1a5d26d Updated for booting from C:
svn path=/trunk/; revision=2375
2001-11-16 20:27:59 +00:00
Eric Kohl
228ec52af6 Added loading the HAL.
svn path=/trunk/; revision=2374
2001-11-16 20:25:37 +00:00
Eric Kohl
dfd00972c9 Fixed warnings.
svn path=/trunk/; revision=2373
2001-11-16 20:24:43 +00:00
Brian Palmer
3662f1f720 BIOS Int 13h Extensions Support
New .ini file format (sort of) - changed some parameter names, etc.
More efficient .ini file parsing code
More efficient use of memory, smaller image file
Total rewrite of file system code (the old stuff sucked)
VFAT Long File Names now supported!
ReactOS is the only boot type supported currently, disabled all others (temporarily)

svn path=/trunk/; revision=2372
2001-11-15 07:48:33 +00:00
Eric Kohl
709cd514ab Implemented MmMapViewOfSection().
svn path=/trunk/; revision=2368
2001-11-13 22:46:49 +00:00
Steven Edwards
0de577f6cd Remove my old port of the winelib notepad
svn path=/trunk/; revision=2366
2001-11-11 18:21:32 +00:00
Steven Edwards
a36b062468 install script for wine dlls and programs
svn path=/trunk/; revision=2365
2001-11-11 18:16:52 +00:00
Casper Hornstrup
c23a2d7aee Fixed typo
svn path=/trunk/; revision=2364
2001-11-09 15:50:34 +00:00
Eric Kohl
cdd8ad011c Added message compiler.
svn path=/trunk/; revision=2363
2001-11-09 12:37:15 +00:00
Eric Kohl
51f2c2d3d0 Added message compiler.
svn path=/trunk/; revision=2362
2001-11-09 12:27:02 +00:00
Eric Kohl
af8dfb404f Implemented abandoning of mutexes/mutants.
svn path=/trunk/; revision=2361
2001-11-08 13:58:13 +00:00
Eric Kohl
7ab413e8de Fixed thread termination bug when a mutex must be abandoned.
svn path=/trunk/; revision=2360
2001-11-08 01:09:20 +00:00
David Welch
a122417a8a Fixed thread termination bug
svn path=/trunk/; revision=2359
2001-11-07 22:36:47 +00:00
Eric Kohl
1355fed119 Added mutex test application.
svn path=/trunk/; revision=2358
2001-11-07 16:42:15 +00:00
Eric Kohl
679c19d7f8 Added GetInterruptVector() routine to PCI bus handler.
svn path=/trunk/; revision=2357
2001-11-07 02:27:33 +00:00
Phillip Susi
01009ce267 Re enabled mounting more than one filesystem
svn path=/trunk/; revision=2356
2001-11-07 02:21:19 +00:00
Eric Kohl
7a232306cc Attach/detach mutant(mutex) to/from owning thread.
Fixed return value of KeWaitForMultipleObjects() on timeout.

svn path=/trunk/; revision=2355
2001-11-07 02:17:22 +00:00
James Tabor
7e8fb651af Fix export wvsnprintfA and W from user32.dll
svn path=/trunk/; revision=2354
2001-11-05 21:00:31 +00:00
David Welch
18992fbe14 Don't check for critical sections when delivering special kernel mode APCs
svn path=/trunk/; revision=2353
2001-11-05 20:49:30 +00:00
Emanuele Aliberti
e0308e50e8 tlist clone (partial).
Tested under NT 4.0.1382 SP6a EN_US.
NOT tested under ROS, but it should NOT work, since
NtQuerySystemInformation misses at least one info class needed
by the application.

svn path=/trunk/; revision=2352
2001-11-04 21:53:20 +00:00
Eric Kohl
156f7ec157 Implemented mutant object.
svn path=/trunk/; revision=2350
2001-11-04 00:18:40 +00:00
Casper Hornstrup
558496bca6 New target 'implib' to avoid cicular references.
Integrate WINE into the build system.

svn path=/trunk/; revision=2349
2001-11-03 16:48:07 +00:00
Eric Kohl
5db2a7d92d Disabled secondary channel by default
svn path=/trunk/; revision=2348
2001-11-03 16:34:58 +00:00
Hartmut Birr
547896ce6f Reworked code for handling of asynchonous i/o requests.
svn path=/trunk/; revision=2347
2001-11-02 22:57:14 +00:00
Hartmut Birr
c2c9804f47 Reworked code for handling of asynchonous i/o requests.
svn path=/trunk/; revision=2346
2001-11-02 22:47:36 +00:00
Hartmut Birr
75bfca5f83 Fixed a minor bug in vfatMakeRootFCB().
Reworked code for handling of asynchonous i/o requests.

svn path=/trunk/; revision=2345
2001-11-02 22:40:50 +00:00
Hartmut Birr
b5e7b94ea7 Speed optimization in FATxxFindAvailableCluster().
svn path=/trunk/; revision=2344
2001-11-02 22:35:31 +00:00
Hartmut Birr
2723d14c06 Added some modifications for asyncronous i/o requests (for vfatfs).
svn path=/trunk/; revision=2343
2001-11-02 22:22:33 +00:00
Hartmut Birr
ab19671382 Fixed a bug in GetVolumeInformationA()
svn path=/trunk/; revision=2342
2001-11-02 22:08:28 +00:00
Eric Kohl
c0ddd03a2f Fixed a typo.
svn path=/trunk/; revision=2341
2001-11-02 09:17:52 +00:00
Eric Kohl
b639c5def9 Implemented basic ANSI/OEM <--> Unicode translation tables.
svn path=/trunk/; revision=2340
2001-11-02 09:10:49 +00:00
Rex Jolliff
286d73f7e6 Initial attempt at a handle table for GDI objects. Needs testing and fixing i am sure.
svn path=/trunk/; revision=2339
2001-11-02 06:10:11 +00:00
Eric Kohl
ec23fa085b Removed PCI_COMMON_CONFIG
svn path=/trunk/; revision=2338
2001-11-01 23:17:10 +00:00
Eric Kohl
91540343f5 Set sector size to 512 bytes.
svn path=/trunk/; revision=2337
2001-11-01 17:48:13 +00:00
Eric Kohl
66b3542076 Enabled secondary IDE channel for PCI and ISA bus
Fixed BytesPerSector hack
Minor cleanup

svn path=/trunk/; revision=2336
2001-11-01 14:51:57 +00:00
Hartmut Birr
ae482ce24e Fixed some bugs in VfatGetStandardInformation().
Implemented VfatGetInternalInformation().

svn path=/trunk/; revision=2335
2001-11-01 10:44:11 +00:00
Hartmut Birr
24f81ff1c1 Enabled the check of the correct buffer size in some functions.
svn path=/trunk/; revision=2334
2001-11-01 10:41:53 +00:00
Hartmut Birr
287fa79a6a Fixed the type of st_dev in stat.
svn path=/trunk/; revision=2333
2001-11-01 10:39:54 +00:00
Hartmut Birr
dbf14d8c26 Initialized statbuf->st_mode in _stat() and _fstati64().
svn path=/trunk/; revision=2332
2001-11-01 10:37:58 +00:00
Hartmut Birr
1dafd03c3d Fixed some bugs in GetFileInformationByHandle().
svn path=/trunk/; revision=2331
2001-11-01 10:35:15 +00:00
Eric Kohl
998550e404 Moved/added some declarations
Fixed atapi drive identification

svn path=/trunk/; revision=2330
2001-11-01 00:30:29 +00:00
Eric Kohl
6d21eb028c Moved/added some declarations
Fixed ide drive identification

svn path=/trunk/; revision=2329
2001-11-01 00:28:57 +00:00
Jason Filby
af347caa8c Kludge: draw within screen until we have clipping working
svn path=/trunk/; revision=2328
2001-10-31 21:08:00 +00:00
David Welch
7e2973b768 Fix for advapi32 failing to load (it had imported symbols from itself)
svn path=/trunk/; revision=2325
2001-10-31 01:03:04 +00:00
David Welch
2179744c2c Fixed bug causing crash when running mc
svn path=/trunk/; revision=2324
2001-10-31 00:03:07 +00:00
David Welch
6efd918a8b Zero pages before allocated.
svn path=/trunk/; revision=2323
2001-10-29 02:39:38 +00:00
Hartmut Birr
2a1ac328ed Clear the allocated page for a bss section (in MmNotPresentFaultSectionView).
svn path=/trunk/; revision=2322
2001-10-27 15:55:45 +00:00
Steven Edwards
4f6b97db87 Initial revision
svn path=/trunk/; revision=2319
2001-10-25 23:22:02 +00:00
Eugene Ingerman
03c7fccace Porting pice.
svn path=/trunk/; revision=2318
2001-10-23 21:33:17 +00:00
Steven Edwards
f475b72c8c Initial revision
svn path=/trunk/; revision=2315
2001-10-23 21:15:37 +00:00
Phillip Susi
a69fa0c124 Changed path to vgaddi.dll to use SystemRoot instead of C:
svn path=/trunk/; revision=2314
2001-10-23 00:22:04 +00:00
Eugene Ingerman
5b13cb7208 Porting pice.
svn path=/trunk/; revision=2313
2001-10-22 05:02:47 +00:00
Casper Hornstrup
f238a86a0b Create named pipe for SCM
svn path=/trunk/; revision=2312
2001-10-21 19:09:06 +00:00
Casper Hornstrup
7cb3efcca8 Prototype fixes.
svn path=/trunk/; revision=2311
2001-10-21 19:07:28 +00:00
Casper Hornstrup
75ebd197fa Open named pipe to SCM
svn path=/trunk/; revision=2310
2001-10-21 19:06:42 +00:00
Casper Hornstrup
f611cbbe42 NPFS read/write functionality.
svn path=/trunk/; revision=2309
2001-10-21 18:58:32 +00:00
Eugene Ingerman
26090a1b08 Missed these files from the last commit.
svn path=/trunk/; revision=2308
2001-10-21 04:46:15 +00:00
Eugene Ingerman
096c6a9c99 Changed some driver functions to follow nt standard. Ported several functions.
svn path=/trunk/; revision=2307
2001-10-21 04:05:48 +00:00
Eugene Ingerman
0356076d35 Original source code for linux kernel debugger. To be ported to reactos.
svn path=/trunk/; revision=2306
2001-10-21 03:45:27 +00:00
Eric Kohl
f81d856c00 Implemented waiting for server pipe (WaitNamedPipe()).
svn path=/trunk/; revision=2305
2001-10-20 15:30:07 +00:00
Eric Kohl
fc27cfa0c9 Fixed WaitNamedPipe().
svn path=/trunk/; revision=2304
2001-10-20 15:28:03 +00:00
Phillip Susi
145c90c778 Fixed typeo that prevented compilation
svn path=/trunk/; revision=2303
2001-10-17 20:02:52 +00:00
Eric Kohl
20bec3cf6b Implemented useful rename command.
svn path=/trunk/; revision=2302
2001-10-17 18:30:10 +00:00
Phillip Susi
32ec8c6868 Only pass file name as module name, not full path
svn path=/trunk/; revision=2301
2001-10-17 01:34:07 +00:00
Phillip Susi
bafcaf58e4 Removed use of crtdll from all apps, let them use msvcrt.dll instead
svn path=/trunk/; revision=2300
2001-10-16 22:45:40 +00:00
Emanuele Aliberti
84114428d7 Fixes to compile the whole set of ROS applications.
Hartmut Birr added to the ROS console parade.

svn path=/trunk/; revision=2299
2001-10-16 21:02:02 +00:00
Phillip Susi
f89bf61ed5 Imported bzip2 modified to build a decompression only dll for use by the ramdisk driver
svn path=/trunk/; revision=2298
2001-10-16 20:59:19 +00:00
Phillip Susi
718510b28a Fixed bug parsing redirections
svn path=/trunk/; revision=2297
2001-10-14 18:30:56 +00:00
Phillip Susi
34fca92d6d Share read access to files opened for redirection
svn path=/trunk/; revision=2296
2001-10-14 18:30:28 +00:00
Hartmut Birr
ee9ea15fe0 Fixed calling convention for ApcRoutine().
Patch by Guido de Jong.

svn path=/trunk/; revision=2295
2001-10-12 19:13:01 +00:00
Eric Kohl
0a88910738 Made qsort() thread-safe.
svn path=/trunk/; revision=2294
2001-10-11 23:37:47 +00:00
Hartmut Birr
061fadc77a Fixed a bug, when there is a write operation to the root directory, vfat crashs.
svn path=/trunk/; revision=2293
2001-10-11 15:39:51 +00:00
Hartmut Birr
ef4b8d4947 Fixed a minor bug in MmAllocateSection().
svn path=/trunk/; revision=2292
2001-10-10 22:40:36 +00:00
Hartmut Birr
78869da85f Added/Removed some definitions.
svn path=/trunk/; revision=2291
2001-10-10 22:20:48 +00:00
Hartmut Birr
644d1f6676 Rewritten the read and write functions.
Changed the cache access from vfat..Region to Cc...Data() and CcCopy...().

svn path=/trunk/; revision=2290
2001-10-10 22:19:51 +00:00
Hartmut Birr
20625a2073 Changed the initialization for the fat cache in VfatMount().
svn path=/trunk/; revision=2289
2001-10-10 22:18:58 +00:00
Hartmut Birr
12f5d25024 Removed vfatRequestAndValidateRegion() and vfatReleaseRegion().
Added some initializations in vfatMakeRootFCB() and vfatMakeFcbFromDirEntry().

svn path=/trunk/; revision=2288
2001-10-10 22:17:42 +00:00
Hartmut Birr
6df323c21b Changed the cache access from CcRos...CacheSegment() to Cc...Data().
svn path=/trunk/; revision=2287
2001-10-10 22:16:46 +00:00
Hartmut Birr
068a4a38d5 Changed the directory access to Cc...Data().
Removed the useing of dummy FileObjects in some calls to VfatReadFile()/VfatWriteFile().

svn path=/trunk/; revision=2286
2001-10-10 22:15:51 +00:00
Hartmut Birr
069a01eede Changed the cache access from vfat...Region() to Cc...Data().
svn path=/trunk/; revision=2285
2001-10-10 22:14:34 +00:00
Hartmut Birr
a23989370d Fixed the returned size in VfatGetFile...Information().
svn path=/trunk/; revision=2284
2001-10-10 22:13:26 +00:00
Hartmut Birr
b61f55deae Added cache access for GetEntyName() and FindFile().
Fixed a minor bug in VfatCreateFile().
Added update of the cachesize in VfatCreateFile(), when a the file size is set zero.

svn path=/trunk/; revision=2283
2001-10-10 22:12:34 +00:00
Hartmut Birr
1e43cf0d82 Added cc/copy.c, cc/pin.c and cc/misc.c to OBJECTS_CC.
svn path=/trunk/; revision=2282
2001-10-10 22:08:27 +00:00
Hartmut Birr
5004973b9a Removed CcRosRequestCacheSegment()and CcRosReleaseCacheSegment().
Added CcCopyRead(), CcCopyWrite(), CcMapData(), CcSetDirtyPinnedData(),
CcUnpinData() and CcSetFileSizes().

svn path=/trunk/; revision=2281
2001-10-10 22:07:15 +00:00
Hartmut Birr
937606fd25 Removed update of FileOffset from IoReadWriteCompletion().
svn path=/trunk/; revision=2280
2001-10-10 21:58:40 +00:00
Hartmut Birr
535721b797 Added a new parameter to IoPageWrite().
svn path=/trunk/; revision=2279
2001-10-10 21:57:00 +00:00
Hartmut Birr
93742336bb Added CcRosFreeCacheSegment(), ReadCacheSegment() and WriteCacheSegment().
svn path=/trunk/; revision=2278
2001-10-10 21:55:13 +00:00
Hartmut Birr
74be6cd705 Added some initializations in CcRosInitializeCache().
svn path=/trunk/; revision=2277
2001-10-10 21:50:15 +00:00
Hartmut Birr
a92ab23917 Implemented CcMapdata(), CcUnpinData() and CsSetDirtyPinnedData().
svn path=/trunk/; revision=2276
2001-10-10 21:49:15 +00:00
Hartmut Birr
4bda2fbdb1 Implemented CcSetFileSizes().
svn path=/trunk/; revision=2275
2001-10-10 21:48:09 +00:00
Hartmut Birr
4fd4a97760 Implemented CcCopyRead(), CcCopyWrite() and some other functions.
svn path=/trunk/; revision=2274
2001-10-10 21:46:13 +00:00
Eric Kohl
a1d321e7b8 Added _abnormal_termination() stub.
svn path=/trunk/; revision=2273
2001-10-10 19:41:35 +00:00
Hartmut Birr
767a20760d Fixed a dead lock in GetNextCluster.
Fixed a bug in FAT32FindAvailableCluster.

svn path=/trunk/; revision=2268
2001-10-07 08:58:29 +00:00
Eric Kohl
d3a9cfe663 Fixed __doserrno type.
svn path=/trunk/; revision=2267
2001-10-04 16:06:36 +00:00
Hartmut Birr
ae6141ba18 Fixed the 'higher 4 bit fat32'-bug.
svn path=/trunk/; revision=2266
2001-10-03 18:23:02 +00:00
Eric Kohl
0f0199f381 Implemented _doserrno().
svn path=/trunk/; revision=2265
2001-10-03 02:15:55 +00:00
Rex Jolliff
9df4133568 some changes to support load of LiteStep
svn path=/trunk/; revision=2264
2001-10-01 16:36:27 +00:00
Rex Jolliff
e446466964 fix to work around dlltool not supporting specified ordinals in export list
svn path=/trunk/; revision=2263
2001-10-01 16:31:12 +00:00
Phillip Susi
3c655e1278 Do not bugcheck on ExFreePool( 0 )
svn path=/trunk/; revision=2262
2001-09-29 19:40:49 +00:00
David Welch
decca5781a Fixes.
svn path=/trunk/; revision=2261
2001-09-27 02:14:35 +00:00
David Welch
387d128462 APplied MiReadPage fix
svn path=/trunk/; revision=2260
2001-09-25 19:52:28 +00:00
David Welch
c0589a9fec Fixes.
svn path=/trunk/; revision=2259
2001-09-25 19:41:38 +00:00
Casper Hornstrup
6e4a29babf Fix for compile error
svn path=/trunk/; revision=2258
2001-09-24 10:19:58 +00:00
Casper Hornstrup
9a6d677db3 Initial OS level SEH support.
svn path=/trunk/; revision=2257
2001-09-24 01:09:51 +00:00
Casper Hornstrup
0948ab6596 Initial OS level SEH support.
svn path=/trunk/; revision=2256
2001-09-24 00:51:17 +00:00
Casper Hornstrup
2eb7adef67 Compile using gcc 3.0
Fixed alot of warnings when using gcc 3.0

svn path=/trunk/; revision=2255
2001-09-23 22:14:10 +00:00
Casper Hornstrup
09237b9213 Enumerate legacy devices
svn path=/trunk/; revision=2254
2001-09-16 13:19:32 +00:00
Casper Hornstrup
9baaca2418 Added PCI bus driver skeleton
svn path=/trunk/; revision=2253
2001-09-16 13:18:24 +00:00
Eric Kohl
1ea7189ed9 Added new atapi driver. It can only scan the pci busses and create scsi port devices for identified ide channels.
svn path=/trunk/; revision=2252
2001-09-09 21:32:28 +00:00
Eric Kohl
dcc3b51487 Added pci bus scanner to find ide controllers. Hardware reset is used when no controller was found.
svn path=/trunk/; revision=2251
2001-09-09 21:28:05 +00:00
David Welch
c4cd9be8de Fixed all no-FPU bugs
svn path=/trunk/; revision=2250
2001-09-09 13:32:20 +00:00
Hartmut Birr
3ad515a2de Change the size of the kernel page table from 1 to 8 pages.
ROS can now boot with up to 4 GB real memory (tested with a modified bochs and 1.5GB).

svn path=/trunk/; revision=2249
2001-09-09 12:26:05 +00:00
Hartmut Birr
a8a4e37cba Change the return value in CreateFileW() from FALSE to INVALID_HANDLE_VALUE.
svn path=/trunk/; revision=2248
2001-09-09 12:21:37 +00:00
Hartmut Birr
1689533ef4 Fixed a bug, that will add a '.' when the ext string is empty.
svn path=/trunk/; revision=2247
2001-09-09 12:13:15 +00:00
Hartmut Birr
5ee0bf283e Fixed a bug in KdpPrintString().
When serial debug was enabled, than the bochs debug dosn't work.

svn path=/trunk/; revision=2246
2001-09-09 09:47:18 +00:00
Jason Filby
aebc047c8c Small fixes
svn path=/trunk/; revision=2245
2001-09-09 09:20:06 +00:00
David Welch
d9975bf64a Try again; enable MP and NE and disable EM
svn path=/trunk/; revision=2244
2001-09-09 00:08:39 +00:00
Emanuele Aliberti
ef3bb24149 Added skeleton for PSXX.DLL, the X11 client library for the POSIX+ subsystem.
svn path=/trunk/; revision=2243
2001-09-08 22:13:16 +00:00
David Welch
8fd176384c Hopefully initialize FPU properly
svn path=/trunk/; revision=2242
2001-09-08 20:08:08 +00:00
Jason Filby
9e9c096bed more freetype cleanup
svn path=/trunk/; revision=2241
2001-09-08 12:12:41 +00:00
Jason Filby
0c257f84a5 More freetype cleanup
svn path=/trunk/; revision=2240
2001-09-08 12:11:48 +00:00
Eric Kohl
3920464d8e Implemented LdrFindEntryForAddress() and LdrQueryProcessModuleInformation().
svn path=/trunk/; revision=2239
2001-09-08 12:06:59 +00:00
Jason Filby
bdea50f54c Cleaning up FreeType library
svn path=/trunk/; revision=2238
2001-09-08 11:55:35 +00:00
Eric Kohl
0c901951af Create mandatory keys for resource management.
svn path=/trunk/; revision=2237
2001-09-08 09:02:08 +00:00
Eric Kohl
b62d5e3184 Return a better status code in ObReferenceObjectByPointer().
svn path=/trunk/; revision=2236
2001-09-08 08:57:59 +00:00
Emanuele Aliberti
cf1883980d Added some Job related info and little cleanup.
svn path=/trunk/; revision=2235
2001-09-07 21:38:44 +00:00
Emanuele Aliberti
fc64f4511b Added CVS Id.
svn path=/trunk/; revision=2234
2001-09-07 21:37:47 +00:00
Emanuele Aliberti
64fe62dd6d Minor changes.
svn path=/trunk/; revision=2233
2001-09-07 21:35:45 +00:00
David Welch
008868b972 Implemented NtQueryTime
svn path=/trunk/; revision=2232
2001-09-06 22:47:39 +00:00
David Welch
6cb5e548e2 Fixed problem with __NTOSKRNL__ not being defined by the compiler
Implemented some APIs

svn path=/trunk/; revision=2231
2001-09-06 20:26:36 +00:00
Eric Kohl
1701b0b02f Implemented IoReportHalUsage().
svn path=/trunk/; revision=2230
2001-09-05 09:21:47 +00:00
Eric Kohl
3fa6827bcd Fixed hive import bug.
svn path=/trunk/; revision=2229
2001-09-04 21:06:27 +00:00
Eric Kohl
0cb3991a23 Implemented RegSaveKey[A/W]().
Added missing calls to MapDefaultKey().

svn path=/trunk/; revision=2228
2001-09-03 23:11:59 +00:00
Emanuele Aliberti
63d1ecea6e LsaXXX stubs added.
svn path=/trunk/; revision=2227
2001-09-03 20:42:44 +00:00
Casper Hornstrup
c997de334b Fixed compilation error.
svn path=/trunk/; revision=2226
2001-09-02 19:48:19 +00:00
Emanuele Aliberti
df39763241 KERNEL32.GetPriorityClass fixed.
svn path=/trunk/; revision=2225
2001-09-02 17:59:44 +00:00
David Welch
750b45e5a3 Added generic capture functions.
svn path=/trunk/; revision=2224
2001-09-02 17:31:00 +00:00
David Welch
97771b1487 Implemented NtSetEnvironmentVariable
svn path=/trunk/; revision=2223
2001-09-02 17:29:52 +00:00
David Welch
0bb08690eb Implemented NtQuerySystemEnvironmentValue
svn path=/trunk/; revision=2222
2001-09-02 15:38:46 +00:00
Casper Hornstrup
145dc8c01d Removed dbgprints
svn path=/trunk/; revision=2221
2001-09-02 12:19:34 +00:00
Casper Hornstrup
c6548b080f Ported 32-bit OLE32 functions from WINE.
svn path=/trunk/; revision=2220
2001-09-02 09:16:23 +00:00
Casper Hornstrup
247c229fc0 Ported 32-bit OLE32 functions from WINE.
svn path=/trunk/; revision=2219
2001-09-02 09:10:47 +00:00
Rex Jolliff
301b03bb9b LiteStep needs GetUserName aliased
svn path=/trunk/; revision=2218
2001-09-01 19:39:23 +00:00
Rex Jolliff
787bcc5f53 add current directory to default search path so programs can find their own dlls
svn path=/trunk/; revision=2217
2001-09-01 19:36:30 +00:00
Casper Hornstrup
b83d417811 Implemented many console & registry functions to get registry explorer running.
Load services from registry - part 1 (disabled due to bug in registry).

svn path=/trunk/; revision=2216
2001-09-01 15:36:45 +00:00
David Welch
17897f7c03 Use the directory tree created by the install target for Linux
installation
Print an informative message in all instances where CreateSystemRootLink
fails
Corrected tools/helper.mk, use the right dll name when building an import
library but also give the target the same name as the import library.
Corrected bad target directory for install target in apps/test

svn path=/trunk/; revision=2215
2001-09-01 11:55:38 +00:00
Casper Hornstrup
e9276ee142 Reverting last change, because MK_IMPLIB is used to determine if an import library should be generated.
svn path=/trunk/; revision=2214
2001-09-01 10:38:49 +00:00
Emanuele Aliberti
b837fe0841 NTDLL.CsrClientCallServer: more info on the interface.
svn path=/trunk/; revision=2212
2001-08-31 20:06:17 +00:00
David Welch
6ad77c02b3 More Linux compilation fixes
svn path=/trunk/; revision=2211
2001-08-31 19:30:16 +00:00
Eric Kohl
a28f736301 Fixed calling conventions
svn path=/trunk/; revision=2210
2001-08-30 23:51:08 +00:00
David Welch
68ceda5ada More Linux compilation fixes.
svn path=/trunk/; revision=2209
2001-08-30 23:35:06 +00:00
David Welch
7cd6d8936d More fixes for Linux compilation.
svn path=/trunk/; revision=2208
2001-08-30 23:23:16 +00:00
David Welch
bb328ae107 Fixes for compilation on Linux
svn path=/trunk/; revision=2207
2001-08-30 23:01:30 +00:00
David Welch
a5d8a7ac82 Don't remake import libraries unnecessarily, use the same extension for
the target as the file which is actually built.

svn path=/trunk/; revision=2206
2001-08-30 22:20:11 +00:00
David Welch
dffb0e9a7a Changed internal/config.h -> roscfg.h in a number of files.
Use a proper prefix for executing programs in tools/Makefile.

svn path=/trunk/; revision=2205
2001-08-30 20:38:20 +00:00
David Welch
888fe38dca Added some more descriptive comments.
svn path=/trunk/; revision=2204
2001-08-30 19:48:21 +00:00
Rex Jolliff
0c52657980 preliminary implementation of boot hive import. exposes memory problem in registry routines
svn path=/trunk/; revision=2203
2001-08-29 05:06:31 +00:00
Jason Filby
5a73b65484 Remove ugly hack for the current display DC
svn path=/trunk/; revision=2202
2001-08-28 18:16:32 +00:00
Eric Kohl
b3ab3efa96 Fixed callback calling conventions (part 2).
svn path=/trunk/; revision=2201
2001-08-27 01:29:07 +00:00
Eric Kohl
20f65a3fb9 Fixed callback calling conventions (part 1).
svn path=/trunk/; revision=2200
2001-08-26 17:30:21 +00:00
Eric Kohl
a9a6bae87b Added partinfo application.
svn path=/trunk/; revision=2199
2001-08-25 17:03:30 +00:00
Eric Kohl
c276551b2b No longer in use
svn path=/trunk/; revision=2198
2001-08-23 21:44:15 +00:00
Eric Kohl
9934c830e0 Moved buildno into tools directory
svn path=/trunk/; revision=2197
2001-08-23 21:43:32 +00:00
Casper Hornstrup
d094202f91 Boot script for ACPI target
svn path=/trunk/; revision=2196
2001-08-23 17:35:17 +00:00
Casper Hornstrup
a50141ac65 Pass ACPI driver on command line
svn path=/trunk/; revision=2195
2001-08-23 17:34:00 +00:00
Casper Hornstrup
5d518a1695 Fixes for APCI bus driver.
svn path=/trunk/; revision=2194
2001-08-23 17:32:04 +00:00
Casper Hornstrup
c5d8547022 Compile correctly when target is ACPI.
svn path=/trunk/; revision=2193
2001-08-23 16:31:27 +00:00
Casper Hornstrup
aa20d5b1d5 Integrated winhello into new build system
svn path=/trunk/; revision=2192
2001-08-23 16:14:57 +00:00
Eric Kohl
b36ed4b1fc Copy ntoskrnl and boot drivers to new location.
Copy hall.dll too.

svn path=/trunk/; revision=2191
2001-08-23 15:37:10 +00:00
Eric Kohl
1b9adb989a Don't use msvcrt as default runtime library for console apps. Let the linker use its default runtime library.
svn path=/trunk/; revision=2190
2001-08-23 15:34:00 +00:00
Eric Kohl
356f44b7de Forward exports to HAL.DLL after splitting HAL.
svn path=/trunk/; revision=2189
2001-08-23 15:26:57 +00:00
Rex Jolliff
d6107fdbb1 DriverEntry is now called with correct parameters
Minor Fix to new build logic

svn path=/trunk/; revision=2188
2001-08-22 03:53:53 +00:00
Casper Hornstrup
be1ee02554 Global configuration moved to include/roscfg.h
svn path=/trunk/; revision=2187
2001-08-21 21:51:43 +00:00
Casper Hornstrup
36402e5aa4 Module wide .cvsignore for:
*.sys, *.exe, *.dll, *.a, *.o, *.coff

Seperated the HALs from ntoskrnl.exe

Added template HAL

svn path=/trunk/; revision=2186
2001-08-21 20:18:27 +00:00
Casper Hornstrup
3f69ca4cc4 Major update of the build system:
- Created helper makefile for all targets
- Made most makefiles simpler by using the helper makefile
- Moved build tools into ./tools

Updated installation instructions

svn path=/trunk/; revision=2185
2001-08-21 20:13:17 +00:00
Emanuele Aliberti
aaada25107 Preliminary directory tree for the "development kits".
svn path=/trunk/; revision=2184
2001-08-21 18:06:43 +00:00
Jason Filby
ec838a6880 Win32 GUI Hello World
svn path=/trunk/; revision=2183
2001-08-20 19:50:21 +00:00
Emanuele Aliberti
a004822e63 Definition of LPC_DEBUG_MESSAGE added in napi/lpc.h.
svn path=/trunk/; revision=2182
2001-08-16 20:56:05 +00:00
Jason Filby
5b66798cd7 Change versioning infor for 0.0.18
svn path=/trunk/; revision=2181
2001-08-16 19:42:15 +00:00
Eric Kohl
bf4cedbfce Removed useless file.
This one caused too much trouble.

svn path=/trunk/; revision=2180
2001-08-16 15:11:02 +00:00
Eric Kohl
55000d5cf0 Fixed compiler warnings.
svn path=/trunk/; revision=2179
2001-08-16 15:09:35 +00:00
Hartmut Birr
73cbc9cc37 There was the wrong file handle in a call to FindClose().
svn path=/trunk/; revision=2178
2001-08-16 10:07:42 +00:00
Emanuele Aliberti
3869ce90e5 Minor fixes in KERNEL32.TerminateThread() and in
KERNEL32.TerminateProcess().

svn path=/trunk/; revision=2177
2001-08-15 20:35:39 +00:00
Emanuele Aliberti
5a9b7bebbc Minor fix in CSR.GetTitle().
svn path=/trunk/; revision=2176
2001-08-14 22:00:21 +00:00
Hartmut Birr
f293bda38a Restoring 1.1
There was a mistake by commiting share.c.

svn path=/trunk/; revision=2175
2001-08-14 21:14:05 +00:00
Hartmut Birr
7ee896cad1 ReadAccess and DeleteAcces was initialized with wrong values (in IoCheckShareAccess() and IoSetShareAccess()). share.c
svn path=/trunk/; revision=2174
2001-08-14 21:05:10 +00:00
Hartmut Birr
41e8ef1540 Change the attribute from FILE_DIRECTORY_FILE to
FILE_NON_DIRECTORY_FILE in DeleteFileW().

svn path=/trunk/; revision=2173
2001-08-14 20:50:47 +00:00
Hartmut Birr
d0f2100e07 Enabled the call to ObDereferenceObject for some
IRP_MJ_xxx functions in IoSecondStageCompletion().

svn path=/trunk/; revision=2172
2001-08-14 20:49:05 +00:00
Hartmut Birr
cc2e3f0806 Added support for directory/file removing/deleting.
Fixed the overwriting bug between addEntry() and updEntry().
Change FindFile() from serach with a sector and index to search with a single index.

svn path=/trunk/; revision=2171
2001-08-14 20:47:30 +00:00
Emanuele Aliberti
52a23385a1 CSR.GetTitle implemented.
Some cleanup in the csrss.exe code.

svn path=/trunk/; revision=2170
2001-08-14 12:57:16 +00:00
Hartmut Birr
1f36dc8a8a Fixed the return value in Fat12GetNextCluster().
svn path=/trunk/; revision=2169
2001-08-14 08:06:26 +00:00
Eric Kohl
b0c7df1b9a Implemented IOCTL_DISK_GET_DRIVE_LAYOUT.
svn path=/trunk/; revision=2168
2001-08-13 16:43:36 +00:00
Eric Kohl
25f3f80f1e Fixed interpretation of BIOS memory map.
Patch by Hartmut Birr.

svn path=/trunk/; revision=2167
2001-08-13 16:39:01 +00:00
Brian Palmer
9dd23174c8 Fixed nasm calling bug.
svn path=/trunk/; revision=2166
2001-08-10 06:44:31 +00:00
Hartmut Birr
8eeb1a96b8 VfatReadBigCluster()/VfatReadSmallCluster()/
VfatWriteBigCluster()/VfatWriteSmallCluster():
- Fixed a bug, that will read data over the end
  of the given buffer or write wrong data to
  the disk, when there is a read without caching
  and the start is on the cluster boundery and
  the end not.
VfatReadSmallCluster()/VfatWriteSmallCluster():
- A cache segment is set to valid, when all clusters
  in the segment are readed or written.
VfatWriteSmallCluster():
- The Parameter Extend is set to TRUE (overwritten),
  when the data need a new cluster.
VfatReadFile()/VfatWriteFile():
- Added special handling for the root directory on
  fat12/fat16, so that a read or write operation
  does not touche the cluster area.
- Added some error handling.

svn path=/trunk/; revision=2165
2001-08-08 19:04:13 +00:00
Eric Kohl
c0cbc28359 Fixed incorrect calling conventions.
svn path=/trunk/; revision=2164
2001-08-07 15:44:40 +00:00
Hartmut Birr
0af72b1ead Fixed a bug in VfatWriteFile().
For partitions with clusters < 4k,
there was calculated the wrong start cluster.

svn path=/trunk/; revision=2163
2001-08-07 15:38:04 +00:00
Eric Kohl
65d55d8863 Changed stack allocation.
Fixed bugs in NtAllocateVirtualMemory().
Disabled NtProtectVirtualMemory().

svn path=/trunk/; revision=2162
2001-08-07 14:13:45 +00:00
Eric Kohl
2e249e1b26 Changed stack allocation.
Fixed bugs in NtAllocateVirtualMemory().
Disabled NtProtectVirtualMemory().

svn path=/trunk/; revision=2161
2001-08-07 14:01:42 +00:00
Eric Kohl
cc7a62391e Fixed nasm calling bug.
svn path=/trunk/; revision=2160
2001-08-07 07:15:24 +00:00
Brian Palmer
d32f7b5e5b Added support for debug prints over a RS232 line.
svn path=/trunk/; revision=2159
2001-08-07 06:19:43 +00:00
Brian Palmer
1b761836a3 Simple Win32 boot sector installer. Will not work under Win9x.
svn path=/trunk/; revision=2158
2001-08-07 05:37:13 +00:00
Hartmut Birr
e163d9c89c Fixed a bug in FindCloseFile().
The return value was allways FALSE.
Cmd's 'dir /s' will now work.

svn path=/trunk/; revision=2157
2001-08-06 18:37:23 +00:00
Hartmut Birr
6167160a26 Fixed a bug in SetFilePointer(),
when the starting point is the end of the file.
test-fseek will now work.

svn path=/trunk/; revision=2156
2001-08-06 18:35:15 +00:00
Eric Kohl
6d07d7107b Fixed stupid typo.
svn path=/trunk/; revision=2155
2001-08-05 21:48:25 +00:00
Hartmut Birr
8fa2bb273a Removed changes 1.26/1.27
svn path=/trunk/; revision=2154
2001-08-05 16:35:52 +00:00
Hartmut Birr
ae35912b3a Disabled debug message in VfatReadFile()/VfatWriteFile().
svn path=/trunk/; revision=2153
2001-08-04 11:10:36 +00:00
Hartmut Birr
34b4c8f40b Added updating of FileObject->CurrentByteOffset in VfatRead()/VfatWrite.
svn path=/trunk/; revision=2152
2001-08-04 11:02:47 +00:00
Hartmut Birr
b4a4e5c0be Fixed a bug in CopyFileExW().
The write count is set to the previous returned read length.

svn path=/trunk/; revision=2151
2001-08-04 10:40:38 +00:00
Emanuele Aliberti
4073da2472 Minor fix.
svn path=/trunk/; revision=2149
2001-08-03 21:49:14 +00:00
Eric Kohl
4b420ec7f6 Fixed stack allocation for initial process (smss.exe).
svn path=/trunk/; revision=2148
2001-08-03 19:52:12 +00:00
Hartmut Birr
27346f997d Fixed a bug in addEntry().
The short names are generated and validated correctly.

svn path=/trunk/; revision=2147
2001-08-03 19:01:17 +00:00
Hartmut Birr
de97756973 Added support for file/directory finding by short names.
svn path=/trunk/; revision=2146
2001-08-03 19:00:41 +00:00
Emanuele Aliberti
6fc5560247 I implemented KERNEL32.RaiseException().
svn path=/trunk/; revision=2145
2001-08-03 17:39:09 +00:00
Eric Kohl
e183b6028f Rewrote stack allocation.
svn path=/trunk/; revision=2144
2001-08-03 17:21:38 +00:00
Eugene Ingerman
e2e13b71ce Lock address space before calling MmCreateMemoryArea.
svn path=/trunk/; revision=2143
2001-08-03 09:36:19 +00:00
Phillip Susi
3208a93c26 Some more simple etags make rules
svn path=/trunk/; revision=2142
2001-08-02 20:25:17 +00:00
Phillip Susi
10b469cbd4 Added missing ascii/unicode defines for GetDiskFreeSpaceEx
svn path=/trunk/; revision=2141
2001-08-02 20:24:13 +00:00
Phillip Susi
933eb642dd Added rule to make etags files... cheap hack right now, should be cleaned up later
svn path=/trunk/; revision=2140
2001-08-02 20:22:24 +00:00
Phillip Susi
1c6b3f753a Added SetWindowOrgEx and SetViewportOrgEx
svn path=/trunk/; revision=2139
2001-08-02 20:20:17 +00:00
Phillip Susi
a33633bdad Changed debug print of WSTR from %wZ to %S, was causing crash
svn path=/trunk/; revision=2138
2001-08-02 15:55:15 +00:00
Hartmut Birr
a252566666 Fixed a minor bug in __getmainargs()/__GetMainArgs().
The parser for argc/argv inserts '\0'-characters in the buffer (CommandLineA).
The next call to GetCommandLineA() returns only the first parameter (program name).

svn path=/trunk/; revision=2137
2001-08-02 12:39:35 +00:00
Eric Kohl
7e4a551cd5 Added .cvsignore
svn path=/trunk/; revision=2135
2001-08-02 08:09:11 +00:00
Hartmut Birr
5e85eb7d8e Fixed a minor bug in _filbuf().
When there was returned a character from stream,
the counter wasn't decremented.

svn path=/trunk/; revision=2134
2001-08-02 07:26:30 +00:00
Hartmut Birr
f1a3075ad7 Fixed a bug in FindFirstFileW() and FindNextFileW().
The lengs of the copied strings was wrong.

svn path=/trunk/; revision=2133
2001-08-01 19:26:41 +00:00
Emanuele Aliberti
a798ec1a86 I added a rule for .cpp source files.
svn path=/trunk/; revision=2132
2001-08-01 17:40:02 +00:00
Hartmut Birr
130bddfe9f Fixed a bug in vfatGetNextDirEntry().
A valid file name was generated from a deleted LFN entry.
An overrun occurred, when a directory has more then 19 deleted LFN entries.

svn path=/trunk/; revision=2131
2001-08-01 15:59:24 +00:00
Eric Kohl
cad3eb8c42 Added CMOS configuration space handler.
svn path=/trunk/; revision=2130
2001-08-01 10:39:50 +00:00
Hartmut Birr
4032632974 Fixed a minor bug in vfat8Dot3ToString,
that expands a short name from 'test.x' to 'test.x  '.

svn path=/trunk/; revision=2129
2001-08-01 10:12:33 +00:00
Emanuele Aliberti
7034b49d22 \t processing in SCREEN_BUFFER bugged.
Partial fix.

svn path=/trunk/; revision=2128
2001-07-31 20:47:44 +00:00
Emanuele Aliberti
d87b450266 Removed the bugged conio.c:ComputeOffsetBuffer()
(Phillip noted it). Restored the inline offset
computation in conio.c:CsrpWriteConsole().
Added \t and \r processing in conio.c:CsrpWriteConsole()
which leads to formatted SCREEN_BUFFERS to
be restored when you switch console.
Please test it.

svn path=/trunk/; revision=2127
2001-07-31 20:28:43 +00:00
Emanuele Aliberti
a44f8b0d7a Little CsrpWriteConsole() cleanup.
(WIP) Restoring a non active screen buffer is bugged:
control characters are NOT processed.

svn path=/trunk/; revision=2126
2001-07-30 11:56:54 +00:00
Emanuele Aliberti
e439100646 Minor changes.
svn path=/trunk/; revision=2125
2001-07-30 11:50:44 +00:00
Emanuele Aliberti
aaa8d41666 \r processing.
svn path=/trunk/; revision=2124
2001-07-30 11:49:38 +00:00
Rex Jolliff
fe1d0d581a some changes to support loading actual drivers
svn path=/trunk/; revision=2123
2001-07-30 03:05:30 +00:00
Rex Jolliff
5d5aba0812 added rdel to all rule
svn path=/trunk/; revision=2122
2001-07-30 01:02:51 +00:00
Eric Kohl
f478c3bb18 Major npfs update, missing typedefs.
svn path=/trunk/; revision=2121
2001-07-29 23:52:49 +00:00
Eric Kohl
8d40c0f964 Fixed more %Z / %wZ bugs.
svn path=/trunk/; revision=2120
2001-07-29 16:47:11 +00:00
Eric Kohl
a305fad232 Fixed msvcrt startup bug.
svn path=/trunk/; revision=2119
2001-07-29 16:42:35 +00:00
Eric Kohl
a600af1a27 Major npfs update.
svn path=/trunk/; revision=2118
2001-07-29 16:41:25 +00:00
Eric Kohl
ab405511d9 Fixed buggy 'install' rule.
svn path=/trunk/; revision=2117
2001-07-29 16:39:12 +00:00
Hartmut Birr
4ae9a4b859 Fixed a bug in _vsnprintf() with formats %wZ and %Z.
svn path=/trunk/; revision=2116
2001-07-29 12:42:40 +00:00
Phillip Susi
0d7487a18c Removed non existant header file include so it will compile
svn path=/trunk/; revision=2115
2001-07-28 15:24:04 +00:00
Emanuele Aliberti
ab529dfd67 Fixed makefile (missing specs).
svn path=/trunk/; revision=2114
2001-07-28 14:46:27 +00:00
Hartmut Birr
818f6c4bfc Fixed a bug FsdGetFsVolumeInformation().
The returned length was wrong.

svn path=/trunk/; revision=2113
2001-07-28 10:12:36 +00:00
Emanuele Aliberti
920ae420ee Make gditest draw a background.
Mostly PR to show we can do graphics...

svn path=/trunk/; revision=2112
2001-07-28 10:05:36 +00:00
Emanuele Aliberti
2f5809598e cmd, more, tee, y, notevil, sysutils linked to msvcrt.dll.
svn path=/trunk/; revision=2111
2001-07-28 08:02:05 +00:00
Emanuele Aliberti
3de844a224 *** empty log message ***
svn path=/trunk/; revision=2110
2001-07-28 07:57:24 +00:00
Hartmut Birr
28f723e21e Fixed the 'REACTOS' volume label bug.
svn path=/trunk/; revision=2109
2001-07-28 07:05:56 +00:00
Eric Kohl
85a1907ad6 Disabled a function-call that crashes all msvcrt-based apps.
Further investigation will be done.

svn path=/trunk/; revision=2108
2001-07-27 23:54:05 +00:00
Eric Kohl
d50f7d2496 Fixed a warning.
svn path=/trunk/; revision=2107
2001-07-27 10:15:48 +00:00
Eric Kohl
5cd5457f10 Removed specs files.
svn path=/trunk/; revision=2106
2001-07-26 16:52:53 +00:00
Eric Kohl
db88524e4f Fixed broken rule.
svn path=/trunk/; revision=2105
2001-07-26 12:36:33 +00:00
Eric Kohl
c98b85ff40 Updated .cvsignore and makefile.
svn path=/trunk/; revision=2104
2001-07-26 11:44:04 +00:00
Eric Kohl
c0333e56cd Vidport did not have an export table because of broken rule.
svn path=/trunk/; revision=2103
2001-07-26 11:40:59 +00:00
Hartmut Birr
2da14243ee Fixed bug in vfatMakeRootFCB().
svn path=/trunk/; revision=2102
2001-07-25 17:39:34 +00:00
Eric Kohl
6bad760721 Fixed bug in ReadVolumeLabel().
svn path=/trunk/; revision=2101
2001-07-25 08:58:21 +00:00
Eric Kohl
5844ee0a81 Updated driver list.
svn path=/trunk/; revision=2100
2001-07-25 08:31:22 +00:00
Eric Kohl
cf6085206f Remove unusable 'driver'.
svn path=/trunk/; revision=2099
2001-07-25 08:30:01 +00:00
Eric Kohl
8d6a03b3eb Added missing .cvsignore files.
Updated makefiles.

svn path=/trunk/; revision=2098
2001-07-25 08:29:15 +00:00
Eric Kohl
74893f61fb Minor update
svn path=/trunk/; revision=2097
2001-07-25 08:26:06 +00:00
Eric Kohl
b8cfaa435e Added missing .cvsignore files.
Updated makefiles.

svn path=/trunk/; revision=2096
2001-07-25 06:21:38 +00:00
Eric Kohl
7b23bdc4ac Documentation update.
Added preliminary road-map.

svn path=/trunk/; revision=2095
2001-07-24 20:49:57 +00:00
Eric Kohl
6c6bb5f62e More cleanups
svn path=/trunk/; revision=2094
2001-07-24 18:39:02 +00:00
Eric Kohl
72a83f69ee Updated makefile
svn path=/trunk/; revision=2093
2001-07-24 16:32:16 +00:00
Eric Kohl
1a42d9ea1c Minor updates.
svn path=/trunk/; revision=2092
2001-07-24 10:22:18 +00:00
Eric Kohl
e604d7b0fe Added disk class driver skeleton.
svn path=/trunk/; revision=2091
2001-07-24 10:21:15 +00:00
Eric Kohl
c0eef82d19 Moved lsass out of the way.
svn path=/trunk/; revision=2090
2001-07-24 10:18:39 +00:00
Eric Kohl
2f246b69d1 Added typedef for PCCHAR.
svn path=/trunk/; revision=2089
2001-07-23 12:54:35 +00:00
Eric Kohl
066d5b9dda Added storage drivers to the build process.
svn path=/trunk/; revision=2088
2001-07-23 06:15:27 +00:00
Eric Kohl
3df0bbbfce Added scsi class driver skeleton.
svn path=/trunk/; revision=2087
2001-07-23 06:13:48 +00:00
Emanuele Aliberti
9859f23c21 Skeleton for KERNEL32.GlobalMemoryStatus
svn path=/trunk/; revision=2086
2001-07-22 19:55:21 +00:00
Emanuele Aliberti
062243bc91 Minor path parametrization.
svn path=/trunk/; revision=2085
2001-07-21 20:16:09 +00:00
Eric Kohl
6429b16f0a Fixed dll build order
svn path=/trunk/; revision=2084
2001-07-21 20:08:42 +00:00
Emanuele Aliberti
97aa97fdd0 Minor fix.
svn path=/trunk/; revision=2083
2001-07-21 15:45:20 +00:00
Emanuele Aliberti
5e6df71477 Added version resource script.
svn path=/trunk/; revision=2082
2001-07-21 15:40:04 +00:00
Emanuele Aliberti
5cb7155212 Added version resource script.
svn path=/trunk/; revision=2081
2001-07-21 15:34:08 +00:00
Emanuele Aliberti
4ed1b71717 Ops! Target of a forwarded exported symbol should be as
decorated as the target itself.

svn path=/trunk/; revision=2080
2001-07-21 08:43:59 +00:00
Emanuele Aliberti
b4a32f4a4c Added forwarded exports to KERNEL32.
svn path=/trunk/; revision=2079
2001-07-21 08:41:12 +00:00
Emanuele Aliberti
ee0e06c2c1 Added version resource script.
svn path=/trunk/; revision=2078
2001-07-21 08:37:06 +00:00
Eric Kohl
b8ec1f6a56 Added scsiport driver skeleton.
svn path=/trunk/; revision=2077
2001-07-21 07:30:26 +00:00
Eric Kohl
75d57b4fa1 Enabled caching for FAT32 partitions.
Enabled FAT32 write code.
Various smaller fixes.
Patch by Hartmut Birr (part 2).

svn path=/trunk/; revision=2076
2001-07-20 08:00:21 +00:00
Eric Kohl
7192939c7d Restored _wmakepath(). Grrr. :-/
svn path=/trunk/; revision=2075
2001-07-19 18:53:29 +00:00
Eric Kohl
d24d5849fe Fixed bug in SetFileTime().
Patch by Hartmut Birr.

svn path=/trunk/; revision=2074
2001-07-19 18:42:02 +00:00
Eric Kohl
20a0131534 Fixed bug in _makepath().
Patch by Hartmut Birr.

svn path=/trunk/; revision=2073
2001-07-19 18:41:09 +00:00
Eric Kohl
e6063f185b Various fixes by Hartmut Birr.
svn path=/trunk/; revision=2072
2001-07-18 12:04:52 +00:00
Eric Kohl
1481663f41 Added mbstring functions.
svn path=/trunk/; revision=2071
2001-07-18 10:44:18 +00:00
Eric Kohl
c65dea5060 Added process and mbstring functions.
svn path=/trunk/; revision=2070
2001-07-18 09:23:02 +00:00
Eric Kohl
3edae5c9c1 Added process functions.
svn path=/trunk/; revision=2069
2001-07-18 09:22:04 +00:00
Eric Kohl
5cb6979b1a Added mbstring functions.
svn path=/trunk/; revision=2068
2001-07-18 09:20:23 +00:00
Eric Kohl
ccf31892a1 Fixed a tiny bug.
svn path=/trunk/; revision=2067
2001-07-18 09:18:10 +00:00
Eric Kohl
f488ede562 Fixed crash while mounting a FAT32 partition.
svn path=/trunk/; revision=2066
2001-07-17 07:48:06 +00:00
Rex Jolliff
5c2ae92c47 Added a stubbed oleaut32.dll and a little work on ole32.dll
svn path=/trunk/; revision=2065
2001-07-16 01:45:44 +00:00
Rex Jolliff
1f7f2ec88f move work on clean rule
svn path=/trunk/; revision=2064
2001-07-15 21:19:02 +00:00
Rex Jolliff
5ce255ed4c some work on clean rule
svn path=/trunk/; revision=2063
2001-07-15 18:06:23 +00:00
Eric Kohl
ac38bc6706 Named pipes and mail slots need a valid file object.
svn path=/trunk/; revision=2062
2001-07-15 15:36:31 +00:00
Eric Kohl
8e8502cc51 Create symbolic links for dos devices.
svn path=/trunk/; revision=2061
2001-07-15 13:46:16 +00:00
Casper Hornstrup
20da260a3c Temporary fix to prevent a crash when running in VMware (and possibly bochs too)
svn path=/trunk/; revision=2060
2001-07-14 21:10:31 +00:00
Eric Kohl
5b04ae25a4 Fixed a string overrun.
Patch by Hartmut Birr.

svn path=/trunk/; revision=2059
2001-07-14 18:21:23 +00:00
Nedko Arnaudov
372a3cc161 "Because of changes in winnt.h, some of security definitions must be used from there."
svn path=/trunk/; revision=2058
2001-07-14 07:01:38 +00:00
Eric Kohl
889f9e3c01 Added support for FAT16 partition with clustersize greater than page size.
Patch by Hartmut Birr.

svn path=/trunk/; revision=2057
2001-07-13 10:31:14 +00:00
Eric Kohl
6d64efee46 Moved interlocked and locale functions.
Implemented basic locale support.
Added some missing interlocked functions.

svn path=/trunk/; revision=2056
2001-07-12 17:23:42 +00:00
Eric Kohl
b03d2d1155 Added more functions to msvcrt.
svn path=/trunk/; revision=2055
2001-07-12 16:31:03 +00:00
Eric Kohl
562836fa81 Fixed a warning.
svn path=/trunk/; revision=2054
2001-07-12 11:59:51 +00:00
Eric Kohl
e9f2e019b1 Fixed warnings and errors.
svn path=/trunk/; revision=2053
2001-07-12 11:58:57 +00:00
Eric Kohl
577c72f5b0 Fixed compiling bug for gcc-2.95.3.
svn path=/trunk/; revision=2052
2001-07-11 20:26:58 +00:00
Casper Hornstrup
6f0b5babc4 Use fastcall in NDIS header.
svn path=/trunk/; revision=2050
2001-07-06 23:05:11 +00:00
Brian Palmer
17dc9b5270 Full memory management support (memory.c & memory.h & mem.S)
Preliminary debug code (debug.c & debug.h)
Reworked .ini file code (parseini.c & parseini.h)
Size optimizations (fat.asm & fat32.asm)
FAT12/16 boot sector now fully understands the FAT (fat.asm)

svn path=/trunk/; revision=2049
2001-07-06 22:05:05 +00:00
Eric Kohl
e575ed9544 Enabled FASTCALL calling convention
svn path=/trunk/; revision=2048
2001-07-06 21:32:43 +00:00
Eric Kohl
af1605f6f6 Added _wasctime() and _wctime().
svn path=/trunk/; revision=2047
2001-07-06 21:17:36 +00:00
Eric Kohl
4eca28a7a6 Fixed a windres warning
svn path=/trunk/; revision=2046
2001-07-06 21:15:20 +00:00
Eric Kohl
aa234d8870 Added missing _wmktemp().
svn path=/trunk/; revision=2045
2001-07-06 14:33:19 +00:00
Eric Kohl
10cde64c1f Added more missing functions
svn path=/trunk/; revision=2044
2001-07-06 12:53:03 +00:00
Rex Jolliff
131f7804ab some corrections to the stubs
svn path=/trunk/; revision=2043
2001-07-06 04:01:27 +00:00
Rex Jolliff
d152260ffa Added a stubbed shell32.dll
svn path=/trunk/; revision=2042
2001-07-06 02:47:17 +00:00
Eric Kohl
e5e74911b3 Added missing math and stdio functions
svn path=/trunk/; revision=2041
2001-07-06 00:58:15 +00:00
Eric Kohl
3bba37d64a Added missing math functions
svn path=/trunk/; revision=2040
2001-07-06 00:54:39 +00:00
Rex Jolliff
0e53a7424f added object handling routines for user objects in win32k.sys
svn path=/trunk/; revision=2039
2001-07-06 00:05:05 +00:00
Rex Jolliff
208eecc0f4 Partial directory caching (create calls cached, but dir info calls
still use non cached routines).

svn path=/trunk/; revision=2038
2001-07-05 01:51:53 +00:00
Casper Hornstrup
52ead14335 Fixed ne2000 driver so it will link correctly.
svn path=/trunk/; revision=2037
2001-07-04 21:24:02 +00:00
Casper Hornstrup
3a9de284ad Updated clean rules.
Implemented sequenced lists and lookaside lists.
Started on TCP/IP connection endpoints.
Save process window station in EPROCESS instead of PEB.
NOTICE: please do a make win32k_clean or you might experience a crash

svn path=/trunk/; revision=2036
2001-07-04 20:40:24 +00:00
Rex Jolliff
df84ec15d8 Fix for error in reading next extended partition when partition contains slack
or more than one non container partition.

svn path=/trunk/; revision=2035
2001-07-04 16:42:37 +00:00
Eric Kohl
eed177f191 Added conio functions
svn path=/trunk/; revision=2034
2001-07-04 16:39:37 +00:00
Rex Jolliff
d46de4a28a added some test cases to fsd tests
svn path=/trunk/; revision=2033
2001-07-04 03:07:54 +00:00
Eric Kohl
bd74b6b30a Added missing io functions from crtdll and implemented wide and 64 bit functions.
svn path=/trunk/; revision=2032
2001-07-03 22:18:42 +00:00
Eric Kohl
357a89921a Untangled crtdll/msvcrt header mess.
svn path=/trunk/; revision=2031
2001-07-03 13:21:22 +00:00
Eric Kohl
a6f8fd2f79 Oooops! This should not have heppened
svn path=/trunk/; revision=2030
2001-07-03 13:14:18 +00:00
Eric Kohl
83e63dc11b Untangled crtdll/msvcrt header mess.
svn path=/trunk/; revision=2029
2001-07-03 13:07:12 +00:00
Eric Kohl
0bbf23c333 Untangled crtdll/msvcrt header mess.
svn path=/trunk/; revision=2028
2001-07-03 12:56:48 +00:00
Eric Kohl
49ad46d964 Added some float and stdlib functions
svn path=/trunk/; revision=2027
2001-07-02 21:52:25 +00:00
Phillip Susi
8dacbd3ab0 Fixed LdrShutdownProcess() to only detach static dlls, any dynamically loaded ones should be FreeLibrary()d from the static dlls and then they will be detached
svn path=/trunk/; revision=2026
2001-07-02 20:27:41 +00:00
Eric Kohl
8cd4cde19c Added some code to map more predefined keys (like HKCU).
Implemented some ansi functions

svn path=/trunk/; revision=2025
2001-07-01 17:54:07 +00:00
Jason Filby
a9be5303eb Fixed warnings
svn path=/trunk/; revision=2024
2001-07-01 14:34:45 +00:00
Jason Filby
e9ff4263ca Wide characters to conform to LOGFONTW definition
svn path=/trunk/; revision=2023
2001-07-01 14:32:47 +00:00
Jason Filby
b7239a157c Defined LOGFONTW and now use it in DEVINFO
svn path=/trunk/; revision=2022
2001-07-01 14:31:46 +00:00
Jason Filby
93bd949df5 Bug fix
svn path=/trunk/; revision=2021
2001-06-30 17:43:05 +00:00
Emanuele Aliberti
b1cc45efd9 Fixed includes to compile.
svn path=/trunk/; revision=2020
2001-06-29 21:08:50 +00:00
Eric Kohl
965c424c85 Prepared loading of .nls files
svn path=/trunk/; revision=2019
2001-06-29 20:43:55 +00:00
Eric Kohl
b6da4ac7a1 Prepared loading of .nls files
svn path=/trunk/; revision=2018
2001-06-29 20:31:03 +00:00
Eric Kohl
29b5ab4122 Started moving common gdi32/w32k types into common header file.
svn path=/trunk/; revision=2017
2001-06-29 19:34:35 +00:00
Eric Kohl
8a477f58d7 Read partition tables only once while assigning drive letters.
svn path=/trunk/; revision=2016
2001-06-29 11:09:48 +00:00
Rex Jolliff
c967887093 oops, left in some debugging statements
svn path=/trunk/; revision=2015
2001-06-28 02:56:27 +00:00
Rex Jolliff
5eb89e0c5a fixed problem with extended partitions that contain only Linux logical partitions
svn path=/trunk/; revision=2014
2001-06-28 02:42:27 +00:00
Eric Kohl
b8e0d46292 Fixed typos and warnings.
svn path=/trunk/; revision=2013
2001-06-26 12:54:58 +00:00
Eric Kohl
edd3aa06a7 Fixed a lot of warnings.
svn path=/trunk/; revision=2012
2001-06-25 23:48:20 +00:00
Eric Kohl
25138c970a Oooops. Still something missing!
svn path=/trunk/; revision=2011
2001-06-25 18:57:41 +00:00
Eric Kohl
3454082412 Fixed a lot of warnings.
svn path=/trunk/; revision=2010
2001-06-25 18:51:31 +00:00
Eric Kohl
d450a93214 Fixed a lot of warnings.
svn path=/trunk/; revision=2009
2001-06-25 14:22:45 +00:00
Eric Kohl
6e9bf90969 Fixed a lot of warnings.
svn path=/trunk/; revision=2008
2001-06-25 12:32:56 +00:00
Eric Kohl
b9689b04fa Fixed a lot of warnings.
svn path=/trunk/; revision=2007
2001-06-25 09:30:45 +00:00
Phillip Susi
4a45379380 Added missing extern "C"
svn path=/trunk/; revision=2006
2001-06-24 17:58:13 +00:00
Phillip Susi
b5686dbcd2 Treat STATUS_PORT_DISCONNECTED as full error, now that LPC ports correctly deliver the LPC_PORT_CLOSED message.
svn path=/trunk/; revision=2005
2001-06-23 19:20:01 +00:00
Phillip Susi
db9f10747e Handles should be closed in the context of the dead process, not the system process.
For now, I just used KeAttachProcess() to do this, but this should be moved so it is called by the last thread of the process before it dies.

svn path=/trunk/; revision=2004
2001-06-23 19:15:14 +00:00
Phillip Susi
71f7e0cad5 Fixed LPC port implementation to use an internal semaphore, rather than an
event.  When using the event, if multiple messages were queued to the port
at once, the client would only get the first one, and then block rather than
read the next message.

I think that the port object should have a DISPATCHER_HEADER to make it a
full blown dispatcher object, allowing clients to wait on the port object.

svn path=/trunk/; revision=2003
2001-06-23 19:13:33 +00:00
Eric Kohl
1dfc10a465 Added protection against inclusion of conflicting prototypes.
svn path=/trunk/; revision=2002
2001-06-22 12:40:45 +00:00
Eric Kohl
a4356344c9 Minor fixes.
svn path=/trunk/; revision=2001
2001-06-22 12:36:23 +00:00
Eric Kohl
0514d0e92b Added symbol __NTDRIVER__ to identify drivers.
svn path=/trunk/; revision=2000
2001-06-22 12:30:02 +00:00
Eric Kohl
a25e9783d7 Replaced call to KeBugCheck().
svn path=/trunk/; revision=1999
2001-06-22 12:19:45 +00:00
Eric Kohl
770c504a74 Fixed 'clean' rule.
svn path=/trunk/; revision=1998
2001-06-22 12:17:24 +00:00
Phillip Susi
3e22e847c2 Implemented support for console titles
Display console title while swapping consoles with alt-tab
Use alt-tab now instead of alt-q

svn path=/trunk/; revision=1997
2001-06-22 02:11:44 +00:00
Phillip Susi
4eb1d89866 Set console title to "Winlogon"
svn path=/trunk/; revision=1996
2001-06-22 02:10:11 +00:00
Eric Kohl
932eaef816 Added missing directories to 'clean' rule.
svn path=/trunk/; revision=1995
2001-06-21 17:25:35 +00:00
Eric Kohl
294fa73123 Added missing io status blocks.
Fixed some warnings.

svn path=/trunk/; revision=1994
2001-06-21 13:14:41 +00:00
Rex Jolliff
9a56bea334 command line parse changed to not stop after first instance of each argument found
svn path=/trunk/; revision=1993
2001-06-21 04:12:19 +00:00
Brian Palmer
5efafbf03e Win2k FAT32 Boot Sector Disassembly
svn path=/trunk/; revision=1992
2001-06-20 20:31:35 +00:00
Eric Kohl
c280651aa2 Some more fixes for 'fastcall' support.
svn path=/trunk/; revision=1991
2001-06-20 20:00:36 +00:00
Eric Kohl
93eeaf2b3e First fixes to support fastcall:
- moved FILETIME
- removed inclusion of <windows.h> from ntoskrnl
- fixed typos

svn path=/trunk/; revision=1990
2001-06-20 13:00:53 +00:00
Eric Kohl
c79b121347 Implemented some more registry functions.
svn path=/trunk/; revision=1989
2001-06-19 15:09:16 +00:00
Eric Kohl
76f1b8fa3c Implemented RtlOpenCurrentUser().
svn path=/trunk/; revision=1988
2001-06-18 18:37:12 +00:00
Phillip Susi
439bc219e0 Enhanced floppy driver to read up to an entire track at a time
Not sure if I did this correctly, but it seems to work:

By accident, I noticed that it seems to return more than the sector you requested if you program the DMAC to transfer more than one sector of bytes, so I decided to go with it.

Minor fixes.

svn path=/trunk/; revision=1987
2001-06-18 03:14:24 +00:00
Phillip Susi
d28ae7e82f Check in of new ram disk driver, loads floppy image into ram on boot
svn path=/trunk/; revision=1986
2001-06-18 03:10:00 +00:00
Phillip Susi
a504708d4e Fixed console mode behavior with processed input but not line buffered mode
svn path=/trunk/; revision=1985
2001-06-18 03:07:37 +00:00
Phillip Susi
16588f8362 Put LoadString code back that was removed by someone...
svn path=/trunk/; revision=1984
2001-06-18 03:05:54 +00:00
Phillip Susi
a49c07b8f2 Fixed CreateProcess() to use the command line parameter like NT does
This still needs quite a bit more work to fix bugs and be 100% compatible with NT

svn path=/trunk/; revision=1983
2001-06-18 03:02:43 +00:00
Phillip Susi
045f617089 Corrected CreateProcess() command line parameter to be more compatible with NT
Fixed minor bugs with console mode being set incorrectly

svn path=/trunk/; revision=1982
2001-06-18 02:55:47 +00:00
Phillip Susi
35b12b3d8c Added .cvsignore to ignore cmd.coff
svn path=/trunk/; revision=1981
2001-06-17 23:10:07 +00:00
Eric Kohl
c4b00c80d8 Implemented some registry functions.
svn path=/trunk/; revision=1980
2001-06-17 22:54:36 +00:00
Emanuele Aliberti
ab5917c0c7 Fixed a typo.
svn path=/trunk/; revision=1979
2001-06-17 20:36:35 +00:00
Eric Kohl
fdbabc8ad9 Implemented AllocateLocallyUniqueId().
svn path=/trunk/; revision=1978
2001-06-17 20:20:21 +00:00
Emanuele Aliberti
1731f27560 NTDLL/csr: some more stubs; code split;
NTDLL/rtl: some more stubs; RtlRaiseStatus() implemented;
Minor changes.

svn path=/trunk/; revision=1977
2001-06-17 20:05:10 +00:00
Eric Kohl
c4bb1e256b Some csr additions
svn path=/trunk/; revision=1976
2001-06-17 09:25:03 +00:00
Eric Kohl
5a58cc8836 Changed ObCreateObject() to a more nt-compatible format.
Now it returns a status value.

svn path=/trunk/; revision=1975
2001-06-16 14:11:31 +00:00
Eric Kohl
ae8ba926ce Added unstripped driver to .cvsignore.
svn path=/trunk/; revision=1974
2001-06-16 09:54:43 +00:00
Eric Kohl
9d72cf785d Added some error checks.
svn path=/trunk/; revision=1973
2001-06-16 09:49:45 +00:00
Eric Kohl
9d04225d93 Fixed linker error.
svn path=/trunk/; revision=1972
2001-06-15 18:32:25 +00:00
Casper Hornstrup
a3ba68ae58 More work on winsock stack (ping is now working)
svn path=/trunk/; revision=1971
2001-06-15 17:48:43 +00:00
Eric Kohl
ae87e6af46 Fixes for gcc-2.95.3-4
Fixed typos

svn path=/trunk/; revision=1970
2001-06-15 11:15:32 +00:00
Jason Filby
2f3eb30871 From Eugene Ingerman:
Create default registry files is they don't exist
Modularized registry.c into more files, more manageable
Bug fix in IoCreateFile that didn't return IoStatusBlock
'dir' now works in Bochs - corrected parsing in VfatOpenFile

svn path=/trunk/; revision=1969
2001-06-14 21:05:08 +00:00
Eric Kohl
e180745ffa Added some error checks.
svn path=/trunk/; revision=1968
2001-06-14 10:02:59 +00:00
Eric Kohl
d8f25b3cb8 Implemented access to PCI configuration space
svn path=/trunk/; revision=1967
2001-06-13 22:17:01 +00:00
Eric Kohl
dbb696c65d Mostly STDCALL fixes.
svn path=/trunk/; revision=1966
2001-06-13 10:59:50 +00:00
Casper Hornstrup
8eba21d917 Window stations and desktops
svn path=/trunk/; revision=1965
2001-06-12 17:51:51 +00:00
Casper Hornstrup
db931ec021 Removed old wine code
svn path=/trunk/; revision=1964
2001-06-12 17:44:50 +00:00
Casper Hornstrup
bc8b4c3210 Removed old wine code
svn path=/trunk/; revision=1963
2001-06-12 17:35:46 +00:00
Casper Hornstrup
b0f6cfbe69 Removed old wine code
svn path=/trunk/; revision=1962
2001-06-12 17:30:27 +00:00
Brian Palmer
4750bc0160 Implemented memory detection & BIOS memory map
Added memory management prototypes

svn path=/trunk/; revision=1961
2001-06-12 16:12:50 +00:00
Eric Kohl
35850562c1 Added missing STDCALLs.
svn path=/trunk/; revision=1960
2001-06-12 12:36:58 +00:00
Eric Kohl
e8c61143ed Fixed some NT compatibility issues in Nt[Query/Set]InformationFile().
Fixed buffer size issues in volume functions.
Fixed several minor bugs.

svn path=/trunk/; revision=1959
2001-06-12 12:35:42 +00:00
Emanuele Aliberti
d1c18ff4e4 *** empty log message ***
svn path=/trunk/; revision=1958
2001-06-11 20:36:44 +00:00
Eric Kohl
4c892bc4e7 Implemented SetVolumeLabelW().
svn path=/trunk/; revision=1957
2001-06-11 19:54:05 +00:00
Eric Kohl
bf1b360a1e Fixed some NT compatibility issues in Nt[Query/Set]VolumeInformationFile().
svn path=/trunk/; revision=1956
2001-06-11 19:52:22 +00:00
Eric Kohl
80f8038f24 Fixed MaxRootEntries. This caused disk corruption.
svn path=/trunk/; revision=1955
2001-06-09 15:51:23 +00:00
Brian Palmer
dc36f333cf Forgot to add a semi-colon at end of statement
svn path=/trunk/; revision=1954
2001-06-08 23:20:14 +00:00
Brian Palmer
1d9101d6ea Separated multiboot kernel loader and reactos kernel loader so that support for other operating systems can be added
svn path=/trunk/; revision=1953
2001-06-08 23:12:40 +00:00
Eric Kohl
4c1911c2ca Use ARC-Path to boot ReactOS
svn path=/trunk/; revision=1952
2001-06-08 17:46:52 +00:00
Eric Kohl
18b431ed17 Added stubs for missing partition functions
svn path=/trunk/; revision=1951
2001-06-08 15:11:04 +00:00
Eric Kohl
624e3335e1 Implemented the most simple functions.
svn path=/trunk/; revision=1950
2001-06-07 21:27:45 +00:00
Eric Kohl
a68d65df79 Fixes to build win32k.sys again.
svn path=/trunk/; revision=1949
2001-06-07 21:22:32 +00:00
Eric Kohl
77fa055814 Replaced IDEGetPartitionTable() by call to IoReadPartitionTable()
Several minor fixes

svn path=/trunk/; revision=1948
2001-06-07 21:18:01 +00:00
Emanuele Aliberti
6d96f0e0cc Fixed includes to compile.
svn path=/trunk/; revision=1947
2001-06-07 20:38:53 +00:00
Jason Filby
51c0ed06fe Updated definition
svn path=/trunk/; revision=1946
2001-06-06 14:25:13 +00:00
Brian Palmer
4531d3752a Multiboot Kernel Compliance
svn path=/trunk/; revision=1945
2001-06-05 21:45:51 +00:00
Jason Filby
49e30c043c Bug fixes
svn path=/trunk/; revision=1944
2001-06-04 14:54:40 +00:00
Casper Hornstrup
f105303a7b Win32k native user stubs
svn path=/trunk/; revision=1943
2001-06-04 14:39:43 +00:00
Casper Hornstrup
465823fcc7 Default is screen debug output
svn path=/trunk/; revision=1942
2001-06-04 11:27:54 +00:00
Casper Hornstrup
514cb6a689 Raw IP and ICMP fixes
More work on winsock stack (not usable yet though)
Support for loading symbols for user mode modules

svn path=/trunk/; revision=1941
2001-06-04 11:26:13 +00:00
Jason Filby
3d24d1f443 Small fixes
svn path=/trunk/; revision=1940
2001-06-03 10:48:41 +00:00
Jason Filby
b6af1f6bab Prevent mouse from interfering with GDI drawing
svn path=/trunk/; revision=1939
2001-06-03 10:47:29 +00:00
Eric Kohl
c3b862d61d Fixed partition table bug
svn path=/trunk/; revision=1938
2001-06-02 15:53:26 +00:00
Jason Filby
4ce8aabb3c Faster moving mouse cursor
svn path=/trunk/; revision=1937
2001-06-02 08:44:46 +00:00
Jason Filby
a9d9714a23 Better looking mouse cursor
svn path=/trunk/; revision=1936
2001-06-02 08:43:48 +00:00
Eric Kohl
7d15b82aa0 Implemented RtlFindMessage() and Rtl[Query/Set]TimeZoneInformation().
svn path=/trunk/; revision=1935
2001-06-01 17:14:40 +00:00
Eric Kohl
efe6366a22 Implemented RtlFindMessage().
Implemented Rtl[Query/Set]TimeZoneInformation().
Implemented RtlQueryRegistryValues() partially.

svn path=/trunk/; revision=1933
2001-05-30 20:03:28 +00:00
Eric Kohl
553aab4bb7 Fixed a crash in NtCreateKey() when an existing key is opened
svn path=/trunk/; revision=1932
2001-05-30 14:40:36 +00:00
Eric Kohl
2c92d6e39b Fixed potential crash when empty ANSI_STRING or UNICODE_STRING is printed
svn path=/trunk/; revision=1931
2001-05-30 14:38:14 +00:00
Jason Filby
8c8de10906 Improve mouse driver stability a bit
svn path=/trunk/; revision=1930
2001-05-30 08:07:48 +00:00
Eric Kohl
5a12816c16 Fixed a typo
svn path=/trunk/; revision=1929
2001-05-27 23:03:51 +00:00
Casper Hornstrup
f821d295ad Double makefile in cvs
svn path=/trunk/; revision=1928
2001-05-27 16:37:24 +00:00
Casper Hornstrup
94fe75aeb4 Full make
svn path=/trunk/; revision=1927
2001-05-27 16:23:20 +00:00
Eric Kohl
eb7f6b07c8 Rewrote atom functions in kernel32
svn path=/trunk/; revision=1926
2001-05-27 15:40:31 +00:00
Eric Kohl
4790ca37b0 Implemented atoms in ntoskrnl and fixed a few bugs
svn path=/trunk/; revision=1925
2001-05-27 11:17:01 +00:00
Eric Kohl
803636da4a Implemented handle table and atom table
svn path=/trunk/; revision=1924
2001-05-26 17:49:18 +00:00
Eric Kohl
f9384f3cf8 Implemented handle table and atom table
svn path=/trunk/; revision=1923
2001-05-26 16:52:31 +00:00
Jason Filby
4c125c3021 Was not clearing screen on some cards
svn path=/trunk/; revision=1922
2001-05-26 10:25:22 +00:00
Jason Filby
2262d67ef2 Build mouclass and psaux
svn path=/trunk/; revision=1921
2001-05-26 10:20:07 +00:00
Jason Filby
c6287c59d3 Load PS/2 mouse and mouse class drivers on startup
svn path=/trunk/; revision=1920
2001-05-26 10:05:40 +00:00
Jason Filby
9726e9950b Minor update
svn path=/trunk/; revision=1919
2001-05-26 10:04:06 +00:00
Jason Filby
a91a0d77da VGA software cursor
svn path=/trunk/; revision=1918
2001-05-26 08:21:03 +00:00
Jason Filby
02e9af8bda Mouse driver improvements; callback between mouse class and GDI
svn path=/trunk/; revision=1917
2001-05-26 08:19:03 +00:00
Jason Filby
73b9ac6994 Initial GDI Mouse support, small DC fix
svn path=/trunk/; revision=1916
2001-05-26 08:15:40 +00:00
Eric Kohl
caae64da4b Fixed duplicate DELETE
svn path=/trunk/; revision=1915
2001-05-25 08:51:41 +00:00
Eric Kohl
0f9dfab704 Implemented file access/sharing check functions
svn path=/trunk/; revision=1914
2001-05-24 22:19:25 +00:00
Eric Kohl
ca61cc2444 Implemented resource (multiple-reader-single-writer) lock
svn path=/trunk/; revision=1913
2001-05-24 11:28:54 +00:00
Jurgen van Gael
56ab538abe Added the definition files for ole32.dll
svn path=/trunk/; revision=1912
2001-05-19 21:23:20 +00:00
Nedko Arnaudov
1d63ef67f5 added #ifdefs for clipboard feature
svn path=/trunk/; revision=1911
2001-05-16 21:19:06 +00:00
Jurgen van Gael
5fda84ce39 Put the CLSID definition between the ifdef statement for the guid, otherwise compiling ole32 would generate multiple definition error messages
svn path=/trunk/; revision=1910
2001-05-15 21:04:09 +00:00
Jurgen van Gael
079339b3b8 Sourc code for the first ole32.dll COM implementation
svn path=/trunk/; revision=1909
2001-05-15 12:22:18 +00:00
Jurgen van Gael
48da1fcf14 Added header files for ole32.dll COM implementation
svn path=/trunk/; revision=1908
2001-05-15 11:53:23 +00:00
Brian Palmer
afdf923c65 Initial revision
svn path=/trunk/; revision=1904
2001-05-15 03:50:25 +00:00
Casper Hornstrup
bbf48f20aa Removed the assertion
svn path=/trunk/; revision=1903
2001-05-13 13:35:37 +00:00
Eric Kohl
7d0f1e3433 Some named pipe improvements (not usable yet!).
svn path=/trunk/; revision=1902
2001-05-10 23:38:31 +00:00
Rex Jolliff
4c5a154f4d a few more changes to vfat driver
svn path=/trunk/; revision=1901
2001-05-10 06:30:23 +00:00
Rex Jolliff
9cfc87e333 extracted a few more FCB funcs
svn path=/trunk/; revision=1900
2001-05-10 04:02:21 +00:00
Eric Kohl
3c986c6d3a Use MinGW startup code (crt0)
svn path=/trunk/; revision=1899
2001-05-08 11:19:43 +00:00
Casper Hornstrup
432ae66313 oops...back to default configuration
svn path=/trunk/; revision=1898
2001-05-08 09:43:55 +00:00
Casper Hornstrup
fc6a12de18 Preparations for 32-bit/64-bit architectures
Added stubs for most user32.dll functions

svn path=/trunk/; revision=1897
2001-05-07 22:03:27 +00:00
Eric Kohl
3694ebf507 Cleanup
svn path=/trunk/; revision=1896
2001-05-06 22:39:13 +00:00
Eric Kohl
7398918d11 Fixed bootable partition bug
svn path=/trunk/; revision=1895
2001-05-06 22:32:34 +00:00
Emanuele Aliberti
cbcc365a25 Added dist rule.
svn path=/trunk/; revision=1894
2001-05-06 19:28:50 +00:00
Carl Nettelblad
a975142a8d Last change stop CD from working. That's fixed now.
svn path=/trunk/; revision=1893
2001-05-06 17:27:50 +00:00
Carl Nettelblad
96a0d04b3b Removed support for current directories on several drives at once from cmd.exe. Now in NTDLL.
svn path=/trunk/; revision=1892
2001-05-06 17:12:44 +00:00
Carl Nettelblad
8efef1784a Moving support for current dir on several drives from cmd.exe to NTDLL.
svn path=/trunk/; revision=1891
2001-05-06 16:09:03 +00:00
Casper Hornstrup
ba2a8ca045 Added ACPI bus manager
Added ACPI button driver

svn path=/trunk/; revision=1890
2001-05-05 19:15:44 +00:00
Casper Hornstrup
efc93e5ae8 Added runtime configuration of debug prints from kernel debugger (on a per file basis)
svn path=/trunk/; revision=1889
2001-05-05 19:13:10 +00:00
Nedko Arnaudov
6fb7445d87 added optional parameter to specify destination directory
svn path=/trunk/; revision=1888
2001-05-05 19:11:29 +00:00
Phillip Susi
a0fe0d14a0 Removed a bunch of junk from wine and fixed crash on loading
svn path=/trunk/; revision=1887
2001-05-05 18:09:30 +00:00
Eric Kohl
3f98a7dd14 Added makefile
svn path=/trunk/; revision=1886
2001-05-05 18:01:07 +00:00
Eric Kohl
4304c92e6e Fixed silly 'off by one' bug
svn path=/trunk/; revision=1885
2001-05-05 18:00:33 +00:00
Eric Kohl
d13046ca0f Added mailslot fs driver
svn path=/trunk/; revision=1884
2001-05-05 15:21:05 +00:00
Emanuele Aliberti
f7d5d08e6e PORT_MESSAGE_TYPE(m) macro added.
svn path=/trunk/; revision=1883
2001-05-05 12:52:49 +00:00
Eric Kohl
7c469f9c46 Added attributes to object parse method.
svn path=/trunk/; revision=1882
2001-05-05 09:33:16 +00:00
Emanuele Aliberti
ab494baccd Fixed NtQueryDirectoryObject.
svn path=/trunk/; revision=1881
2001-05-04 21:44:21 +00:00
Rex Jolliff
ac9d3e30fb Changed Cc interface func names to CcRos.
Changed CcReleaseFileCache to use and dereference FileObject in BCB
instead of the one passed.

svn path=/trunk/; revision=1880
2001-05-04 01:21:45 +00:00
Nedko Arnaudov
d9776acd0c Added detection of redirection. GetStdHandle() used instead of CreateFile(). Error message is shown to user when it tries to redirect.
svn path=/trunk/; revision=1879
2001-05-03 22:41:16 +00:00
Casper Hornstrup
278ce6bf50 Removed debug code
Compile correctly with pool validation enabled

svn path=/trunk/; revision=1878
2001-05-03 17:24:00 +00:00
Jason Filby
53de047b71 Truetype files from OpenOffice
svn path=/trunk/; revision=1877
2001-05-03 07:17:38 +00:00
Jason Filby
87f05689bc *** empty log message ***
svn path=/trunk/; revision=1876
2001-05-03 07:16:33 +00:00
Eric Kohl
96a826ad92 Moved some heap stubs
svn path=/trunk/; revision=1875
2001-05-03 06:13:05 +00:00
Eric Kohl
973bed37c6 Implemented missing mailslot functions
svn path=/trunk/; revision=1874
2001-05-03 06:10:29 +00:00
Eric Kohl
4be50fdc7e Implemented mailslot functions
svn path=/trunk/; revision=1873
2001-05-02 22:29:18 +00:00
Eric Kohl
9f1e5ac42c Implemented CsrNewThread()
Added some registry functions

svn path=/trunk/; revision=1872
2001-05-02 22:25:58 +00:00
Emanuele Aliberti
ff2adbb728 Added -r switch to objdir to recurse the system name space.
svn path=/trunk/; revision=1871
2001-05-02 20:50:06 +00:00
Eric Kohl
7de8ff7c3c Fixed typo
svn path=/trunk/; revision=1870
2001-05-02 19:04:25 +00:00
Jason Filby
a4a7d78546 Truetype fonts from OpenOffice
svn path=/trunk/; revision=1869
2001-05-02 17:27:00 +00:00
Jason Filby
ce4ce9b5e9 Files incorrectly committed in ASCII
svn path=/trunk/; revision=1868
2001-05-02 17:25:47 +00:00
Jason Filby
66044c37fd reverted to proper makefile
svn path=/trunk/; revision=1867
2001-05-02 15:11:19 +00:00
Jason Filby
98fc0115be accidental commit
svn path=/trunk/; revision=1866
2001-05-02 15:10:24 +00:00
Jason Filby
f5a5752043 minor fix
svn path=/trunk/; revision=1865
2001-05-02 13:46:29 +00:00
Jason Filby
02184a83d4 Update install files
svn path=/trunk/; revision=1864
2001-05-02 12:37:06 +00:00
Jason Filby
979adb975e Update to test new GDI functions
svn path=/trunk/; revision=1863
2001-05-02 12:35:48 +00:00
Jason Filby
5ee6fc75ae GDI32 support for new win32k functions
svn path=/trunk/; revision=1862
2001-05-02 12:35:06 +00:00
Jason Filby
c84d5016d1 Initial font and text support. Fixes to color palette support. Mask and transparent blt support.
svn path=/trunk/; revision=1861
2001-05-02 12:33:42 +00:00
Jason Filby
b27e3264a9 Updates to GDI include files
svn path=/trunk/; revision=1860
2001-05-02 12:31:04 +00:00
Jason Filby
1a4b287958 VGA driver support for TransparentBlt
svn path=/trunk/; revision=1859
2001-05-02 12:29:51 +00:00
Jason Filby
69a45c48b1 Correct palette info. Initial support for bitblt masks
svn path=/trunk/; revision=1858
2001-05-02 12:29:08 +00:00
Jason Filby
6be44d6e81 Correctly configure palette registers
svn path=/trunk/; revision=1857
2001-05-02 12:27:32 +00:00
Jason Filby
4167bc8912 Initial TrueType fonts
svn path=/trunk/; revision=1856
2001-05-02 12:26:15 +00:00
Jason Filby
83352970a1 Freetype 2 includes
svn path=/trunk/; revision=1855
2001-05-02 12:24:36 +00:00
Jason Filby
be9bb3fb3c Freetype 2
svn path=/trunk/; revision=1854
2001-05-02 12:21:38 +00:00
Rex Jolliff
38afc0ac8b Extracted vfat8dot3ToFilename from GetEntryName
Extracted vfatMakeAbsoluteFilename from vfatOpenFile
Extracted vfatGrabFCBFromTable from vfatOpenFile
Extracted vfatNewFCB from vfatOpenFile
Extracted vfatAddFCBToTable from vfatOpenFile
Removed RtlAnsiToUnicode, RtlCatAnsiToUnicode

svn path=/trunk/; revision=1853
2001-05-02 03:18:03 +00:00
Casper Hornstrup
87589daf4e Preparations for checked/free like builds (CPRINT == DbgPrint when DBG is defined).
Modified loadros to support loading symbol files early at startup.
Modified loadros to convey BIOS memory map to the kernel if available.
Began building PnP manager device tree.
Added shutdown command to shell.exe

svn path=/trunk/; revision=1852
2001-05-01 23:08:21 +00:00
Phillip Susi
58e60b3092 Don't crash if win32k.sys isn't there.. it's ok..
svn path=/trunk/; revision=1851
2001-05-01 23:06:25 +00:00
Casper Hornstrup
f98bbb1df7 Ported ACPI CA (from the nice guys at Intel) to ReactOS (ACPI bus driver).
Started on ISA PnP bus driver.

svn path=/trunk/; revision=1850
2001-05-01 23:00:05 +00:00
Casper Hornstrup
1debf1a12d Work on winsock stack and indentation corrections.
svn path=/trunk/; revision=1849
2001-05-01 22:44:07 +00:00
Casper Hornstrup
72c2af4ca7 Better RawIP support.
Minor fixes.

svn path=/trunk/; revision=1848
2001-05-01 22:34:01 +00:00
Emanuele Aliberti
8d5c635a36 NtQueryDirectoryObject rewritten.
apps/objdir.c fixed to work under nt4sp6a AND reactos.

svn path=/trunk/; revision=1847
2001-05-01 21:43:45 +00:00
Nedko Arnaudov
1afd43b049 ^ is used for escape sequences
svn path=/trunk/; revision=1846
2001-05-01 20:53:24 +00:00
Nedko Arnaudov
13eef5cc24 now it compiles
svn path=/trunk/; revision=1845
2001-05-01 19:42:56 +00:00
Rex Jolliff
d73834ea4f added a few more fsd tests
svn path=/trunk/; revision=1844
2001-05-01 17:36:04 +00:00
Eric Kohl
b76211b20a Mailslot and named pipe preparations
svn path=/trunk/; revision=1843
2001-05-01 11:09:01 +00:00
Rex Jolliff
dabd23ba77 added test set for fsd driver
svn path=/trunk/; revision=1842
2001-05-01 04:35:08 +00:00
Rex Jolliff
fdfb9053d9 BUGFIX: Primary partitions that appeared after extended in table were incorrectly mounted
changed some error messages from DPRINT to DbgPrint

svn path=/trunk/; revision=1841
2001-04-30 05:28:17 +00:00
Carl Nettelblad
7e0bfac662 This change shouldn't mess things up, if used together with latest vfat version.
NtQueryInformationFile is required to return valid name information for this to work.

svn path=/trunk/; revision=1840
2001-04-29 21:09:20 +00:00
Carl Nettelblad
59e33e46af Probably getting fcb.PathName handling right this time.
svn path=/trunk/; revision=1839
2001-04-29 21:08:14 +00:00
David Welch
8701c47012 Removed .dbg target
svn path=/trunk/; revision=1838
2001-04-28 22:59:16 +00:00
Phillip Susi
56d6a0c2b1 Undo last change removing config.h, which is now correctly auto generated
svn path=/trunk/; revision=1837
2001-04-26 14:26:23 +00:00
Phillip Susi
39b80bfefd Fixed definition of EPROCESS to work with the forward declaration in ketypes.h
svn path=/trunk/; revision=1836
2001-04-26 13:29:58 +00:00
David Welch
a1f93462d3 Explicitly create config.h
svn path=/trunk/; revision=1835
2001-04-26 13:23:38 +00:00
Phillip Susi
51ca2e3c1a Removed reference to kernel private header internal/ps.h
svn path=/trunk/; revision=1834
2001-04-26 13:23:01 +00:00
Phillip Susi
4420d9e0cb Added forward declaration for EPROCESS
svn path=/trunk/; revision=1833
2001-04-26 13:22:24 +00:00
Eric Kohl
18f8e8da80 Some minor cleanup
svn path=/trunk/; revision=1832
2001-04-26 11:31:33 +00:00
Phillip Susi
af3325ef66 Undo last change
svn path=/trunk/; revision=1831
2001-04-26 04:01:54 +00:00
Phillip Susi
6de9186661 Removed references to obsolete config.h preventing compilation
svn path=/trunk/; revision=1830
2001-04-26 03:58:33 +00:00
Phillip Susi
dff9686ea0 Close handles to shell process/thread
svn path=/trunk/; revision=1829
2001-04-26 01:36:32 +00:00
Phillip Susi
50f5d0807c Added Tail.Overlay.DriverContext to IRP structure
svn path=/trunk/; revision=1828
2001-04-26 01:31:35 +00:00
Phillip Susi
9b3a488664 Fixed bug in IoFlushAdapterBuffers
svn path=/trunk/; revision=1827
2001-04-26 01:30:17 +00:00
Phillip Susi
595a5bad20 Added a check for end of fat chain before end of recorded length
svn path=/trunk/; revision=1826
2001-04-26 01:28:54 +00:00
Phillip Susi
21cbb4fcc1 FAT12GetNextCluster still needs fixed to not assume entire FAT fits in one cache page
Fixed minor typos
Temporary fix for FAT12GetNextCluster to at least not overflow the cache page

svn path=/trunk/; revision=1825
2001-04-26 01:28:15 +00:00
Phillip Susi
dc3c360885 Floppy driver updates, managed to boot system from floppy
svn path=/trunk/; revision=1824
2001-04-26 01:24:31 +00:00
Nedko Arnaudov
197fe0acf4 escape char when setting string value changed to ^
svn path=/trunk/; revision=1823
2001-04-24 23:05:56 +00:00
Nedko Arnaudov
05a5575ff1 minor changes
svn path=/trunk/; revision=1822
2001-04-24 22:53:00 +00:00
Nedko Arnaudov
5ac5ed1e37 quotation handling bug fixed
svn path=/trunk/; revision=1821
2001-04-24 22:32:31 +00:00
Emanuele Aliberti
f57fc2af90 Some FsRtl API updated (stubs) to sync with ntifs.h v25 by Bo Branten.
Added a new DDK header file to group any symbol definition related to
NTIFS: ddk/fstypes.h. Now ddk/ntifs.h includes fstypes and fsfuncs.

svn path=/trunk/; revision=1820
2001-04-24 18:36:39 +00:00
Emanuele Aliberti
a9dc0b739e Compilation bug fixed (due to having used an "unknown" field in the
SYSTEM_MODULE_ENTRY object I updated yesterday).

svn path=/trunk/; revision=1819
2001-04-23 22:00:28 +00:00
Emanuele Aliberti
4fc0783845 Query/SetSystemInformation: added stubs for information classes 0-53 (up to nt5/w2k).
Updated the SYSTEM_INFORMATION_CLASS enumeration with members names from the Net, Dabak and Nebbett.

svn path=/trunk/; revision=1818
2001-04-22 23:06:57 +00:00
Casper Hornstrup
fa71c1ff6c Added kernel debugger help (type help for a list of commands)
svn path=/trunk/; revision=1817
2001-04-22 14:47:00 +00:00
David Welch
40ef0ef8e2 Set the fs register properly on entry to the kernel from an irq
svn path=/trunk/; revision=1816
2001-04-21 22:39:42 +00:00
Eric Kohl
cb2396496c Implemented PsCreateSystemProcess()
svn path=/trunk/; revision=1815
2001-04-21 12:39:33 +00:00
David Welch
71d0b655ac Ignore config.h
svn path=/trunk/; revision=1814
2001-04-20 12:59:59 +00:00
David Welch
6b9f511801 Remove config.h
svn path=/trunk/; revision=1813
2001-04-20 12:59:13 +00:00
Casper Hornstrup
f0e807621f Call KiUpdateSystemTime from KiInterruptDispatch if on first processor.
Mask correct interrupts at each IRQ level
Fixed APIC error on initialization

svn path=/trunk/; revision=1812
2001-04-20 12:42:23 +00:00
David Welch
e344bc3faa UP fixes, was enabling interrupts too early
svn path=/trunk/; revision=1811
2001-04-18 03:31:19 +00:00
David Welch
6dd0418c50 Forgot to test compilation under UP
UP is default

svn path=/trunk/; revision=1810
2001-04-17 23:53:16 +00:00
David Welch
d41145488c SMP scheduling fixes
Obey thread affinity
Fix bogus invariant in KeAcquireSpinLockAtDpcLevel
Protect display with spinlock

svn path=/trunk/; revision=1809
2001-04-17 23:39:26 +00:00
David Welch
f29036d97b Further SMP work (associate an idle thread with each processor)
svn path=/trunk/; revision=1808
2001-04-17 04:11:01 +00:00
David Welch
2cfadf3b41 per processor TSS
svn path=/trunk/; revision=1807
2001-04-16 23:29:55 +00:00
David Welch
2dfc5cfcd4 Missing file
svn path=/trunk/; revision=1806
2001-04-16 18:06:29 +00:00
David Welch
85f85e8462 Further SMP initialization work (now boots all processors on SMP bochs)
Preparation for per-processor GDT

svn path=/trunk/; revision=1805
2001-04-16 16:29:03 +00:00
Nedko Arnaudov
add5e2d89f Added base support for user settings.
svn path=/trunk/; revision=1804
2001-04-16 05:11:54 +00:00
Nedko Arnaudov
2957aa4ce5 Added support for escape sequences when setting string value.
svn path=/trunk/; revision=1803
2001-04-16 05:09:51 +00:00
Nedko Arnaudov
368db861e4 unexpected declaration removed :}
svn path=/trunk/; revision=1802
2001-04-16 05:07:23 +00:00
Nedko Arnaudov
7f0a6dcd48 Implemented: default settings, loading settings from registry key, settings for prompt, normal text colors and command text colors.
svn path=/trunk/; revision=1801
2001-04-16 05:03:29 +00:00
Nedko Arnaudov
2b246092f3 Argument parser now ignores escape sequences.
svn path=/trunk/; revision=1800
2001-04-16 04:58:31 +00:00
Nedko Arnaudov
616e4d5242 Prompt now supports customization. Implementation is based on customization string with escape sequences. The prompt currently recognizes only one sequence in the customization string, \w - the current path.
svn path=/trunk/; revision=1799
2001-04-16 04:53:31 +00:00
David Welch
aeb62db2e8 Default config
svn path=/trunk/; revision=1798
2001-04-16 02:02:43 +00:00
David Welch
65b55ec6c6 SMP detection work
Changed initialization back
Changed to NT IRQLs
Check for return from main

svn path=/trunk/; revision=1797
2001-04-16 02:02:07 +00:00
Casper Hornstrup
bdfcd5630a Fixes for NE2000 driver
svn path=/trunk/; revision=1796
2001-04-16 01:16:36 +00:00
Casper Hornstrup
8c8d19c080 Added PnP and Power structures
svn path=/trunk/; revision=1795
2001-04-16 00:52:12 +00:00
Casper Hornstrup
262859736d Added PnP and Power stubs
svn path=/trunk/; revision=1794
2001-04-16 00:51:19 +00:00
Casper Hornstrup
e8fc884c37 Added PnP and Power structures
svn path=/trunk/; revision=1793
2001-04-16 00:44:54 +00:00
Nedko Arnaudov
1648d6ba62 gdb2\Makefile
svn path=/trunk/; revision=1792
2001-04-15 23:43:12 +00:00
Nedko Arnaudov
2c11752216 RegistryExplorer.cpp
svn path=/trunk/; revision=1791
2001-04-15 22:17:50 +00:00
Nedko Arnaudov
a70a5e92d0 INSTALL
svn path=/trunk/; revision=1790
2001-04-15 22:08:23 +00:00
Casper Hornstrup
94309de6e4 Added Intel MultiProcessor Specification support
svn path=/trunk/; revision=1789
2001-04-13 16:12:26 +00:00
David Welch
33408fe398 Reduced the size of the kernel disk image by moving the initial page
tables and page directory to the bss and initializing them at runtime.

svn path=/trunk/; revision=1788
2001-04-12 00:56:04 +00:00
David Welch
c21076a36c buildno doesn't rewrite the include/reactos/buildno.h
Discard relocations and import table from ntoskrnl
Reorganise multiboot.S

svn path=/trunk/; revision=1787
2001-04-11 22:13:21 +00:00
Casper Hornstrup
db0d247af0 Added loading of symbols when modules are loaded.
Print symbols on stack frame dump.
Put symbols in \SystemRoot\Symbols.

svn path=/trunk/; revision=1786
2001-04-11 12:46:05 +00:00
David Welch
33267a7bd2 More sensible dependencies scheme for configuration
svn path=/trunk/; revision=1785
2001-04-10 22:13:23 +00:00
Eric Kohl
78232dab8b Added functions to run MS VC++ 5/6 apps
svn path=/trunk/; revision=1784
2001-04-10 19:20:37 +00:00
Eric Kohl
6a0be77508 Fixed crash if exported function does not exist
svn path=/trunk/; revision=1783
2001-04-10 19:14:27 +00:00
David Welch
3a788d44ee Trace facility
svn path=/trunk/; revision=1782
2001-04-10 18:15:22 +00:00
David Welch
e40a4953f2 .cvsignore file
svn path=/trunk/; revision=1781
2001-04-10 18:12:51 +00:00
David Welch
bd5d1d2adf Correct problem with keyboard input not being accepted
Added kernel debugger
Kernel configuration

svn path=/trunk/; revision=1780
2001-04-10 17:48:17 +00:00
David Welch
db0e348770 Reorganised cache segment data structure
svn path=/trunk/; revision=1779
2001-04-09 02:45:04 +00:00
jean
de935b3cf0 undo replacement of FILETIME by LARGE_INTEGER.
indeed LARGE_INTEGER cause bad alignement.

svn path=/trunk/; revision=1778
2001-04-07 15:06:17 +00:00
Phillip Susi
9b90a6532b Fixed IoCompleteRequest() to directly call completion function, rather than queue an APC, if the target thread == current thread, because the APC code doesn't seem to correctly handle queueing an APC to the current thread
svn path=/trunk/; revision=1777
2001-04-06 04:29:16 +00:00
Eric Kohl
b2a5aa012c Fixed global and local memory functions
svn path=/trunk/; revision=1776
2001-04-05 01:54:42 +00:00
David Welch
b7437fe01a Fix longstanding bug in keyboard driver
svn path=/trunk/; revision=1775
2001-04-04 22:21:32 +00:00
Eric Kohl
8d1e0c87b3 Fixed a severe typo
svn path=/trunk/; revision=1774
2001-04-03 20:18:21 +00:00
David Welch
b63d768a18 Keep DPC queue size correct
Share section pages with cache if possible
If doing a read direct from disk (not via the cache) don't copy the data
MDL fixes

svn path=/trunk/; revision=1773
2001-04-03 17:25:50 +00:00
Phillip Susi
0858e6f0fb Oops... forgot to use physical address when programming the dma controller
svn path=/trunk/; revision=1772
2001-04-02 23:54:37 +00:00
Phillip Susi
9dfa505536 Fixed DPC bug: when the DPC is run, it has been removed from the queue and therefore can be queued again, the old code did not allow the dpc to be queued again until after the first one returned
svn path=/trunk/; revision=1771
2001-04-02 04:07:49 +00:00
Jason Filby
da6d4130c3 fixed a stupid bug
svn path=/trunk/; revision=1770
2001-04-01 15:18:35 +00:00
David Welch
6ca8f2a32b Use unix style path seperators
svn path=/trunk/; revision=1769
2001-04-01 14:44:40 +00:00
David Welch
c53353dfcb Reverted previous change, unnecessary
svn path=/trunk/; revision=1768
2001-03-31 17:02:17 +00:00
Jason Filby
fd1d23c72f reference moved hal.h
svn path=/trunk/; revision=1767
2001-03-31 16:46:59 +00:00
Phillip Susi
c48815ca85 Moved header
svn path=/trunk/; revision=1766
2001-03-31 16:36:46 +00:00
Jason Filby
0d87c04fdb last typo, really!
svn path=/trunk/; revision=1765
2001-03-31 16:12:13 +00:00
Jason Filby
c321566c86 *** empty log message ***
svn path=/trunk/; revision=1764
2001-03-31 16:09:17 +00:00
Jason Filby
fac82fed75 typo
svn path=/trunk/; revision=1763
2001-03-31 16:05:55 +00:00
Phillip Susi
57dfac271e Added declaration for MmAllocateContiguousAlignedMemory
svn path=/trunk/; revision=1762
2001-03-31 16:02:07 +00:00
Phillip Susi
a758924464 Added FILE_XXX_ALIGNMENT defines
svn path=/trunk/; revision=1761
2001-03-31 16:01:42 +00:00
Phillip Susi
137c93f9c6 DMA support added
svn path=/trunk/; revision=1760
2001-03-31 16:01:03 +00:00
Jason Filby
f56e6b7e9e oops
svn path=/trunk/; revision=1759
2001-03-31 16:00:24 +00:00
Jason Filby
f22ea77911 disable freetype for now
svn path=/trunk/; revision=1758
2001-03-31 15:56:57 +00:00
Phillip Susi
d8538e9795 Massive floppy work
svn path=/trunk/; revision=1757
2001-03-31 15:53:56 +00:00
Phillip Susi
6b46ea08e7 Go back to stripping only debug syms, not everything, from ntoskrnl because the boot loader doesn't correctly process the image and create a BSS, so the BSS overwrites the debug info if it is there, or the first driver loaded if it is not.
svn path=/trunk/; revision=1756
2001-03-31 15:46:08 +00:00
Jason Filby
f3b6ab3603 Indentation corrected, new tests
svn path=/trunk/; revision=1755
2001-03-31 15:43:22 +00:00
Jason Filby
389375c4ee Indentation corrected, minor fixes
svn path=/trunk/; revision=1754
2001-03-31 15:40:34 +00:00
Jason Filby
14c634ca97 Identation corrected, many fixes and minor improvements, initial DIB support
svn path=/trunk/; revision=1753
2001-03-31 15:35:08 +00:00
David Welch
a934fd1c24 Fix for not valid PE module bug
svn path=/trunk/; revision=1752
2001-03-31 12:56:37 +00:00
David Welch
4e81d099cf Check for failed allocation
Split up kernel32 stubs
Print proper stack trace for user mode exceptions

svn path=/trunk/; revision=1751
2001-03-31 01:17:30 +00:00
Phillip Susi
5907d91e41 apps/uitest does not seem to exist, don't try to make it
svn path=/trunk/; revision=1750
2001-03-30 22:10:47 +00:00
David Welch
d135a77c67 Enable atom functions
Don't load NOLOAD sections
Print additional debugging information about module loading

svn path=/trunk/; revision=1749
2001-03-30 17:26:42 +00:00
David Welch
381057612c Don't map NOLOAD sections
svn path=/trunk/; revision=1748
2001-03-30 15:14:53 +00:00
Jason Filby
74412de062 Initialize the VGA to work with display driver's vgavideo.c
svn path=/trunk/; revision=1747
2001-03-29 17:45:50 +00:00
David Welch
fbb680dffd Strip everything from ntoskrnl
svn path=/trunk/; revision=1746
2001-03-29 17:24:43 +00:00
David Welch
877f965575 Remove debugging code
svn path=/trunk/; revision=1745
2001-03-29 02:25:10 +00:00
David Welch
ca5d9b1a2d Fixed int 10 problems
Guard pages for all thread stacks

svn path=/trunk/; revision=1744
2001-03-29 01:14:00 +00:00
David Welch
d9925196f3 Catch stack over/underflows
svn path=/trunk/; revision=1743
2001-03-28 14:24:05 +00:00
David Welch
bde0898ab5 Fixed page list initialization
svn path=/trunk/; revision=1742
2001-03-28 11:57:51 +00:00
Phillip Susi
eca8ca8582 Also removed call to ExAllocatePool from DPRINT1
Why the heck was this in DPRINT1 and not DPRINT?

svn path=/trunk/; revision=1741
2001-03-28 04:43:02 +00:00
Phillip Susi
b20a5f12ed Removed call to ExAllocatePool from CHECKPOINT1
svn path=/trunk/; revision=1740
2001-03-28 03:06:55 +00:00
David Welch
09ad24f08c Print addresses in stack frames even early in the boot
svn path=/trunk/; revision=1739
2001-03-27 21:43:43 +00:00
David Welch
634bb6b997 Set the io bitmap pointer beyond the TSS limit
svn path=/trunk/; revision=1738
2001-03-26 23:01:39 +00:00
Emanuele Aliberti
988ec8cb30 This is really a bare bones counter. It works with the last build.
Not really useful, but lets you watch ROS working for hours.
Counters slow down dramatically (486/66) when many instances are
running (3+). Also a subtle CSR console support bug appears: when
you switch console, if the restored one wrote below the bottom line,
current Y is not the bottom line anymore.

svn path=/trunk/; revision=1737
2001-03-26 21:30:20 +00:00
David Welch
8c86bcfe89 Fixes for page list initialization
V86 mode fixes

svn path=/trunk/; revision=1736
2001-03-26 20:46:53 +00:00
David Welch
51a205bc71 Fixed bug with calling RtlFreeUnicodeString too early in LdrFixupForward
svn path=/trunk/; revision=1735
2001-03-26 16:33:10 +00:00
Phillip Susi
b1601c09d8 Fixed incorrect assertion in IoAllocateController: assert_irql() seems to check for IRQL <= current IRQL, but this function must be called with current IRQL == DISPATCH_LEVEL, not <= DISPATCH_LEVEL.
svn path=/trunk/; revision=1734
2001-03-26 05:03:54 +00:00
Phillip Susi
cf4a06ff33 fixed bug in MmAllocateContiguousAlignedMemory due to uninitialized BaseAddress local
svn path=/trunk/; revision=1733
2001-03-26 04:38:39 +00:00
David Welch
e065bf41ff Bug fixes
svn path=/trunk/; revision=1732
2001-03-26 00:56:53 +00:00
David Welch
9b95a9991c Disable debug prints
svn path=/trunk/; revision=1731
2001-03-25 19:05:30 +00:00
David Welch
99a644a366 Further fixes
svn path=/trunk/; revision=1730
2001-03-25 18:56:13 +00:00
David Welch
c2d9004a56 Oops, forget this file
svn path=/trunk/; revision=1729
2001-03-25 11:48:18 +00:00
David Welch
51f1b4ac50 V86 mode fixes
Preparation for paging support

svn path=/trunk/; revision=1728
2001-03-25 03:34:30 +00:00
David Welch
9b3c1a2a1d Make the trap handlers work early in the boot process
svn path=/trunk/; revision=1727
2001-03-22 11:14:22 +00:00
Casper Hornstrup
5bbfcbdcde Pass RemainingPath for device type FILE_DEVICE_NETWORK
svn path=/trunk/; revision=1726
2001-03-21 23:30:20 +00:00
Casper Hornstrup
61c860daf7 Set FileObject in stack location in NtDeviceIoControlFile
svn path=/trunk/; revision=1725
2001-03-21 23:27:18 +00:00
Casper Hornstrup
547f4b4197 Fix for MmBuildMdlForNonPagedPool
svn path=/trunk/; revision=1724
2001-03-21 23:06:08 +00:00
Casper Hornstrup
0f3822bfb9 Added script for creating binary distribution
svn path=/trunk/; revision=1723
2001-03-21 22:34:24 +00:00
Casper Hornstrup
0b3adffd26 Added classes for cabinet handling
Added a cabinet manager

svn path=/trunk/; revision=1722
2001-03-21 22:32:33 +00:00
David Welch
591d955230 Bug fixes
svn path=/trunk/; revision=1721
2001-03-20 16:09:44 +00:00
Eric Kohl
7a86200cdc Use vidport-functions instead of ntdll-functions
svn path=/trunk/; revision=1720
2001-03-20 15:11:51 +00:00
Eric Kohl
04c0aa0853 Established forwarded exports in vidport.sys
svn path=/trunk/; revision=1719
2001-03-20 15:09:02 +00:00
Eric Kohl
e3b61f2e00 Established forwarded exports in win32k.sys
svn path=/trunk/; revision=1718
2001-03-20 15:06:22 +00:00
Phillip Susi
486ce0ad1a apps/exp does not seem to exist, prevents full make, removing
svn path=/trunk/; revision=1717
2001-03-20 03:09:01 +00:00
David Welch
32e24ab35e User exception handling doesn't work yet
svn path=/trunk/; revision=1716
2001-03-20 00:52:21 +00:00
David Welch
cebfcd7c5e One more bug in MmAllocateContiguousPages
Removed debugging code

svn path=/trunk/; revision=1715
2001-03-18 21:28:30 +00:00
David Welch
ffca6e4a0a Typo
svn path=/trunk/; revision=1714
2001-03-18 20:30:22 +00:00
Emanuele Aliberti
f8ad495ac2 Really simple application that displays how much time elaped.
svn path=/trunk/; revision=1713
2001-03-18 20:20:13 +00:00
Emanuele Aliberti
f907dc6e87 KERNEL32.GetSystemTimeAsFileTime prototype added.
svn path=/trunk/; revision=1712
2001-03-18 20:18:34 +00:00
David Welch
7e2c26824a Beginnings of user-mode debugging support.
svn path=/trunk/; revision=1711
2001-03-18 19:52:38 +00:00
David Welch
1e02a7d8d9 Allocate pages beginning from the top of memory
svn path=/trunk/; revision=1710
2001-03-18 19:37:54 +00:00
David Welch
d60628a01b Fixes for APC handling
Fixes for exceptions
Remove KeAddTimeoutThread
Beginnings of debug handling
Fixes for contiguous memory allocation
Cancel the thread timer before termination

svn path=/trunk/; revision=1709
2001-03-18 19:35:14 +00:00
Emanuele Aliberti
01846dd237 Stubs for LookupPrivilege* added.
svn path=/trunk/; revision=1708
2001-03-17 22:05:25 +00:00
David Welch
5d2401e39c More missing files
svn path=/trunk/; revision=1707
2001-03-17 12:20:13 +00:00
David Welch
1a0448a35b Bug fixes
Started work on exception handling

svn path=/trunk/; revision=1706
2001-03-17 11:11:11 +00:00
David Welch
58fc2c8cf8 Oops, missing files
svn path=/trunk/; revision=1705
2001-03-17 09:43:27 +00:00
David Welch
6fbeba1e7c Moved microkernel to the architecture specific directory
svn path=/trunk/; revision=1704
2001-03-16 23:05:00 +00:00
David Welch
2a613a30c4 Removed obsolete header files
Updated copyright notices

svn path=/trunk/; revision=1703
2001-03-16 18:11:24 +00:00
David Welch
9926c78c7f Removed obsolete file
svn path=/trunk/; revision=1702
2001-03-16 16:23:05 +00:00
David Welch
18015b2244 * include/ddk/zw.h: Corrected declarations of NtCreateProfile,
NtQueryIntervalProfile, NtSetIntervalProfile.
* include/ddk/zwtypes.h: Added definitions of KPROFILE_SOURCE.
* ntoskrnl/include/internal/ke.h: Added the interrupted EIP as a
parameter to KiUpdateSystemTime for profiling purposes.
* ntoskrnl/include/internal/nt: Added declaration for profiling
support initialization.
* ntoskrnl/ke/timer.c (KiUpdateSystemTime, KeExpireTimers): Call
the profiling code on a timer interrupt with the interrupt EIP.
* ntoskrnl/ke/i386/irq.c (KiDispatchInterrupt): Pass the
interrupted EIP to KiUpdateSystemTime.
* ntoskrnl/mm/virtual.c (NtReadVirtualMemory, NtWriteVirtualMemory):
Release the MDLs used properly.
* ntoskrnl/nt/nt.c: Call the profiling support initialization.
* ntoskrnl/nt/ntevent.c (NtCreateEvent): Don't try copying the
ObjectAttributes parameter if it is NULL.
* ntoskrnl/nt/profile.c: Implemented profiling.

svn path=/trunk/; revision=1701
2001-03-16 16:05:34 +00:00
David Welch
18f3b6c58b * ntoskrnl/include/internal/safe.h: Corrected typo.
* ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtQueryEvent):
  Corrected typos.
* ntoskrnl/rtl/mem.c: Missing header file.

svn path=/trunk/; revision=1700
2001-03-16 10:58:47 +00:00
David Welch
22dc9e2a5e * ntoskrnl/include/internal/safe.h: Add definitions for handling
potentially unsafe pointers.

svn path=/trunk/; revision=1699
2001-03-16 09:53:28 +00:00
David Welch
3744b5d4cf * ntoskrnl/include/internal/mm.h: Removed MmSafeCopyToUser and
MmSafeCopyFromUser as source files need these but don't want internal
  mm definitions.
* ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtPulseEvent,
  NtQueryEvent, NtResetEvent, NtSetEvent): Copy data to and from user mode
  safely.
* ntoskrnl/rtl/mem.c (MmCopyToCaller, MmCopyFromCaller): Helper functions
  for copying data to and from potentially unsafe pointers.

svn path=/trunk/; revision=1698
2001-03-16 09:50:38 +00:00
David Welch
549cb5b03d Further fixes
svn path=/trunk/; revision=1697
2001-03-16 00:00:47 +00:00
David Welch
2eb05bdbc5 Further dependency fixes
svn path=/trunk/; revision=1696
2001-03-15 23:41:31 +00:00
David Welch
7244e5bac9 Hopefully final dependencies fixes
svn path=/trunk/; revision=1695
2001-03-15 22:13:50 +00:00
David Welch
e7f98c9000 Missing file
svn path=/trunk/; revision=1694
2001-03-15 20:15:05 +00:00
David Welch
be2ca4fccd Oops, missing files
svn path=/trunk/; revision=1693
2001-03-15 18:52:45 +00:00
David Welch
a068c65d79 Oops, cope if the dependency list is empty
svn path=/trunk/; revision=1692
2001-03-15 18:49:17 +00:00
David Welch
c3c30d0692 Further dependency tracking fixes
svn path=/trunk/; revision=1691
2001-03-15 18:37:29 +00:00
David Welch
6fc1bdc912 Merge adjacent free blocks in the non-paged pool
Don't print the timer tick count to the screen

svn path=/trunk/; revision=1690
2001-03-14 23:19:14 +00:00
David Welch
d12635ff66 Remove part of the script
svn path=/trunk/; revision=1689
2001-03-14 16:36:26 +00:00
David Welch
5e5862c7fe More dependency fixes
svn path=/trunk/; revision=1688
2001-03-14 16:30:08 +00:00
David Welch
fc5f4ae9a5 Some work on portabilitity
svn path=/trunk/; revision=1687
2001-03-14 00:21:22 +00:00
David Welch
f7186d4cc3 Disable pool validation by default
svn path=/trunk/; revision=1686
2001-03-13 21:46:43 +00:00
David Welch
fba831e913 Reenable pool validation
svn path=/trunk/; revision=1685
2001-03-13 21:39:47 +00:00
Jason Filby
efbd594370 OLE32 header files from Jurgen Van Gael
svn path=/trunk/; revision=1684
2001-03-13 19:00:13 +00:00
David Welch
33702a0775 Retain reference to file objects so cached data isn't automatically loss
when the last handle is closed

svn path=/trunk/; revision=1683
2001-03-13 17:47:47 +00:00
David Welch
47ea39add9 Represent page-in operations by descriptors
svn path=/trunk/; revision=1682
2001-03-13 16:25:55 +00:00
David Welch
c20f2479b6 Further dependency tracking fixes
svn path=/trunk/; revision=1681
2001-03-12 19:23:48 +00:00
David Welch
7853be9c86 Escape '\' on UNIX
svn path=/trunk/; revision=1680
2001-03-12 17:32:54 +00:00
David Welch
6ea1527cfc Fixes for dependency tracking
svn path=/trunk/; revision=1679
2001-03-12 16:10:57 +00:00
David Welch
d520a12907 Close section handle after NtCreateProces in KERNEL32.CreateProcess
Cleanup after file object dereference
Cleanup after section object dereference

svn path=/trunk/; revision=1678
2001-03-09 14:40:28 +00:00
David Welch
6e9d388644 Reverted broken code
svn path=/trunk/; revision=1677
2001-03-08 22:48:42 +00:00
David Welch
6e89a9d21c Proper cleanup after processes
svn path=/trunk/; revision=1676
2001-03-08 22:06:02 +00:00
Carl Nettelblad
03e327f37f Current directory now always with correct casing.
svn path=/trunk/; revision=1675
2001-03-07 22:29:09 +00:00
David Welch
c5cdaa420a More .cvsignore files
svn path=/trunk/; revision=1674
2001-03-07 16:55:42 +00:00
David Welch
c706428a2b Added tagging of most allocates
Added facility to print out newly allocated blocks from the non paged pool

svn path=/trunk/; revision=1673
2001-03-07 16:48:45 +00:00
Eric Kohl
05428a2fea Added request routine for IRP_MJ_CLEANUP
svn path=/trunk/; revision=1672
2001-03-07 13:44:41 +00:00
David Welch
3073e95ed9 Print out the contents of the non-paged pool on SysRq+'A'
Bug fixes

svn path=/trunk/; revision=1671
2001-03-07 08:57:09 +00:00
Carl Nettelblad
f665b3f2f4 FILE_NAME_INFORMATION, returning correct casing thanks to changes in create.c
svn path=/trunk/; revision=1670
2001-03-06 23:36:35 +00:00
Carl Nettelblad
29552067b3 NtQueryObject in early test version and reorganization of NtQueryInformationFile.
svn path=/trunk/; revision=1669
2001-03-06 23:34:39 +00:00
Carl Nettelblad
870a302f96 Restoring NDEBUG flag again.
svn path=/trunk/; revision=1668
2001-03-06 23:31:44 +00:00
Carl Nettelblad
9e66717a35 Storing the real casing of names internally.
svn path=/trunk/; revision=1667
2001-03-06 23:28:42 +00:00
David Welch
43038e9c15 Hide dependency files
Wildcard characters are illegal in filenames

svn path=/trunk/; revision=1666
2001-03-06 17:28:25 +00:00
David Welch
e87e6d58ee And again.
svn path=/trunk/; revision=1665
2001-03-06 14:52:58 +00:00
David Welch
971b171d02 Minor dependency tracking fixes
svn path=/trunk/; revision=1664
2001-03-06 14:51:07 +00:00
David Welch
044ab2b0df Automatic dependency tracking
svn path=/trunk/; revision=1663
2001-03-06 14:41:18 +00:00
Eric Kohl
2d5f3d1c74 Fixed typos
Added more safety checks
Minor cleanup

svn path=/trunk/; revision=1662
2001-03-06 08:19:58 +00:00
Carl Nettelblad
de10767975 Additional fixes.
svn path=/trunk/; revision=1661
2001-03-06 06:20:36 +00:00
Eric Kohl
2ec9eaf736 Increased number of busy retries
svn path=/trunk/; revision=1660
2001-03-04 00:46:46 +00:00
Carl Nettelblad
d5d8d819b8 Reflecting changes in crtdll.
svn path=/trunk/; revision=1659
2001-03-03 13:28:28 +00:00
Carl Nettelblad
afe0e9f601 Fragmented directories and crosslinking related fixes.
svn path=/trunk/; revision=1658
2001-03-02 15:59:16 +00:00
Carl Nettelblad
d3e61a64dd Fixes for cmd copy command.
svn path=/trunk/; revision=1657
2001-03-02 15:45:31 +00:00
Eric Kohl
5149f0d29a Some atom prototype fixes
svn path=/trunk/; revision=1656
2001-03-01 15:36:34 +00:00
Eric Kohl
bf9d9a12e7 Fix for RtlUnicodeStringToInteger
svn path=/trunk/; revision=1655
2001-03-01 15:30:36 +00:00
David Welch
574a1b82f4 Changed wildcare handling (Carl Nettelblad)
svn path=/trunk/; revision=1654
2001-03-01 13:46:22 +00:00
David Welch
a2329a46e9 Fixed from Carl Nettelblad
svn path=/trunk/; revision=1653
2001-03-01 07:48:17 +00:00
Phillip Susi
c9a6908fb9 Fixed crash on help command, due to a buffer overflow. Thanks to jim4
svn path=/trunk/; revision=1652
2001-02-28 23:51:58 +00:00
Eric Kohl
ea6cacb6ed Various improvements by Carl Nettelblad.
svn path=/trunk/; revision=1651
2001-02-28 22:33:23 +00:00
David Welch
80ec0821f8 Allow allocating aligned, contiguous memory
svn path=/trunk/; revision=1650
2001-02-28 18:23:32 +00:00
Casper Hornstrup
327980fe31 Return affinity in HalpGetSystemInterruptVector
svn path=/trunk/; revision=1649
2001-02-25 12:54:37 +00:00
Casper Hornstrup
85e1649fc4 Fix for RtlUnicodeStringToInteger
svn path=/trunk/; revision=1648
2001-02-25 12:51:43 +00:00
Eric Kohl
c3dc053ba2 Fixed a horrible typo :-)
svn path=/trunk/; revision=1647
2001-02-22 23:46:45 +00:00
Eric Kohl
3121974d42 Implemented forwarded exports in kernel-mode
svn path=/trunk/; revision=1646
2001-02-21 18:19:19 +00:00
David Welch
c1c75ffd5e Fix from Mike Lerwill for KeStallExecutionProcessor
svn path=/trunk/; revision=1645
2001-02-20 14:43:46 +00:00
David Welch
15445cf1c8 Corrected va_arg bugs
Don't require c++ for compilation
Make sure the various stddef.h headers are kept seperate

svn path=/trunk/; revision=1644
2001-02-19 15:04:51 +00:00
David Welch
ac82b90278 Fix for memory management issue.
svn path=/trunk/; revision=1643
2001-02-18 22:16:05 +00:00
Phillip Susi
24fea578c1 Updated instructions
svn path=/trunk/; revision=1642
2001-02-18 21:35:21 +00:00
David Welch
209d2a0bdd Removed timer app
svn path=/trunk/; revision=1641
2001-02-18 21:04:09 +00:00
Phillip Susi
835e5e69e5 Ignore csrss.coff
svn path=/trunk/; revision=1640
2001-02-18 20:15:14 +00:00
Phillip Susi
dae0efdd4a Ignore keyboard.coff, keyboard.sys.unstripped
svn path=/trunk/; revision=1639
2001-02-18 20:11:41 +00:00
Phillip Susi
fd25f6dae0 Ignore vfatfs.coff
svn path=/trunk/; revision=1638
2001-02-18 20:10:32 +00:00
Phillip Susi
c57a9b4991 Ignore vidport.coff
svn path=/trunk/; revision=1637
2001-02-18 20:07:41 +00:00
Phillip Susi
2b3a1f40c1 Ignore vgamp.coff
svn path=/trunk/; revision=1636
2001-02-18 19:58:41 +00:00
Phillip Susi
689a632cf7 Ignore vgaddi.coff, vgaddi.dll
svn path=/trunk/; revision=1635
2001-02-18 19:56:14 +00:00
Phillip Susi
b65738db8d Ignore ide.sys.unstripped
svn path=/trunk/; revision=1634
2001-02-18 19:55:17 +00:00
Phillip Susi
4546061999 Ignore floppy.sys.unstripped
svn path=/trunk/; revision=1633
2001-02-18 19:54:37 +00:00
Phillip Susi
20612fed4c Ignore blue.sys.unstripped
svn path=/trunk/; revision=1632
2001-02-18 19:53:37 +00:00
Phillip Susi
99529fbb93 Missing .cvsignore
svn path=/trunk/; revision=1631
2001-02-18 19:47:42 +00:00
Phillip Susi
e9143b26d7 Fixes to waitable timer implementation
svn path=/trunk/; revision=1630
2001-02-18 19:43:15 +00:00
Phillip Susi
3d4886b292 Switched to using waitable timers instead of Sleep(), gives more accurate time cycles, also added some small optimizations
svn path=/trunk/; revision=1629
2001-02-18 19:31:38 +00:00
Emanuele Aliberti
349ae0c799 CMD: implemented IF [NOT] DEFINED variable command
CMD: fixed IF NOT EXIST file command

svn path=/trunk/; revision=1628
2001-02-18 18:51:46 +00:00
David Welch
f827a8f124 Fixed reference counting of page tables
Don't print addresses that aren't in the text segment of a module

svn path=/trunk/; revision=1627
2001-02-18 17:43:32 +00:00
Eric Kohl
d458692c89 Removed obsolete code
svn path=/trunk/; revision=1626
2001-02-17 17:42:46 +00:00
Eric Kohl
65a803db11 Added missing RtlGetProcessHeaps() prototype
svn path=/trunk/; revision=1625
2001-02-17 17:40:05 +00:00
Eric Kohl
0e40521339 Fixed timer access right
svn path=/trunk/; revision=1624
2001-02-17 00:07:49 +00:00
Eric Kohl
9f2db0a1d2 Established forwarded exports and removed superfluous functions
svn path=/trunk/; revision=1623
2001-02-17 00:02:32 +00:00
David Welch
beae346469 Changed irq handler from C to assembler
Began work on holding information about active page operations

svn path=/trunk/; revision=1622
2001-02-16 18:32:20 +00:00
David Welch
727b62c27f Fixed MmProbeAndLockPages issues pointed out by Philip Susi
svn path=/trunk/; revision=1621
2001-02-14 02:53:54 +00:00
Phillip Susi
07142de752 Darnit, don't override the rules.mak rule for building resources
svn path=/trunk/; revision=1620
2001-02-12 03:50:00 +00:00
Eric Kohl
933ff9a467 Changed version information for 0.0.17
svn path=/trunk/; revision=1619
2001-02-11 15:02:48 +00:00
Eric Kohl
b91cda60d8 RtlInitializeCriticalSection() returns NTSTATUS
svn path=/trunk/; revision=1618
2001-02-11 00:15:56 +00:00
David Welch
9359db14a0 Section and general memory manager enhancements including COW
svn path=/trunk/; revision=1617
2001-02-10 22:51:11 +00:00
Eric Kohl
29c4727f7a Preliminary command line fix
svn path=/trunk/; revision=1616
2001-02-10 22:30:21 +00:00
Eric Kohl
6922d2a9e5 GetModuleFileName[A/W] must cope with NULL module handles
svn path=/trunk/; revision=1615
2001-02-10 22:29:35 +00:00
Eric Kohl
af68ad91d4 Preparations for use of forwarded exports
svn path=/trunk/; revision=1614
2001-02-10 22:26:26 +00:00
Eric Kohl
03fd77240f Fixed typos
svn path=/trunk/; revision=1613
2001-02-10 22:23:30 +00:00
Emanuele Aliberti
b611b79b36 KERNEL32.GetProcessVersion partial implementation.
KERNEL32.GetSystemInfo about finished.

svn path=/trunk/; revision=1612
2001-02-10 22:01:50 +00:00
Emanuele Aliberti
37361ed1e8 GetProcessVersion prototype missing.
svn path=/trunk/; revision=1611
2001-02-10 22:00:20 +00:00
Eric Kohl
41280eeeb5 Implemented handling of forwarded exports
svn path=/trunk/; revision=1610
2001-02-10 10:04:39 +00:00
David Welch
c87bd2d365 More FAT32 fixes
svn path=/trunk/; revision=1609
2001-02-06 20:17:35 +00:00
David Welch
c93d52a405 Use import hint if present
svn path=/trunk/; revision=1608
2001-02-06 05:50:50 +00:00
Phillip Susi
ae14d5ffc6 If APC routines are supposed to be STDCALL, then they should all be, and a lot of code needs fixed. Because all of the existing code seems to not use STDCALL, neither should the normal routine. This was causing ntoskrnl to fail to compile
svn path=/trunk/; revision=1607
2001-02-06 05:12:42 +00:00
Phillip Susi
501fee0d15 Fixed makefile to use default rule for building resources, and fixed resource includes to use paths relative to the include dir given to windres by rules.mak
svn path=/trunk/; revision=1606
2001-02-06 03:58:34 +00:00
David Welch
bcc1b4e9a5 Implemented binary search of the export tables
svn path=/trunk/; revision=1605
2001-02-06 02:03:35 +00:00
David Welch
b2fe7525bf Reads of the FAT on FAT32 filesystems go through the cache, writes are
disabled

svn path=/trunk/; revision=1604
2001-02-06 00:41:19 +00:00
David Welch
076c1c6ac3 Fixed timer code
Fixed NtClose return in case of error
Added new APC-like primitive for terminating threads
Fixed restriction on size of working set

svn path=/trunk/; revision=1603
2001-02-06 00:11:20 +00:00
Phillip Susi
ae6b859854 Fixed clock increment for 10ms clock, and bug in computing relative time
svn path=/trunk/; revision=1602
2001-02-05 02:31:04 +00:00
Eric Kohl
fef0ed0d35 Implemented KeRemoveQueueApc() (not exported).
Implemented timer object.

svn path=/trunk/; revision=1601
2001-02-04 17:28:13 +00:00
Eric Kohl
543839bcee Implemented ObOpenObjectByPointer().
svn path=/trunk/; revision=1600
2001-02-03 23:25:06 +00:00
Eric Kohl
2a2b027dc1 Fixed command line size
Added workaround for broken command line support

svn path=/trunk/; revision=1599
2001-02-03 10:40:19 +00:00
Eric Kohl
62d9e11763 Reduced command line size in ReactOS mode
svn path=/trunk/; revision=1598
2001-02-03 10:37:51 +00:00
Eric Kohl
a7772a9954 Fixed command line size
svn path=/trunk/; revision=1597
2001-02-03 10:36:11 +00:00
Jason Filby
a34348ef4e *** empty log message ***
svn path=/trunk/; revision=1596
2001-02-03 10:29:54 +00:00
jean
47f77fa056 oops! leave make a pop, and caller of alloca make esp = esp +16.
svn path=/trunk/; revision=1595
2001-02-03 10:28:28 +00:00
Jason Filby
766ded4e0f Corrected line feeds so that DOS can run the .bat
svn path=/trunk/; revision=1594
2001-02-03 10:28:14 +00:00
Eric Kohl
ec9ef6951c Added access right mapping
Fixed access rights

svn path=/trunk/; revision=1593
2001-02-02 20:49:40 +00:00
jean
5f529d5a90 *** empty log message ***
svn path=/trunk/; revision=1592
2001-02-01 16:51:03 +00:00
jean
65249c23ae correct some bugs in spawn... functions
svn path=/trunk/; revision=1591
2001-02-01 16:44:19 +00:00
jean
c8f92d26a9 changes in alloca because gcc push only ebp at begin of function
svn path=/trunk/; revision=1590
2001-02-01 16:37:08 +00:00
jean
51c7c6091a fourth argument of WriteConsoleA is mandatory
svn path=/trunk/; revision=1589
2001-02-01 16:30:46 +00:00
Phillip Susi
3c5287c859 Forgot to commit bug fix for LoadString()
svn path=/trunk/; revision=1588
2001-02-01 00:04:44 +00:00
Phillip Susi
ed2b81a1b5 Minor fix
svn path=/trunk/; revision=1587
2001-01-31 03:03:20 +00:00
Phillip Susi
2965b6c9d7 Had to rearange some structure members
svn path=/trunk/; revision=1586
2001-01-31 02:27:04 +00:00
Phillip Susi
79c82716fa Bug fixes and redesign of a few ioctls
svn path=/trunk/; revision=1585
2001-01-31 02:24:46 +00:00
Phillip Susi
20916cab69 A few bug fixes
svn path=/trunk/; revision=1584
2001-01-31 02:23:52 +00:00
Phillip Susi
b93435c7db Bug fixes and speedup
svn path=/trunk/; revision=1583
2001-01-31 02:22:09 +00:00
Eric Kohl
1416a36841 Corrected unknown parameter
Added ObOpenObjectByPointer() stub

svn path=/trunk/; revision=1582
2001-01-29 00:32:13 +00:00
Emanuele Aliberti
7bfcc9b94c Stubs for some new LPC functions (w2k).
Added some base checking in NtCreatePort's parameters.

svn path=/trunk/; revision=1581
2001-01-29 00:13:22 +00:00
Eric Kohl
17b93d7d9b Added mapping of access rights
Removed user-mode types

svn path=/trunk/; revision=1580
2001-01-28 21:37:37 +00:00
Eric Kohl
c06ef435fb Added mapping of access rights
svn path=/trunk/; revision=1579
2001-01-28 17:42:56 +00:00
Eric Kohl
6c726dfe40 Added mapping of access rights
Improved 'open' function

svn path=/trunk/; revision=1578
2001-01-28 15:17:52 +00:00
Eric Kohl
9331d6391e Added mapping of access rights
svn path=/trunk/; revision=1577
2001-01-28 15:13:11 +00:00
Eric Kohl
d4850da19d Fixed a compiler warning
svn path=/trunk/; revision=1576
2001-01-28 01:20:20 +00:00
Emanuele Aliberti
ff1de6a212 Simple W32 telnet client.
Version resource added to ping and roshttpd.

svn path=/trunk/; revision=1575
2001-01-27 22:38:43 +00:00
Eric Kohl
5786d70e39 Fixed _iob bug
svn path=/trunk/; revision=1574
2001-01-27 20:56:44 +00:00
Eric Kohl
dc0568827a Fixed timer issues
svn path=/trunk/; revision=1573
2001-01-27 19:35:04 +00:00
Phillip Susi
2d87dedf3e OOps... that was already defined elsewhere...
svn path=/trunk/; revision=1572
2001-01-26 05:24:17 +00:00
jean
fb75aa1293 changes in _iob
svn path=/trunk/; revision=1571
2001-01-25 19:01:16 +00:00
jean
03832de6e4 *** empty log message ***
svn path=/trunk/; revision=1570
2001-01-25 18:59:49 +00:00
jean
12e9069480 correct some arguments for CreateFile
svn path=/trunk/; revision=1569
2001-01-25 18:55:33 +00:00
jean
98414449d5 *** empty log message ***
svn path=/trunk/; revision=1568
2001-01-25 18:51:26 +00:00
Phillip Susi
dee175afca Added LoadString() stringtable resource support
svn path=/trunk/; revision=1567
2001-01-25 05:39:31 +00:00
Phillip Susi
74e0c4a781 A few more console fixes
svn path=/trunk/; revision=1566
2001-01-25 05:37:03 +00:00
Phillip Susi
a6a0f5ae18 Added declarations for waitable timer functions
svn path=/trunk/; revision=1565
2001-01-25 05:36:21 +00:00
Phillip Susi
1ec1a6741c Fixed backwards parameters in FindResource()
svn path=/trunk/; revision=1564
2001-01-25 02:20:05 +00:00
Phillip Susi
a9527291d6 Fixed backspace handling
svn path=/trunk/; revision=1563
2001-01-24 05:13:12 +00:00
Phillip Susi
3943df51ea Fixed broken console code
svn path=/trunk/; revision=1562
2001-01-24 05:11:21 +00:00
Phillip Susi
89e2e7a616 Fixed kernel loader code also to handle uninitialized sections
svn path=/trunk/; revision=1561
2001-01-24 04:43:54 +00:00
Phillip Susi
207393f045 Both GetModuleHandleA and GetModuleHandleW need to handle NULL module name
svn path=/trunk/; revision=1560
2001-01-24 04:41:58 +00:00
Eric Kohl
42d7089e72 Removed fixed stack base address
svn path=/trunk/; revision=1559
2001-01-23 09:58:12 +00:00
Phillip Susi
6579aafa03 Undoing last commit, causes kernel to crash on boot. David, any idea why?
svn path=/trunk/; revision=1558
2001-01-23 04:46:08 +00:00
Phillip Susi
b6593ffc1b Fixed loader bug with uninitialized sections
svn path=/trunk/; revision=1557
2001-01-23 04:37:13 +00:00
Casper Hornstrup
e6c8459347 no message
svn path=/trunk/; revision=1556
2001-01-21 21:04:53 +00:00
Phillip Susi
782b28151b Applied David Welsh's fix for getting physical address from specified process instead of current one here as well
svn path=/trunk/; revision=1555
2001-01-21 19:00:59 +00:00
David Welch
10f230ae0a Fixed bug in NtFreeVirtualMemory reported by Philip Susi
Added all thread information classes
Began work on fixing suspend/resume

svn path=/trunk/; revision=1554
2001-01-21 14:54:30 +00:00
Phillip Susi
3f694e507f Keyboard driver should not translate \r to \n
svn path=/trunk/; revision=1553
2001-01-21 00:13:41 +00:00
Phillip Susi
f353289fba Reworked console code to use frame buffers and input queues
svn path=/trunk/; revision=1552
2001-01-21 00:11:54 +00:00
Phillip Susi
5d6f1d7dfa Added InterlockedXXX functions, probobly should use a different name
svn path=/trunk/; revision=1551
2001-01-21 00:09:05 +00:00
Phillip Susi
5c0fb84170 New console client support
svn path=/trunk/; revision=1550
2001-01-21 00:07:03 +00:00
Phillip Susi
b360ee177d Fixed a few bugs and enhanced performance
svn path=/trunk/; revision=1549
2001-01-21 00:05:53 +00:00
Eric Kohl
0f09a6d59c Added services.exe to boot sequence
svn path=/trunk/; revision=1548
2001-01-20 19:01:37 +00:00
Eric Kohl
03be08974e Added services.exe to boot sequence
svn path=/trunk/; revision=1547
2001-01-20 18:40:27 +00:00
Eric Kohl
300201892a Fixed severe bug in CreateEventW()
Implemented use of "\BaseNamedObjects" directory

svn path=/trunk/; revision=1546
2001-01-20 18:37:58 +00:00
Eric Kohl
86c7503953 Implemented ObOpenObjectByName()
svn path=/trunk/; revision=1545
2001-01-20 18:34:34 +00:00
Eric Kohl
3676b49d28 Completed mutex and semaphore implementation
Enabled some global memory functions

svn path=/trunk/; revision=1544
2001-01-20 12:20:43 +00:00
David Welch
703924d130 (Finally) implemented Philip Susi's suggestion for non-counting block
Moved suspend/resume code to seperate file

svn path=/trunk/; revision=1543
2001-01-19 15:09:01 +00:00
Eric Kohl
e443f083f2 Implemented system module Information
Got rid of cryptic driver names

svn path=/trunk/; revision=1542
2001-01-18 16:55:00 +00:00
jean
fd4c82a289 suppress use of FILE_READ_xx and FILE_WRITE_xxx defines.
not available for CreateFile ?

svn path=/trunk/; revision=1541
2001-01-18 15:04:06 +00:00
David Welch
a8660c1f02 Fixes for problems with NtReplyWaitReceive and KeWaitForSingleObject
svn path=/trunk/; revision=1540
2001-01-18 15:00:09 +00:00
jean
3116ca9df2 correct _environ assignment, because it's an array of pointers
and GetEnvironmentString return a pointer.

svn path=/trunk/; revision=1539
2001-01-18 14:43:25 +00:00
jean
d2833af32c incorrect use of FILE_xxx defines, not avalaible for CreateFile ?
svn path=/trunk/; revision=1538
2001-01-18 13:54:03 +00:00
jean
20ee4eb9a7 changes due to correction in ../misc/dllmain.c
for update of environ when calling putenv.

svn path=/trunk/; revision=1537
2001-01-18 13:25:33 +00:00
jean
7863eef29d *** empty log message ***
svn path=/trunk/; revision=1536
2001-01-18 13:23:26 +00:00
jean
d6e19c5407 correct environ affectation : it's an array of pointers
, and GetEnvironmentStrings return a pointer.

svn path=/trunk/; revision=1535
2001-01-18 13:21:51 +00:00
jean
a1da8a3ac2 *** empty log message ***
svn path=/trunk/; revision=1534
2001-01-18 13:18:05 +00:00
Emanuele Aliberti
efd7d3cbd8 Bootstrap title and short licence banner reformatted.
Please say your opinion about it.
Should the title line ("Starting ReactOS...") be the 1st line on the blue screen?

svn path=/trunk/; revision=1533
2001-01-17 19:07:13 +00:00
Emanuele Aliberti
394b6b568c Log file names macros added.
svn path=/trunk/; revision=1532
2001-01-17 19:04:15 +00:00
jean
824df27238 ibetter clean
svn path=/trunk/; revision=1531
2001-01-17 17:14:34 +00:00
jean
fcca9be111 better clean
svn path=/trunk/; revision=1530
2001-01-17 17:01:38 +00:00
David Welch
7a3409d80c Multiboot fixes
svn path=/trunk/; revision=1529
2001-01-17 15:38:03 +00:00
Eric Kohl
695a57cff6 Implemented SystemDeviceInformation info class
svn path=/trunk/; revision=1528
2001-01-17 02:02:39 +00:00
David Welch
0d8b4e3da6 FAT12 fixes
svn path=/trunk/; revision=1527
2001-01-16 23:22:03 +00:00
Phillip Susi
7b0b7c5396 Fixed bug with screen buffers larger than console window ( i.e. scrollback buffers )
svn path=/trunk/; revision=1526
2001-01-16 20:58:58 +00:00
David Welch
643441de17 Removed debugging prints
svn path=/trunk/; revision=1525
2001-01-16 15:43:42 +00:00
David Welch
25dc208536 Fix bug in MmAllocateContinuousPages spotted by Philip Susi
Fixed compilation bugs in roshttpd
Work on write support (still not working)

svn path=/trunk/; revision=1524
2001-01-16 09:55:02 +00:00
jean
7887cc9965 *** empty log message ***
svn path=/trunk/; revision=1523
2001-01-15 15:46:04 +00:00
jean
352d348f09 correct crash when running DllMain
svn path=/trunk/; revision=1522
2001-01-15 15:40:58 +00:00
Emanuele Aliberti
2faa9c1b95 Copyright string updated.
svn path=/trunk/; revision=1521
2001-01-14 23:27:36 +00:00
Emanuele Aliberti
db38d666da SYSTEMTIME type replaced by TIME.
svn path=/trunk/; revision=1520
2001-01-14 20:56:48 +00:00
Emanuele Aliberti
a04660d2b0 tz command fixed (info class 44).
svn path=/trunk/; revision=1519
2001-01-14 20:16:37 +00:00
Emanuele Aliberti
01531797b4 SYSTEM_TIME_ZONE_INFORMATION added.
svn path=/trunk/; revision=1518
2001-01-14 20:06:20 +00:00
Emanuele Aliberti
4a354f1128 FLG decoding added.
svn path=/trunk/; revision=1517
2001-01-14 19:59:43 +00:00
Emanuele Aliberti
a3a116651b FLG macros added.
svn path=/trunk/; revision=1516
2001-01-14 19:58:58 +00:00
Casper Hornstrup
52f51dc4b9 Small HTTP daemon
svn path=/trunk/; revision=1515
2001-01-14 18:35:17 +00:00
Casper Hornstrup
05ccbb2696 Some work on winsock stack
svn path=/trunk/; revision=1514
2001-01-14 17:44:38 +00:00
Eric Kohl
2dd3473a90 Added some hal functions
svn path=/trunk/; revision=1513
2001-01-14 15:36:55 +00:00
Eric Kohl
eaeab91ab2 Print driver names on initialization
svn path=/trunk/; revision=1512
2001-01-14 15:30:47 +00:00
Eric Kohl
7efa62275f Added shutdown description
svn path=/trunk/; revision=1511
2001-01-14 15:28:50 +00:00
Eric Kohl
36c7b523ee Fixed 'clean' rule
svn path=/trunk/; revision=1510
2001-01-14 15:27:15 +00:00
David Welch
eda06227b3 More small cluster size fixes
svn path=/trunk/; revision=1509
2001-01-14 15:05:53 +00:00
Emanuele Aliberti
51772d486a ADVAPI32.LookupAccountSidA and ADVAPI32.LookupAccountSidW stubs added.
svn path=/trunk/; revision=1508
2001-01-14 12:15:19 +00:00
Nedko Arnaudov
bf1b057da3 no message
svn path=/trunk/; revision=1507
2001-01-13 23:55:37 +00:00
David Welch
15491f14dd Fix for vfatfs on volumes with smaller cluster sizes
svn path=/trunk/; revision=1506
2001-01-13 18:38:09 +00:00
Emanuele Aliberti
df75bd846f PE image file dumper, by Sang Cho, adapted to ROS (wip).
svn path=/trunk/; revision=1505
2001-01-13 18:19:23 +00:00
Emanuele Aliberti
5d04b18c15 Obsolete regnav removed.
qsi updated (still wip).
Minor changes.

svn path=/trunk/; revision=1504
2001-01-13 18:17:17 +00:00
David Welch
d2b9b6d912 Removed use of intermediate buffering when reading from the cache
svn path=/trunk/; revision=1503
2001-01-13 12:40:21 +00:00
David Welch
e371c33d76 Removed debugging code from NTDLL loader
Make sure there is a space between the boot device and the kernel command
line
Vfat fixes

svn path=/trunk/; revision=1502
2001-01-12 21:00:08 +00:00
Phillip Susi
1c655ae05a Fixed compilation error with symbols _environ/_environ_dll
svn path=/trunk/; revision=1501
2001-01-11 02:38:34 +00:00
Nedko Arnaudov
1688a8d7c5 no message
svn path=/trunk/; revision=1500
2001-01-10 01:25:29 +00:00
David Welch
48b5533bd5 Some memory manager cleanups
Hopefully fixed vfat fsd reported by Philip Susi
FAT lookups go through cache

svn path=/trunk/; revision=1499
2001-01-08 02:14:06 +00:00
Eric Kohl
21c3a954d0 Updated 'clean' rule (added missing directories)
svn path=/trunk/; revision=1498
2001-01-07 18:45:21 +00:00
Eric Kohl
624869c3c3 Added some more runtime functions
svn path=/trunk/; revision=1497
2001-01-07 03:00:32 +00:00
Eric Kohl
8fe6e74b25 Indicate loading process by dots (in non-debug mode only)
svn path=/trunk/; revision=1496
2001-01-07 02:56:20 +00:00
Rex Jolliff
b12b25cd3d Fixed a bug in partition chain handling
svn path=/trunk/; revision=1495
2001-01-06 23:25:35 +00:00
Rex Jolliff
e4b73aa914 Fixed a problem with command line parsing
svn path=/trunk/; revision=1494
2001-01-06 21:40:13 +00:00
Eric Kohl
66aa4c41db Added some more functions
Got rid of spec file

svn path=/trunk/; revision=1493
2001-01-06 15:49:53 +00:00
Phillip Susi
83463a35cc Export SetLastErrorByStatus()
svn path=/trunk/; revision=1492
2001-01-05 05:39:18 +00:00
Eric Kohl
58f7f41275 Implemented NtSignalAndWaitForSingleObject()
svn path=/trunk/; revision=1491
2001-01-02 00:47:08 +00:00
David Welch
240c9da1da The VFAT filesystem driver now goes through the cache for reads, writing
is disabled.

svn path=/trunk/; revision=1490
2001-01-01 04:42:12 +00:00
David Welch
9e386e114c Fix for compilation bug
svn path=/trunk/; revision=1489
2000-12-30 04:19:42 +00:00
Eric Kohl
138b30dd40 Added HalAllocateAdapterChannel()
svn path=/trunk/; revision=1488
2000-12-30 01:41:52 +00:00
David Welch
ed20b9b6ba Implemented MmAllocateContinuousMemory
VFAT driver cleanups

svn path=/trunk/; revision=1487
2000-12-29 23:17:12 +00:00
Eric Kohl
1f1ae27105 Added / moved exception support functions
svn path=/trunk/; revision=1486
2000-12-29 13:49:15 +00:00
Eric Kohl
380b1db222 Implemented shutdown routine dummy
svn path=/trunk/; revision=1485
2000-12-29 13:45:01 +00:00
Eric Kohl
65c77b52d6 Implemented fsd shutdown support
svn path=/trunk/; revision=1484
2000-12-29 13:43:13 +00:00
Eric Kohl
66f91ccbf9 Fixed some undocumented functions and types
svn path=/trunk/; revision=1483
2000-12-28 20:38:28 +00:00
jean
7bd40a855a copy some functions from crtdll
svn path=/trunk/; revision=1482
2000-12-28 11:57:10 +00:00
jean
43999c2a2d copy of some functions from crtdll
svn path=/trunk/; revision=1481
2000-12-28 11:43:07 +00:00
jean
7a974c0294 *** empty log message ***
svn path=/trunk/; revision=1480
2000-12-28 11:39:33 +00:00
David Welch
0fc13a01ee Implemented /Device/PhysicalMemory
Corrected an LPC bug when terminating a process with threads waiting for
LPC messages

svn path=/trunk/; revision=1479
2000-12-28 03:38:08 +00:00
David Welch
7f10630ab4 Disable testing code
svn path=/trunk/; revision=1478
2000-12-26 05:34:27 +00:00
David Welch
390fd4f1fb Added support for calling BIOS functions
Partially implemented VideoPortInt10

svn path=/trunk/; revision=1477
2000-12-26 05:32:44 +00:00
David Welch
3b50cd9ca9 Fixed compilation bug
svn path=/trunk/; revision=1476
2000-12-24 03:35:54 +00:00
David Welch
8445b12452 All task switching is done in software.
Beginnings of v86 mode support.
Corrected locking bug when terminating multithreaded process.

svn path=/trunk/; revision=1475
2000-12-23 02:37:41 +00:00
Emanuele Aliberti
b6c91b703e _itow, _ltow, _ultow added to crtdll.
*** TO BE TESTED ***

svn path=/trunk/; revision=1474
2000-12-22 23:20:15 +00:00
Eric Kohl
91bcb7413f Implemented NtResumeThread() and NtSuspendThread()
Cleanup

svn path=/trunk/; revision=1473
2000-12-22 13:37:41 +00:00
Eric Kohl
64ba922c19 Implemented NtResumeThread() and NtSuspendThread()
Cleanup

svn path=/trunk/; revision=1472
2000-12-22 13:32:06 +00:00
jean
90beca63cb begin implementation of memory detection
svn path=/trunk/; revision=1471
2000-12-20 18:44:20 +00:00
Emanuele Aliberti
c6010e401e Version resource added to the command line utilities more, tee, and y.
svn path=/trunk/; revision=1470
2000-12-19 23:06:20 +00:00
Rex Jolliff
72e967e710 Fixed a problem with install rule
svn path=/trunk/; revision=1469
2000-12-19 20:20:16 +00:00
Eric Kohl
a391eec94c Implemented some verify functions.
svn path=/trunk/; revision=1468
2000-12-11 18:20:02 +00:00
David Welch
488f0ac078 Some work on file caching
Some work on the minix filesystem
Some work on v86 mode support
Implemented NtGetContextThread

svn path=/trunk/; revision=1467
2000-12-10 23:42:01 +00:00
Eric Kohl
4ac4987dd2 Implemented some verify functions.
svn path=/trunk/; revision=1466
2000-12-10 19:15:45 +00:00
Emanuele Aliberti
6d9f357735 Cleaning up before moving psxss to subsys/psx/server .
svn path=/trunk/; revision=1465
2000-12-10 16:57:07 +00:00
Emanuele Aliberti
1439a96e69 Cleaning up before moving psxdll in subsys/psx/client .
svn path=/trunk/; revision=1464
2000-12-10 16:44:50 +00:00
Emanuele Aliberti
7235c776e4 I added the -p option to make buildno simply print the current build number,
but not generate the reactos/buildno.h file.

svn path=/trunk/; revision=1463
2000-12-10 16:23:15 +00:00
Emanuele Aliberti
6faae58d64 Updated to be a proper secur32.dll version resource.
Still missing a proper description: where is secur32.dll from?

svn path=/trunk/; revision=1462
2000-12-09 22:37:14 +00:00
Phillip Susi
b2b12a1d09 Opps... can't just return from a native thread proc, have to TerminateProcess()
svn path=/trunk/; revision=1461
2000-12-09 06:29:29 +00:00
Phillip Susi
8bdd137c8f RtlCreateUserProcess was not checking for failure of mapping the executable file and returning that error
svn path=/trunk/; revision=1460
2000-12-09 04:34:52 +00:00
Casper Hornstrup
af9693f4da Fixed typo.
svn path=/trunk/; revision=1459
2000-12-08 22:09:17 +00:00
Casper Hornstrup
d3f5f7862f Fixed bug that caused a crash when creating an unnamed semaphore.
svn path=/trunk/; revision=1458
2000-12-08 22:08:02 +00:00
jean
4dc42b4202 SUPERSEDE implemented
svn path=/trunk/; revision=1457
2000-12-08 17:12:43 +00:00
Eric Kohl
2af149a27c Replaced hard-coded paths
svn path=/trunk/; revision=1456
2000-12-08 00:45:04 +00:00
Eric Kohl
07127c18af Fixed floppy driver bug!
The floppy controler is now recognized properly!!

svn path=/trunk/; revision=1455
2000-12-08 00:43:45 +00:00
jean
3d521d0a20 LdrFixupImports more verbose when DLL not found.
svn path=/trunk/; revision=1454
2000-12-07 17:00:12 +00:00
jean
02d3c2cb72 bug corrected in updating fat16
erase clusters before use.

svn path=/trunk/; revision=1453
2000-12-07 16:58:42 +00:00
Eric Kohl
d8748695f2 Run winlogon.exe instead of shell.exe
Replaced hard-coded paths

svn path=/trunk/; revision=1452
2000-12-05 18:14:07 +00:00
Eric Kohl
3ab0b1f9a2 Minor fixes
svn path=/trunk/; revision=1451
2000-12-05 18:11:51 +00:00
Eric Kohl
e69d5f4655 Fixed forwarding of current directory string
svn path=/trunk/; revision=1450
2000-12-05 18:08:24 +00:00
jean
a7d8f1c9ab corrected bugs in create operations
svn path=/trunk/; revision=1449
2000-12-05 17:12:16 +00:00
Eric Kohl
564101ab11 Moved system applications
svn path=/trunk/; revision=1448
2000-12-05 02:40:51 +00:00
Eric Kohl
c40c9f88c1 no message
svn path=/trunk/; revision=1447
2000-12-03 20:31:03 +00:00
Eric Kohl
d4ae36c1c5 no message
svn path=/trunk/; revision=1446
2000-12-03 20:29:44 +00:00
Eric Kohl
f01dd17793 Added some functions to msvcrt
svn path=/trunk/; revision=1445
2000-12-03 18:00:07 +00:00
Eric Kohl
a9828950fe Added some functions to msvcrt
svn path=/trunk/; revision=1444
2000-12-03 17:49:41 +00:00
Eric Kohl
b7a9c63dad Some minor fixes
svn path=/trunk/; revision=1443
2000-12-03 17:43:46 +00:00
Eric Kohl
9deb8f01da Fixed compiler warnings
svn path=/trunk/; revision=1442
2000-12-02 02:25:30 +00:00
jean
55feb47d30 added test arg in NtFlushKey
svn path=/trunk/; revision=1441
2000-12-01 12:44:15 +00:00
jean
45fcd58321 corrected bug in writing files : extend files before needed
svn path=/trunk/; revision=1440
2000-12-01 12:41:08 +00:00
jean
7cdd9a1c62 *** empty log message ***
svn path=/trunk/; revision=1439
2000-12-01 12:39:17 +00:00
jean
bd1cb1e820 many bugs corrected
now pass OK tests 1,2,3 and 5 of regtest

svn path=/trunk/; revision=1438
2000-11-27 14:54:28 +00:00
jean
c07ef00211 added test for NtFlushKey
added a loop, allowing to make several tests before exiting.

svn path=/trunk/; revision=1437
2000-11-27 14:21:04 +00:00
jean
e53fb528db correct bug in write operations
svn path=/trunk/; revision=1436
2000-11-23 15:53:37 +00:00
jean
565277e563 *** empty log message ***
svn path=/trunk/; revision=1435
2000-11-21 15:10:15 +00:00
jean
cf1b2d1b6c some changes to prepare write in hive files
svn path=/trunk/; revision=1434
2000-11-21 11:12:27 +00:00
Eric Kohl
716fa2a717 Modified makefiles for use with rcopy
Added a missing prototype

svn path=/trunk/; revision=1433
2000-11-20 19:59:14 +00:00
Eric Kohl
d456e5b838 Fixed bug (or better: typo)
svn path=/trunk/; revision=1432
2000-11-19 22:15:03 +00:00
Eric Kohl
a703d88253 Fixed tls code
svn path=/trunk/; revision=1431
2000-11-19 16:01:29 +00:00
Eric Kohl
41ac59fb91 Added tls bitmap initialization
svn path=/trunk/; revision=1430
2000-11-19 15:59:46 +00:00
Eric Kohl
885e8a3344 Fixed bitmap bug
svn path=/trunk/; revision=1429
2000-11-19 15:58:58 +00:00
Eric Kohl
bd08f2070e Fixed tiny display buglet
svn path=/trunk/; revision=1428
2000-11-19 15:57:27 +00:00
Jason Filby
4b0dec4293 minor fix
svn path=/trunk/; revision=1427
2000-11-16 21:45:54 +00:00
Eric Kohl
143ef3c5b1 Fixed a compiler warning
svn path=/trunk/; revision=1426
2000-11-16 00:32:12 +00:00
jean
575c0c896a bugs corrected
svn path=/trunk/; revision=1425
2000-11-10 15:41:46 +00:00
jean
fb51b0f647 reference/dereference of objects corrected
update time of heap when data changed
some other bugs corrected

svn path=/trunk/; revision=1424
2000-11-10 15:35:40 +00:00
Eric Kohl
93647509cc Fixed some system information stuff
svn path=/trunk/; revision=1423
2000-11-04 13:52:12 +00:00
Eric Kohl
3f82e28a32 Fixed compiler warning
svn path=/trunk/; revision=1422
2000-11-04 13:48:11 +00:00
Eric Kohl
e7f86f45fb Fixed linker warning about missing _NtProcessStartup()
svn path=/trunk/; revision=1421
2000-11-01 12:45:53 +00:00
Jason Filby
55a9a7623e minor fixes
svn path=/trunk/; revision=1420
2000-10-25 13:09:05 +00:00
Nedko Arnaudov
a248f1e7c3 GPL sync + delete value implemented
svn path=/trunk/; revision=1419
2000-10-24 20:17:42 +00:00
jean
2a81cebc82 fixed bugs
load registry file entirely

svn path=/trunk/; revision=1418
2000-10-24 12:13:12 +00:00
Eric Kohl
b60489a76a Removed obsolete linux header files
svn path=/trunk/; revision=1417
2000-10-22 16:36:53 +00:00
Eric Kohl
1c236a2886 Replaced linux io calls
Removed references to linux io headers

svn path=/trunk/; revision=1416
2000-10-22 13:30:19 +00:00
Eric Kohl
dab151f2f1 Implemented event pair
svn path=/trunk/; revision=1415
2000-10-22 11:30:00 +00:00
Eric Kohl
9267a79b9e Replaced linux io calls
svn path=/trunk/; revision=1414
2000-10-22 02:02:28 +00:00
Eric Kohl
1db1c12cf3 Fixed prototype
svn path=/trunk/; revision=1413
2000-10-22 02:01:42 +00:00
Eric Kohl
382d5a76c2 Removed duplicate code and replaced linux io calls
svn path=/trunk/; revision=1412
2000-10-22 01:59:51 +00:00
Eric Kohl
a83fd9fd73 Fixed warnings and indentation
svn path=/trunk/; revision=1411
2000-10-22 01:58:11 +00:00
Jason Filby
201009ddd9 *** empty log message ***
svn path=/trunk/; revision=1410
2000-10-18 10:42:07 +00:00
Jason Filby
14b2a471ce *** empty log message ***
svn path=/trunk/; revision=1409
2000-10-18 09:39:32 +00:00
Jason Filby
77d9f6fb99 *** empty log message ***
svn path=/trunk/; revision=1408
2000-10-18 09:11:01 +00:00
jean
bb44d63a00 add management of free blocks
svn path=/trunk/; revision=1407
2000-10-16 15:22:45 +00:00
jean
3f76d0e8a9 remove unimplemented functions
test more verbose

svn path=/trunk/; revision=1406
2000-10-16 15:05:19 +00:00
Jason Filby
76ba7eadb1 Improved bitblt and painting performance
Initial mouse pointer code

svn path=/trunk/; revision=1405
2000-10-14 22:58:24 +00:00
Jason Filby
06bf88e073 Minor fixes
svn path=/trunk/; revision=1404
2000-10-14 22:42:11 +00:00
Jason Filby
d17678ebd0 *** empty log message ***
svn path=/trunk/; revision=1403
2000-10-14 22:40:18 +00:00
David Welch
e9b7a9a972 Corrected typos in the minix driver
svn path=/trunk/; revision=1402
2000-10-11 20:57:19 +00:00
David Welch
9ab512dafc Correct implementation of user-mode APCs
svn path=/trunk/; revision=1401
2000-10-11 20:50:35 +00:00
jean
e7214e13b1 remove code for tests
svn path=/trunk/; revision=1400
2000-10-11 15:06:31 +00:00
jean
3199989397 added tests in apps/regtest
work on write hive registry
read tests successful for volatile and non volatile keys
write tests successful for volatile keys

svn path=/trunk/; revision=1399
2000-10-11 13:20:39 +00:00
Eric Kohl
3b8acca85c Minor update
svn path=/trunk/; revision=1398
2000-10-09 00:18:00 +00:00
Eric Kohl
e224120546 Fixed compiler warning
svn path=/trunk/; revision=1397
2000-10-09 00:12:01 +00:00
David Welch
d996724891 Fixed compilation bugs
Removed useless spec files

svn path=/trunk/; revision=1396
2000-10-08 23:44:46 +00:00
Eric Kohl
26aa5fb4dd Fixed a typo
svn path=/trunk/; revision=1395
2000-10-08 19:13:01 +00:00
Eric Kohl
69afd5910f Added nameless struct/union support for [U]LARGE_INTEGER
svn path=/trunk/; revision=1394
2000-10-08 19:11:28 +00:00
David Welch
8a74f96a65 Additional bug fixes
Removed spec file
Removed libgcc.a
Set FS register in thread contexts

svn path=/trunk/; revision=1393
2000-10-08 16:32:53 +00:00
Eric Kohl
8d1034c5fa Added atom table stubs
Implemented NtQuerySemaphore()
Implemented RtlConvertSidToUnicode()
Replaced more calls to Linux io functions
Some minor fixes

svn path=/trunk/; revision=1392
2000-10-08 12:56:45 +00:00
Eric Kohl
9e2f41853a Added atom table stubs
Implemented NtQuerySemaphore()
Implemented RtlConvertSidToUnicode()
Replaced more calls to Linux io functions
Some minor fixes

svn path=/trunk/; revision=1391
2000-10-08 12:51:25 +00:00
Nedko Arnaudov
4e21487a31 In GNU make, Variables and functions in all parts of a makefile are expanded when read, so include of rules.mak must be done before using variable defined in it.
svn path=/trunk/; revision=1390
2000-10-08 10:48:10 +00:00
Eric Kohl
a2d079723b Implemented missing KeRaiseIrqlToXxLevel() functions
svn path=/trunk/; revision=1389
2000-10-07 21:06:19 +00:00
Eric Kohl
5bea9979e8 Added check for existing 'SystemRoot' link target
svn path=/trunk/; revision=1388
2000-10-07 20:55:15 +00:00
David Welch
f1096bb7f0 Some bug fixes
svn path=/trunk/; revision=1387
2000-10-07 18:44:08 +00:00
David Welch
fe87b12edd Renamed makefile to Makefile
svn path=/trunk/; revision=1386
2000-10-07 13:44:24 +00:00
David Welch
a254e64d73 Added multiboot support to ntoskrnl
Updated loadros to boot new kernel
Corrected thread priority bugs
Removed Linux port io
Added system call entry/exit that updates PreviousMode
Changes to allow ntoskrnl to be built without optimization
Updated make system
Added PCR
Most components can be built without special spec file

svn path=/trunk/; revision=1385
2000-10-07 13:41:58 +00:00
Eric Kohl
15b935ba7c Implemented NtPulseEvent() and NtQueryEvent()
svn path=/trunk/; revision=1384
2000-10-06 22:54:58 +00:00
Eric Kohl
4a5bc9edc8 Minor fix
svn path=/trunk/; revision=1383
2000-10-06 22:54:41 +00:00
Eric Kohl
bd44cd188f obsolete
svn path=/trunk/; revision=1382
2000-10-06 16:54:38 +00:00
Eric Kohl
0a2b580710 Implemented IoCreateNotificationEvent() and IoCreateSynchronizationEvent()
svn path=/trunk/; revision=1381
2000-10-06 16:54:04 +00:00
Eric Kohl
6e63676205 Added missing STDCALLs
svn path=/trunk/; revision=1380
2000-10-05 19:17:25 +00:00
Eric Kohl
aa5a575bd0 Added registry shutdown function CmShutdownRegistry()
Updated shutdown sequence

svn path=/trunk/; revision=1379
2000-10-05 19:15:50 +00:00
Eric Kohl
beaf6eac44 Implmented NtFlushWriteBuffer()
svn path=/trunk/; revision=1378
2000-10-05 19:10:55 +00:00
jean
619ad3483b add some tests
svn path=/trunk/; revision=1377
2000-10-05 14:55:55 +00:00
jean
a1b7c80868 correct bugs
svn path=/trunk/; revision=1376
2000-10-05 14:55:25 +00:00
Emanuele Aliberti
ae69a8e1e4 Registry Explorer (console tool) by Nedko Arnaoudov added to the system utilities subtree.
Also here: http://www.geocities.com/registryexplorer/

svn path=/trunk/; revision=1375
2000-10-04 21:04:31 +00:00
Eric Kohl
f3632d15b8 Implemented GetFileType()
Some cleanup

svn path=/trunk/; revision=1374
2000-10-01 19:54:57 +00:00
jean
31f697ce8f work on registry
svn path=/trunk/; revision=1373
2000-09-29 15:03:21 +00:00
Eric Kohl
bd6afcb8ba Implemented CreatePipe()
svn path=/trunk/; revision=1372
2000-09-27 01:24:37 +00:00
Eric Kohl
99434057af Implemented some ascii functions
svn path=/trunk/; revision=1371
2000-09-27 01:22:31 +00:00
Phillip Susi
0ea51977f6 Fixed crash due to thread priority out of bonuds bug... not sure if I did this right, but it seems to fix the crash. Someone should probobly look at this.
svn path=/trunk/; revision=1370
2000-09-24 23:55:21 +00:00
jean
08982a387e read functions on file SYSTEM implemented
svn path=/trunk/; revision=1369
2000-09-22 15:08:55 +00:00
jean
572b3bf901 work on ntopenkey forkeys insystem hive
svn path=/trunk/; revision=1368
2000-09-21 13:45:42 +00:00
jean
56cd5f816c type of Name in KEY_BLOCK corrected
svn path=/trunk/; revision=1367
2000-09-18 09:39:18 +00:00
Casper Hornstrup
37d6d2f97f Added WinSock 2 DLL Stubs
svn path=/trunk/; revision=1366
2000-09-17 09:41:15 +00:00
Casper Hornstrup
7ec7480d5c Added ping application (won't work on ReactOS yet)
svn path=/trunk/; revision=1365
2000-09-17 09:40:33 +00:00
Casper Hornstrup
734dbaddef Small change in tdikrnl.h
svn path=/trunk/; revision=1364
2000-09-17 09:38:46 +00:00
Casper Hornstrup
b7eaee833c Added WinSock 2 Headers
svn path=/trunk/; revision=1363
2000-09-17 09:37:04 +00:00
Casper Hornstrup
ab2b4e0924 Added WinSock 2 DLL Stubs
svn path=/trunk/; revision=1362
2000-09-17 09:36:01 +00:00
Casper Hornstrup
2a734dfd02 Added WinSock 2 Helper DLL for TCP/IP (Stubs only)
svn path=/trunk/; revision=1361
2000-09-17 09:33:44 +00:00
jean
b0a3240f8e work on registry files
svn path=/trunk/; revision=1360
2000-09-14 14:45:06 +00:00
jean
522110434e report changes from 1.29
svn path=/trunk/; revision=1359
2000-09-13 11:46:35 +00:00
jean
ad66ea993a work on registry
svn path=/trunk/; revision=1358
2000-09-13 10:29:48 +00:00
jean
ee426ef891 work on registry
svn path=/trunk/; revision=1357
2000-09-13 09:51:58 +00:00
Rex Jolliff
79753f70ea added some book references
svn path=/trunk/; revision=1356
2000-09-13 03:54:09 +00:00
Emanuele Aliberti
192a6b11b4 Added Casper to the coders parade.
svn path=/trunk/; revision=1355
2000-09-12 23:21:20 +00:00
Emanuele Aliberti
f452b24998 Updated years in version info.
svn path=/trunk/; revision=1354
2000-09-12 23:20:15 +00:00
jean
380f53e057 remove ctrl-M
svn path=/trunk/; revision=1353
2000-09-12 10:43:56 +00:00
jean
7a86d15add declaration of NtLoadKey2 corrected.
svn path=/trunk/; revision=1352
2000-09-12 10:43:28 +00:00
jean
cfa0bfd3f1 changes in IRP for compatibility
svn path=/trunk/; revision=1351
2000-09-12 10:12:13 +00:00
Emanuele Aliberti
28d86222cd Version resource added to the system utilities.
svn path=/trunk/; revision=1350
2000-09-11 20:17:02 +00:00
Emanuele Aliberti
e7a0c9b4eb Little change to make version resource linked in ne2000.sys.
svn path=/trunk/; revision=1349
2000-09-10 20:00:13 +00:00
Eric Kohl
f6975e3ad4 Implemented driver shutdown registration
svn path=/trunk/; revision=1348
2000-09-10 13:54:01 +00:00
Emanuele Aliberti
18fb33cd77 RC script updated.
svn path=/trunk/; revision=1347
2000-09-10 10:14:39 +00:00
Eric Kohl
4b34e5c2de Implemented basic registry functions
svn path=/trunk/; revision=1346
2000-09-08 22:55:14 +00:00
Eric Kohl
16625529a2 Fixed [Nt/Zw]LoadKey2 prototype
svn path=/trunk/; revision=1345
2000-09-08 22:52:17 +00:00
Eric Kohl
6320160bea Ooops! I forgot that little thingy...
svn path=/trunk/; revision=1344
2000-09-08 19:39:31 +00:00
Eric Kohl
d7d755265d Fixed some bugs in the registry
Improved registry test app

svn path=/trunk/; revision=1343
2000-09-06 19:59:54 +00:00
Phillip Susi
e7365f8b00 Made PsGetCurrentThread STDCALL
svn path=/trunk/; revision=1342
2000-09-06 03:08:22 +00:00
Phillip Susi
11c7a09174 Initialize new Win32ThreadData member in ETHREAD
svn path=/trunk/; revision=1341
2000-09-06 03:08:08 +00:00
Phillip Susi
b9d500fbd4 Made ObAddEntryDirectory STDCALL
svn path=/trunk/; revision=1340
2000-09-06 03:06:55 +00:00
Phillip Susi
c76d475edb Made PsGetCurrentThread STDCALL
svn path=/trunk/; revision=1339
2000-09-06 03:00:10 +00:00
Phillip Susi
4ca3269e59 Added pointer to win32k data in ETHREAD
svn path=/trunk/; revision=1338
2000-09-06 02:57:24 +00:00
Phillip Susi
8dba8b5f8b Made ObAddEntryDirectory STDCALL
svn path=/trunk/; revision=1337
2000-09-06 02:56:53 +00:00
Phillip Susi
5df884f1d2 Added ObAdEntryDirectory and PsGetCurrentThread to kernel export list
svn path=/trunk/; revision=1336
2000-09-06 02:08:00 +00:00
Eric Kohl
991be350f7 Registry fixes (not usable yet)
Loader improvements

svn path=/trunk/; revision=1335
2000-09-05 23:03:09 +00:00
Eric Kohl
90a17ecf05 Added registry test app
svn path=/trunk/; revision=1334
2000-09-05 22:57:43 +00:00
Eric Kohl
fbac67d372 Implemented dll detach on thread termination
svn path=/trunk/; revision=1333
2000-09-05 13:53:27 +00:00
Eric Kohl
19e205fb97 Implemented dll detach on process termination
svn path=/trunk/; revision=1332
2000-09-05 11:01:03 +00:00
Eric Kohl
ed32877e90 Fixed some minor loader bugs
svn path=/trunk/; revision=1331
2000-09-04 19:05:03 +00:00
Eric Kohl
c0159ad5c8 Some minor fixes
svn path=/trunk/; revision=1330
2000-09-03 14:53:13 +00:00
Eric Kohl
3004e5b9bd Fixed mysterious registry bug
svn path=/trunk/; revision=1329
2000-09-03 14:46:49 +00:00
Eric Kohl
df314ce26e Improved internal dll handling
Implemented or fixed dll and resource functions

svn path=/trunk/; revision=1328
2000-09-01 17:09:50 +00:00
David Welch
dd7e38a19d Reverted back to revision 1.59 because my last commit overwrote recent
changes.

svn path=/trunk/; revision=1327
2000-08-31 00:11:15 +00:00
David Welch
8e0014c64b Added calibration of KeStallExecutionProcessor delay
Corrected compilation bugs in user32
Corrected compilation bugs related to anonymous structs in ndis code
Pass commandline from loadros
Corrected PIC mask calculation

svn path=/trunk/; revision=1326
2000-08-30 19:33:29 +00:00
Emanuele Aliberti
3b94410c8a Version resource was off the final binary image.
svn path=/trunk/; revision=1325
2000-08-29 20:10:49 +00:00
Eric Kohl
3f36421f86 Added/fixed resource 'loader'.
svn path=/trunk/; revision=1324
2000-08-28 21:49:11 +00:00
Casper Hornstrup
7550af7e4d Fixed user32.dll so it will compile
svn path=/trunk/; revision=1323
2000-08-28 19:36:49 +00:00
David Welch
8293c58f61 Added platform independant mkdir program
svn path=/trunk/; revision=1322
2000-08-27 23:06:36 +00:00
Eric Kohl
acaf5099d7 User-mode loader improvements
svn path=/trunk/; revision=1321
2000-08-27 22:37:45 +00:00
Casper Hornstrup
5c58f80d97 Fixed user32.dll so it will compile
svn path=/trunk/; revision=1320
2000-08-27 16:44:02 +00:00
Casper Hornstrup
9a1e13b7d8 Added Novell Eagle 2000 Driver
svn path=/trunk/; revision=1319
2000-08-27 16:35:31 +00:00
Casper Hornstrup
33252ab449 Basic NDIS 3.0 support
svn path=/trunk/; revision=1318
2000-08-27 16:31:41 +00:00
Casper Hornstrup
abd30f9819 Fixed bugs in TCP/IP driver
svn path=/trunk/; revision=1317
2000-08-27 16:28:59 +00:00
Eric Kohl
24d06e9f82 Replaced call to LdrLoadModule() by call to ZwSetSystemInformation()
svn path=/trunk/; revision=1316
2000-08-26 16:22:04 +00:00
Eric Kohl
1a10e72f31 Finished drive letter assignment
Implemented WinNT compatible ARC path (boot.ini)

svn path=/trunk/; revision=1315
2000-08-25 15:56:24 +00:00
Eric Kohl
6c2d255207 Minor ide driver cleanup
Implemented ARC names

svn path=/trunk/; revision=1314
2000-08-24 19:15:20 +00:00
Eric Kohl
495a30cb8e Fixed partition read bug
svn path=/trunk/; revision=1313
2000-08-22 21:10:28 +00:00
Eric Kohl
c27ed38f21 Fixed disk size and partition limits
svn path=/trunk/; revision=1312
2000-08-22 21:09:25 +00:00
Eric Kohl
e7dc6b7c4b xHalIoReadPartitionTable() can now handle partially corrupted partition tables
svn path=/trunk/; revision=1311
2000-08-22 14:10:59 +00:00
Eric Kohl
6f1d7ad00c Implemented IoReadPartitionTable().
Implemented proper drive letter assignment.

svn path=/trunk/; revision=1310
2000-08-21 00:15:54 +00:00
David Welch
8434fc42db Fixed memory manager bugs
Removed page directory references from machine independant code
Implemented page table reference counting
Added vm test application

svn path=/trunk/; revision=1309
2000-08-20 17:02:10 +00:00
Eric Kohl
7c29439d2b Fixed the real bug
svn path=/trunk/; revision=1308
2000-08-19 01:21:17 +00:00
Eric Kohl
1aa74074a2 Fixed an ugly bug
svn path=/trunk/; revision=1307
2000-08-19 00:02:55 +00:00
David Welch
ddfa2017c7 Added .o -> .sys rule to simplify driver makefiles
Added PATH_TO_ROOT variable to most makefiles
Added system independant install utility
Implemented prototype system for changing individual regions without a
memory area
Added some interesting articles from usenet

svn path=/trunk/; revision=1306
2000-08-18 22:27:09 +00:00
Eric Kohl
f7d76fbc5b Fixed port i/o functions
svn path=/trunk/; revision=1305
2000-08-18 17:25:54 +00:00
Eric Kohl
cc22ad9378 Fixed partition id bug
Moved some definitions

svn path=/trunk/; revision=1304
2000-08-18 17:24:17 +00:00
Eric Kohl
375b8055e3 Added preliminary pci bus scanner
svn path=/trunk/; revision=1303
2000-08-17 17:43:27 +00:00
Eric Kohl
7b9adffa48 Fixed some warnings
svn path=/trunk/; revision=1302
2000-08-15 12:50:35 +00:00
Eric Kohl
b4cd061025 Improved shared user page
Initialized windows and system directories

svn path=/trunk/; revision=1301
2000-08-15 12:44:47 +00:00
Emanuele Aliberti
f2e0104287 Win32 fiber stubs.
svn path=/trunk/; revision=1300
2000-08-14 14:34:12 +00:00
Emanuele Aliberti
47dfd4feaa Win32 fiber stubs
svn path=/trunk/; revision=1299
2000-08-14 14:33:24 +00:00
David Welch
6f6219e903 Added shared data test application
svn path=/trunk/; revision=1298
2000-08-12 19:37:03 +00:00
David Welch
3ae3b46dcd Updated CREDITS
Work on security
Updated heap code from wine implementation
Implemented kernel/user shared data page

svn path=/trunk/; revision=1297
2000-08-12 19:33:23 +00:00
Emanuele Aliberti
70a09d673c Fixed a pair of exported symbols' stack size.
svn path=/trunk/; revision=1296
2000-08-11 17:30:20 +00:00
Emanuele Aliberti
97b05ef460 Added symbolic link expansion.
svn path=/trunk/; revision=1295
2000-08-11 17:18:31 +00:00
Eric Kohl
6db1a5193f Removed M$ driver
svn path=/trunk/; revision=1294
2000-08-11 12:49:11 +00:00
Eric Kohl
891b9b74ee Removed unused file
svn path=/trunk/; revision=1293
2000-08-11 12:48:00 +00:00
Eric Kohl
c6c624ebe3 Renamed pseudo target 'floppy' to 'install'
Added workaround for corrupted dos header magic
Added some more rtl functions

svn path=/trunk/; revision=1292
2000-08-11 12:46:47 +00:00
jean
df3c817b6b little work on registry
svn path=/trunk/; revision=1291
2000-08-11 08:17:41 +00:00
Eric Kohl
71ea66b0b8 Fixed typo
svn path=/trunk/; revision=1290
2000-08-10 15:50:03 +00:00
Eric Kohl
f55fec7c32 Fixed compiler warnings
svn path=/trunk/; revision=1289
2000-08-08 17:42:33 +00:00
Eric Kohl
7a8a2f9e95 Fixed FLOPPY and DIST targets for net drivers
svn path=/trunk/; revision=1288
2000-08-08 17:41:41 +00:00
David Welch
c65edfad92 Integrated fixes from prep0016
Changes to the networking code to remove anonymous structures and unions
Fix for bug where RtlSetEnvironmentVariable didn't if it had acquired the
PEB lock before releasing it
Updating clean targets

svn path=/trunk/; revision=1286
2000-08-05 18:01:58 +00:00
Emanuele Aliberti
65ecb0b98b Simple utility to list the so called "DOS Devices", that is
symbolic links in the \?? directory of the Ob name space.

svn path=/trunk/; revision=1285
2000-08-04 21:49:31 +00:00
Casper Hornstrup
66d2f292ef Fixed compile issues with network code
svn path=/trunk/; revision=1284
2000-08-02 20:39:49 +00:00
David Welch
a859ee0c1e Added networking code from Casper Hornstrup
svn path=/trunk/; revision=1283
2000-08-02 00:24:26 +00:00
David Welch
b5ff23bb2f Added networking code from Casper Hornstrup
svn path=/trunk/; revision=1282
2000-08-02 00:02:53 +00:00
David Welch
792773e953 Added networking code from Casper Hornstrup
svn path=/trunk/; revision=1281
2000-08-01 23:54:06 +00:00
Casper Hornstrup
2c41cbbe57 Initial revision
svn path=/trunk/; revision=1277
2000-08-01 18:43:15 +00:00
David Welch
83f94cade6 Fixes from Casper Hornstrup
svn path=/trunk/; revision=1276
2000-07-30 18:22:35 +00:00
Eric Kohl
afde198a7d Implemented hal system interrupt functions
svn path=/trunk/; revision=1275
2000-07-24 23:51:46 +00:00
David Welch
07b9585e22 Added floppy makefile and version resource file
svn path=/trunk/; revision=1270
2000-07-19 14:25:35 +00:00
David Welch
768ab2e5dc Added timer constant fix from Genadi V. Zawidowski
svn path=/trunk/; revision=1269
2000-07-19 14:23:37 +00:00
David Welch
c3d5ea4e9b Removed broken dma code
Some work on memory managment
Initialize FPU
Reset CR0.TS after task switch but floating point state is *not* saved
Work on floppy driver
Add versions of ide and vfatfs drivers compiled with debugging information

svn path=/trunk/; revision=1268
2000-07-19 14:18:20 +00:00
Eric Kohl
6041051d6a Fixed 'echo.' and 'echoerr.'
svn path=/trunk/; revision=1267
2000-07-19 06:58:13 +00:00
Phillip Susi
fb416bf8e2 Updated shell.exe to be console mode aware
svn path=/trunk/; revision=1265
2000-07-11 04:40:00 +00:00
Phillip Susi
cc05ca5acb Implemented console modes
svn path=/trunk/; revision=1264
2000-07-11 04:09:25 +00:00
Phillip Susi
041f614e06 Minor bug fix
svn path=/trunk/; revision=1263
2000-07-11 04:08:43 +00:00
Phillip Susi
510af07f3c Removed calls to ExAllocatePool so code can be used in components that do not link to ntoskrnl.exe
svn path=/trunk/; revision=1262
2000-07-11 04:02:45 +00:00
Eric Kohl
85c3d3799b Moved interrupt code from hal into kernel
Implemented missing interrupt functions

svn path=/trunk/; revision=1261
2000-07-10 21:55:49 +00:00
Rex Jolliff
b4f80cb2e6 added files to be ignored
svn path=/trunk/; revision=1260
2000-07-09 17:34:05 +00:00
Rex Jolliff
a6613e4b6f added cvsignore file so that dir gets created
svn path=/trunk/; revision=1259
2000-07-09 17:32:49 +00:00
Rex Jolliff
f48fc3a954 added some files to be ignored by cvs
svn path=/trunk/; revision=1258
2000-07-09 17:31:32 +00:00
Eric Kohl
e97ef012de Fixed typos
svn path=/trunk/; revision=1257
2000-07-08 18:49:24 +00:00
David Welch
68375602c1 *** empty log message ***
svn path=/trunk/; revision=1256
2000-07-08 16:53:33 +00:00
Eric Kohl
fb7b00bd59 Added check for valid DC
svn path=/trunk/; revision=1255
2000-07-08 09:46:32 +00:00
Eric Kohl
0afbea5a1c Added checks for loaded drivers
svn path=/trunk/; revision=1254
2000-07-07 11:59:11 +00:00
Eric Kohl
8353127423 Fixed a typo
svn path=/trunk/; revision=1253
2000-07-07 11:56:04 +00:00
Eric Kohl
25557b0457 Added dist target
svn path=/trunk/; revision=1252
2000-07-07 11:55:02 +00:00
David Welch
8689a5cfe9 Corrected bug where user32.a wasn't being cleaned
Corrected bugs in paging implementation
Began work on MPW thread

svn path=/trunk/; revision=1251
2000-07-07 10:30:57 +00:00
Eric Kohl
0ea1d03808 Separated close request
Fixed bugs in create request

svn path=/trunk/; revision=1250
2000-07-07 02:14:14 +00:00
Eric Kohl
a20a2dd801 Implemented vpb spinlock
svn path=/trunk/; revision=1249
2000-07-07 02:10:50 +00:00
Phillip Susi
b81629c2a0 More DbgPrint to DPRINT changes, Implimented support for deleting DCs, causing switch back to text mode, and another change from nonpaged to paged pool
svn path=/trunk/; revision=1248
2000-07-07 01:20:53 +00:00
Phillip Susi
4568d2fd4c Converted more DbgPrints to DPRINT and allocate bitmaps from paged pool instead of non paged
svn path=/trunk/; revision=1247
2000-07-07 01:19:02 +00:00
Phillip Susi
96e4bf5c1f Bug fixes to win32k
svn path=/trunk/; revision=1246
2000-07-07 01:18:04 +00:00
Phillip Susi
418efd5de8 Implimented switch back to text mode after gditest
svn path=/trunk/; revision=1245
2000-07-07 01:16:50 +00:00
Phillip Susi
aa9ca10d75 One should not say the device does not exist causing the driver to fail to load... how the hell did this work before?
svn path=/trunk/; revision=1244
2000-07-07 01:06:35 +00:00
Phillip Susi
21489b923a Implimented reset to text mode
svn path=/trunk/; revision=1243
2000-07-07 01:05:33 +00:00
Phillip Susi
61ed9441a3 Converted a bunch of DbgPrint() calls to DPRINT()
svn path=/trunk/; revision=1242
2000-07-07 01:02:11 +00:00
Phillip Susi
a1ff5576a5 Implimented switch back to text mode after gditest
svn path=/trunk/; revision=1241
2000-07-07 00:59:41 +00:00
Phillip Susi
001c73ed14 Fixed ps code to terminate threads correctly
svn path=/trunk/; revision=1240
2000-07-07 00:49:02 +00:00
Phillip Susi
3ca24a2c2a Fixed [Ke/Nt]WaitForMultipleObjects() bug
svn path=/trunk/; revision=1239
2000-07-07 00:46:35 +00:00
Phillip Susi
db1ccdf290 Fixes to timeout code
svn path=/trunk/; revision=1238
2000-07-07 00:45:37 +00:00
Phillip Susi
84f943edc6 Fixed ps bug, proper termination of threads
svn path=/trunk/; revision=1237
2000-07-07 00:44:07 +00:00
Phillip Susi
67d46de5d3 Fixed typeo that was breaking NtReadFile() with async reads
svn path=/trunk/; revision=1236
2000-07-07 00:42:58 +00:00
Phillip Susi
10c1321106 Do not clean up mdl on paging requests, as the mm needs it still
svn path=/trunk/; revision=1235
2000-07-07 00:41:36 +00:00
Phillip Susi
7bf98ea309 Set IRP_PAGING_IO on mdl ( paging ) requests
svn path=/trunk/; revision=1234
2000-07-07 00:40:49 +00:00
Phillip Susi
2b37b9beea Exported NtOpenEvent()
svn path=/trunk/; revision=1233
2000-07-07 00:39:24 +00:00
Phillip Susi
194e86b860 Implimented DeleteDC()
svn path=/trunk/; revision=1232
2000-07-07 00:38:17 +00:00
Phillip Susi
2f1d0bf882 Minor fixes, enabled return to text mode
svn path=/trunk/; revision=1231
2000-07-07 00:36:36 +00:00
Phillip Susi
017479a5f0 Fixed left out paremter error
svn path=/trunk/; revision=1230
2000-07-06 20:53:27 +00:00
David Welch
d26222f310 Added experimental paging out code (wouldn't activate until the system is
out of memory)
Added stress test application (consumes memory)
Corrected mutex implementation
Moved csrss startup into kernel32 to avoid ugly messages on startup

svn path=/trunk/; revision=1229
2000-07-06 14:34:52 +00:00
Eric Kohl
671c1bc412 Append the '.exe' extension automatically
svn path=/trunk/; revision=1228
2000-07-05 18:07:08 +00:00
Eric Kohl
bea48dda7a Fixed 'cd \' bug
svn path=/trunk/; revision=1227
2000-07-05 18:05:21 +00:00
Phillip Susi
2946fd90c7 Removed duplicate and incorrect declaration for KeRaiseUserException
svn path=/trunk/; revision=1226
2000-07-04 20:02:35 +00:00
David Welch
f801003a51 Compilation fixes
svn path=/trunk/; revision=1225
2000-07-04 11:11:06 +00:00
David Welch
d351d182ef Added working set functions
Seperated memory manager initialization
Seperated trap functions
Removed process/thread definitions from ddk headers
Changed indentation back to sane style (please don't change)

svn path=/trunk/; revision=1224
2000-07-04 08:52:47 +00:00
Eric Kohl
9caffc49ae Fixed RtlNtStatusToDosError()
Implemented some more functions

svn path=/trunk/; revision=1223
2000-07-04 01:30:18 +00:00
Eric Kohl
bad7efb0e7 Final macro fixes
Minor fixes

svn path=/trunk/; revision=1222
2000-07-02 17:33:15 +00:00
Eric Kohl
add4b2d35b Simplified driver initialization
svn path=/trunk/; revision=1221
2000-07-02 10:54:41 +00:00
Eric Kohl
73437d2939 Fixed more macros
Merged/moved/deleted some files

svn path=/trunk/; revision=1220
2000-07-02 10:50:48 +00:00
David Welch
ed53dc2acc Removed unused header file
Fixed compilation errors resulting from header file changes
Fixed vga driver compilation under unix
Patched up use of *deprecated* inb/outb interfaces in vga driver

svn path=/trunk/; revision=1219
2000-07-01 23:18:59 +00:00
Eric Kohl
83e4b66c10 Fixed Ps macros
svn path=/trunk/; revision=1218
2000-07-01 22:38:15 +00:00
Eric Kohl
6abd233802 Replaced boot_param by LOADER_PARAMETER_BLOCK
Added missing dpc functions
Fixed some Ke macros

svn path=/trunk/; revision=1217
2000-07-01 18:27:03 +00:00
Emanuele Aliberti
95f8770ae2 Minor changes.
svn path=/trunk/; revision=1216
2000-07-01 17:07:02 +00:00
Eric Kohl
f3e6819471 Added hal dispatch tables.
Implemented PhysicalDrive links.
Started drive letter assignment.

svn path=/trunk/; revision=1214
2000-06-30 22:53:32 +00:00
David Welch
cc95f73421 Made header file usage more consistent
Tried to reduce dependancies between layers by moving ntoskrnl's private
header files inside its directory
Removed the need to include windows.h for ddk code
Removed obsolete testing code

svn path=/trunk/; revision=1213
2000-06-29 23:35:53 +00:00
David Welch
109fef6e75 Corrected bug when booting with loadros
Began work on fixing up APCs.

svn path=/trunk/; revision=1212
2000-06-27 19:20:45 +00:00
David Welch
17e1656941 Documented parts of the page fault path and flagged some possible locking
issues.
Implemented waiting on page i/o.

svn path=/trunk/; revision=1211
2000-06-26 19:41:43 +00:00
David Welch
fcf9dcd627 Fixed bug.
svn path=/trunk/; revision=1210
2000-06-25 17:41:01 +00:00
David Welch
6e00280f38 Removed from redundant files from the mm directory
Added some preliminary work on the pager
Fixed ntoskrnl/mm/npool.c (This may have been the cause of the
problems reported with loading win32k.sys)
Fixed problems with reporting space used to store physical page
information
Added code to support MmSafeCopy{To/From}User interface work
(untested)
Added Event member of the PHYSICAL_PAGE structure to implement Philip
Susi's suggestion
Reworked section page-in code (not really tested)
Replaced inline string functions with gcc builtins to make debugging easier

svn path=/trunk/; revision=1209
2000-06-25 03:59:17 +00:00
Emanuele Aliberti
a8ed3ed57e Fixed a path problem in the makefile that Phillip reported a few days ago.
Unix paths are handled correctly by DOS and Win32 kernels, but NOT by
command.com and cmd.exe shells. Therefore, when a path is to be handed to
a shell, use \ but when you hand it to any other program, use / instead.

svn path=/trunk/; revision=1208
2000-06-24 09:02:02 +00:00
Eric Kohl
3d2ca25cb4 Added counting physical discs
Fixed a compiler warning

svn path=/trunk/; revision=1207
2000-06-19 22:15:50 +00:00
Eric Kohl
57fc573524 Removed invalid includes
svn path=/trunk/; revision=1206
2000-06-19 16:42:31 +00:00
Eric Kohl
88cf03e85b Use SystemRoot link instead of LdrGetSystemDirectory()
svn path=/trunk/; revision=1205
2000-06-18 17:40:35 +00:00
Eric Kohl
5b2343f9f1 Not used any longer
svn path=/trunk/; revision=1204
2000-06-18 17:39:57 +00:00
Eric Kohl
539b0a1259 Fixed typo and added freetype dir to clean target
svn path=/trunk/; revision=1203
2000-06-18 17:37:57 +00:00
Eric Kohl
9f1e56d438 Implemented IoAttachDeviceByPointer() and IoGetDeviceObjectPointer().
svn path=/trunk/; revision=1202
2000-06-18 15:23:40 +00:00
Eric Kohl
44bdd793c1 Changed list functions to macros (or static inline functions).
svn path=/trunk/; revision=1201
2000-06-18 15:21:53 +00:00
Jason Filby
e3b8762528 Small change and removed unnecessary files
svn path=/trunk/; revision=1200
2000-06-18 12:29:32 +00:00
Jason Filby
943db2de5a Math functions required by win32k
svn path=/trunk/; revision=1199
2000-06-18 12:26:26 +00:00
Jason Filby
dd085499e8 Altered to use new and smaller math.c
svn path=/trunk/; revision=1198
2000-06-18 12:25:42 +00:00
Jason Filby
991cde2c53 Makefile changes for win32k
svn path=/trunk/; revision=1197
2000-06-18 12:25:00 +00:00
Jason Filby
669a590c02 Commented out test code that prevented compilation
svn path=/trunk/; revision=1196
2000-06-18 12:24:22 +00:00
Emanuele Aliberti
b441b2ed03 Base files for a compatible MSVCRT.DLL.
Currently useless.

svn path=/trunk/; revision=1195
2000-06-18 10:57:42 +00:00
David Welch
9d3cd59f17 Corrected build problem
svn path=/trunk/; revision=1194
2000-06-17 23:58:53 +00:00
Phillip Susi
e6bcb9741d Forgot to seek before trying to read back data, and added a check for the data integrity
svn path=/trunk/; revision=1193
2000-06-17 22:04:49 +00:00
Phillip Susi
4e91635e4a Fixed several erronious checks to detect things such as eof on directories too, not just files
svn path=/trunk/; revision=1192
2000-06-17 22:04:08 +00:00
Phillip Susi
274c4db921 Added missing DPRINT
svn path=/trunk/; revision=1191
2000-06-17 22:03:23 +00:00
Phillip Susi
ea455bcfce Fixed bug that fails to update files entries in the root, and added some error checking
svn path=/trunk/; revision=1190
2000-06-17 22:02:09 +00:00
Phillip Susi
8eb69e31d4 Fixed code that checks for a deleted directory entry ( which is really used to find a free entry ) to accept a blank ( never before used ) entry as free
svn path=/trunk/; revision=1189
2000-06-17 22:00:46 +00:00
Jason Filby
a32b900658 temporary float and math support
svn path=/trunk/; revision=1188
2000-06-16 21:13:18 +00:00
Jason Filby
ea1da2be56 missing updates
svn path=/trunk/; revision=1187
2000-06-16 20:58:56 +00:00
Jason Filby
efd7fbb22e missed update
svn path=/trunk/; revision=1186
2000-06-16 20:50:31 +00:00
Jason Filby
a25a8e2e02 GDI Improvements
svn path=/trunk/; revision=1185
2000-06-16 07:36:10 +00:00
Jason Filby
77ef48e705 VGA display driver improvements
svn path=/trunk/; revision=1184
2000-06-16 07:28:20 +00:00
Jason Filby
0b34b1b746 GDI improvements
svn path=/trunk/; revision=1183
2000-06-16 07:25:41 +00:00
Eric Kohl
94c0c4bab2 Improved symbolic links (reparsing).
Implemented SystemRoot and DosDevices links.

svn path=/trunk/; revision=1182
2000-06-15 18:39:25 +00:00
Eric Kohl
fb6c04efbd Implemented IoDeleteSymbolicLink() and NtCreateSymbolicLinkObject().
svn path=/trunk/; revision=1181
2000-06-13 15:51:13 +00:00
Eric Kohl
19e66992de Added cache manager prototypes.
Fixed Io macros.
Fixed and exported more hal functions.

svn path=/trunk/; revision=1180
2000-06-12 14:57:10 +00:00
Emanuele Aliberti
65a13ef159 Return type KIRQL fixed to allow compilation.
svn path=/trunk/; revision=1179
2000-06-09 22:22:32 +00:00
Eric Kohl
3cd7d0dcd3 Moved some functions into the hal.
Replaced some functions by macros.

svn path=/trunk/; revision=1178
2000-06-09 20:07:20 +00:00
Eric Kohl
0aac416a18 Update after server failure.
Fixed STDCALL issues in Ex functions.

svn path=/trunk/; revision=1177
2000-06-07 13:05:09 +00:00
Eric Kohl
d40e55b4e1 Fixed STDCALL issues in Ex functions
svn path=/trunk/; revision=1176
2000-06-05 22:12:06 +00:00
Eric Kohl
64c33bb910 Fixed STDCALL issues in Ke functions
Renamed KiTimerInterrupt() to KeUpdateSystemTime()
Added KeNumberProcessors variable

svn path=/trunk/; revision=1175
2000-06-04 19:51:05 +00:00
Emanuele Aliberti
077ac93718 Type definitions and macros previously in ntoskrnl/nt/port.c moved
in include/internal/port.h .

svn path=/trunk/; revision=1174
2000-06-04 17:32:44 +00:00
Emanuele Aliberti
9464b7005d Made and new ntoskrnl/lpc directory for the LPC subsystem.
Moved ntoskrnl/nt/port.c in ntoskrnl/lpc and split code into
smaller pieces. Little cleanup.

svn path=/trunk/; revision=1173
2000-06-04 17:27:39 +00:00
Eric Kohl
6d5e353126 Fixed clean target (didn't delete all .o files)
svn path=/trunk/; revision=1172
2000-06-04 17:15:47 +00:00
Eric Kohl
ceed9a079e Fixed paths
svn path=/trunk/; revision=1171
2000-06-04 17:14:25 +00:00
Eric Kohl
abc6758e63 Updated Ps* functions
Implemented PsGetVersion()

svn path=/trunk/; revision=1170
2000-06-03 21:36:32 +00:00
Emanuele Aliberti
8123995861 Minor changes.
svn path=/trunk/; revision=1169
2000-06-03 14:47:33 +00:00
Emanuele Aliberti
7fbe844acc Minor changes to kernel32.
svn path=/trunk/; revision=1168
2000-05-30 23:41:06 +00:00
Emanuele Aliberti
f53d713f9a Renamed NTDLL.RtlNtStatusToDosError() RtlNtStatusToDosErrorNoTeb().
Added NTDLL.RtlNtStatusToDosError() that calls RtlNtStatusToDosErrorNoTeb().
Still not understood why RtlNtStatusToDosError() stores in the TEB the given NtStatus.

svn path=/trunk/; revision=1167
2000-05-30 22:25:10 +00:00
Emanuele Aliberti
3918e5583d Added handle type to object name translation in qsi.
svn path=/trunk/; revision=1166
2000-05-28 17:44:53 +00:00
David Welch
279b8390a0 Fix for issue with closing non-existent or already closed handle
svn path=/trunk/; revision=1165
2000-05-27 12:48:59 +00:00
David Welch
06784b2b11 Added etags target
svn path=/trunk/; revision=1164
2000-05-26 14:25:50 +00:00
Phillip Susi
9f7a5635de big work on the console front
svn path=/trunk/; revision=1163
2000-05-26 06:06:42 +00:00
Phillip Susi
97f4345422 fixed color info
svn path=/trunk/; revision=1162
2000-05-26 06:06:05 +00:00
Phillip Susi
232a66904f big work on the console front
svn path=/trunk/; revision=1161
2000-05-26 05:43:33 +00:00
Phillip Susi
1410c2b0a4 a few fixes to the shell
svn path=/trunk/; revision=1160
2000-05-26 05:38:42 +00:00
Eric Kohl
dd76e08c86 Implemented:
- dbg functions
 - RtlFreeUserThreadStack()
 - rtl nls functions
 - rtl process heaps functions
Improved .def and .edf files

svn path=/trunk/; revision=1159
2000-05-25 15:55:35 +00:00
David Welch
3e519811c4 More bug fixes.
svn path=/trunk/; revision=1158
2000-05-24 22:29:38 +00:00
David Welch
1001fb267c Updated clean targets in various places
svn path=/trunk/; revision=1157
2000-05-14 13:10:01 +00:00
Emanuele Aliberti
6bd8ebc9e2 Added ifdef to skip a piece of code commited by mistake (I am still working on it, sorry!).
svn path=/trunk/; revision=1156
2000-05-14 09:34:14 +00:00
Emanuele Aliberti
0726ddaa11 Fixed bug reported by Michael Rich in kernel32 compilation.
svn path=/trunk/; revision=1155
2000-05-14 09:31:05 +00:00
Eric Kohl
f5c8f9fdab Added FLOPPY and DIST targets
svn path=/trunk/; revision=1154
2000-05-13 17:34:15 +00:00
Emanuele Aliberti
d7b4fba550 IoSetThreadHardErrorMode().
svn path=/trunk/; revision=1153
2000-05-13 14:56:47 +00:00
David Welch
598c0f3b1f Fixed typo.
svn path=/trunk/; revision=1152
2000-05-13 14:21:44 +00:00
David Welch
d173c588c7 Some fixes.
Began work on implementing named pipes.

svn path=/trunk/; revision=1151
2000-05-13 13:51:08 +00:00
Eric Kohl
1d034b8c4e Fixed typos in IoGetStackLimits()
svn path=/trunk/; revision=1150
2000-05-13 10:39:23 +00:00
Eric Kohl
3086566400 Fixed IoGetStackLimits()
svn path=/trunk/; revision=1149
2000-05-13 01:48:59 +00:00
Eric Kohl
17e86aad5d Implemented RtlCustomCPxx functions
svn path=/trunk/; revision=1148
2000-05-13 01:48:01 +00:00
Eric Kohl
bb665e58b7 Fixed some more ntoskrnl exports
svn path=/trunk/; revision=1147
2000-05-09 21:31:01 +00:00
Eric Kohl
5c644fe59b Fixed or added exported object type variables
svn path=/trunk/; revision=1146
2000-05-09 16:16:07 +00:00
Eric Kohl
a3160d79cd Implemented IOCTL to draw screen buffer
Changed screen buffer from array of bytes to array of CHAR_INFO

svn path=/trunk/; revision=1145
2000-05-08 23:27:52 +00:00
Eric Kohl
34010a1fcb Fixed ntoskrnl makefile
svn path=/trunk/; revision=1144
2000-05-07 23:04:43 +00:00
Emanuele Aliberti
78a6c60acd Some STDCALL/FASTCALL added in Ex code.
NTOSKRNL's makefile revised with redundant passes removed.

svn path=/trunk/; revision=1142
2000-05-01 14:15:03 +00:00
Emanuele Aliberti
fdf480d262 objdir made compilable.
svn path=/trunk/; revision=1141
2000-05-01 13:53:43 +00:00
Phillip Susi
32ea00da50 NtTerminateProcess did not terminate the current thread if it was a member of the process being terminated
svn path=/trunk/; revision=1140
2000-04-28 17:29:42 +00:00
Emanuele Aliberti
537f82fd1a A fix in the SYSTEM_HANDLE_INFORMATION structure.
svn path=/trunk/; revision=1139
2000-04-27 23:39:49 +00:00
Emanuele Aliberti
b13b811b5f I forgot to update the code that uses SYSTEM_TIME_INFORMATION.
svn path=/trunk/; revision=1138
2000-04-26 06:56:12 +00:00
Emanuele Aliberti
b3ea65f0e4 Partially implemented (handlers only)
NTOSKRNL.NtQuerySystemInformation() and
NTOSKRNL.NtSetSystemInformation().

---

Partially implemented (kernel32/process/proc.c)

KERNEL32.GetPriorityClass(),
KERNEL32.SetPriorityClass() and
NTDLL.CsrSetPriorityClass() (stub only).

Renamed (in include/csrss/csrss.h) priority
class macros:

#define CSR_PRIORITY_CLASS_NORMAL	(0x10)
#define CSR_PRIORITY_CLASS_IDLE		(0x20)
#define CSR_PRIORITY_CLASS_HIGH		(0x40)
#define CSR_PRIORITY_CLASS_REALTIME	(0x80)

---

Implemented (kernel32/misc/error.c)

#include <kernel32/error.h>

DWORD
STDCALL
SetLastErrorByStatus (
	NTSTATUS	Status
	);

to replace SetLastError(RtlNtStatusToDosError(Status))
in KERNEL32, and fixed

KERNEL32.SetLastError()
KERNEL32.GetLastError()

to use the field in NT_TEB (LastError is per thread
not per process).

---

Implemented (lib/kernel32/sysinfo.c) GetSystemInfo()
(to be completed).

---

Fixed rosapps/sysutils/makefile to use ROS import
libraries.

---

Added QSI to the system utilities set. The target is
writing a tool that can be used to query as much system
information as possible from user mode (to be finished
and tested only under nt4sp4/x86; it was NOT tested
under ROS: it crashes immediately and needs
NtQuerySystemInformation implemented!).

svn path=/trunk/; revision=1137
2000-04-25 23:22:57 +00:00
Phillip Susi
0c4a5f1e06 NtDeviceIoControllFile() was not specifying IoFileObjectType as the object type when referencing the file handle
svn path=/trunk/; revision=1136
2000-04-24 04:17:55 +00:00
Phillip Susi
5fea099598 Do not set std handles when AllocConsole() fails, I swear I fixed this before...
svn path=/trunk/; revision=1135
2000-04-24 01:52:24 +00:00
Phillip Susi
23b59ecccb Disabled debug prints
svn path=/trunk/; revision=1134
2000-04-23 18:01:21 +00:00
Phillip Susi
cbf17cd791 Disabled debug prints
svn path=/trunk/; revision=1133
2000-04-23 17:55:21 +00:00
Phillip Susi
0bb8878fc1 Dumped anoying debug print
svn path=/trunk/; revision=1132
2000-04-23 17:52:44 +00:00
Phillip Susi
0d569ee50b Added a event handle to reply struct
svn path=/trunk/; revision=1131
2000-04-23 17:51:35 +00:00
Phillip Susi
de82241cb1 Added declaration for InterlockedCompareExchange
svn path=/trunk/; revision=1130
2000-04-23 17:50:47 +00:00
Phillip Susi
7928fc621a Switched to CREATE_NEW_CONSOLE from DETACHED_PROCESS
svn path=/trunk/; revision=1129
2000-04-23 17:49:07 +00:00
Phillip Susi
cdd3a57119 Whole new win32 console support, with multiple virtual consoles and scrollback support
svn path=/trunk/; revision=1128
2000-04-23 17:44:53 +00:00
Phillip Susi
4f6c860da3 Was reporting geometry backwards, and needed to add a raw output mode
svn path=/trunk/; revision=1127
2000-04-23 17:42:57 +00:00
Phillip Susi
6ac6c50282 Patched up console code a bit
svn path=/trunk/; revision=1126
2000-04-23 17:41:40 +00:00
Phillip Susi
66780d1d02 CreateProcess was eating the flags, had to pass them on
svn path=/trunk/; revision=1125
2000-04-23 17:40:52 +00:00
Phillip Susi
ee3307e21d Fixed up Critical Section code
svn path=/trunk/; revision=1124
2000-04-20 05:29:27 +00:00
Phillip Susi
b01b3e0e97 Replaced a -- with an InterlockedDecrement
svn path=/trunk/; revision=1123
2000-04-17 03:09:04 +00:00
Eric Kohl
8b7920f796 Added some rtl functions
svn path=/trunk/; revision=1122
2000-04-15 23:14:32 +00:00
Eric Kohl
86a1100180 Implemented debugger functions
svn path=/trunk/; revision=1121
2000-04-14 01:50:38 +00:00
Boudewijn Dekker
4542601468 applied fixes to make a user32.dll
code is based on wine.

svn path=/trunk/; revision=1120
2000-04-13 20:59:11 +00:00
Boudewijn Dekker
99fb26fc8b .
svn path=/trunk/; revision=1119
2000-04-12 22:41:51 +00:00
Eric Kohl
7910a00791 Added kernel_parameters to boot_param
svn path=/trunk/; revision=1118
2000-04-12 17:34:27 +00:00
Jason Filby
93d95d8063 Fixed EngFreeMem def
svn path=/trunk/; revision=1117
2000-04-11 20:56:11 +00:00
Jason Filby
04a84d5ab8 Implemented DrvCopybits
Minor fixes

svn path=/trunk/; revision=1116
2000-04-10 20:17:34 +00:00
Eric Kohl
5b7a3113d5 Added system and isa bus handler
svn path=/trunk/; revision=1115
2000-04-09 15:58:13 +00:00
Eric Kohl
db593a0fb7 Fixed compiler warnings
svn path=/trunk/; revision=1114
2000-04-08 23:35:27 +00:00
Eric Kohl
51db0e6fed Moved KeStallExecutionProcessor() into HAL.
Added some security functions.

svn path=/trunk/; revision=1113
2000-04-08 19:10:50 +00:00
Eric Kohl
55c5bbf0be Fixed bug in COPY command
svn path=/trunk/; revision=1112
2000-04-08 14:50:47 +00:00
Phillip Susi
4be5d21243 Correted path to be system32 instead of system
svn path=/trunk/; revision=1111
2000-04-07 22:59:38 +00:00
Phillip Susi
fe9a733457 Removed LoadLibraryW from kernel32.edf, as it seems to not have an implementation and so would not compile. Wonder where the implementation whent?
svn path=/trunk/; revision=1110
2000-04-07 21:45:32 +00:00
Eric Kohl
654c8e7d00 Added more time functions
svn path=/trunk/; revision=1109
2000-04-07 12:45:22 +00:00
David Welch
53e0232c6c Began seperation of machine-dependant/independant sections of memory
manager
Did some more work on the dce/rpc implementation
Corrected loadros so the kernel can no longer write to read-only areas
of memory
Corrected alignment and size of initial stack

svn path=/trunk/; revision=1108
2000-04-07 02:24:03 +00:00
Eric Kohl
e3ce7008d7 Moved debug functions
svn path=/trunk/; revision=1107
2000-04-06 17:23:52 +00:00
Eric Kohl
9d90e8c107 Added some more security functions
svn path=/trunk/; revision=1106
2000-04-06 02:29:57 +00:00
Eric Kohl
48c46844eb Added hal functions
Fixed se functions

svn path=/trunk/; revision=1105
2000-04-05 15:52:45 +00:00
Eric Kohl
05bf1339f9 Added ace, acl and sid functions
svn path=/trunk/; revision=1104
2000-04-05 01:41:01 +00:00
David Welch
d54e68673b Correct LPC implementation
Removed thread leak in csrss
Added notification of port closing

svn path=/trunk/; revision=1103
2000-04-03 21:54:42 +00:00
Jason Filby
eb1f2f9bd1 Implemented DrvPaint and DrvBitBlt
Added tests for new routines
Minor fixes

svn path=/trunk/; revision=1102
2000-04-03 19:55:33 +00:00
Emanuele Aliberti
3b0f32720d Mm subsystem exports table complete.
svn path=/trunk/; revision=1101
2000-04-02 13:32:43 +00:00
Jason Filby
fccf1c26a7 All video related files now loaded by win32k
svn path=/trunk/; revision=1100
2000-04-02 13:09:50 +00:00
Jason Filby
b8d0ffaf38 Use NonPagedPool in EngAllocMem for now
svn path=/trunk/; revision=1099
2000-04-02 12:44:57 +00:00
Emanuele Aliberti
49f35db9e8 Version info for Named Pipe fs driver.
svn path=/trunk/; revision=1098
2000-04-01 14:20:21 +00:00
Emanuele Aliberti
1fc2971156 Version info for Minix driver.
svn path=/trunk/; revision=1097
2000-04-01 14:19:48 +00:00
Emanuele Aliberti
cdbe762497 Version info for ext2fs driver.
svn path=/trunk/; revision=1096
2000-04-01 14:19:07 +00:00
Jason Filby
248fe1f79d Implemented basic VGA routines
Implemented Eng\DrvLineTo

svn path=/trunk/; revision=1095
2000-04-01 12:31:29 +00:00
David Welch
9d6388ae05 Corrected mutex implementation
Added proper locking to the memory managment

svn path=/trunk/; revision=1093
2000-03-29 13:11:55 +00:00
Phillip Susi
3bd2a11130 Fixed typeo preventing compilation
svn path=/trunk/; revision=1092
2000-03-29 03:15:11 +00:00
David Welch
1be4f77bcb Corrected the handle generation algorithm in the kernel and csrss
Did some work on services.exe
Did some work on the service functions in advapi32
Made some progress in implementing npfs
Implemented a basic grammar for midl

svn path=/trunk/; revision=1091
2000-03-26 22:00:10 +00:00
Emanuele Aliberti
758ba695e1 Io subsystem clean-up. Every exported symbols is not STDCALL.
NtCreateFile renamed IoCreateFile and Nt{Create,Open}File call IoCreateFile.
Io data items added (to be fixed).

svn path=/trunk/; revision=1090
2000-03-26 19:38:32 +00:00
David Welch
79eff41abb Connected standard input/output to the console
Removed from superfluous assertions
Changed the ide read and write commands to work with bochs
Corrected bug in the csrss server

svn path=/trunk/; revision=1089
2000-03-24 22:25:39 +00:00
David Welch
0bd4cf0cbf Updated the minix driver
Moved console handling into csrss
Gave each process a name for debugging purposes

svn path=/trunk/; revision=1088
2000-03-22 18:36:00 +00:00
Eric Kohl
a1c9a520cf Modified kernel initialization sequence
Enabled bus handlers

svn path=/trunk/; revision=1087
2000-03-20 18:00:55 +00:00
Eric Kohl
dc3956d8ac Added some more status codes
svn path=/trunk/; revision=1086
2000-03-19 15:57:39 +00:00
Eric Kohl
802301d861 Implemented bus handler functions (not working yet)
Several STDCALL fixes

svn path=/trunk/; revision=1085
2000-03-19 13:35:38 +00:00
Eric Kohl
9887130ab7 Implemented bus handler functions (not working yet)
svn path=/trunk/; revision=1084
2000-03-19 13:33:39 +00:00
Eric Kohl
d4fc70afdc Implemented VideoPortDebugPrint()
svn path=/trunk/; revision=1083
2000-03-19 13:31:37 +00:00
Eric Kohl
bd02ee978f Added SYSTEM_TIME_INFORMATION
svn path=/trunk/; revision=1082
2000-03-19 13:30:30 +00:00
Emanuele Aliberti
bc30557a61 Some clean-up in ntoskrnl/mm. MmAllocateSection prototype moved in
internal/mm.h.

svn path=/trunk/; revision=1081
2000-03-19 09:14:52 +00:00
Eric Kohl
56132bfb44 Fixed path bugs
svn path=/trunk/; revision=1080
2000-03-18 19:55:53 +00:00
Jason Filby
c4ecfc894c Added forgotten .h files
svn path=/trunk/; revision=1079
2000-03-18 18:39:44 +00:00
Emanuele Aliberti
d6f6aad9e7 qsort in NTOSKRNL and some STDCALL declarations.
svn path=/trunk/; revision=1078
2000-03-18 15:12:19 +00:00
Eric Kohl
5e7a2202d1 Oops...
svn path=/trunk/; revision=1077
2000-03-18 14:37:43 +00:00
Eric Kohl
2c6fae9c20 Added image functions
Include pe.h in windows.h to avoid conflicts

svn path=/trunk/; revision=1076
2000-03-18 14:02:01 +00:00
Eric Kohl
1042f1ae27 Added security descriptor functions
svn path=/trunk/; revision=1075
2000-03-18 13:48:24 +00:00
Eric Kohl
753cb16c91 Fixed compiler warnings
svn path=/trunk/; revision=1074
2000-03-18 02:39:39 +00:00
Jason Filby
5d99a8740a last mod...
svn path=/trunk/; revision=1073
2000-03-17 22:19:44 +00:00
Jason Filby
1ba7343b1c Additional modifications
svn path=/trunk/; revision=1072
2000-03-17 22:14:31 +00:00
Jason Filby
2adbc636a8 Additional modifications
svn path=/trunk/; revision=1071
2000-03-17 21:56:43 +00:00
Jason Filby
c404283ff4 Additional modifications
svn path=/trunk/; revision=1070
2000-03-17 21:49:32 +00:00
Eric Kohl
d9d3272dc6 Fixed compiler warning
svn path=/trunk/; revision=1069
2000-03-17 21:46:41 +00:00
Jason Filby
690a781452 Added eng files
svn path=/trunk/; revision=1068
2000-03-17 21:44:02 +00:00
Jason Filby
e1d6086025 Miniport driver now loaded from win32k
Display and miniport drivers can now talk to each other
Sets the VGA video mode

svn path=/trunk/; revision=1067
2000-03-17 21:02:59 +00:00
Eric Kohl
40ee84e997 Oops! Typos...
svn path=/trunk/; revision=1066
2000-03-16 21:50:56 +00:00
Eric Kohl
ef5f880bac Fixed ANSI <--> Unicode conversions
svn path=/trunk/; revision=1065
2000-03-16 21:50:11 +00:00
David Welch
6088637c5e Oops.
svn path=/trunk/; revision=1064
2000-03-16 20:50:48 +00:00
Eric Kohl
0344745e30 Fixed a confusing error message
svn path=/trunk/; revision=1063
2000-03-16 20:02:44 +00:00
David Welch
337952bfb9 Implemented setting the fs register to point to the TEB
svn path=/trunk/; revision=1062
2000-03-16 18:44:57 +00:00
Eric Kohl
15c9809105 Fixed ANSI/OEM <--> Unicode conversions
svn path=/trunk/; revision=1061
2000-03-16 01:14:58 +00:00
Eric Kohl
b820741431 Fixed WIN32_FIND_DATA[A/W] structs and resulting bugs
svn path=/trunk/; revision=1060
2000-03-15 23:13:29 +00:00
Eric Kohl
67200bd4f9 Fixed ANSI/OEM <--> Unicode conversions
svn path=/trunk/; revision=1059
2000-03-15 18:30:30 +00:00
Eric Kohl
b2eb99d9f7 Obsolete!
svn path=/trunk/; revision=1058
2000-03-15 18:29:50 +00:00
Eric Kohl
9658579d48 Fixed ANSI/OEM <--> Unicode conversions
svn path=/trunk/; revision=1057
2000-03-15 12:25:47 +00:00
Eric Kohl
1c5d2b7204 Fixed ANSI/OEM <--> Unicode conversions
svn path=/trunk/; revision=1056
2000-03-14 23:09:23 +00:00
David Welch
fbfce3bc03 Updated install script
svn path=/trunk/; revision=1055
2000-03-13 23:16:46 +00:00
Eric Kohl
045a3dfdd2 Unused characters in long file name buffers (directory slots) must be filled with 0xFFFF.
svn path=/trunk/; revision=1054
2000-03-13 17:58:06 +00:00
Eric Kohl
2ef0c4177b Fixed a bug in rtlGetFullPathName_U()
svn path=/trunk/; revision=1053
2000-03-13 17:54:23 +00:00
Eric Kohl
6865b783cc Fixed file creation date and time
Implemented synchronization of all FATs (FAT16 only)
Fixed bug in directory creation

svn path=/trunk/; revision=1052
2000-03-12 23:28:59 +00:00
Eric Kohl
15094179f1 Add MD command
svn path=/trunk/; revision=1051
2000-03-12 23:24:51 +00:00
Eric Kohl
d9a0a586a8 Updated INTERFACE_TYPE
svn path=/trunk/; revision=1050
2000-03-12 01:22:37 +00:00
Eric Kohl
afa23cb264 Added some security functions
svn path=/trunk/; revision=1049
2000-03-12 01:18:18 +00:00
Eric Kohl
9488b3031c Fixed lots of status values
svn path=/trunk/; revision=1048
2000-03-12 01:15:09 +00:00
Emanuele Aliberti
a665da497e NTOKRNL.FsRtl notification and cache tunnels stubs added.
Possibly fixed the win32k.sys import error reported by Jason.

svn path=/trunk/; revision=1047
2000-03-11 00:51:36 +00:00
Emanuele Aliberti
f1d9e95a84 NTOSKRNL.FsRtl opportunistic lock stubs added.
svn path=/trunk/; revision=1046
2000-03-10 22:09:17 +00:00
Eric Kohl
91d68b2e7b Fixed compiler warning
svn path=/trunk/; revision=1045
2000-03-10 13:46:27 +00:00
Jason Filby
200afa376d Add VGA display driver
svn path=/trunk/; revision=1044
2000-03-10 12:45:45 +00:00
Jason Filby
836456a97d Small fix
svn path=/trunk/; revision=1043
2000-03-10 12:39:53 +00:00
Jason Filby
10f82cf988 Implemented DRIVER_BuildDDIFunctions
svn path=/trunk/; revision=1042
2000-03-09 21:04:10 +00:00
Eric Kohl
bf4806c502 Added time related functions
svn path=/trunk/; revision=1041
2000-03-09 16:01:25 +00:00
Eric Kohl
89871935c1 Implemented bitmap functions
svn path=/trunk/; revision=1040
2000-03-09 00:14:10 +00:00
Emanuele Aliberti
c3f375c672 win32k.sys exports script.
svn path=/trunk/; revision=1039
2000-03-08 22:39:04 +00:00
Emanuele Aliberti
267e86b00e Version info added to Eric's edit port.
svn path=/trunk/; revision=1038
2000-03-08 22:38:01 +00:00
Emanuele Aliberti
b129b2caea Some minor fixes.
svn path=/trunk/; revision=1037
2000-03-08 22:37:04 +00:00
Jason Filby
3da0b018e5 Moved display driver and got win32k loading it's entry point.
svn path=/trunk/; revision=1036
2000-03-08 21:23:14 +00:00
Eric Kohl
e2eb8c1697 Added more bitmap functions
Fixed some STDCALL issues

svn path=/trunk/; revision=1035
2000-03-08 01:55:34 +00:00
Eric Kohl
a12836346f Improved keyboard handling code
Fixed problems with differnet console sizes
Started function renaming

svn path=/trunk/; revision=1034
2000-03-08 01:49:37 +00:00
Emanuele Aliberti
1eed2a945a Added .Type and .Size attributes to the IRP object: so far nothing
seems broken.
Added __stdcall to some Io subsystem functions.
Attempt to implement IoIsOperationSynchronous().

svn path=/trunk/; revision=1033
2000-03-06 01:02:30 +00:00
Eric Kohl
79d0e047eb Added D-Flat/32 library
svn path=/trunk/; revision=1032
2000-03-05 19:58:08 +00:00
Emanuele Aliberti
2634e901be NTOSKRNL.FSRtl MDL stubs added.
svn path=/trunk/; revision=1031
2000-03-05 19:17:43 +00:00
Eric Kohl
9eac680002 Implemented kernel parameter line
Some kernel debugger improvements

svn path=/trunk/; revision=1030
2000-03-04 22:03:32 +00:00
Emanuele Aliberti
51df161b78 *** empty log message ***
svn path=/trunk/; revision=1029
2000-03-04 20:45:34 +00:00
Eric Kohl
2b0d467176 Moved spinlock.c and head.s from 'hal/x86' to 'ke'.
This is needed for the hal separation.

svn path=/trunk/; revision=1028
2000-03-04 13:44:59 +00:00
Eric Kohl
92857818cb Added bitmaps
Added some Rtl string functions
Various changes

svn path=/trunk/; revision=1026
2000-03-03 00:48:50 +00:00
Eric Kohl
fd304f0ef5 Fixed compiler warnings
svn path=/trunk/; revision=1025
2000-03-03 00:34:54 +00:00
Emanuele Aliberti
ef5b0066c7 *** empty log message ***
svn path=/trunk/; revision=1024
2000-03-01 23:41:35 +00:00
Emanuele Aliberti
395fb3c86f NTOSKRNL.FsRtlAllocate functions.
svn path=/trunk/; revision=1023
2000-03-01 22:52:28 +00:00
Eric Kohl
76f55a8a93 Fixed mp driver initialization bug and some other ones
svn path=/trunk/; revision=1022
2000-03-01 03:25:11 +00:00
Emanuele Aliberti
d53eeb0cee Added help command to shell.exe.
Minor changes.

svn path=/trunk/; revision=1021
2000-02-29 23:57:47 +00:00
Eric Kohl
c37b4fd7f1 Fixed some unicode initialization bugs
svn path=/trunk/; revision=1020
2000-02-27 18:01:44 +00:00
Eric Kohl
c0ad0d9b02 Added 'Path' and 'windir' system environment variables
svn path=/trunk/; revision=1019
2000-02-27 15:47:17 +00:00
Eric Kohl
853d9d4ae2 Fixed bugs in RtlExpandEnvironmentStrings_U() and RtlSetEnvironmentVariable()
svn path=/trunk/; revision=1018
2000-02-27 15:45:57 +00:00
Eric Kohl
6eb7010078 Fixed bugs in '%wZ' string output
svn path=/trunk/; revision=1017
2000-02-27 15:43:58 +00:00
Jason Filby
48db9468eb Minor fixes
svn path=/trunk/; revision=1016
2000-02-27 11:04:36 +00:00
Eric Kohl
fa81b6d260 Improved csrss (doesn't crash any more)
Improved kernel debugger code
Various minor improvements

svn path=/trunk/; revision=1015
2000-02-27 02:12:07 +00:00
Eric Kohl
012968e3dc Removed obsolete header include
svn path=/trunk/; revision=1014
2000-02-26 23:20:50 +00:00
Emanuele Aliberti
debfec7180 Some __stdcall declarations in ntoskrnl/hal.
A new include/ddk/kdfuncs.h header.

svn path=/trunk/; revision=1013
2000-02-26 22:41:35 +00:00
Emanuele Aliberti
4b80eae220 File locking NTOSKRNL.FsRtl stubs.
svn path=/trunk/; revision=1012
2000-02-26 16:22:27 +00:00
Boudewijn Dekker
ad382b39b3 changed struct FILE_OBJECT* to struct _FILE_OBJECT* at line 154
svn path=/trunk/; revision=1011
2000-02-26 09:58:06 +00:00
Eric Kohl
89875c3a44 Improved RtlCreateUserProcess()
svn path=/trunk/; revision=1010
2000-02-25 23:58:57 +00:00
Emanuele Aliberti
8f1ea8477c FsRtl stubs for DBCS names handling.
svn path=/trunk/; revision=1009
2000-02-25 23:27:51 +00:00
Eric Kohl
26253d8e9b Fixed PEB related bugs
svn path=/trunk/; revision=1008
2000-02-25 00:35:06 +00:00
Eric Kohl
0723b7c345 Removed useless debug messages and header files
svn path=/trunk/; revision=1007
2000-02-25 00:34:12 +00:00
Emanuele Aliberti
ac8c87276f Minor changes.
svn path=/trunk/; revision=1006
2000-02-24 23:38:26 +00:00
Emanuele Aliberti
00a4935163 *** empty log message ***
svn path=/trunk/; revision=1005
2000-02-24 23:31:27 +00:00
Emanuele Aliberti
9dc1aa60cb Changes for FsRtl added functions.
svn path=/trunk/; revision=1004
2000-02-24 23:27:52 +00:00
Emanuele Aliberti
9f87d15938 More stubs for NTOSKRNL.FsRtl: file name handling.
svn path=/trunk/; revision=1003
2000-02-24 23:25:16 +00:00
Eric Kohl
d7de328d0c Replaced direct io space mapping by call to MmMapIoSpace()
svn path=/trunk/; revision=1002
2000-02-24 13:16:40 +00:00
Eric Kohl
6165746875 Added gdi test program gditest.exe
svn path=/trunk/; revision=1001
2000-02-22 20:58:26 +00:00
Eric Kohl
7b02da36f7 Added GdiDllInitialize()
svn path=/trunk/; revision=1000
2000-02-22 20:55:57 +00:00
Eric Kohl
f8fe1ea0b1 Added W32kInitialize service (orig. name NtGdiInit)
svn path=/trunk/; revision=999
2000-02-22 20:53:11 +00:00
Eric Kohl
213e8b569c Fixed minor bugs interrupt_service2e()
svn path=/trunk/; revision=998
2000-02-22 20:50:07 +00:00
Rex Jolliff
5db4e55264 added support for shadow syscall table
svn path=/trunk/; revision=997
2000-02-22 07:27:30 +00:00
Eric Kohl
7cb2e823a0 Fixed minor bugs. 'ddk/ntddk.h' MUST ALWAYS be included FIST!!!!!
svn path=/trunk/; revision=996
2000-02-22 02:02:08 +00:00
Eric Kohl
d1341007cf Changed RtlCopyMemory() from function to macro
Improved system service table code

svn path=/trunk/; revision=995
2000-02-21 22:44:37 +00:00
Emanuele Aliberti
151f2f646e WIN32K Kernel API main include file (replaces win32k/win32k.h).
svn path=/trunk/; revision=994
2000-02-21 00:50:17 +00:00
Emanuele Aliberti
7d3fded0ba Added little prog. that builds the WIN32K.SYS service table
and the stubs to be used in GDI32.DLL.
Converted to __stdcall every W32k... call in WIN32K.SYS.
Fixed the entry point in GDI32.DLL.
WARNING: the thing compiles, but Jason reports it does not work as is
(he tested a preliminary stub piece of code).
Perhaps changing it (as Phillip proposes) or fixing it to make WIN32K.SYS
work the NT way is required (Hernan, are you there: I did not understand
well how the additional service tables work). Feel free to change it.

svn path=/trunk/; revision=993
2000-02-20 22:52:50 +00:00
Eric Kohl
b9bb1744aa Fixed bugs in process parameter and environment code
svn path=/trunk/; revision=992
2000-02-19 19:37:13 +00:00
Eric Kohl
e632116bee Fixed buggy RtlCompareString() and RtlCompareUnicodeString()
svn path=/trunk/; revision=991
2000-02-19 19:31:41 +00:00
Eric Kohl
f28a023c99 Fixed a bug - memmove() couldn't handle overlapping buffers
svn path=/trunk/; revision=990
2000-02-19 17:18:34 +00:00
Eric Kohl
b0780ae5d6 Fixed environment implementation
Fixed current directory implementation

svn path=/trunk/; revision=989
2000-02-18 01:01:06 +00:00
Eric Kohl
6bea08705e Fixed minor bugs and removed fixed start directory
svn path=/trunk/; revision=988
2000-02-18 00:53:11 +00:00
Eric Kohl
6708f0b87e Fixed environment implementation
Fixed current directory implementation

svn path=/trunk/; revision=987
2000-02-18 00:51:03 +00:00
Emanuele Aliberti
f0175145d6 Untested raw implementation of MultiByteToWideChar().
svn path=/trunk/; revision=986
2000-02-14 22:10:46 +00:00
David Welch
3cd2fc22d7 Fixed compilation bug
Made a start on some documentation in info format

svn path=/trunk/; revision=985
2000-02-14 14:13:34 +00:00
Boudewijn Dekker
b49921cb96 impl. NtGetTickCount
svn path=/trunk/; revision=984
2000-02-14 10:27:40 +00:00
David Welch
c110a36a78 Moved user-process loading into ZwCreateProcess
svn path=/trunk/; revision=983
2000-02-13 16:05:19 +00:00
Eric Kohl
ca7bca8f84 Fixed a bug in NtQueryVirtualMemory()
svn path=/trunk/; revision=982
2000-02-06 15:52:04 +00:00
Eric Kohl
5f71c29e2c Fixed _wcsnicmp()
svn path=/trunk/; revision=981
2000-02-05 23:46:14 +00:00
Eric Kohl
326a3cd58b Added some string functions
Added security descriptor functions
Implemented environment functions
Implemented current directory functions

svn path=/trunk/; revision=980
2000-02-05 16:08:49 +00:00
Eric Kohl
18c0c85dd8 Added CHECKPOINT macro
svn path=/trunk/; revision=978
2000-02-03 22:45:11 +00:00
Phillip Susi
480136bdf4 Fixed loader bugs, still needs reworked to create multiple sections
svn path=/trunk/; revision=977
2000-02-03 21:34:14 +00:00
Paolo Pantaleo
16ef6ef2af history command added and some minor changes to history interface
svn path=/trunk/; revision=976
2000-02-01 18:29:11 +00:00
Eric Kohl
33258c166f Fixed a stdcall bug
svn path=/trunk/; revision=975
2000-01-31 20:26:15 +00:00
Eric Kohl
f09ef9894a Fixed an invalid printf() format type
svn path=/trunk/; revision=974
2000-01-31 20:25:43 +00:00
Eric Kohl
19e258120e Fixed compiler warnings
svn path=/trunk/; revision=973
2000-01-31 20:24:41 +00:00
Eric Kohl
7c3e6e80c1 Fixed METAFILEPICT bug
svn path=/trunk/; revision=972
2000-01-31 20:23:54 +00:00
Hernan Ochoa
5dc3ee0414 Added $Id Tag for commit info
svn path=/trunk/; revision=971
2000-01-30 20:55:51 +00:00
Hernan Ochoa
90579ae67f Added $Id Tag for commit info
svn path=/trunk/; revision=970
2000-01-30 17:02:44 +00:00
Phillip Susi
5dff1d9789 ignore errors deleting files for make clean
svn path=/trunk/; revision=969
2000-01-29 20:32:12 +00:00
Hernan Ochoa
337692832a Added parameters checking, help, and some information about
when the program was compiled.

svn path=/trunk/; revision=968
2000-01-29 19:20:26 +00:00
David Welch
d633bd8168 Changed the loader so ZwCreateProcess now maps ntdll into memory
svn path=/trunk/; revision=967
2000-01-27 08:56:50 +00:00
Jason Filby
980d94c760 *** empty log message ***
svn path=/trunk/; revision=966
2000-01-26 21:10:16 +00:00
David Welch
d24a48cd94 More improvements to LPC code
Updated TEB structure
Changed selectors value to be closer to nt
Some bugfixes

svn path=/trunk/; revision=965
2000-01-26 10:07:30 +00:00
Phillip Susi
52404fd1c8 Fixed bug in IO manager that caused crash when trying to open a file on a non existant device
Fixed memory leaks in object manager

svn path=/trunk/; revision=964
2000-01-25 06:31:25 +00:00
Emanuele Aliberti
3a18299c0f Coders directory updated.
svn path=/trunk/; revision=963
2000-01-23 22:52:57 +00:00
Phillip Susi
c41488b99a Fixed syntax error
svn path=/trunk/; revision=962
2000-01-23 19:36:41 +00:00
Hernan Ochoa
3cd7e191a4 now NTOSKRNL exports KeServiceDescriptorTable just like
NT's NTOSKRNL does.

svn path=/trunk/; revision=961
2000-01-23 15:21:25 +00:00
Hernan Ochoa
185d2be0f1 added definitions for SSDT, SSPT, KeServiceDescriptorTable,
KeServiceDescriptorTableShadow, KeAddSystemService(),
KE_SERVIDE_DESCRIPTOR_TABLE_ENTRY.

svn path=/trunk/; revision=960
2000-01-23 15:19:05 +00:00
Hernan Ochoa
55bb357489 changed syscall tables. now it mimics NT style.
it has a SSDT a SSPT, a KeServiceDescriptorTable and a
KeServiceDescriptorTableShadow. modified the code
inside the int2e_handler() to use the new syscall tables.

svn path=/trunk/; revision=959
2000-01-23 15:17:06 +00:00
Hernan Ochoa
65a742ceaa changed syscall tables. now it mimics NT style.
it has a SSDT a SSPT, a KeServiceDescriptorTable and a
KeServiceDescriptorTableShadow. genntdll now also generates
some useful defines about min syscall number, max
syscall number, and number of syscalls.

svn path=/trunk/; revision=958
2000-01-23 15:14:42 +00:00
Phillip Susi
1220167730 New Read/Write File IO test utility
svn path=/trunk/; revision=957
2000-01-23 09:04:30 +00:00
Phillip Susi
2001008199 Fixed OutputDebugString() to use the new int 2D debug service
Moved include of rules.mak up to top so it picks up the HOST variable from there

svn path=/trunk/; revision=956
2000-01-23 08:16:20 +00:00
Emanuele Aliberti
74131ebded Added error reporting to lpcsrv and lpcclt.
svn path=/trunk/; revision=955
2000-01-22 22:22:48 +00:00
Emanuele Aliberti
5415f6f333 Fixed a stupid bug in time conversion code that generated abnormally high
build numbers.

svn path=/trunk/; revision=954
2000-01-22 14:25:48 +00:00
Phillip Susi
0ab77c8e74 Fixed a broken DPRINT
svn path=/trunk/; revision=953
2000-01-22 00:04:56 +00:00
Phillip Susi
51445f2db1 Made symbolic links permanent the proper way, with the perm flag, rather than leaking a refcount
svn path=/trunk/; revision=952
2000-01-21 23:59:53 +00:00
Phillip Susi
4d393f112a darnit... another debug print.. someone kick me
svn path=/trunk/; revision=951
2000-01-21 23:27:47 +00:00
Phillip Susi
a706ca2b64 Ooops... forgot some debug prints ( embarassed )
svn path=/trunk/; revision=950
2000-01-21 23:17:47 +00:00
Phillip Susi
e4008de214 Fixed makefile to include rules.mak first, so it gets the settings in there right
Fixed path parsing for \\.\

svn path=/trunk/; revision=949
2000-01-21 23:06:26 +00:00
Eric Kohl
2a24d175bf Replaced calls to aprintf() or dprintf() by DPRINT()
Removed old debugging code

svn path=/trunk/; revision=948
2000-01-20 22:57:01 +00:00
Eric Kohl
b6c944afcc Added missing format types to vfprintf()
Implemented vfwprintf()

svn path=/trunk/; revision=947
2000-01-20 22:49:12 +00:00
Emanuele Aliberti
90617da53d Minor changes.
svn path=/trunk/; revision=946
2000-01-20 22:14:45 +00:00
Emanuele Aliberti
b6de29fefb Two more FsRtl stubs.
svn path=/trunk/; revision=945
2000-01-20 22:14:08 +00:00
Emanuele Aliberti
8b078f86ae Updated fsfuncs.h with latest stubs prototypes.
svn path=/trunk/; revision=944
2000-01-20 22:11:48 +00:00
Eric Kohl
1b92b852eb Cleanup
Added '%I64' format type

svn path=/trunk/; revision=943
2000-01-19 19:48:20 +00:00
Eric Kohl
072eed4ad3 Fixed compiler warning
svn path=/trunk/; revision=942
2000-01-19 19:47:15 +00:00
Eric Kohl
75f2f5b22e Fixed ugly bug in the serial debugging code
svn path=/trunk/; revision=941
2000-01-19 16:24:15 +00:00
Rex Jolliff
90e1f4cbf9 changes to support v15 release
svn path=/trunk/; revision=939
2000-01-19 07:05:04 +00:00
Eric Kohl
921363d647 Changed debug output to use INT 2D
svn path=/trunk/; revision=938
2000-01-18 12:04:45 +00:00
Eric Kohl
8234dea660 Changed debug output to use INT 2D
Ooops! This one was missing! Sorry!

svn path=/trunk/; revision=937
2000-01-18 11:04:53 +00:00
Eric Kohl
88cb154d19 Changed debug output to use INT 2D
svn path=/trunk/; revision=936
2000-01-17 21:02:50 +00:00
Phillip Susi
faac123528 fixed tab completion with long file names
svn path=/trunk/; revision=935
2000-01-17 02:17:50 +00:00
Emanuele Aliberti
e857e97df1 Some more stubs for NDIS.SYS.
svn path=/trunk/; revision=934
2000-01-16 18:32:34 +00:00
Emanuele Aliberti
d508a1f0bf Added two missing names.
svn path=/trunk/; revision=933
2000-01-16 18:31:48 +00:00
Eric Kohl
013fc117b8 Added missing features and functions
Cleaned confusing file naming

svn path=/trunk/; revision=932
2000-01-14 02:23:25 +00:00
Eric Kohl
3d1f2d98ba Added missing printf() functions
Changed format %w to %S and %W to %wZ

svn path=/trunk/; revision=931
2000-01-12 19:05:32 +00:00
Eric Kohl
de66c40007 Disabled debugging messages
svn path=/trunk/; revision=930
2000-01-11 17:33:44 +00:00
Eric Kohl
6cc53dd4b3 Fixed process parameters
Simplified current directory code
Added %C and %S formats to printf()
Changed %w to %S
Fixed compiler warnings

svn path=/trunk/; revision=929
2000-01-11 17:32:13 +00:00
Eric Kohl
fb7f4582cd Fixed ctype and Rtl functions
svn path=/trunk/; revision=928
2000-01-11 01:16:50 +00:00
Emanuele Aliberti
a11a76eaef Some more NTOSKRNL.FsRtl stubs.
svn path=/trunk/; revision=927
2000-01-10 22:46:38 +00:00
Eric Kohl
be132afdf2 Added DbgPrint()
Fixed some Rtl functions
Added missing printf() and wprintf() functions

svn path=/trunk/; revision=926
2000-01-10 20:34:41 +00:00
Eric Kohl
686387f8e0 Removed fixed screen size code
svn path=/trunk/; revision=925
2000-01-09 23:16:41 +00:00
Eric Kohl
492a608e06 Fixed hal display bug
svn path=/trunk/; revision=924
2000-01-09 21:39:07 +00:00
Emanuele Aliberti
fd411d8b8c New year in c/r string.
svn path=/trunk/; revision=923
2000-01-08 16:17:50 +00:00
Eric Kohl
6f3d53f751 Added reading screen sizes from crt controller
svn path=/trunk/; revision=922
2000-01-07 18:57:33 +00:00
Emanuele Aliberti
462fe323eb A few more return structures for NtQuerySystemInformation
svn path=/trunk/; revision=921
2000-01-06 13:17:48 +00:00
David Welch
4d8c6a710b Removed debug messages from queuing code (sorry)
Added __int64 datatype to files that use it
Hid bug in ide driver (or somewhere) for now

svn path=/trunk/; revision=920
2000-01-06 00:26:16 +00:00
David Welch
623093eaaa Implemented more security functions
Moved general security types into new header file
Implemented ThreadImpersonationToken info class
Bug fixes to queuing code

svn path=/trunk/; revision=919
2000-01-05 21:57:00 +00:00
Eric Kohl
453f513ed3 Fixed ctype table and functions.
svn path=/trunk/; revision=918
2000-01-05 19:42:56 +00:00
Eric Kohl
57919a833e Fixed ctype table.
svn path=/trunk/; revision=917
2000-01-05 17:49:00 +00:00
David Welch
e6b5c8bfc7 Disabled pragma statement that was causing problems
svn path=/trunk/; revision=916
2000-01-02 14:21:04 +00:00
Eric Kohl
974095c413 Added mbtowc(), mbstowcs(), wctomb() and wcstombs()
svn path=/trunk/; revision=914
1999-12-30 14:39:43 +00:00
David Welch
a8ca53d761 Added some additional csrss work
Some fixes to the queueing code
Some fixes to the lpc code
Fix to section code

svn path=/trunk/; revision=913
1999-12-30 01:51:42 +00:00
Eric Kohl
c54d897571 Added even more missing functions
svn path=/trunk/; revision=912
1999-12-30 01:33:47 +00:00
Eric Kohl
17afcb4dfd Added some missing debug, math and ctype functions
svn path=/trunk/; revision=911
1999-12-29 17:13:27 +00:00
Eric Kohl
2284e742b3 Fixed implementation of register io functions
Added luid functions

svn path=/trunk/; revision=910
1999-12-29 01:37:30 +00:00
Eric Kohl
c7580dacf3 Last update for millenium release
Fixed some minor bugs
Fixed window title

svn path=/trunk/; revision=909
1999-12-28 23:13:38 +00:00
Eric Kohl
9446011fc1 Minor update
svn path=/trunk/; revision=908
1999-12-28 16:25:21 +00:00
Emanuele Aliberti
586433918e Some more NDIS stubs.
svn path=/trunk/; revision=907
1999-12-27 22:27:39 +00:00
Eric Kohl
b9579544e7 Removed cmd target
svn path=/trunk/; revision=906
1999-12-27 15:07:00 +00:00
Eric Kohl
005106acbb Fixed some more STDCALL issues
svn path=/trunk/; revision=905
1999-12-27 15:06:13 +00:00
Emanuele Aliberti
38d1018911 Added (io/create.c) IoCreateFile stub.
svn path=/trunk/; revision=904
1999-12-26 20:21:03 +00:00
Emanuele Aliberti
ea5959a772 Some missing __stdcall declarations added in headers and in code.
svn path=/trunk/; revision=903
1999-12-26 17:22:19 +00:00
Emanuele Aliberti
6b50f46c2f Some old Fs/Po code added to the makefile
svn path=/trunk/; revision=902
1999-12-26 16:36:46 +00:00
David Welch
4d5643a96a Added some security functions
Changes to csrss console support
Fixed bug in gdt.c

svn path=/trunk/; revision=901
1999-12-26 15:50:53 +00:00
Eric Kohl
128cfc8af0 Fixed compiler warnings
svn path=/trunk/; revision=900
1999-12-24 17:20:54 +00:00
Eric Kohl
a7a23b4dc3 Added missing test
svn path=/trunk/; revision=899
1999-12-24 17:16:32 +00:00
David Welch
dbd051cad4 Corrected additional object manager issues pointed by Philip Susi
Began added console i/o code to csrss (not working yet)
Corrected long standing page fault bug (not zeroing allocated page)

svn path=/trunk/; revision=898
1999-12-22 14:48:30 +00:00
Phillip Susi
1667a4589a fixed typeo
svn path=/trunk/; revision=897
1999-12-20 21:30:13 +00:00
Eric Kohl
6a617736e9 Fixed a compiler warning
svn path=/trunk/; revision=896
1999-12-20 21:05:53 +00:00
Phillip Susi
d832a87f14 fixed missing dereference and cleaned up code in NtCreateEvent
svn path=/trunk/; revision=895
1999-12-20 20:49:27 +00:00
David Welch
13541861b1 Fixed problem with handles not being released
Changed page fault handling to take account of the error code
Changed handle table locking

svn path=/trunk/; revision=894
1999-12-20 02:14:40 +00:00
Phillip Susi
dfa5f04c63 merged better assert code back into main trunk
svn path=/trunk/; revision=893
1999-12-18 19:50:24 +00:00
David Welch
cc5dc64c30 Worked around compiler bug in NtDelayExecution
Added some page free checking
Reorganised thread code a bit

svn path=/trunk/; revision=892
1999-12-18 17:48:23 +00:00
Emanuele Aliberti
8abc09ec0d Versio info actually linked in *.sys modules
svn path=/trunk/; revision=891
1999-12-18 10:17:42 +00:00
Emanuele Aliberti
5b86e3a918 RtlNtStatusToDosError and RtlNtStatusToPsxErrno declared __stdcall
svn path=/trunk/; revision=890
1999-12-18 10:16:11 +00:00
Emanuele Aliberti
e5b9e13d59 Minor changes
svn path=/trunk/; revision=889
1999-12-18 10:15:11 +00:00
Phillip Susi
bfaef27782 Added tracking of running threads in a process, and termination of process when all threads terminate
svn path=/trunk/; revision=888
1999-12-18 07:33:53 +00:00
Phillip Susi
4e94397e24 Added list of threads in process
svn path=/trunk/; revision=887
1999-12-18 07:28:28 +00:00
Phillip Susi
683932b845 changed to use proper type for dispatcher header, instead of PVOID in WAIT_BLOCK
svn path=/trunk/; revision=886
1999-12-17 23:30:48 +00:00
Phillip Susi
4ce5c9d3b4 fixed WaitForMultipleObjects()'s handling of the WaitAll flag
svn path=/trunk/; revision=885
1999-12-17 23:24:27 +00:00
Phillip Susi
6b53b3acea Working and tested KeWaitForXXX
svn path=/trunk/; revision=884
1999-12-17 23:23:36 +00:00
Eric Kohl
81547d8842 Added missing .cvsignore file
svn path=/trunk/; revision=883
1999-12-16 23:09:34 +00:00
Eric Kohl
1b0b103796 Added a time conversion function and fixed a little bug
(fat stores only 2 second steps)

svn path=/trunk/; revision=882
1999-12-16 23:08:17 +00:00
Phillip Susi
98a6084104 found that list corruption bug. it was also resulting in a meory spray
svn path=/trunk/; revision=881
1999-12-16 22:59:03 +00:00
Phillip Susi
96aed594a2 fixed CreateEvent() with NULL name
svn path=/trunk/; revision=879
1999-12-16 17:48:43 +00:00
Phillip Susi
ca6a107ee2 fixed a few bugs in wait code
svn path=/trunk/; revision=878
1999-12-16 05:13:06 +00:00
Phillip Susi
414cd229d9 new event test app
svn path=/trunk/; revision=877
1999-12-16 05:12:12 +00:00
Eric Kohl
a09b668be6 Added missing .cvsignore file
svn path=/trunk/; revision=876
1999-12-16 00:15:19 +00:00
Phillip Susi
7f63532d94 fixed timeout on wait functions
svn path=/trunk/; revision=875
1999-12-15 06:48:10 +00:00
Eric Kohl
8bbcdc3d4a Fixed current directory handling
Added new prompt functions
Fixed dangling pointer bug in copy command

svn path=/trunk/; revision=874
1999-12-15 00:50:41 +00:00
Phillip Susi
43d5d0b2f0 used proper type pointer instead of PVOID
svn path=/trunk/; revision=873
1999-12-14 18:44:38 +00:00
Phillip Susi
a409988b36 missing initialization of Thread->Tcb.WaitBlockList
svn path=/trunk/; revision=872
1999-12-14 18:35:19 +00:00
Phillip Susi
33009b967e bug fix with file object's name being freed but the pointer not NULLed
svn path=/trunk/; revision=871
1999-12-14 18:32:38 +00:00
Phillip Susi
4c2f15bfb9 fixed runnable thread counters
svn path=/trunk/; revision=870
1999-12-14 00:54:29 +00:00
David Welch
c40b27bbc4 Forgot to remove obsolete file
svn path=/trunk/; revision=869
1999-12-13 23:07:49 +00:00
David Welch
ac7a3aa542 Reworked APC and waiting code, seems more stable now
KeWaitForMultipleObjects is broken, shouldn't be difficult to fix
Corrected bug in ntdll ldr which prevented VC applications being loaded
Added thread testing application
Tried to make thread termination reentrant
Improved stack frame dump

svn path=/trunk/; revision=868
1999-12-13 22:04:41 +00:00
Phillip Susi
90e6a2244e missing GetEnvironmentStrings export, was supposed to be aliased to GetEnvironmentStringsA for some reason, as NT's exports it, and ros's cmd.exe imports it.
svn path=/trunk/; revision=867
1999-12-12 07:59:41 +00:00
Phillip Susi
8c2f4d55e3 David forgot to take out a debugging line? Prevented process termination on user mode exception
svn path=/trunk/; revision=866
1999-12-12 06:09:29 +00:00
Phillip Susi
9a22766e36 new APC code ready for prime time
svn path=/trunk/; revision=865
1999-12-12 03:56:53 +00:00
Phillip Susi
53b1677997 new APC code ready for prime time
svn path=/trunk/; revision=864
1999-12-12 03:48:47 +00:00
David Welch
2cecd9846d Removed typo.
svn path=/trunk/; revision=863
1999-12-12 01:04:09 +00:00
David Welch
f822a2a9d9 Backed out Philip Susi's changes for further testing
Returned kernel to working state.
Made exception handling more tolerant

svn path=/trunk/; revision=862
1999-12-12 00:59:39 +00:00
Phillip Susi
a590b25e46 fixed thread dispatcher bug with spin lock
svn path=/trunk/; revision=861
1999-12-12 00:49:00 +00:00
Phillip Susi
5d2dc4de65 fixed bug caused by my APC code
svn path=/trunk/; revision=860
1999-12-12 00:44:39 +00:00
Eric Kohl
55fef42029 Added abs() and labs()
svn path=/trunk/; revision=859
1999-12-12 00:20:29 +00:00
Eric Kohl
0ce89e21d9 fixed a compiler warning
svn path=/trunk/; revision=858
1999-12-12 00:08:41 +00:00
David Welch
910f27a570 Put in updated version of bitops header
Corrected bug in loader with mapping sections with zero VirtualSize
Corrected bug in the vfat driver that accessed freed memory
General cleanup of the vfat driver

svn path=/trunk/; revision=857
1999-12-11 21:14:49 +00:00
Phillip Susi
14ac854378 fixed DPC and APC calling code
svn path=/trunk/; revision=856
1999-12-11 17:31:16 +00:00
Phillip Susi
e0e40991af thread priorities, and some APC work
svn path=/trunk/; revision=855
1999-12-11 17:26:43 +00:00
Phillip Susi
db262c9a74 reworked the APC code, they shold now be delivered properly when the IRQL falls below APC_LEVEL, and when there are more than one queued.
Added support for KeAddThreadTimeout() to time out
Fixed wait code to use the WaitStatus of the thread when it wakes up

svn path=/trunk/; revision=854
1999-12-11 17:25:27 +00:00
Phillip Susi
81310b4307 added DPC for timers to KTHREAD, and fixed ApcState
svn path=/trunk/; revision=853
1999-12-11 17:19:32 +00:00
Phillip Susi
77c8585f1c added initialization for APCs
svn path=/trunk/; revision=852
1999-12-11 06:40:08 +00:00
Phillip Susi
43f46ed4f8 at least it compiles now...
svn path=/trunk/; revision=851
1999-12-11 06:39:30 +00:00
Eric Kohl
66f738dbd1 cleanup
svn path=/trunk/; revision=850
1999-12-11 01:44:29 +00:00
Eric Kohl
45043db6ff Added waiting for port requests
svn path=/trunk/; revision=849
1999-12-11 01:42:44 +00:00
Phillip Susi
b14104f1e7 ooops... fix that..
svn path=/trunk/; revision=848
1999-12-10 22:25:18 +00:00
Phillip Susi
424d757107 added initial priorities to threads and processes
svn path=/trunk/; revision=847
1999-12-10 22:07:23 +00:00
Eric Kohl
a1c7df6990 Fixed command line code.
Fixed Rtl string functions.

svn path=/trunk/; revision=846
1999-12-10 17:49:21 +00:00
David Welch
c7b7c5b0b6 Modified LPC implementation to be closer to nt.
Did some initial work on support for paging
Switched some test application from using our special startup code
Correctly bug in DPC code (possible fix for "releasing unacquired spinlock" error")

svn path=/trunk/; revision=845
1999-12-10 17:04:37 +00:00
Phillip Susi
815a52debe fixed IoCompleteRequest() to give priority boost even when target thread != current thread
svn path=/trunk/; revision=844
1999-12-09 19:39:45 +00:00
Paolo Pantaleo
dbf662da37 4nt's CTRL-D and CRTL-K support
svn path=/trunk/; revision=843
1999-12-09 19:20:47 +00:00
Eric Kohl
5d99e9003a dll name comparison in LdrFindDll() must be case-insensitive
svn path=/trunk/; revision=842
1999-12-09 19:14:45 +00:00
Eric Kohl
ec235d7468 Fixed HalQueryRealTimeClock and HalSetRealTimeClock.
Thanks to Adam Polanski.

svn path=/trunk/; revision=841
1999-12-09 08:16:26 +00:00
Rex Jolliff
f09720f7d7 some more video code
svn path=/trunk/; revision=840
1999-12-09 02:45:06 +00:00
Paolo Pantaleo
258912bf48 fixed a stupid bug in history
minor chage to GetConsoleHandle

svn path=/trunk/; revision=839
1999-12-08 18:18:23 +00:00
Eric Kohl
9d84d82bd7 pointer to PEB becomes first parameter in call to NtProcessStartup
svn path=/trunk/; revision=838
1999-12-08 12:59:35 +00:00
Phillip Susi
904da6e474 disable interrupts first, then do work. Use HLT also instead of busy wait
svn path=/trunk/; revision=837
1999-12-08 06:34:25 +00:00
Paolo Pantaleo
915ff9328d history cleanup added
svn path=/trunk/; revision=836
1999-12-07 18:17:17 +00:00
Paolo Pantaleo
61c3984818 TAS searches in internal commands too
svn path=/trunk/; revision=835
1999-12-07 18:16:24 +00:00
Eric Kohl
4a02ce0c1e fixed typo
svn path=/trunk/; revision=834
1999-12-07 17:23:42 +00:00
Paolo Pantaleo
f30ade19b8 new history implementation, not complete yet...
svn path=/trunk/; revision=833
1999-12-06 19:26:49 +00:00
Phillip Susi
9530a7d656 fixed handling of enter with blank line, also by my good pal, jim4
svn path=/trunk/; revision=832
1999-12-06 06:53:24 +00:00
Phillip Susi
5716745a13 fixed for 25 line mode as it should be, and scrolling by my good pal, jim4
svn path=/trunk/; revision=831
1999-12-06 06:43:45 +00:00
Phillip Susi
680589c149 fixed default bochs log port
svn path=/trunk/; revision=830
1999-12-06 05:48:34 +00:00
Eric Kohl
2efd99afb2 removed outdated cmd
svn path=/trunk/; revision=829
1999-12-06 00:30:09 +00:00
Eric Kohl
b001203a86 - implemented process parameter block (PPB) code
- improved process environment block (PEB) code
- improved environment code

svn path=/trunk/; revision=828
1999-12-06 00:25:14 +00:00
Phillip Susi
09edfdc32f forgot to initialize Create member of OBJECT_TYPE for threads
svn path=/trunk/; revision=827
1999-12-05 23:23:50 +00:00
Phillip Susi
ae12418822 fixed sync problem: set dpc lock field before, rather than after droping the spin lock
svn path=/trunk/; revision=826
1999-12-05 19:26:11 +00:00
Phillip Susi
f9d4545552 fixed sync bug by elevating IRQL
svn path=/trunk/; revision=825
1999-12-05 08:30:10 +00:00
Emanuele Aliberti
bb25ff0f3a Minor changes.
svn path=/trunk/; revision=824
1999-12-04 21:11:00 +00:00
Emanuele Aliberti
4b70175e11 RtlNtStatusToPsxErrno stub added.
svn path=/trunk/; revision=823
1999-12-04 21:03:22 +00:00
Emanuele Aliberti
ba58b241e5 Added version resource to dd and fs.
svn path=/trunk/; revision=822
1999-12-04 20:58:45 +00:00
Eric Kohl
7c574c2d6e fixed compiler warnings
svn path=/trunk/; revision=821
1999-12-04 14:54:50 +00:00
Phillip Susi
47551b9846 ignore buildno.h
svn path=/trunk/; revision=819
1999-12-04 08:02:27 +00:00
Phillip Susi
d0c1e25256 fixed timers and a wait functions, and a few bugs
svn path=/trunk/; revision=818
1999-12-04 07:40:53 +00:00
Phillip Susi
d4c340c696 fixed ide.sys to run under bochs, disabled support for more than one controller to do it. Let me know of this breaks on real hardware.
svn path=/trunk/; revision=817
1999-12-04 07:38:16 +00:00
Brian Palmer
43014d0391 Fixed bug in LdrPEProcessModule() so that it correctly section sizes
svn path=/trunk/; revision=816
1999-12-04 04:59:38 +00:00
Paolo Pantaleo
e28f90e740 now c:\ do not crash cmd
svn path=/trunk/; revision=815
1999-12-03 18:50:00 +00:00
David Welch
ead0eeacdd Some bug fixes.
Corrected LPC implementation.

svn path=/trunk/; revision=814
1999-12-02 20:53:55 +00:00
Boudewijn Dekker
cf693462e6 .
svn path=/trunk/; revision=813
1999-12-01 22:31:45 +00:00
Boudewijn Dekker
67ad8387f3 fixed some prototypes by adding stdcall attribute
svn path=/trunk/; revision=812
1999-12-01 22:30:48 +00:00
Eric Kohl
eae47571c9 fixed little bug
svn path=/trunk/; revision=811
1999-12-01 17:34:55 +00:00
Eric Kohl
2ea8bb5aa4 minor improvements
svn path=/trunk/; revision=810
1999-12-01 15:22:49 +00:00
Eric Kohl
13436cd7f7 - added environment functions
- moved ntdll-only prototypes into ntdll header file

svn path=/trunk/; revision=809
1999-12-01 15:18:54 +00:00
Eric Kohl
3bee100dae Cleanup
svn path=/trunk/; revision=808
1999-12-01 15:10:42 +00:00
Eric Kohl
2eccd28b8f Fixed a typo
svn path=/trunk/; revision=807
1999-12-01 15:08:31 +00:00
Paolo Pantaleo
d2c016b5ab just fixed a stupid bug
svn path=/trunk/; revision=806
1999-11-29 18:25:05 +00:00
Emanuele Aliberti
b72dc46819 Almost complete skeleton for tdi.sys,
yet headers are still missing.

svn path=/trunk/; revision=805
1999-11-28 07:59:29 +00:00
Eric Kohl
e2e5efb9d7 fixed a typo
svn path=/trunk/; revision=804
1999-11-28 01:55:41 +00:00
Paolo Pantaleo
6d3a97eb5e type accepts more than one file specification
F3 working in command line history (for now simply the same as up arrow)

svn path=/trunk/; revision=803
1999-11-27 19:14:59 +00:00
Eric Kohl
0d630c9ee3 added atoi() and atol()
svn path=/trunk/; revision=802
1999-11-27 11:32:43 +00:00
Eric Kohl
8b829113cb - changed InitializeObjectAttributes() from a function to a macro
- fixed STDCALL more issues
- changed some RtlLargeIntegerXxx functions to macros

svn path=/trunk/; revision=801
1999-11-27 03:32:55 +00:00
Brian Palmer
c18e7f06ce *** empty log message ***
svn path=/trunk/; revision=800
1999-11-26 21:45:23 +00:00
Jason Filby
dfa8364302 *** empty log message ***
svn path=/trunk/; revision=799
1999-11-26 20:53:32 +00:00
Eric Kohl
ed3ca3d52c More runtime functions
svn path=/trunk/; revision=798
1999-11-25 23:45:30 +00:00
Eric Kohl
e77c8000db Fixed typo
svn path=/trunk/; revision=797
1999-11-25 23:37:02 +00:00
Eric Kohl
05a567fce3 More runtime functions
svn path=/trunk/; revision=796
1999-11-25 23:35:24 +00:00
David Welch
9b614b887d Corrected ntdll mapping bug
Implemented prototype lpc mechanism

svn path=/trunk/; revision=795
1999-11-25 10:47:58 +00:00
Emanuele Aliberti
1a0765f6c5 Some NdisXYZ stubs for NDIS.SYS.
svn path=/trunk/; revision=794
1999-11-24 23:11:17 +00:00
Emanuele Aliberti
ec4a27aeb7 Initial makefile for NDIS.SYS
svn path=/trunk/; revision=793
1999-11-24 23:06:24 +00:00
David Welch
b986ce1cac Began converting minix fsd to work with new caching mechanism
Implemented user-mode APCs (still some bugs)
Began implementing shared memory, still some locking issues

svn path=/trunk/; revision=792
1999-11-24 11:51:55 +00:00
Emanuele Aliberti
e510811de7 Some fixes in the TDI initial files.
svn path=/trunk/; revision=791
1999-11-21 23:48:14 +00:00
Rex Jolliff
a7e6e9c1f8 more win32k code
svn path=/trunk/; revision=790
1999-11-21 18:39:11 +00:00
Eric Kohl
64915d3ebe Added missing STDCALL.
svn path=/trunk/; revision=789
1999-11-20 21:59:39 +00:00
Eric Kohl
c8689122b1 Fixed typo.
svn path=/trunk/; revision=788
1999-11-20 21:53:53 +00:00
Eric Kohl
e0c1e02c47 Fixed compiler warning
svn path=/trunk/; revision=787
1999-11-20 21:51:19 +00:00
Eric Kohl
b09592bf32 Major update to Rtl string functions.
svn path=/trunk/; revision=786
1999-11-20 21:49:23 +00:00
Emanuele Aliberti
174adb3955 Some more stubs files for the TDI kernel module.
svn path=/trunk/; revision=785
1999-11-20 20:41:29 +00:00
Emanuele Aliberti
8a20ddc7d4 Initial files for the TCP/IP stack kernel module.
svn path=/trunk/; revision=784
1999-11-20 20:36:46 +00:00
Emanuele Aliberti
82a0c31208 Initial networking code layout.
svn path=/trunk/; revision=783
1999-11-20 10:21:18 +00:00
Rex Jolliff
d25098ba0c added ignore file
svn path=/trunk/; revision=782
1999-11-18 19:25:35 +00:00
Rex Jolliff
aba30a453f added some DDI functions to table
svn path=/trunk/; revision=781
1999-11-18 18:58:16 +00:00
Boudewijn Dekker
fde8b62215 added misc/res.c
svn path=/trunk/; revision=780
1999-11-17 21:33:44 +00:00
Boudewijn Dekker
e04faee634 fixed some bugs in LdrLoadDll
svn path=/trunk/; revision=779
1999-11-17 21:32:57 +00:00
Boudewijn Dekker
0d7b93783b no message
svn path=/trunk/; revision=778
1999-11-17 21:30:00 +00:00
Boudewijn Dekker
b361e13fab implemented LoadResource/FlushViewOfFile
svn path=/trunk/; revision=777
1999-11-17 21:28:08 +00:00
Boudewijn Dekker
44744d8d36 implemented LoadResource
svn path=/trunk/; revision=776
1999-11-17 21:21:08 +00:00
Boudewijn Dekker
614f99e406 implemented FlushViewOfFile in kernel32
svn path=/trunk/; revision=775
1999-11-17 21:20:15 +00:00
Rex Jolliff
6e605e712e fixed reference to abs
svn path=/trunk/; revision=774
1999-11-17 21:17:10 +00:00
Rex Jolliff
96d5e2c715 Added top level ignore list
svn path=/trunk/; revision=773
1999-11-17 20:54:05 +00:00
Rex Jolliff
6767fd7f43 Fixed BMI typedef
svn path=/trunk/; revision=772
1999-11-17 20:50:37 +00:00
Eric Kohl
85a3f3844c Started NLS support and improved Rtl string functions.
svn path=/trunk/; revision=771
1999-11-15 16:02:50 +00:00
Eric Kohl
c114003cb5 Added some RtlLargeInteger functions.
svn path=/trunk/; revision=770
1999-11-15 16:01:32 +00:00
Eric Kohl
c52cbf8517 Fixed warning.
svn path=/trunk/; revision=769
1999-11-15 15:53:31 +00:00
Boudewijn Dekker
abd233d61a Implemented LdrFindResource_U and LdrAccessResource
svn path=/trunk/; revision=768
1999-11-14 13:04:46 +00:00
David Welch
b0ff680e0e 1) Corrected bugs in ERESOURCE code
and added test
2) Moved some files which are only
architecture-dependant out of the hal
3) Corrected timer implementation (it
should now be possible to use them as dispatcher
objects)
4) Corrected stupid bug in dpc code
5) Made thread list locking more sensible
6) Altered system call handler to build a
proper context in preparation for implementing APCs
7) Rationalised the waiting code

svn path=/trunk/; revision=767
1999-11-12 12:01:17 +00:00
Rex Jolliff
1a8f8005ae fixed clean rule
svn path=/trunk/; revision=766
1999-11-12 00:16:51 +00:00
Rex Jolliff
5bc02dd95a Changed to support linux build
svn path=/trunk/; revision=765
1999-11-11 21:22:08 +00:00
Eric Kohl
44866ccf87 Fixed include bug with rosapps module.
svn path=/trunk/; revision=764
1999-11-09 18:17:10 +00:00
Eric Kohl
d431c0fa6d Fixed bug with gcc 2.95.2
svn path=/trunk/; revision=763
1999-11-09 18:15:16 +00:00
Eric Kohl
58b907b668 Added some RtlLargeInteger functions.
svn path=/trunk/; revision=762
1999-11-09 18:09:57 +00:00
Eric Kohl
761e03c5a1 Fixed memory functions.
svn path=/trunk/; revision=761
1999-11-09 18:07:50 +00:00
Eric Kohl
ea4204ce87 Changed to new HAL functions.
svn path=/trunk/; revision=760
1999-11-09 18:07:03 +00:00
Eric Kohl
eae6fb6efc Implemented ExInterlocked functions.
svn path=/trunk/; revision=759
1999-11-09 18:00:14 +00:00
Eric Kohl
157d5b3fa2 Added APC support to NtDeviceIoControlFile().
svn path=/trunk/; revision=758
1999-11-07 14:08:11 +00:00
Emanuele Aliberti
63665d54ed advapi32 ACE and ACL stubs.
svn path=/trunk/; revision=757
1999-11-07 08:04:55 +00:00
Emanuele Aliberti
eb2d1c2110 advapi32 compiles OK.
Build number auto-generated (see apps/buildno, include/reactos/version.h,
include/reactos/buildno.h).
include/internal/version.h moved in include/reactos.
Added default search paths for includes in .rc rule (rules.mak).

svn path=/trunk/; revision=756
1999-11-07 08:03:28 +00:00
Eric Kohl
dbbb7e41f0 Keep DEL quiet when called from a batch file.
svn path=/trunk/; revision=754
1999-11-06 00:53:33 +00:00
Eric Kohl
6758f479ef New Y command and some fixes.
svn path=/trunk/; revision=753
1999-11-05 20:41:17 +00:00
Eric Kohl
18a01fd10d Implemented 4nt compatible color command.
svn path=/trunk/; revision=752
1999-11-04 11:29:36 +00:00
Emanuele Aliberti
cfb22d72df Typo in the NTOSKRNL import library fixed
svn path=/trunk/; revision=751
1999-11-04 06:41:47 +00:00
David Welch
83c2d22a5e Improved scheduling code
Fixed win32k.sys entrypoint (otherwise it crashes on startup)
Included unix install script
Broke waiting for a thread to terminate (but will fix later)
Added spinlock debugging code
Improved InterlockXXXX functions
Added hooks for monitoring system calls and thread startup

svn path=/trunk/; revision=750
1999-11-02 08:55:45 +00:00
Emanuele Aliberti
96c9969a90 Various changes related to calling convention fixes
svn path=/trunk/; revision=749
1999-10-31 22:44:39 +00:00
Emanuele Aliberti
f0f8791763 W32kSetTextColor, W32GetDCState16 needed __stdcall; changed the subsystem field from windows to native
svn path=/trunk/; revision=748
1999-10-31 22:43:40 +00:00
Emanuele Aliberti
31c5b7839f RtlFillMemory, RtlMoveMemory, RtlZeroMemory needed __stdcall
svn path=/trunk/; revision=747
1999-10-31 22:41:49 +00:00
Emanuele Aliberti
dabbe50e39 LoadLibraryA, GetProcAddress, FreeLibrary, GetModuleHandleA, WriteFileEx needed __stdcall
svn path=/trunk/; revision=746
1999-10-31 22:41:15 +00:00
Emanuele Aliberti
68fbd54f2c KeDelayExecutionThread exported by ntoskrnl with correct calling convention (__stdcall)
svn path=/trunk/; revision=745
1999-10-30 21:24:37 +00:00
Rex Jolliff
766e6a262e added more KMGDI functions
svn path=/trunk/; revision=744
1999-10-29 01:58:20 +00:00
Rex Jolliff
c1795e9778 fixed problem with redefined status values
svn path=/trunk/; revision=743
1999-10-28 23:37:58 +00:00
Rex Jolliff
f886c2b9d6 added several new functions
svn path=/trunk/; revision=742
1999-10-28 23:37:14 +00:00
Rex Jolliff
7d45bbd5da needed for compile
svn path=/trunk/; revision=741
1999-10-28 23:35:34 +00:00
Rex Jolliff
8d87ab9d07 added fix for compile under linux
svn path=/trunk/; revision=740
1999-10-28 23:34:47 +00:00
Eric Kohl
95fcdd0943 Fixed batch mode bugs.
svn path=/trunk/; revision=739
1999-10-28 23:09:59 +00:00
Rex Jolliff
11d7e1e18c Fixed problems with vidport and vga loading
svn path=/trunk/; revision=738
1999-10-28 06:58:05 +00:00
Eric Kohl
863afe8930 Disabled prompting when in batch mode.
svn path=/trunk/; revision=737
1999-10-27 22:46:53 +00:00
Rex Jolliff
788e4dc053 Fix import problems in win32k.sys
svn path=/trunk/; revision=736
1999-10-27 05:49:58 +00:00
Emanuele Aliberti
125a62f79a An attempt to fix the ntdll not found bug.
svn path=/trunk/; revision=735
1999-10-26 19:47:06 +00:00
Rex Jolliff
99d62b4808 added check for bootloader config hive
svn path=/trunk/; revision=734
1999-10-26 04:52:39 +00:00
Rex Jolliff
3c1e76b027 Some small fixes to reported build problems
svn path=/trunk/; revision=733
1999-10-25 06:58:09 +00:00
Eric Kohl
2bd986927c Added some time related functions.
svn path=/trunk/; revision=732
1999-10-24 17:52:17 +00:00
Rex Jolliff
ad5e850736 Changes to get video drivers and win32k to load
svn path=/trunk/; revision=731
1999-10-24 17:07:57 +00:00
Rex Jolliff
6cc79a481e added some Eng funcs into build list
svn path=/trunk/; revision=730
1999-10-23 22:40:49 +00:00
Rex Jolliff
c0b2b118a0 Cleanup to make buildable
svn path=/trunk/; revision=729
1999-10-23 22:39:27 +00:00
Rex Jolliff
a53e883bb0 Added definitions for some eng funcs
svn path=/trunk/; revision=728
1999-10-23 22:38:26 +00:00
Rex Jolliff
bb0715f8e7 Added IOCTL codes for video drivers
svn path=/trunk/; revision=727
1999-10-23 22:37:11 +00:00
Rex Jolliff
bc08c68af9 Added vidport.sys to auto loaded drivers
svn path=/trunk/; revision=726
1999-10-23 18:58:40 +00:00
Rex Jolliff
28df2503d3 fixed handling of boot drivers
svn path=/trunk/; revision=725
1999-10-23 18:56:04 +00:00
Rex Jolliff
a5dd3430d6 fixed dist and floppy rule
svn path=/trunk/; revision=724
1999-10-23 18:33:38 +00:00
Eric Kohl
36f33622cc Fixed bugs and added DIRS command.
svn path=/trunk/; revision=723
1999-10-23 18:17:37 +00:00
Eric Kohl
583a7209da Added BOOT.BAT
svn path=/trunk/; revision=722
1999-10-23 18:15:39 +00:00
Eric Kohl
727671f12a Added Ctrl-C/Ctrl-Break handler.
svn path=/trunk/; revision=721
1999-10-22 20:35:02 +00:00
Eric Kohl
13e2e79e44 Added missing exports.
svn path=/trunk/; revision=720
1999-10-21 16:13:39 +00:00
Eric Kohl
0300e2a9d1 Fixed floppy and dist targets.
svn path=/trunk/; revision=719
1999-10-21 16:12:16 +00:00
Eric Kohl
ec16aa4c44 Improved debug output and
added hal READ_XXX and WRITE_XXX functions.

svn path=/trunk/; revision=718
1999-10-21 13:11:12 +00:00
Eric Kohl
e6f624f0e7 Improved debug output and
added hal READ_XXX and WRITE_XXX functions.

svn path=/trunk/; revision=717
1999-10-21 13:00:09 +00:00
Eric Kohl
7228dc135c Improved debug output and
added hal READ_XXX and WRITE_XXX functions.

svn path=/trunk/; revision=716
1999-10-21 11:13:38 +00:00
Eric Kohl
d2e85caa9e Improved debug output and
added hal READ_XXX and WRITE_XXX functions.

svn path=/trunk/; revision=715
1999-10-21 10:59:32 +00:00
Rex Jolliff
bff71dc524 Changed name to conform with kernel naming convention
svn path=/trunk/; revision=714
1999-10-20 23:09:26 +00:00
Rex Jolliff
a0570e7cbe added ignore files
svn path=/trunk/; revision=713
1999-10-20 23:08:58 +00:00
Boudewijn Dekker
ff9ce85a65 implemented some ldr functions
svn path=/trunk/; revision=712
1999-10-18 21:55:30 +00:00
Boudewijn Dekker
f3d9743503 implemented LdrUnloadDll
svn path=/trunk/; revision=711
1999-10-18 21:37:16 +00:00
Boudewijn Dekker
a66a6e5dba implemented LoadLibray and FreeLibrary
svn path=/trunk/; revision=710
1999-10-17 18:18:44 +00:00
Boudewijn Dekker
8690858184 implemented a reference count on LdrLoadDll
svn path=/trunk/; revision=709
1999-10-17 18:16:45 +00:00
Eric Kohl
9e4fec3838 Updated info about debugging.
svn path=/trunk/; revision=708
1999-10-16 21:10:23 +00:00
Eric Kohl
8001413b88 More exported functions.
svn path=/trunk/; revision=707
1999-10-16 21:09:12 +00:00
Eric Kohl
bae73138e8 Moved serial and bochs debug output.
svn path=/trunk/; revision=706
1999-10-16 21:08:39 +00:00
Eric Kohl
dad291cf6f Some fixes.
svn path=/trunk/; revision=705
1999-10-16 12:41:42 +00:00
Eric Kohl
22b26024cd More exported functions.
svn path=/trunk/; revision=704
1999-10-16 12:40:57 +00:00
Eric Kohl
3e6e6c12ee Added missing ntdll include.
svn path=/trunk/; revision=703
1999-10-16 12:39:44 +00:00
Eric Kohl
93a0fa88d2 Fixed NtCreatePort() prototype.
svn path=/trunk/; revision=702
1999-10-16 12:38:53 +00:00
Eric Kohl
9b2fc03fc7 Fixed $(NASM_CMD) bug.
svn path=/trunk/; revision=701
1999-10-16 12:36:47 +00:00
Eric Kohl
7975fc7fe7 Minor improvements.
svn path=/trunk/; revision=700
1999-10-16 12:35:10 +00:00
Eric Kohl
a23adc0492 Fixed hal display and initialization code.
svn path=/trunk/; revision=699
1999-10-16 00:17:40 +00:00
Eric Kohl
36e229b42f Fixed a typo.
svn path=/trunk/; revision=698
1999-10-15 15:26:34 +00:00
Eric Kohl
29812be566 Fixed hal display and initialization code.
svn path=/trunk/; revision=697
1999-10-15 15:21:39 +00:00
Eric Kohl
4551dfba1e Replaced calls to _printk() by calls to DbgPrint().
svn path=/trunk/; revision=696
1999-10-14 16:54:17 +00:00
Eric Kohl
babfe77ea9 PEB will be created in NtCreateProcess.
svn path=/trunk/; revision=695
1999-10-13 22:35:55 +00:00
Emanuele Aliberti
81a9f1c4b0 Little changes in the psxdll library.
svn path=/trunk/; revision=694
1999-10-12 21:19:40 +00:00
Boudewijn Dekker
74031c2379 implemented LoadLibrary and some Rtl stubs
svn path=/trunk/; revision=693
1999-10-12 19:45:01 +00:00
Eric Kohl
348ccdd39f Added REBOOT command.
svn path=/trunk/; revision=692
1999-10-11 20:51:07 +00:00
Eric Kohl
1d4d689bf2 Added new display and reboot code.
svn path=/trunk/; revision=691
1999-10-11 20:50:33 +00:00
Eric Kohl
8578ba8ac6 Minor fix to teb allocation.
svn path=/trunk/; revision=690
1999-10-11 20:43:10 +00:00
Eric Kohl
a77eef4a53 Fixed header inclusion order.
svn path=/trunk/; revision=689
1999-10-10 19:53:46 +00:00
Eric Kohl
648301897c Fixed header inclusion order.
svn path=/trunk/; revision=687
1999-10-07 23:46:27 +00:00
Emanuele Aliberti
2076e94020 I removed a pair of stubs for the OpenFileMapping functions
svn path=/trunk/; revision=686
1999-10-03 23:19:15 +00:00
Eric Kohl
c2829c9869 Minor fixes.
svn path=/trunk/; revision=685
1999-10-03 22:20:33 +00:00
Eric Kohl
49f51f37f3 Added activate command.
svn path=/trunk/; revision=684
1999-10-03 22:16:14 +00:00
Eric Kohl
1e637da493 Added echos, echoerr and echoserr commands.
svn path=/trunk/; revision=683
1999-10-03 22:15:33 +00:00
Eric Kohl
51cbed48ab No longer needed.
svn path=/trunk/; revision=682
1999-10-03 22:14:40 +00:00
Eric Kohl
e8abc51177 Minor fixes.
svn path=/trunk/; revision=681
1999-10-03 22:12:57 +00:00
Eric Kohl
29f5cf1341 Added floppy and dist targets.
svn path=/trunk/; revision=680
1999-10-03 22:12:24 +00:00
Eric Kohl
c33edc6cb7 Made notevil screen size aware.
svn path=/trunk/; revision=679
1999-10-03 22:10:15 +00:00
Boudewijn Dekker
1d786dd865 Miscellaneous implementation of kernel32 stubs.
Changed the implementation of ReadFileEx.

svn path=/trunk/; revision=678
1999-10-02 20:20:44 +00:00
Eric Kohl
3174c5069a Fixed typo.
svn path=/trunk/; revision=676
1999-09-29 23:19:32 +00:00
Eric Kohl
d63c23131c Fixed multiple STATUS_xxxx inclusions.
svn path=/trunk/; revision=675
1999-09-29 23:15:14 +00:00
Eric Kohl
56e30e8907 Minor updates and fixes.
svn path=/trunk/; revision=674
1999-09-27 22:15:44 +00:00
Eric Kohl
1241612f69 Added MORE command.
svn path=/trunk/; revision=673
1999-09-27 22:13:59 +00:00
Boudewijn Dekker
ddc9e680c9 Added support for critical sections.
svn path=/trunk/; revision=672
1999-09-27 20:58:46 +00:00
Boudewijn Dekker
15e29ff254 Small addition to token.c
svn path=/trunk/; revision=671
1999-09-25 06:25:51 +00:00
Eric Kohl
52498a577a Minor fixes.
svn path=/trunk/; revision=670
1999-09-24 22:05:25 +00:00
Eric Kohl
ee3dc0f0c1 Added window command.
svn path=/trunk/; revision=669
1999-09-24 22:03:11 +00:00
Emanuele Aliberti
58eedf7620 RtlReAllocHeap should be RtlReAllocateHeap
svn path=/trunk/; revision=668
1999-09-12 22:09:34 +00:00
Emanuele Aliberti
e6359887bb RtlReAllocHeap should be RtlReAllocateHeap.
svn path=/trunk/; revision=667
1999-09-12 21:59:40 +00:00
Emanuele Aliberti
cda1c38bae Some missing __stdcall added.
Some missing unicode functions stubs added.
RtlReAllocHeap should be RtlReAllocateHeap.

svn path=/trunk/; revision=666
1999-09-12 21:58:32 +00:00
Emanuele Aliberti
d82310b692 Skeleton for psxdll.dll
svn path=/trunk/; revision=665
1999-09-12 21:54:16 +00:00
Eric Kohl
45dd256ee3 Fixed typo.
svn path=/trunk/; revision=664
1999-09-12 20:58:29 +00:00
Eric Kohl
e0058203bb Fixed WaitForSingleObject() and WaitForMultipleObjects().
svn path=/trunk/; revision=663
1999-09-12 20:54:42 +00:00
Eric Kohl
3255097117 Stack is freed on failure.
svn path=/trunk/; revision=662
1999-09-12 20:49:06 +00:00
Eric Kohl
40f81ce970 Fixed some minor issues (NULL --> FALSE).
svn path=/trunk/; revision=661
1999-09-12 20:44:22 +00:00
Eric Kohl
bbcc7f9179 Fixed little bug ('cd d:' did't work, but 'cd D:').
svn path=/trunk/; revision=660
1999-09-12 20:41:56 +00:00
Eric Kohl
0c91339480 Added some more commands. Thanks to Dr. Faustus.
Some more cleanup.

svn path=/trunk/; revision=659
1999-09-12 18:23:31 +00:00
Eric Kohl
5249698af3 External TEE command.
svn path=/trunk/; revision=658
1999-09-12 18:20:47 +00:00
Eric Kohl
037d59aef7 Added master makefile with clean/dist/floppy targets.
svn path=/trunk/; revision=657
1999-09-12 18:18:09 +00:00
Eric Kohl
70f14aa73f Fixed typedef.
svn path=/trunk/; revision=656
1999-09-11 00:07:20 +00:00
Rex Jolliff
b779c01fb6 Changes to make win32k.sys compile
svn path=/trunk/; revision=655
1999-09-10 21:17:07 +00:00
Rex Jolliff
fe56845ebe Fixed function prototypes
svn path=/trunk/; revision=654
1999-09-10 21:16:36 +00:00
Rex Jolliff
70140f5ea7 Changed symbolic name for IDE devices
svn path=/trunk/; revision=653
1999-09-10 19:16:58 +00:00
Eric Kohl
fe27d316df Added creation of full user stack (including guard page).
svn path=/trunk/; revision=652
1999-09-10 15:50:30 +00:00
Eric Kohl
1fc6701c79 Implemented Nt/KeWaitForMultipleObjects (still buggy).
svn path=/trunk/; revision=651
1999-09-08 23:51:36 +00:00
Rex Jolliff
09d88da5e9 some minor coding on win32k
svn path=/trunk/; revision=650
1999-09-08 04:50:50 +00:00
Emanuele Aliberti
a06d619eca some symbols were not declared __stdcall
svn path=/trunk/; revision=649
1999-09-08 04:40:56 +00:00
Eric Kohl
242138f832 Fixed little bug.
svn path=/trunk/; revision=648
1999-09-07 20:41:47 +00:00
Emanuele Aliberti
af1ff6be3b More for the POSIX+ subsystem
svn path=/trunk/; revision=647
1999-09-07 17:12:39 +00:00
Eric Kohl
8c0b595a5e Thread improvements.
svn path=/trunk/; revision=646
1999-09-06 21:32:57 +00:00
Emanuele Aliberti
4280f4f60d stubs for HAL kernel debugger functions
svn path=/trunk/; revision=645
1999-09-05 20:54:57 +00:00
Eric Kohl
d5014c3bb3 Removed unused stuff.
svn path=/trunk/; revision=644
1999-09-05 12:40:20 +00:00
Eric Kohl
d81a116aba Run smss.exe instead of shell.exe.
svn path=/trunk/; revision=643
1999-09-05 12:39:45 +00:00
Eric Kohl
155d1ff5ae Removed smss from its old place
svn path=/trunk/; revision=642
1999-09-05 12:35:34 +00:00
Eric Kohl
fbccd722a1 Fixed little bug.
svn path=/trunk/; revision=641
1999-09-05 12:31:41 +00:00
Eric Kohl
648c68ff1a Moved smss to a better place.
svn path=/trunk/; revision=640
1999-09-05 12:29:50 +00:00
Eric Kohl
c92eafe2f1 Updated rules for subsys directory.
svn path=/trunk/; revision=639
1999-09-05 12:27:22 +00:00
Eric Kohl
b0e64d6cf7 Updated.
svn path=/trunk/; revision=638
1999-09-05 10:22:05 +00:00
Emanuele Aliberti
fa74a12186 added resource script with version information
svn path=/trunk/; revision=637
1999-09-04 20:50:34 +00:00
Eric Kohl
40bd704148 Implemented RtlCreateUserProcess() and RtlCreateUserThread().
svn path=/trunk/; revision=636
1999-09-04 18:38:29 +00:00
David Welch
4027ccab60 Correct keyboard bug with multiple readers
svn path=/trunk/; revision=634
1999-08-30 15:20:14 +00:00
Eric Kohl
ff511b446a Added MSGBOX and TIMER commands.
svn path=/trunk/; revision=633
1999-08-29 22:31:43 +00:00
David Welch
e31d342bc7 *** empty log message ***
svn path=/trunk/; revision=632
1999-08-29 13:45:08 +00:00
Emanuele Aliberti
7cf48757dc A top level header file for kernel and system stuff. At present simply includes ddk/ntddk.h.
svn path=/trunk/; revision=631
1999-08-29 07:02:52 +00:00
Emanuele Aliberti
07a2fbf7f7 Global ReactOS configuration file. Here we will put symbols for processor-, architecture-, and debugging-dependent conditional compilation.
svn path=/trunk/; revision=630
1999-08-29 07:01:32 +00:00
Emanuele Aliberti
fa3a5c2c71 some __stdcall fixes in ntoskrnl and ntdll
svn path=/trunk/; revision=629
1999-08-29 06:59:11 +00:00
Eric Kohl
5aaaad5c93 Added missing definition.
svn path=/trunk/; revision=628
1999-08-28 23:30:50 +00:00
Eric Kohl
7bcdd2ea10 Added CHOICE command and fixed a cursor bug.
svn path=/trunk/; revision=627
1999-08-22 21:46:50 +00:00
Eric Kohl
a35e54e5f8 Added CHOICE command and fixed a cursor bug.
svn path=/trunk/; revision=626
1999-08-21 22:06:03 +00:00
Eric Kohl
0b84d00506 Added CHOICE command and fixed a cursor bug.
svn path=/trunk/; revision=625
1999-08-21 21:54:30 +00:00
Boudewijn Dekker
c4385e9139 Small fixes
svn path=/trunk/; revision=624
1999-08-21 17:51:35 +00:00
Emanuele Aliberti
2c4de44226 Power management (Po) stubs.
svn path=/trunk/; revision=623
1999-08-20 16:31:17 +00:00
Emanuele Aliberti
1f636015ba NLS stubs and exported data.
svn path=/trunk/; revision=622
1999-08-20 16:30:16 +00:00
Emanuele Aliberti
e9703bfa98 FS stubs.
svn path=/trunk/; revision=621
1999-08-20 16:29:22 +00:00
Emanuele Aliberti
676e6609ce Kernel debugger stubs.
svn path=/trunk/; revision=620
1999-08-20 16:28:10 +00:00
Boudewijn Dekker
dbb9546d9d Small additions, not yet finished
svn path=/trunk/; revision=619
1999-08-20 10:12:53 +00:00
Boudewijn Dekker
007128eb66 Small additions, not yet finished
svn path=/trunk/; revision=618
1999-08-20 09:37:25 +00:00
Emanuele Aliberti
90129544e0 Fixed a bug in the parser.
svn path=/trunk/; revision=617
1999-08-20 05:53:04 +00:00
Eric Kohl
f72b0c8878 Fixed STDCALL bugs.
svn path=/trunk/; revision=616
1999-08-17 12:02:27 +00:00
Eric Kohl
36df88668d Fixed STDCALL bug.
svn path=/trunk/; revision=615
1999-08-15 00:36:59 +00:00
Rex Jolliff
9957d94c20 Various small changes for registry work
svn path=/trunk/; revision=614
1999-08-14 18:59:28 +00:00
Eric Kohl
2a466eda80 Partial Implementation of NtQuerySystemInformation and NtSetSystemInformation
svn path=/trunk/; revision=613
1999-08-11 23:29:26 +00:00
Emanuele Aliberti
6cb529270a Stubs for version.dll
svn path=/trunk/; revision=612
1999-08-11 19:56:48 +00:00
Emanuele Aliberti
cb7f83ac74 Some files for version.dll
svn path=/trunk/; revision=611
1999-08-10 20:21:32 +00:00
Rex Jolliff
9907c63794 Added STDCALL to Video functions
svn path=/trunk/; revision=610
1999-08-07 20:27:14 +00:00
Rex Jolliff
fc200ca733 Added export definition file and export library rule
svn path=/trunk/; revision=609
1999-08-06 17:27:45 +00:00
Jason Filby
bebdd316d5 *** empty log message ***
svn path=/trunk/; revision=608
1999-08-01 11:21:05 +00:00
Eric Kohl
e7cf9302fa Added more crt functions and fixed some.
svn path=/trunk/; revision=607
1999-07-29 21:25:04 +00:00
Emanuele Aliberti
69dc48c09f some work on fixing advapi32
svn path=/trunk/; revision=606
1999-07-26 20:46:40 +00:00
Eric Kohl
e3c471cf82 Added simple START command.
svn path=/trunk/; revision=605
1999-07-24 17:18:05 +00:00
Eric Kohl
0063a30376 Fixed a typo.
svn path=/trunk/; revision=604
1999-07-24 17:16:32 +00:00
Rex Jolliff
b9a38fb83d moved path functions into seperate file
svn path=/trunk/; revision=603
1999-07-23 20:21:06 +00:00
Rex Jolliff
1ff56406ca changes to support win32k
svn path=/trunk/; revision=602
1999-07-23 19:58:58 +00:00
Rex Jolliff
c69899317f finished win32k skeleton
svn path=/trunk/; revision=601
1999-07-23 19:57:18 +00:00
Rex Jolliff
b3995a1493 added a few pointer types
svn path=/trunk/; revision=600
1999-07-23 19:55:07 +00:00
Eric Kohl
3975f17012 Changes to compile advapi32.
svn path=/trunk/; revision=599
1999-07-22 21:36:37 +00:00
Rex Jolliff
3f261fab5d More changes to the win32k server
svn path=/trunk/; revision=598
1999-07-22 16:21:53 +00:00
Emanuele Aliberti
b6ae20fcd0 first bits for the POSIX+ client DLL
svn path=/trunk/; revision=597
1999-07-18 20:54:04 +00:00
Emanuele Aliberti
d2eea59593 original ntifs.h restored
svn path=/trunk/; revision=596
1999-07-18 07:53:27 +00:00
Emanuele Aliberti
6ac1592420 fixes
svn path=/trunk/; revision=595
1999-07-17 23:10:31 +00:00
Rex Jolliff
04f2911330 added dist rule
svn path=/trunk/; revision=593
1999-07-16 23:37:07 +00:00
Rex Jolliff
743df9ab84 fixed various build errors
svn path=/trunk/; revision=592
1999-07-13 01:08:47 +00:00
Rex Jolliff
e2a59404d8 added an ignore file
svn path=/trunk/; revision=591
1999-07-12 23:34:42 +00:00
Rex Jolliff
367fbb2a1f Added a service table registration function
svn path=/trunk/; revision=590
1999-07-12 23:32:30 +00:00
Rex Jolliff
932d4770ec more work on KMGDI subsystem
svn path=/trunk/; revision=589
1999-07-12 23:26:57 +00:00
Emanuele Aliberti
0584d3755f minor changes in the simple DEF-->EDF converter
svn path=/trunk/; revision=588
1999-07-12 21:02:06 +00:00
Emanuele Aliberti
221e27f1fa kernel32 missing stubs
svn path=/trunk/; revision=587
1999-07-12 21:01:06 +00:00
Boudewijn Dekker
581f2c7495 no message
svn path=/trunk/; revision=586
1999-07-11 14:19:14 +00:00
Rex Jolliff
6ef820374f put ifdef around defines
svn path=/trunk/; revision=585
1999-07-07 01:41:41 +00:00
Rex Jolliff
ce373b0c40 added pointer types for RECTL and POINTL
svn path=/trunk/; revision=584
1999-07-07 01:41:00 +00:00
Boudewijn Dekker
01034d9c59 no message
svn path=/trunk/; revision=583
1999-07-05 20:51:47 +00:00
Emanuele Aliberti
fad2f584e9 Bo's ntifs.h + ReactOS extensions (untested).
svn path=/trunk/; revision=582
1999-07-04 22:22:05 +00:00
Emanuele Aliberti
86b93a6ac8 A very simple application to create a named LPC port; application to connect to an existing LPC port updated.
svn path=/trunk/; revision=581
1999-07-04 22:04:31 +00:00
Emanuele Aliberti
6fcd126954 NtCreatePort and LPC_PORT_BASIC_INFORMATION partial definitions
svn path=/trunk/; revision=580
1999-07-04 22:00:31 +00:00
Boudewijn Dekker
2a01ea22a9 Initial commit. Ported some code from wine.
Not much working yet.

svn path=/trunk/; revision=579
1999-07-04 16:01:27 +00:00
Emanuele Aliberti
84d1d53870 Very simple tool to generate aliased *.def files from standard *.def files. May be used to have clean exports tables in DLLs and make ld link stdcall mangled symbols
svn path=/trunk/; revision=578
1999-07-04 11:14:15 +00:00
Rex Jolliff
5050cf437e Added brush scaffolding
svn path=/trunk/; revision=577
1999-07-02 02:33:59 +00:00
Rex Jolliff
9162781f47 more bitmap scaffolding
svn path=/trunk/; revision=576
1999-07-02 02:06:52 +00:00
Rex Jolliff
b63d64cc90 Bitmap scaffolding
svn path=/trunk/; revision=575
1999-07-02 00:54:01 +00:00
Rex Jolliff
858aaeac37 Moved service.h
svn path=/trunk/; revision=574
1999-06-30 22:28:34 +00:00
Eric Kohl
bd4786ea76 Fixed DeleteFileW().
svn path=/trunk/; revision=573
1999-06-27 23:08:31 +00:00
Eric Kohl
bcb831f3c9 Fixed RemoveDirectoryW().
svn path=/trunk/; revision=572
1999-06-27 23:08:07 +00:00
Eric Kohl
1bfb0f94d9 Added file and directory delete functionality (dummy).
svn path=/trunk/; revision=571
1999-06-27 23:06:50 +00:00
Eric Kohl
10f222cd92 Fixed typos.
svn path=/trunk/; revision=570
1999-06-27 13:02:20 +00:00
Eric Kohl
7f7c26ae4d Fixed irq level assertations (assert -> assert_irql).
svn path=/trunk/; revision=569
1999-06-27 13:01:23 +00:00
Emanuele Aliberti
56b4626f56 *** empty log message ***
svn path=/trunk/; revision=568
1999-06-27 07:15:16 +00:00
Emanuele Aliberti
b3f7f2d945 Clean up and more info about the LPC port handle.
svn path=/trunk/; revision=567
1999-06-27 07:11:25 +00:00
Eric Kohl
4d7dcc6886 Fixed application file name (absolute path) in command line.
svn path=/trunk/; revision=566
1999-06-26 18:24:38 +00:00
Eric Kohl
8ae06e50f1 Fixed typo in GetCommandLineA().
svn path=/trunk/; revision=565
1999-06-26 14:28:42 +00:00
Rex Jolliff
19a76ae9af consolidated makefiles and added floppy and dist rules.
svn path=/trunk/; revision=564
1999-06-25 04:36:03 +00:00
Emanuele Aliberti
15714a3ea7 Attempt to connect to a real LPC port
svn path=/trunk/; revision=563
1999-06-24 22:54:27 +00:00
Emanuele Aliberti
9ccf887c5a KeGetPreviousMode (useless)
svn path=/trunk/; revision=562
1999-06-24 22:40:06 +00:00
Boudewijn Dekker
62cdaf7f99 no message
svn path=/trunk/; revision=561
1999-06-24 21:59:41 +00:00
Emanuele Aliberti
fdb2041671 NtConnectPort partial interface
svn path=/trunk/; revision=560
1999-06-24 19:35:31 +00:00
Emanuele Aliberti
11cbd32ea6 Some more ideas for winlogon (it does not compile yet).
svn path=/trunk/; revision=559
1999-06-18 22:40:47 +00:00
Emanuele Aliberti
8d5b94094a NTOSKRNL.ZwXXX functions now call NTOSKRNL.NtXXX via int 0x2e.
svn path=/trunk/; revision=558
1999-06-18 22:11:21 +00:00
Emanuele Aliberti
3d0fe049f6 fixed my bug in ZwXXX stubs generation
svn path=/trunk/; revision=557
1999-06-17 18:09:27 +00:00
Emanuele Aliberti
1e589af8e1 genntdll enhanced to generate ntoskrnl Zw stubs (to be tested)
svn path=/trunk/; revision=556
1999-06-17 00:10:30 +00:00
Emanuele Aliberti
6409ce374c some ideas about LPC
svn path=/trunk/; revision=555
1999-06-15 23:00:39 +00:00
Rex Jolliff
11d31698d5 some additions to the GDI engine
svn path=/trunk/; revision=554
1999-06-15 02:27:24 +00:00
Rex Jolliff
e0c5a61982 untested implementation of the registry
svn path=/trunk/; revision=553
1999-06-14 07:37:55 +00:00
David Welch
d913de5c14 Fixed problem with dpc execution
svn path=/trunk/; revision=552
1999-06-10 20:59:19 +00:00
David Welch
5b3ccbfc02 Implemented ZwOpenProcess corrected
Implemented killing other threads (possible memory leaks)
Made a start on a proper implementation of APCs (based on NT Insider article)

svn path=/trunk/; revision=551
1999-06-09 15:50:16 +00:00
David Welch
f2a6a55325 Not needed anymore
svn path=/trunk/; revision=550
1999-06-09 15:48:56 +00:00
David Welch
4aa2c7952d Not been needed for ages
svn path=/trunk/; revision=549
1999-06-09 15:47:10 +00:00
David Welch
b54e7a6efa No longer need with rex's changes
svn path=/trunk/; revision=548
1999-06-09 15:46:06 +00:00
Emanuele Aliberti
8ae5eb02c7 Initial work for W32 server
svn path=/trunk/; revision=547
1999-06-08 22:50:59 +00:00
Emanuele Aliberti
34a9792f1e Updated to 0.0.14
svn path=/trunk/; revision=546
1999-06-08 22:47:39 +00:00
Emanuele Aliberti
44a536a421 Initial structure (won't compile)
svn path=/trunk/; revision=545
1999-06-08 22:45:53 +00:00
Emanuele Aliberti
c5e296fcf0 Updated to 0.0.14
RES_STR_FILE_VERSION eq RES_STR_PRODUCT_VERSION

svn path=/trunk/; revision=544
1999-06-08 22:37:30 +00:00
David Welch
c8cd1fe03c Added support for ZwOpenProcess
svn path=/trunk/; revision=543
1999-06-08 14:02:01 +00:00
Rex Jolliff
0a1f866c8f Added a few more functions for registry
svn path=/trunk/; revision=542
1999-06-08 07:11:29 +00:00
Rex Jolliff
a5e573f1b3 more hacking on the registry
svn path=/trunk/; revision=541
1999-06-08 04:34:48 +00:00
Rex Jolliff
06938a9103 more registry changes
svn path=/trunk/; revision=540
1999-06-07 15:14:23 +00:00
Emanuele Aliberti
b5118cc48f minor changes
svn path=/trunk/; revision=539
1999-06-06 20:35:26 +00:00
David Welch
31268dc661 Stub
svn path=/trunk/; revision=538
1999-06-06 16:40:10 +00:00
Emanuele Aliberti
9dc68f3b65 Context help functions stubs
svn path=/trunk/; revision=537
1999-06-06 15:34:09 +00:00
Emanuele Aliberti
1af4e48747 NtOpenProcess exported
svn path=/trunk/; revision=536
1999-06-06 15:31:58 +00:00
Emanuele Aliberti
154db698c9 start (to detach a new process) and kill commands added
svn path=/trunk/; revision=535
1999-06-06 15:29:46 +00:00
Boudewijn Dekker
f298282475 Added some user32 functions.
svn path=/trunk/; revision=534
1999-06-05 19:02:54 +00:00
Rex Jolliff
9083091f7b Added PE loader to LOADROS. Updated symbol search in Loader
svn path=/trunk/; revision=533
1999-06-04 23:59:35 +00:00
Rex Jolliff
c4ba9a330d some changes to registry code
svn path=/trunk/; revision=532
1999-06-03 15:07:49 +00:00
Boudewijn Dekker
46a0e6e16e Added stub for create token and delete object audit alarm.
svn path=/trunk/; revision=531
1999-05-31 18:53:33 +00:00
Boudewijn Dekker
f53177b2b2 Added prototype for create token.
svn path=/trunk/; revision=530
1999-05-31 18:50:11 +00:00
Emanuele Aliberti
380ae8a262 Session manager skeleton
svn path=/trunk/; revision=529
1999-05-30 20:40:18 +00:00
Rex Jolliff
28f788e6ed fixes for compile errors.
svn path=/trunk/; revision=528
1999-05-29 02:51:05 +00:00
David Welch
126768af64 Lots of changes to the kernel
svn path=/trunk/; revision=527
1999-05-29 00:15:17 +00:00
Rex Jolliff
0deeaa0d83 fixes for some compiler errors.
svn path=/trunk/; revision=526
1999-05-28 20:40:05 +00:00
Emanuele Aliberti
da7f2bf2b2 Little editing
svn path=/trunk/; revision=525
1999-05-28 19:49:46 +00:00
Rex Jolliff
6709ff7e24 added DDI version macro
svn path=/trunk/; revision=524
1999-05-28 18:46:23 +00:00
Rex Jolliff
d415ba8508 First hack at KMDLLs
svn path=/trunk/; revision=523
1999-05-28 18:24:27 +00:00
Rex Jolliff
9377d51b1a More code for win32k.sys
svn path=/trunk/; revision=522
1999-05-27 23:08:26 +00:00
Emanuele Aliberti
662c77c00c SetLastError() used in stubs
svn path=/trunk/; revision=521
1999-05-26 05:24:21 +00:00
Emanuele Aliberti
5169949e78 IMAGE_SUBSYSTEM_xxx
svn path=/trunk/; revision=520
1999-05-26 05:23:26 +00:00
Rex Jolliff
480d6d6388 More work on generic VGA driver
svn path=/trunk/; revision=519
1999-05-26 02:37:21 +00:00
Rex Jolliff
389b5fe480 More work on generic VGA driver skeleton
svn path=/trunk/; revision=518
1999-05-26 02:34:31 +00:00
Rex Jolliff
d89e0df163 changes to support VGA miniport driver
svn path=/trunk/; revision=517
1999-05-26 00:39:11 +00:00
Rex Jolliff
36a7c3cf0d Added a skeleton VGA miniport driver
svn path=/trunk/; revision=516
1999-05-26 00:35:26 +00:00
Eric Kohl
b887962d1d Fixed some compiler warnings.
svn path=/trunk/; revision=515
1999-05-25 19:16:29 +00:00
Rex Jolliff
5f710be5ef Added code to implement videoport driver
svn path=/trunk/; revision=514
1999-05-25 03:19:47 +00:00
Emanuele Aliberti
47ee1b5a90 gdi32.dll added
svn path=/trunk/; revision=513
1999-05-24 20:09:06 +00:00
Emanuele Aliberti
c9b6355479 stubs for most gdi32 functions
svn path=/trunk/; revision=512
1999-05-24 20:04:44 +00:00
Boudewijn Dekker
5c91ed98f2 no message
svn path=/trunk/; revision=511
1999-05-24 15:22:43 +00:00
Boudewijn Dekker
1cdff7f03d no message
svn path=/trunk/; revision=510
1999-05-24 15:14:14 +00:00
Boudewijn Dekker
d21b624ded no message
svn path=/trunk/; revision=509
1999-05-24 14:47:21 +00:00
Emanuele Aliberti
4b60f335f5 GDI32.DLL auxiliary files
svn path=/trunk/; revision=508
1999-05-23 07:41:33 +00:00
Rex Jolliff
c805537640 added stubs and build spec for win32k.sys
svn path=/trunk/; revision=507
1999-05-22 23:55:56 +00:00
Boudewijn Dekker
2b96374f2a no message
svn path=/trunk/; revision=506
1999-05-22 07:28:28 +00:00
Rex Jolliff
2854aac246 more work on the videoport driver.
svn path=/trunk/; revision=505
1999-05-22 07:25:30 +00:00
Rex Jolliff
ae32243b6a patches to get v14 to compile.
svn path=/trunk/; revision=503
1999-05-21 18:47:44 +00:00
Rex Jolliff
ed003aa199 bumped to version 14
svn path=/trunk/; revision=502
1999-05-21 18:21:10 +00:00
Rex Jolliff
ebf6630e2b Added skeleton video port driver
svn path=/trunk/; revision=501
1999-05-21 18:20:45 +00:00
Rex Jolliff
2a87426631 more additions to DDI interface
svn path=/trunk/; revision=500
1999-05-21 07:50:04 +00:00
Emanuele Aliberti
e30ffd7e27 fiber functions stubs
svn path=/trunk/; revision=499
1999-05-21 05:42:08 +00:00
Emanuele Aliberti
659762910c *** empty log message ***
svn path=/trunk/; revision=498
1999-05-21 05:25:12 +00:00
Rex Jolliff
cfe42a37eb More DDI stuff
svn path=/trunk/; revision=497
1999-05-21 02:34:38 +00:00
Eric Kohl
42dfa65049 Fixed bugs in batch file execution.
svn path=/trunk/; revision=496
1999-05-21 00:52:38 +00:00
Rex Jolliff
d22c45fab2 Added to DDI interface definition
svn path=/trunk/; revision=495
1999-05-21 00:02:39 +00:00
Emanuele Aliberti
f234e93d1e win32k.sys exports
svn path=/trunk/; revision=494
1999-05-20 17:26:02 +00:00
Rex Jolliff
905776a29b added GDI kernel mode graphics engine skeleton
svn path=/trunk/; revision=493
1999-05-20 01:31:05 +00:00
Rex Jolliff
56b16dbf01 added GDI-DDI interface header
svn path=/trunk/; revision=492
1999-05-20 01:30:01 +00:00
Eric Kohl
9ade7d9aaf Fixed typo.
svn path=/trunk/; revision=491
1999-05-19 18:02:11 +00:00
Eric Kohl
3bc13b6875 cleanup
svn path=/trunk/; revision=490
1999-05-19 18:00:17 +00:00
Eric Kohl
cf7d159791 Fixed CreateDirectoryExW.
svn path=/trunk/; revision=489
1999-05-19 17:57:57 +00:00
Eric Kohl
0495cfd8d4 several fixes
svn path=/trunk/; revision=488
1999-05-19 17:57:02 +00:00
Eric Kohl
77360caec8 warning fix
svn path=/trunk/; revision=487
1999-05-19 17:56:25 +00:00
Eric Kohl
64f28f26bd access fixes
svn path=/trunk/; revision=486
1999-05-19 17:55:44 +00:00
Emanuele Aliberti
e3876459ef rtlsec.{c,h} are in lib/ntdll/rtl/sec.{c,h}
svn path=/trunk/; revision=485
1999-05-19 16:52:08 +00:00
Emanuele Aliberti
72df55f2e2 more stubs
svn path=/trunk/; revision=484
1999-05-19 16:43:30 +00:00
Boudewijn Dekker
55b8b93555 Commit to implement all symbols initially
svn path=/trunk/; revision=483
1999-05-18 18:16:30 +00:00
Boudewijn Dekker
b06daa620f no message
svn path=/trunk/; revision=482
1999-05-18 18:04:30 +00:00
Emanuele Aliberti
6275e70165 Some more constants for common values to be used in .rc files.
svn path=/trunk/; revision=480
1999-05-17 05:23:50 +00:00
Eric Kohl
0344d1a114 Fixed SystemTimeToFileTime().
svn path=/trunk/; revision=479
1999-05-16 18:33:24 +00:00
Eric Kohl
7aaccee0e9 Added date/time output and fixed warnings.
svn path=/trunk/; revision=478
1999-05-16 18:31:00 +00:00
Emanuele Aliberti
b5d3b3bf2d $(RC)
svn path=/trunk/; revision=477
1999-05-16 17:35:42 +00:00
Emanuele Aliberti
5d7bcb07bd a rudimentary console regedit
svn path=/trunk/; revision=476
1999-05-16 17:23:22 +00:00
Emanuele Aliberti
9ef17eada6 A few system utilities that need fixing
svn path=/trunk/; revision=475
1999-05-16 07:27:35 +00:00
Emanuele Aliberti
b9bbf8287b ExitWindowsEx exported
svn path=/trunk/; revision=474
1999-05-16 07:21:45 +00:00
Eric Kohl
88df0b7726 Fixed typo.
svn path=/trunk/; revision=473
1999-05-15 22:44:38 +00:00
Eric Kohl
c6b0f56200 Fixed typo.
svn path=/trunk/; revision=472
1999-05-15 17:25:29 +00:00
Eric Kohl
0a70b0080a Improved time functions.
svn path=/trunk/; revision=471
1999-05-15 17:25:02 +00:00
Emanuele Aliberti
b2274fda0d USER32.ExitWindows removed (it's a macro!)
svn path=/trunk/; revision=470
1999-05-15 13:48:38 +00:00
Emanuele Aliberti
6ddcb50e38 naive USER32.ExitWindows
svn path=/trunk/; revision=469
1999-05-15 13:35:57 +00:00
Emanuele Aliberti
19c00dc04f *** empty log message ***
svn path=/trunk/; revision=468
1999-05-15 07:23:34 +00:00
Eric Kohl
acc9e8fbc3 Fixed bug in RtlTimeToTimeFields().
svn path=/trunk/; revision=467
1999-05-14 16:42:05 +00:00
Eric Kohl
3ed33156f2 Fixed another path bug.
svn path=/trunk/; revision=466
1999-05-14 13:32:13 +00:00
Eric Kohl
d2e0015ab7 Fixed overlapping buffer handling.
svn path=/trunk/; revision=465
1999-05-14 13:30:07 +00:00
Eric Kohl
4251bd8513 Fixed volume label reading.
svn path=/trunk/; revision=464
1999-05-13 18:02:24 +00:00
Eric Kohl
60f4a025ef Fixed includes.
svn path=/trunk/; revision=463
1999-05-13 14:54:14 +00:00
Eric Kohl
9bdf8fd314 Improved time functions.
svn path=/trunk/; revision=462
1999-05-13 14:52:35 +00:00
Eric Kohl
e1e75da515 Update to build cmd separately.
svn path=/trunk/; revision=461
1999-05-11 22:50:44 +00:00
Emanuele Aliberti
2711eadf8a Added DLLs user32 and fmifs.
svn path=/trunk/; revision=460
1999-05-11 21:39:54 +00:00
Emanuele Aliberti
2eb223d16f GNU GPL
svn path=/trunk/; revision=459
1999-05-11 21:33:57 +00:00
Emanuele Aliberti
7e62c34fdd File Manage{r|ment} IFS Utility
Do-nothing implementation for coming ReactOS sysutils.

svn path=/trunk/; revision=458
1999-05-11 21:19:41 +00:00
Emanuele Aliberti
603bb75198 stuctures, constants and prototypes used by fmifs.dll
svn path=/trunk/; revision=457
1999-05-11 21:16:01 +00:00
Eric Kohl
db37f2cecd Not needed any longer.
svn path=/trunk/; revision=456
1999-05-11 19:37:25 +00:00
Eric Kohl
76691783b3 Fixed LARGE_INTEGER hack.
svn path=/trunk/; revision=455
1999-05-11 19:32:15 +00:00
Eric Kohl
fc506149ce Not needed any longer.
svn path=/trunk/; revision=454
1999-05-11 16:09:02 +00:00
Eric Kohl
5edb029d51 Use crtdll instead of ntdll.
svn path=/trunk/; revision=453
1999-05-11 16:08:21 +00:00
Eric Kohl
acd3d263c1 Fixed clean target.
svn path=/trunk/; revision=452
1999-05-11 15:32:27 +00:00
Eric Kohl
a2e9c0c7a4 Fixed compiler warnings.
svn path=/trunk/; revision=451
1999-05-11 15:31:01 +00:00
Eric Kohl
d0fbe6c728 Export more functions.
svn path=/trunk/; revision=450
1999-05-11 15:29:04 +00:00
Eric Kohl
6bac8b1c92 Minor fixes.
svn path=/trunk/; revision=449
1999-05-11 15:28:34 +00:00
Eric Kohl
3f9e43cbf2 Added TerminateProcess().
svn path=/trunk/; revision=448
1999-05-11 15:28:11 +00:00
Eric Kohl
078d8a8502 Added stdlib directory to the clean target.
svn path=/trunk/; revision=447
1999-05-11 15:27:13 +00:00
Eric Kohl
d927063dd4 Not needed any longer.
svn path=/trunk/; revision=446
1999-05-11 12:40:59 +00:00
Eric Kohl
ffbc9d9c03 Update to build cmd separately.
svn path=/trunk/; revision=445
1999-05-11 12:40:11 +00:00
Eric Kohl
6a7adfd71f Update for global rules.mak file.
svn path=/trunk/; revision=444
1999-05-11 12:38:45 +00:00
Eric Kohl
e9ecf45119 Added process ids.
svn path=/trunk/; revision=443
1999-05-10 12:37:45 +00:00
Rex Jolliff
169894bcc5 a little work on the registry code
svn path=/trunk/; revision=442
1999-05-10 00:06:49 +00:00
Boudewijn Dekker
b9354028e0 fixed bug in scanf
svn path=/trunk/; revision=441
1999-05-09 14:01:59 +00:00
Boudewijn Dekker
0107a0743b no message
svn path=/trunk/; revision=440
1999-05-09 14:00:05 +00:00
Eric Kohl
901449bfe8 Fixed 'implicid declaration' warning.
svn path=/trunk/; revision=439
1999-05-08 18:10:33 +00:00
Eric Kohl
09b99f1097 Fixed KEY_EVENT_RECORD.
svn path=/trunk/; revision=438
1999-05-08 18:09:37 +00:00
Boudewijn Dekker
7f7d1d57b0 changed #include <windows32/defines.h> to
#include "../include/defines.h"

svn path=/trunk/; revision=437
1999-05-08 13:37:14 +00:00
Boudewijn Dekker
25cd7e1e5a changed #include <windows32/defines.h> to
#include "../../include/defines.h"

svn path=/trunk/; revision=436
1999-05-08 13:35:12 +00:00
Emanuele Aliberti
3cee782a23 user32.dll minimal implementation
svn path=/trunk/; revision=435
1999-05-08 07:09:31 +00:00
Rex Jolliff
ae4cb21e55 added a top level readme file.
svn path=/trunk/; revision=434
1999-05-07 20:18:25 +00:00
Eric Kohl
27cfdf8b3b Export some more functions.
svn path=/trunk/; revision=433
1999-05-07 20:10:45 +00:00
Eric Kohl
0064915ad7 Some more fixes.
svn path=/trunk/; revision=432
1999-05-07 20:09:54 +00:00
Eric Kohl
14e5e06271 Fixed typos and moved typedefs.
svn path=/trunk/; revision=431
1999-05-06 23:40:43 +00:00
Eric Kohl
781ba31ad3 Added GetDiskFreeSpaceEx().
svn path=/trunk/; revision=430
1999-05-06 20:06:42 +00:00
Eric Kohl
0072db2e5e Fixed GetDiskFreeSpace().
svn path=/trunk/; revision=429
1999-05-06 17:59:55 +00:00
Eric Kohl
70b2252a9d Fixed more bugs in GetFullPathName() and SetCurrentDirectory().
svn path=/trunk/; revision=428
1999-05-06 14:06:48 +00:00
Eric Kohl
bc291ce04e Fixed typos and compiler warnings.
svn path=/trunk/; revision=427
1999-05-05 21:05:00 +00:00
Eric Kohl
73d37669c4 Added volume serial number handling.
svn path=/trunk/; revision=426
1999-05-05 11:23:46 +00:00
Eric Kohl
d5f96518f2 Renamed wtolower() to towlower().
Renamed wtoupper() to towupper().
Added some runtime functions.

svn path=/trunk/; revision=425
1999-05-05 11:20:14 +00:00
Eric Kohl
490e4d94fc Fixed 'implicid declaration' warnings.
svn path=/trunk/; revision=424
1999-04-29 23:36:08 +00:00
Eric Kohl
ddd8467f99 Added missing features in GetFullPathName[A/W]().
svn path=/trunk/; revision=423
1999-04-29 23:32:27 +00:00
Eric Kohl
278a6c540b Fixed dependencies. Now ntdll.dll depends on ntdll.def too.
svn path=/trunk/; revision=422
1999-04-29 19:55:00 +00:00
Eric Kohl
241b23c24d Added aliases.
svn path=/trunk/; revision=421
1999-04-29 19:54:02 +00:00
Eric Kohl
c842409323 Added missing features in GetFullPathName[A/W]().
svn path=/trunk/; revision=420
1999-04-28 14:19:34 +00:00
Eric Kohl
e5bfd35667 Fixed the 'clean' rule.
svn path=/trunk/; revision=419
1999-04-27 14:51:27 +00:00
Eric Kohl
f661ec6b08 Cleaned up the 'clean' rule.
svn path=/trunk/; revision=418
1999-04-27 14:50:51 +00:00
Eric Kohl
27de25f464 Fixed compiler warning.
svn path=/trunk/; revision=417
1999-04-27 14:49:57 +00:00
Eric Kohl
e68d320afc Fixed LARGE_INTEGER handling
svn path=/trunk/; revision=416
1999-04-27 14:47:40 +00:00
Eric Kohl
56461438cb Fixed LARGE_INTEGER handling
svn path=/trunk/; revision=415
1999-04-27 14:15:56 +00:00
Boudewijn Dekker
cee2ad3925 no message
svn path=/trunk/; revision=414
1999-04-27 06:16:04 +00:00
Boudewijn Dekker
9f95b317f2 Fixed bug in modfl and in fread and fwrite and added
some permission checks in stdio.

svn path=/trunk/; revision=413
1999-04-27 06:15:27 +00:00
Emanuele Aliberti
2890508a82 version information
svn path=/trunk/; revision=412
1999-04-25 07:09:54 +00:00
Boudewijn Dekker
97c1f757f6 Fixed some bugs.
svn path=/trunk/; revision=411
1999-04-23 18:43:00 +00:00
Rex Jolliff
98a3f0d6f5 Updated boot disk builder and fixed CHECKPOINT macro in KERNEL32
svn path=/trunk/; revision=410
1999-04-23 16:20:31 +00:00
Eric Kohl
67d7e92025 fixed GetVolumeInformation()
svn path=/trunk/; revision=409
1999-04-23 11:54:47 +00:00
Eric Kohl
54378dbf2a fixed little bug in FindFirstFile()
svn path=/trunk/; revision=408
1999-04-23 11:51:00 +00:00
Emanuele Aliberti
321081bb62 version information to distinguish from MS
svn path=/trunk/; revision=407
1999-04-23 05:28:37 +00:00
Emanuele Aliberti
ad3c512ae2 added resource script with version information to distinguish from MS
svn path=/trunk/; revision=406
1999-04-23 05:27:49 +00:00
Emanuele Aliberti
3fe1c6d5f4 *.rc include
svn path=/trunk/; revision=405
1999-04-23 05:26:37 +00:00
Eric Kohl
36322cffcd fixed GetFileAttributes()
svn path=/trunk/; revision=404
1999-04-21 19:16:31 +00:00
Eric Kohl
73a193b7fe compatibility fixes
svn path=/trunk/; revision=403
1999-04-20 20:25:56 +00:00
Eric Kohl
94f82b0796 cleanup
svn path=/trunk/; revision=402
1999-04-19 18:44:36 +00:00
Eric Kohl
81b9b25bc7 fixed Beep()
svn path=/trunk/; revision=401
1999-04-19 18:43:54 +00:00
David Welch
db068d0cae Synched makefiles
svn path=/trunk/; revision=400
1999-04-18 21:13:11 +00:00
David Welch
dcd4ed3e62 Completely code to synchronize DbgPrint and console output (why was this
not tested?)

svn path=/trunk/; revision=399
1999-04-18 13:39:48 +00:00
David Welch
9adc8d3ca1 Fixed silly bug (sorry)
svn path=/trunk/; revision=398
1999-04-18 13:24:02 +00:00
David Welch
d2f7f11cfc Corrected bug which stopped(!) crtdll from compiling
svn path=/trunk/; revision=397
1999-04-18 12:13:55 +00:00
David Welch
4946832715 *** empty log message ***
svn path=/trunk/; revision=396
1999-04-18 09:11:27 +00:00
David Welch
5a3243d494 Several bug fixes
Added proper process cleanup
Added several programs for testing

svn path=/trunk/; revision=395
1999-04-18 08:56:23 +00:00
Boudewijn Dekker
6f801aae22 added quad.h and ieee.h
svn path=/trunk/; revision=394
1999-04-17 09:11:02 +00:00
Boudewijn Dekker
6becb71b7c Replaced old version of printf and added some long long and
long double support.

svn path=/trunk/; revision=393
1999-04-17 09:10:25 +00:00
Eric Kohl
a1418887c0 changes to build cmd again
svn path=/trunk/; revision=392
1999-04-16 17:26:10 +00:00
Eric Kohl
1644f93c49 dir workaround
svn path=/trunk/; revision=391
1999-04-16 17:25:39 +00:00
Eric Kohl
464c5c2187 changes to build cmd again
svn path=/trunk/; revision=390
1999-04-16 17:20:16 +00:00
Eric Kohl
eda973b1cc last bugfixes for cmd
svn path=/trunk/; revision=389
1999-04-16 00:16:18 +00:00
Eric Kohl
7e74c066a7 changes to build cmd again
svn path=/trunk/; revision=388
1999-04-15 17:40:56 +00:00
Emanuele Aliberti
64037e6939 complete but not aliased export table for advapi32.dll
svn path=/trunk/; revision=387
1999-04-15 05:46:09 +00:00
Eric Kohl
079a92a658 fixed cursor synchronization bug
svn path=/trunk/; revision=386
1999-04-15 02:02:13 +00:00
Eric Kohl
ff1e3c7b18 changed strupr() to _strupr()
svn path=/trunk/; revision=385
1999-04-14 23:52:13 +00:00
Eric Kohl
731f19e9b1 several changes to make cmd compile and link again
svn path=/trunk/; revision=384
1999-04-14 23:48:27 +00:00
Eric Kohl
ebb6fcbc30 added ver command
improved command line editing

svn path=/trunk/; revision=383
1999-04-14 23:45:48 +00:00
Eric Kohl
97c260445b fixed bug in FreeConsole()
svn path=/trunk/; revision=382
1999-04-14 23:43:56 +00:00
Eric Kohl
5d97b74881 fixed cursor synchroization bug
svn path=/trunk/; revision=381
1999-04-14 23:43:13 +00:00
Boudewijn Dekker
ed08466464 Added various files.
--> failed to pass test printing a simple string

svn path=/trunk/; revision=380
1999-04-14 21:27:02 +00:00
Boudewijn Dekker
b68aceef62 Added two header files for multi byte string functions
svn path=/trunk/; revision=379
1999-04-14 07:10:15 +00:00
David Welch
42965fae3b Fixed more compilation bugs (sorry)
svn path=/trunk/; revision=378
1999-04-14 03:39:11 +00:00
David Welch
600e81c60c Fixed silly compilation bug
svn path=/trunk/; revision=377
1999-04-14 02:31:11 +00:00
David Welch
0691de94b5 *** empty log message ***
svn path=/trunk/; revision=376
1999-04-14 00:58:52 +00:00
David Welch
d837d19fac *** empty log message ***
svn path=/trunk/; revision=375
1999-04-14 00:52:19 +00:00
Eric Kohl
eee72fe55d console update
svn path=/trunk/; revision=374
1999-04-11 20:59:24 +00:00
Eric Kohl
98d0da7e1c added .cvsignore file
svn path=/trunk/; revision=373
1999-04-10 14:48:38 +00:00
Eric Kohl
7c8b54eee0 fixed bugs and cleaned up (direct io is working now)
svn path=/trunk/; revision=372
1999-04-10 14:47:15 +00:00
David Welch
fd78805ffc Partially implemented PEB
Some bug fixes
Hacked crtdll to compile with a minimal set of functions

svn path=/trunk/; revision=371
1999-04-10 12:08:24 +00:00
Rex Jolliff
9221d5c854 fixing filenames
svn path=/trunk/; revision=370
1999-04-08 03:46:59 +00:00
David Welch
5503a0f0e4 Improved GDT managment
svn path=/trunk/; revision=369
1999-04-05 15:04:46 +00:00
Rex Jolliff
99fa281af1 fixed display of stack frames
svn path=/trunk/; revision=368
1999-04-04 00:22:33 +00:00
Rex Jolliff
29b9e3f0b4 Added a recursive clean rule and cleaned up a few loose ends
svn path=/trunk/; revision=367
1999-04-03 23:43:27 +00:00
Boudewijn Dekker
0c6333ed01 minor fixes
svn path=/trunk/; revision=366
1999-04-03 10:42:18 +00:00
Boudewijn Dekker
e8cbdde2a7 moved some header files from top level to crtdll directory
svn path=/trunk/; revision=365
1999-04-02 21:44:11 +00:00
The ReactOS Manager
de56bed16d to fix a problem
svn path=/trunk/; revision=364
1999-04-02 18:34:41 +00:00
The ReactOS Manager
5a25898d41 to fix a problem
svn path=/trunk/; revision=363
1999-04-02 18:21:44 +00:00
Rex Jolliff
fbe6ae7bc0 Setup CRTDLL config to build DLL
svn path=/trunk/; revision=362
1999-04-02 06:29:59 +00:00
Rex Jolliff
a3576ceb06 removed size_t from kernel specific includes.
svn path=/trunk/; revision=361
1999-04-02 02:34:40 +00:00
David Welch
63a3377143 Enhanced memory managment
Correct several bugs in the creation/termination of processes

svn path=/trunk/; revision=360
1999-04-01 12:39:43 +00:00
Rex Jolliff
240b550d9c Changes to be able to build system
svn path=/trunk/; revision=359
1999-04-01 05:22:18 +00:00
jean
839118b9b3 initialization of LastError
svn path=/trunk/; revision=358
1999-03-31 14:09:51 +00:00
jean
472aba6da2 correct bug in release of semaphore
svn path=/trunk/; revision=357
1999-03-31 13:57:22 +00:00
jean
d7acbe2251 correct bug in release of semaphore
svn path=/trunk/; revision=356
1999-03-31 13:38:13 +00:00
jean
3763d9c0dd report changes from dwelch in 1.5 (include <string.h>
svn path=/trunk/; revision=355
1999-03-31 13:26:40 +00:00
jean
3277301592 implement some functions
svn path=/trunk/; revision=354
1999-03-31 13:21:44 +00:00
David Welch
572d45daca Improved physical page managment
svn path=/trunk/; revision=353
1999-03-31 10:59:32 +00:00
Eric Kohl
e4bcefde7d Fixed bugs and improved del command.
svn path=/trunk/; revision=352
1999-03-30 22:06:36 +00:00
Eric Kohl
74b0d03ccc Fixed bug in DeviceIoContol().
svn path=/trunk/; revision=351
1999-03-30 22:05:06 +00:00
Eric Kohl
9e3fe0593a Changed beep to compile as sys driver.
svn path=/trunk/; revision=350
1999-03-30 21:59:12 +00:00
Eric Kohl
aa77254872 improved bluescreen driver
svn path=/trunk/; revision=349
1999-03-30 21:58:05 +00:00
David Welch
bbc8fd7b21 Began improvements to memory managment, changed method of
mapping page tables and directories to be more efficent. These
changes require you to update your version of loadros.com

svn path=/trunk/; revision=348
1999-03-30 12:55:31 +00:00
Rex Jolliff
dff0889c02 added GDI32 DLL skeleton
svn path=/trunk/; revision=347
1999-03-28 23:12:42 +00:00
Boudewijn Dekker
03f9e7b713 fixed some bugs to make nls functions compile
svn path=/trunk/; revision=346
1999-03-27 22:29:57 +00:00
David Welch
fbcc7fb423 Made process execution work again
svn path=/trunk/; revision=345
1999-03-26 10:48:45 +00:00
David Welch
140b387c62 Made user-mode execution of processes work again
svn path=/trunk/; revision=344
1999-03-26 10:37:03 +00:00
jean
867fa342e3 changed type for function ExIsResourceAcquiredSharedLite
svn path=/trunk/; revision=343
1999-03-25 14:13:05 +00:00
jean
db7bc7b4e8 modifiy ExIsResourceAcquiredxxx
svn path=/trunk/; revision=342
1999-03-25 14:10:14 +00:00
jean
e4981e3a09 work on semaphores.
svn path=/trunk/; revision=341
1999-03-25 13:53:45 +00:00
jean
42c50bfaa8 begin implement.
svn path=/trunk/; revision=340
1999-03-25 13:52:28 +00:00
David Welch
8688a2a272 Cleaned up code a bit
svn path=/trunk/; revision=339
1999-03-25 00:37:06 +00:00
David Welch
3f0a7424cb Changed kernel32 to compile as a dll
svn path=/trunk/; revision=338
1999-03-24 11:07:33 +00:00
Eric Kohl
00f2fc414e fixed drive reset bug!
svn path=/trunk/; revision=333
1999-03-23 21:23:50 +00:00
Boudewijn Dekker
4f928dad27 no message
svn path=/trunk/; revision=332
1999-03-22 21:01:37 +00:00
Boudewijn Dekker
150a9789e6 Added __set_errno to file.h
svn path=/trunk/; revision=331
1999-03-22 21:01:15 +00:00
Boudewijn Dekker
b3c424cd40 Changes and improved mingw32 compile
svn path=/trunk/; revision=330
1999-03-22 20:57:12 +00:00
Boudewijn Dekker
8bf8d53376 no message
svn path=/trunk/; revision=329
1999-03-22 20:48:08 +00:00
Boudewijn Dekker
5bd64e22e4 Converted cwait.c and system.c to lower case.
svn path=/trunk/; revision=328
1999-03-22 18:09:39 +00:00
Boudewijn Dekker
0dc103b08e Changed access.c and try to convert commit.c to lower case.
svn path=/trunk/; revision=327
1999-03-22 17:21:21 +00:00
Eric Kohl
108fcceee2 changes to make cmd compile (not link)
svn path=/trunk/; revision=326
1999-03-21 21:32:45 +00:00
Rex Jolliff
b172b0df42 added rule for cmd
svn path=/trunk/; revision=325
1999-03-20 20:47:25 +00:00
Rex Jolliff
9f7f2c0f72 Added Eric Kohl's port of freedos command
svn path=/trunk/; revision=324
1999-03-20 20:28:42 +00:00
Rex Jolliff
af3d943b02 cleanup after merge with mingw32
svn path=/trunk/; revision=323
1999-03-19 06:37:39 +00:00
Rex Jolliff
d704562082 Merged mingw32 branch into main trunk
svn path=/trunk/; revision=321
1999-03-19 05:55:55 +00:00
jean
bf4de1d7cd replaced call %eax with call *%eax.First syntax is not recognized
by all compilers.

svn path=/trunk/; revision=317
1999-03-16 13:35:26 +00:00
Boudewijn Dekker
f6a2bede37 no message
svn path=/trunk/; revision=307
1999-03-13 10:12:05 +00:00
Boudewijn Dekker
282bc306f8 Added logb from glibc math.h file
svn path=/trunk/; revision=306
1999-03-13 09:14:51 +00:00
Boudewijn Dekker
481a3a687c no message
svn path=/trunk/; revision=305
1999-03-13 09:03:35 +00:00
Boudewijn Dekker
48f92902c5 Added some nls functions
svn path=/trunk/; revision=304
1999-03-13 09:00:59 +00:00
Boudewijn Dekker
0c215b202d Changed .s files to .c files with gcc asm.
svn path=/trunk/; revision=301
1999-03-12 20:28:52 +00:00
Boudewijn Dekker
98071efc7e Changed .s files to .c files with gcc asm.
svn path=/trunk/; revision=300
1999-03-12 20:26:05 +00:00
jean
ad037179b4 generate napi.c instead of napi.asm
svn path=/trunk/; revision=299
1999-03-12 16:18:45 +00:00
jean
9d1624980f replaced by interlck.c
svn path=/trunk/; revision=298
1999-03-12 16:15:21 +00:00
jean
3276df883d created, replace interlck.asm
svn path=/trunk/; revision=297
1999-03-12 16:14:36 +00:00
jean
7994f333ab replaced by apchelp.c
svn path=/trunk/; revision=296
1999-03-12 16:08:15 +00:00
jean
49d35cfc27 created, replace apchelp.asm
svn path=/trunk/; revision=295
1999-03-12 16:07:32 +00:00
jean
a1c0b9b92a replaced by usercall.c
svn path=/trunk/; revision=294
1999-03-12 16:04:30 +00:00
jean
75a9d9fc5f replaced by irqhand.c
svn path=/trunk/; revision=293
1999-03-12 16:03:09 +00:00
jean
a0945c2aa2 created. replace usercall.asm
svn path=/trunk/; revision=292
1999-03-12 16:00:10 +00:00
jean
ee4c094831 created. replace irqhand.asm.
svn path=/trunk/; revision=291
1999-03-12 15:59:02 +00:00
Emanuele Aliberti
9ee6327262 stubs
svn path=/trunk/; revision=290
1999-03-12 06:29:00 +00:00
3760 changed files with 759262 additions and 54812 deletions

9
reactos/.cvsignore Normal file
View File

@@ -0,0 +1,9 @@
dist
reactos
*.sys
*.exe
*.dll
*.a
*.o
*.d
*.coff

4
reactos/.gdbinit Normal file
View File

@@ -0,0 +1,4 @@
directory /mnt/windows/CvsHome/reactos/ntoskrnl
symbol-file ntoskrnl/ntoskrnl.nostrip.exe -mapped
set remotebaud 115200
target remote com2

340
reactos/COPYING Normal file
View File

@@ -0,0 +1,340 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

41
reactos/CREDITS Normal file
View File

@@ -0,0 +1,41 @@
In no particular order
Rex Jolliff (rex@lvcablemodem.com)
Boudewijn Dekker (ariadne@xs4all.nl)
Eric Kohl (ekohl@rz-online.de)
Emanuele Aliberti (ea@iol.it)
David Welch (welch@cwcom.net)
Iwan Fatahi (i_fatahi@hotmail.com)
Robert Bergkvist (fragdance@hotmail.com)
Victor Kirhenshtein (sauros@iname.com)
Jason Filby (jasonfilby@yahoo.com)
Brian Palmer (brianp@sginet.com)
Phillip Susi (phreak@iag.net)
Paolo Pantaleo (paolopan@freemail.it)
Casper S. Hornstrup (chorns@users.sourceforge.net)
Source and inspiration from
WINE (http://www.winehq.com)
WinFree (http://www.stack.nl/~onno/win32/)
Linux (http://www.kernel.org)
References (Rex's at least)
Baker, Art. The Windows NT Device Driver Book. Prentice Hall, 1997.
Borate, Dabak & Phadke. Undocumented Windows NT. M&T Books, 1999.
Brain, Marshall. Win32 System Services. Prentice Hall, 1996.
Cant, Chris. Writing Windows WDM Device Drivers. R&D Books, 1999.
Canton & Sanchez. IBM Microcomputers: A Programmer's Handbook. McGraw Hill, 1990.
Davis & Wallace. Windows Undocumented File Formats. R&D Books, 1997.
Mason & Viscarola. Windows NT Device Driver Development. Macmillan, 1999.
Mitchell, Stan. Inside the Windows 95 File System. O'Reilly, 1997.
Murray, James D. Windows NT Event Logging. O'Reilly, 1998.
Nagar, Rajeev. Windows NT File System Internals. O'Reilly, 1997.
Osbourne, Sandra. Windows NT Registry: A Settings Reference. New Riders, 1998.
Pietrek, Matt. Windows 95 System Programming Secrets. IDG, 1995.
Richter, Jeffery. Advanced Windows, 3rd ed. Microsoft, 1997.
Simon, Richard J. Windows NT Win32 API Superbible. Waite Group, 1996.
Solomon, David A. Inside Windows NT, 2nd Ed. Microsoft, 1998.
"The NT Insider." Open Systems Resources, 1999-2000.

View File

@@ -1,6 +1,530 @@
8/12/98: Corrected bug in shell (Read two keypresses and assumed they
where the key going up and down respectively)
Corrected race in dpc handling
Took out cleanup sections in ZwReadFile (now handled by the APC)
Disabled broken code in kernel32
2002-07-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
* rules.mak (RSYM): Define.
* include/ddk/zwtypes.h (DebugDbgLoadSymbols): Add to enum
_DEBUG_CONTROL_CODE.
* include/ntdll/ldr.h (LDR_SYMBOL_INFO, LdrpLoadUserModuleSymbols): Add.
(LdrLoadModuleSymbols): Remove.
* include/ntos/kdbgsyms.h (ST_FILENAME, ST_FUNCTION,
ST_LINENUMBER): Add.
(SYMBOL). Make Name an ANSI_STRING.
(IMAGE_SYMBOL_INFO, AreSymbolsParsed): Add.
* lib/ntdll/ldr/startup.c (LdrInitializeThunk): Call
LdrpLoadUserModuleSymbols() not LdrLoadModuleSymbols().
* lib/ntdll/ldr/utils.c (LdrLoadModuleSymbols): Rename to
LdrpLoadUserModuleSymbols.
(LdrpLoadUserModuleSymbols): Use DebugDbgLoadSymbols debug control code.
(LdrLoadDll): assert if out of memory.
(LdrLoadDll): Call
LdrpLoadUserModuleSymbols(), not LdrLoadModuleSymbols().
* lib/ntdll/string/ctype.c (_pctype): #undef.
* ntoskrnl/dbg/dbgctrl.c (NtSystemDebugControl): Call
LdrLoadUserModuleSymbols on DebugDbgLoadSymbols.
* ntoskrnl/include/internal/ldr.h (LdrGetAddressInformation): Add.
* ntoskrnl/include/internal/module.h (MODULE_TEXT_SECTION): Make SymbolInfo
an IMAGE_SYMBOL_INFO.
* ntoskrnl/ke/i386/exp.c (LdrGetAddressInformation): Add prototype.
(print_address): Change #ifdef KDBG to #ifdef DBG.
(KiDoubleFaultHandler, KiDumpTrapFrame, KeDumpStackFrames): Dump
one stack frame per line.
* ntoskrnl/ke/i386/multiboot.S: Create pagetables for more kernel
address space so larger modules can be passed from the boot loader.
* ntoskrnl/ke/i386/usertrap.c (LdrGetAddressInformation): Add prototype.
(print_user_address): Print symbols using LdrGetAddressInformation().
* ntoskrnl/ldr/loader.c (SYMBOLFILE_HEADER, IMAGE_SYMBOL_INFO_CACHE,
STAB_ENTRY, N_FUN, N_SLINE, N_SO, SymbolListHead): Add.
(TAG_SYM_BUF): Remove.
(LdrInitDebug): Remove unneeded code.
(LdrInit1): Prepare for loading symbols.
(LdrpReadLine, HexL, LdrpParseLine, LdrpLoadModuleSymbolsFromBuffer,
LdrpLoadUserModuleSymbolsFromBuffer): Remove.
(LdrpParseImageSymbols, LdrpGetFileName, LdrpGetFunctionName,
LdrpGetLineNumber, LdrGetAddressInformation, LdrpLookupUserSymbolInfo): Add.
(LdrpLoadModuleSymbols, LdrInitializeBootStartDriver): Change to use new
symbol structures.
(LdrLoadUserModuleSymbols): Cache symbol buffers.
(LdrUnloadModuleSymbols): Implement.
(LdrLoadModule, LdrUnloadModule): Change #ifdef KDBG to #ifdef DBG.
(LdrPEProcessModule): Split a line into two lines.
(LdrPEProcessModule): Setup for loading symbols.
* ntoskrnl/ldr/sysdll.c (LdrpMapSystemDll): Open with FILE_SHARE_READ.
* ntoskrnl/ps/process.c (PiFreeSymbols): Call LdrUnloadModuleSymbols() to
free symbols.
(PiDeleteProcess): Change #ifdef KDBG to #ifdef DBG.
* ntoskrnl/rtl/ctype.c (_pctype): #undef.
* ntoskrnl/rtl/string.c (strncpy): Terminate destination string.
* tools/Makefile (rsym): Add target.
* tools/helper.mk: Include config and use -g if DBG = 1.
2002-07-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
* Makefile (install_before): Install system.hiv to correct location.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* subsys/win32k/include/callback.h: Fixed callback argument
definitions.
* subsys/win32k/ntuser/winpos.c: Implemented some more of the windows
sizing/moving code.
* subsys/win32k/ntuser/painting.c: Implemented some more of the
window painting code.
* subsys/win32k/objects/coord.c: Implemented LPtoDP and DPtoLP.
* subsys/win32k/objects/region.c: Added stubs for some more
region functions.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the
process desktop handle as well.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* ntoskrnl/se/token.c: Don't call the ZwXXX variant of
system calls when in system context.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* ntoskrnl/Makefile: Added file with MDA output code.
* ntoskrnl/kd/kdebug.c: Recognize MDA as a destination for
debug output.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* lib/user32/windows/defwnd.c: Implemented some more of the
default window handler.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* lib/user32/misc/stubs.c: Removed some stubs to seperate files.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* lib/user32/user32.def: Export ScreenToClient otherwise we
get problems when code in user32 tries to call it.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* include/win32k/region.h: Added prototypes for some missing
region functions.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* include/win32k/ntuser.h: Added prototypes for some missing
NtUserXXX functions.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* include/user32/wininternal.h: Added some constants for
private GetDCEx styles that WINE needs.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* include/user32/callback.h: Fixed callbacks for messages with
parameters.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* include/napi/win32.h (W32THREAD): Added pointer to the
thread's desktop.
* include/napi/win32.h (W32PROCESS): Removed handle table,
added a pointer to the process's window station.
* subsys/win32k/ntuser/guicheck.c (W32kGuiCheck): Reference
a process's window station on the first win32k system call. Reference
a thread's desktop on the first win32k system call.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* include/messages.h: Added some missing WM_XXX constants.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* drivers/dd/ide/makefile: Compiling with debugging messages
needs libgcc to be linked in.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* iface/addsys/genw32k.c: Generate a variable with the
number of system calls.
* iface/native/genntdll.c: Generate a proper stack frame for
the user system call stubs.
* ntoskrnl/ke/i386/syscall.S: Generate a proper stack frame for
the handler for system calls.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* Makefile: Build the GUI startup application.
* subsys/system/gstart/gstart.c: Application to start up
the GUI.
2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* tools/helper.mk: Make an import library a proper target
depending on the .def file.
2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* subsys/win32k/ntuser/window.c (NtUserGetWindowLong): Began
implementation.
2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* subsys/win32k/misc/object.c (ObmCreateHandle): Return the
correct handle value.
2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* subsys/win32k/makefile: Make win32k depend on the file containing
the service table.
2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* ntoskrnl/ke/i386/stkswitch.S (KeSwitchStackAndRet,
KePushAndStackSwitchAndSysRet): Push one value only.
* ntoskrnl/ps/w32call.c (NtCallbackReturn, NtW32Call): Moved
these functions to a new file. Restore the old trap frame after
returning from a callback.
2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* lib/user32/windows/message.c (CallWindowProcA, CallWindowProcW):
Convert message to Unicode or ASCII if necessary.
2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* include/user32/callback.h: Added WM_CREATE and WM_NCCALCSIZE
callbacks.
* lib/user32/windows/window.c (User32SendCREATEMessageForKernel,
User32SendNCCREATEMessageForKernel): Implemented.
* subsys/win32k/ntuser/callback.c (W32kSendCREATEMessage):
Implemented.
2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* include/structs.h: Added Unicode and ASCII versions of
CREATESTRUCT.
2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* tools/helper.mk: Make the install target depend on all the
files to be installed.
2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* ntoskrnl/ps/thread.c (NtCallbackReturn): Set TSS.Esp0 to the
top of the old stack.
* ntoskrnl/ps/thread.c (NtW32Call): Set TSS.Esp0 to the top of
the new stack. Free the callback stack correctly. Don't copy
portion of the trap frame that doesn't exist in non-v86-mode
interrupts.
* ntoskrnl/ps/thread.c (PsFreeCallbackStack): New function to
free a stack allocated with PsAllocateCallbackStack.
2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* drivers/dd/null/makefile: Commented out local LDFLAGS as
these cause bad relocations in the stripped image.
2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* config: Corrected spelling error.
2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* subsys/system/winlogon/winlogon.c (WinMain): Check for
failure when creating a window system.
2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* ntoskrnl/ob/handle.c (ObDuplicateObject): Added this internal
function for duplicating objects.
* ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the parent
process's window station to the child process.
* ntoskrnl/ps/process.c (PsInitProcessManagement): Initialize the
first process's window station.
2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* ntoskrnl/mm/marea.c (MmCreateMemoryArea): Initialise
page operation structure members.
* ntoskrnl/mm/pageop.c (MmReleasePageOp, MmGetPageOp): Increment
or decrement the page operation count in the memory area.
* ntoskrnl/mm/virtual.c (MmNotPresentFaultVirtualMemory,
MmPageOutVirtualMemory): Check for a deleted memory area before
handling the fault.
* ntoskrnl/mm/virtual.c (MmFreeVirtualMemory): Wait for all
page operations to finish before freeing the memory area.
2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* ntoskrnl/ke/i386/syscall.S (interrupt_handler2e): Corrected
test for previous mode, upper 16-bit of CS on the stack after an
interrupt are arbitary.
2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* lib/user32/misc/winsta.c: Cleaned up indentation.
2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* apps/tests/winhello/winhello.c (WinMain, MainWndProc):
Cleaned up formatting, some more error checks.
2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* ntoskrnl/mm/virtual.c (MmSecureVirtualMemory,
MmUnsecureVirtualMemory, NtQueryVirtualMemory): Corrected indentation.
2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* ntoskrnl/ke/i386/exp.c (KiDoubleFaultHandler): Print CR3
correctly.
2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* ntoskrnl/include/internal/ps.h: Added KTHREAD_STACK_LIMIT definition.
* ntoskrnl/ke/i386/tskswitch.S (Ki386ContextSwitch): Force all the
pages of the kernel stack to be accessible from this process.
2002-06-04 David Welch <welch@cwcom.net>
* ntoskrnl/cc/view.c (ReadCacheSegmentChain): Changes to use
PHYSICAL_ADDRESS type for physical addresses.
* ntoskrnl/cc/copy.c (CcRosCreateCacheSegment): Changes to use
PHYSICAL_ADDRESS type for physical addresses.
* ntoskrnl/cc/copy.c (CcFreeCachePage): Changes to use
PHYSICAL_ADDRESS type for physical addresses.
* ntoskrnl/include/internal/mm.h: Changed prototypes to use
PHYSICAL_ADDRESS type for physical addresses.
* ntoskrnl/include/internal/ps.h (KPROCESS): Changed type of
page directory base to PHYSICAL_ADDRESS.
* ntoskrnl/include/internal/i386/mm.h: Changed prototypes to use
PHYSICAL_ADDRESS type for physical addresses.
* ntoskrnl/ke/kthread.c (KeFreeStackPage): Changes to use
PHYSICAL_ADDRESS type for physical addresses.
* ntoskrnl/ke/kthread.c (KeInitializeThread): Changes to use
PHYSICAL_ADDRESS type for physical addresses.
* ntoskrnl/ke/process.c (KeAttachProcess, KeDetachProcess): Changes
to use PHYSICAL_ADDRESS type for physical addresses.
* ntoskrnl/ke/kernel.c (PcrPages, KeApplicationProcessorInit): Changes
to use PHYSICAL_ADDRESS type for physical addresses.
* ntoskrnl/mm/balance.c (MM_ALLOCATION_REQUEST): Changes to use
PHYSICAL_ADDRESS type for physical addresses.
* ntoskrnl/mm/balance.c (MmReleasePageMemoryConsumer): Changes to use
PHYSICAL_ADDRESS type for physical addresses.
* ntoskrnl/mm/balance.c (MmRequestPageMemoryConsumer): Changes to use
PHYSICAL_ADDRESS type for physical addresses.
* ntoskrnl/mm/cont.c (MmFreeContinuousPage): Changes to use
PHYSICAL_ADDRESS type for physical addresses.
* ntoskrnl/mm/cont.c (MmAllocateContinuousAlignedMemory): Changes to
use PHYSICAL_ADDRESS type for physical addresses.
* ntoskrnl/mm/freelist.c (MmTransferOwnershipPage,
MmGetLRUFirstUserPage, MmGetLRUNextUserPage, MmGetContinuousPages,
MmInitializePageList, MmSetFlagsPage, MmSetRmapListHeadPage,
MmGetRmapListHeadPage, MmMarkPageMapped, MmMarkPageUnmapped,
MmGetFlagsPage, MmSetSavedSwapEntryPage, MmGetSavedSwapEntryPage,
MmReferencePage, MmGetReferenceCountPage, MmIsUsablePage,
MmDereferencePage, MmGetLockCountPage, MmLockPage, MmUnlockPage,
MmAllocPage): Changes to use PHYSICAL_ADDRESS type for physical
addresses.
* ntoskrnl/mm/iospace.c (MmMapIoSpace): Changes to use
PHYSICAL_ADDRESS type for physical addresses.
* ntoskrnl/mm/kmap.c (ExAllocatePage, MiZeroPage, MiCopyFromUserPage,
ExAllocatePageWithPhysPage): Changes to use PHYSICAL_ADDRESS type for
physical addresses.
* ntoskrnl/mm/marea.c (MmFreeMemoryArea): Changes to use
PHYSICAL_ADDRESS type for physical addresses.
* ntoskrnl/mm/mdl.c (MmUnlockPages, MmMapLockedPages,
MmProbeAndLockPages): Changes to use PHYSICAL_ADDRESS type for
physical addresses.
* ntoskrnl/mm/mm.c (MmSharedDataPagePhysicalAddress,
MmCommitPagedPoolAddress, MmNotPresentFault): Changes to use
PHYSICAL_ADDRESS type for physical addresses.
* ntoskrnl/mm/mminit.c (MmInitVirtualMemory): Changes to use
PHYSICAL_ADDRESS type for physical addresses.
* ntoskrnl/mm/ncache.c (MmAllocateNonCachedMemory,
MmFreeNonCachedPage): Changes to use PHYSICAL_ADDRESS type for
physical addresses.
* ntoskrnl/mm/npool.c (grow_kernel_pool): Changes to use
PHYSICAL_ADDRESS type for physical addresses.
* ntoskrnl/mm/rmap.c (MmPageOutPhysicalAddress, MmInsertRmap,
MmDeleteAllRmaps, MmDeleteRmap): Changes to use
PHYSICAL_ADDRESS type for physical addresses.
* ntoskrnl/mm/section.c (MiReadPage, MmNotPresentFaultSectionView,
MmAccessFaultSectionView, MmPageOutDeleteMapping,
MmPageOutSectionView, MmFreeSectionPage): Changes to use
PHYSICAL_ADDRESS type for physical addresses.
* ntoskrnl/mm/slab.c (ExGrowSlabCache): Changes to use
PHYSICAL_ADDRESS type for physical address.
* ntoskrnl/mm/virtual.c (MmPageOutVirtualMemory,
MmNotPresentFaultVirtualMemory, MmFreeVirtualMemoryPage): Changes to
use PHYSICAL_ADDRESS type for physical address.
* ntoskrnl/mm/wset.c (MmTrimUserMemory): Changes to use
PHYSICAL_ADDRESS type for physical address.
* ntoskrnl/mm/page.c (Mmi386ReleaseMmInfo, MmCopyMmInfo,
MmGetPhysicalAddressForProcess, MmCreateVirtualMapping,
MmCreateVirtualMappingUnsafe, MmCreateVirtualMappingForProcess,
MmDeleteVirtualMapping): Changes to use PHYSICAL_ADDRESS type for
physical address.
* ntoskrnl/ps/process (PsInitProcessManagment): Changes to use
PHYSICAL_ADDRESS type for physical address.
* ntoskrnl/ps/thread.c (PsAllocateCallbackStack): Changes to use
PHYSICAL_ADDRESS type for physical address.
2002-06-04 David Welch <welch@cwcom.net>
* Lots of change since the ChangeLog was last updated.
2001-03-18 David Welch <welch@cwcom.net>
* ntoskrnl/ke/apc.c (KiDeliverApc): Bug fix.
* ntoskrnl/ke/apc.c (KeInsertQueueApc): More comments.
* ntoskrnl/ke/catch.c (KiDispatchException): Bug fix.
* ntoskrnl/ke/timer.c (KeDelayExecutionThread): Don't use removed
function KeAddTimeoutThread.
* ntoskrnl/ke/timer.c (KeAddTimeoutThread): Removed.
* ntoskrnl/ke/wait.c (KeWaitForSingleObject, KeWaitForMultipleObjects):
Don't use KeAddTimeoutThread.
* ntoskrnl/mm/freelist.c (MmAllocateContiguousAlignedMemory): Bug fix
* ntoskrnl/mm/freelist.c (MmAllocatePage): Allocate from the top
memory.
2001-03-17 David Welch <welch@cwcom.net>
* ntoskrnl/ke/catch.c (KiDispatchException): Implementation of
exception handling, user-mode only.
2001-03-16 David Welch <welch@cwcom.net>
* include/ddk/zw.h: Corrected declarations of NtCreateProfile,
NtQueryIntervalProfile, NtSetIntervalProfile.
* include/ddk/zwtypes.h: Added definitions of KPROFILE_SOURCE.
* ntoskrnl/include/internal/ke.h: Added the interrupted EIP as a
parameter to KiUpdateSystemTime for profiling purposes.
* ntoskrnl/include/internal/nt: Added declaration for profiling
support initialization.
* ntoskrnl/ke/timer.c (KiUpdateSystemTime, KeExpireTimers): Call
the profiling code on a timer interrupt with the interrupt EIP.
* ntoskrnl/ke/i386/irq.c (KiDispatchInterrupt): Pass the interrupted
EIP to KiUpdateSystemTime.
* ntoskrnl/mm/virtual.c (NtReadVirtualMemory, NtWriteVirtualMemory):
Release the MDLs used properly.
* ntoskrnl/nt/nt.c: Call the profiling support initialization.
* ntoskrnl/nt/ntevent.c (NtCreateEvent): Don't try copying the
ObjectAttributes parameter if it is NULL.
* ntoskrnl/nt/profile.c: Implemented profiling.
2001-03-16 David Welch <welch@cwcom.net>
* ntoskrnl/include/internal/safe.h: Corrected typo.
* ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtQueryEvent):
Corrected typos.
* ntoskrnl/rtl/mem.c: Missing header file.
2001-03-16 David Welch <welch@cwcom.net>
* ntoskrnl/include/internal/safe.h: Add definitions for handling
potentially unsafe pointers.
2001-03-16 David Welch <welch@cwcom.net>
* ntoskrnl/include/internal/mm.h: Removed MmSafeCopyToUser and
MmSafeCopyFromUser as source files need these but don't want internal
mm definitions.
* ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtPulseEvent,
NtQueryEvent, NtResetEvent, NtSetEvent): Copy data to and from
user mode safely.
* ntoskrnl/rtl/mem.c (MmCopyToCaller, MmCopyFromCaller): Helper
functions for copying data to and from potentially unsafe pointers.
2000-12-23 David Welch <welch@cwcom.net>
* All task switching is done in software.
* Beginnings of v86 mode support.
2000-12-22 David Welch <welch@cwcom.net>
* ntoskrnl/ps/kill.c (PiTerminateProcessThreads): Drop
PiThreadListLock before calling PsTerminateOtherThread
2000-12-16 David Welch <welch@cwcom.net>
* ntoskrnl/ex/fmutex.c (ExReleaseFastMutexUnsafe): Only set the
fast mutex's owner back to NULL if it is being released
2000-12-10 David Welch <welch@cwcom.net>
* ntoskrnl/ke/i386/vm86_sup.S (Ki386RetToV86Mode): Added function
to do the raw switch to v86 mode.
* ntoskrnl/include/internal/vm86.h: Definitions for the v86 mode
support.
2000-12-10 David Welch <welch@cwcom.net>
* ntoskrnl/ke/i386/trap.s (PsBeginThreadWithContextInternal): Moved
to ntoskrnl/ke/i386/bswitch.S.
* ntoskrnl/ke/i386/trap.s (interrupt_handler2e): Moved to
ntoskrnl/ke/i386/syscall.S.
* ntoskrnl/ke/i386/trap.s (old_interrupt_handler2e): Removed.
2000-12-04 David Welch <welch@cwcom.net>
* ntoskrnl/ke/i386/irq.c (KiInterruptDispatch): Record the last PC
value for a rescheduled thread.
* ntoskrnl/ke/i386/irqhand.s: Construct a primitive trap frame
in interrupt handlers.
2000-08-30 David Welch <welch@cwcom.net>
* Added calibration of KeStallExecutionProcessor timing
(code from linux 2.2.16).
* Corrected compilation bugs in user32 library.
* Corrected compilation bugs related to anonymous structs
in ndis code.
* Pass command line to kernel from loadros.
* Corrected PIC mask calculation.
2000-05-27 David Welch <welch@cwcom.net>
* Fixed issue with closing non-existent or already closed
handle.
2000-01-26 David Welch <welch@cwcom.net>
* ZwCreateProcess now maps ntdll rather than the user-mode
code.
1999-09-06 David Welch <welch@cwcom.net>
* Implemented ZwOpenProcess.
* Partially implemented killing other threads (possible memory
leaks).
* Made a start on a proper implemention of APCs (based on
article in NT insider).
1998-12-08 David Welch <welch@cwcom.net>
* Corrected bug in shell (Read two keypresses and assumed they
where the key going up and down respectively).
* Corrected race in dpc handling.
* Took out cleanup sections in ZwReadFile (now handled by the
APC).
* Disabled broken code in kernel32.

74
reactos/INSTALL Normal file
View File

@@ -0,0 +1,74 @@
1. Build environment
To build the system you need either mingw32 installed on Windows or a mingw32
cross compiler running on unix.
2. Building ReactOS
To build from Windows run 'make' (wihout the quotes) from the top directory.
To build from unix, edit rules.mak and change the PREFIX variable to the
correct value for your cross-compiler, then run 'make'.
3. Installation
The system can only be installed on the first partition on the first harddisk.
The partition must be formatted as FAT16 or FAT32. The system can only be
started from DOS and not from a Windows DOS-prompt.
ReactOS can be installed from the source distribution or from the binary
distribution. The two ways to install ReactOS are explained below.
3.1 Installation from sources
To install ReactOS after building it, type 'make install'. This will create
the directory 'reactos' in the top directory. Copy this directory to the root
of your first partition on your first harddisk. This is usually c:\ on a
Windows machine.
If you don't want to copy the files manually every time you run a 'make install',
you can specify the directory where the files are to be copied to during
installation.
In rules.mak find the variable INSTALL_DIR and change the assigned value to the
name of the directory where the files are to be copied to. If you are using
Windows this could be:
INSTALL_DIR = c:\reactos
If you are on linux this could be:
INSTALL_DIR = /mnt/windows/reactos
Save the changes to rules.mak and run 'make install' to install the files to
the new location.
3.2 Installation from binany distribution
To install ReactOS from the binary distribution, extract the archive contents
to c:\reactos. Remember to extract the files with full paths.
4. Booting ReactOS
Startup in DOS mode. 'cd' to c:\reactos and type 'boot' and press <enter>.
ReactOS will now boot and when it has booted, you are asked for a username and
password. Just press <enter> twice as ReactOS does not currently have user
validation. A simple shell is started where you can use simple commands like
'cd' and 'dir'.
You may also want to try running the enhanced shell, cmd.exe, found in
the rosapps CVS module.
5. Help
If you run into problems or have suggestions for making ReactOS better, please
surf to the address below and subscribe to one or more of the mailing lists.
http://www.reactos.com/index.php?tab=discussion&section=lists
ReactOS Development Team

787
reactos/Makefile Normal file
View File

@@ -0,0 +1,787 @@
#
# Global makefile
#
PATH_TO_TOP = .
#
# Define to build WINE modules
#
ifeq ($(ROS_BUILD_WINE),)
ROS_BUILD_WINE = no
else
ROS_BUILD_WINE = yes
endif
include $(PATH_TO_TOP)/rules.mak
# Required to run the system
COMPONENTS = iface_native iface_additional hallib ntoskrnl
# Hardware Abstraction Layers
# halx86
HALS = halx86
# Bus drivers
# acpi isapnp pci
BUS = acpi isapnp pci
# User mode libraries
# advapi32 crtdll fmifs gdi32 kernel32 libpcap packet msafd msvcrt ntdll ole32
# oleaut32 psapi rpcrt4 secur32 shell32 user32 version ws2help ws2_32 wsock32 wshirda
DLLS = advapi32 crtdll fmifs gdi32 kernel32 packet msafd msvcrt ntdll \
secur32 user32 version ws2help ws2_32 wshirda
SUBSYS = smss win32k csrss
#
# Select the server(s) you want to build
#
#SERVERS = posix linux os2
SERVERS = win32
# Boot loaders
# dos
LOADERS = dos
# Driver support libraries
#bzip2 zlib
DRIVERS_LIB = bzip2 zlib
# Kernel mode device drivers
# beep blue floppy ide keyboard mouse null parallel ramdrv serial vga vidport
DEVICE_DRIVERS = beep blue floppy ide null vga vidport
# Kernel mode input drivers
# keyboard mouclass psaux sermouse
INPUT_DRIVERS = keyboard mouclass psaux
# Kernel mode file system drivers
# cdfs ext2 fs_rec ms np vfat
FS_DRIVERS = cdfs fs_rec ms np vfat mup ntfs
# Kernel mode networking drivers
# afd ndis packet tcpip tdi wshtcpip
NET_DRIVERS = afd ndis packet tcpip tdi wshtcpip
# Kernel mode networking device drivers
# ne2000
NET_DEVICE_DRIVERS = ne2000
# Kernel mode storage drivers
# atapi cdrom class2 disk scsiport
STORAGE_DRIVERS = atapi cdrom class2 disk scsiport
# System applications
# autochk lsass services shell winlogon
SYS_APPS = autochk services shell winlogon gstart
# System services
# rpcss eventlog
SYS_SVC = rpcss eventlog
# Test applications
# alive apc args atomtest bench consume count dump_shared_data
# event file gditest hello isotest lpc mstest mutex nptest
# pteb regtest sectest shm simple thread vmtest winhello
TEST_APPS = alive apc args atomtest bench consume count dump_shared_data \
event file gditest hello isotest lpc mstest mutex nptest \
pteb regtest sectest shm simple thread tokentest vmtest winhello
# Test applications
# cabman cat net objdir partinfo pice ps stats
UTIL_APPS = cat objdir partinfo stats
#
# Win32 Subsystem support (Based on WINE)
# FIXME: Move to this its own Makefile
#
WINE_OTHER = unicode library
WINE_TOOLS = bin2res wrc winebuild
WINE_DLLS = comcat crtdll comctl32 commdlg dsound dplayx imagehlp ole32 richedit \
shlwapi shell32 shdocvw twain urlmon winspool \
rpcrt4 # needed to make rcprt4 implib
# mapi32 oleaut32 oledlg olepro32 olecli olesvr shfolder
# winmm ddraw dinput dplay serialui tapi32 urlmon wintrust
# msinfo lzexpand (missing imports)
WINE_PROGS = control expand osversioncheck regedit regsvr32 winver uninstaller
# (waiting on wrc fix for the rest of these)
# clock cmdlgtst notepad progman wcmd
# winefile winemine winetest uninstaller
ifeq ($(ROS_BUILD_WINE),yes)
WINE_MODULES = $(WINE_OTHER) $(WINE_TOOLS) $(WINE_DLLS) $(WINE_PROGS)
else
WINE_MODULES =
endif
KERNEL_DRIVERS = $(DRIVERS_LIB) $(DEVICE_DRIVERS) $(INPUT_DRIVERS) $(FS_DRIVERS) \
$(NET_DRIVERS) $(NET_DEVICE_DRIVERS) $(STORAGE_DRIVERS)
all: tools dk implib $(COMPONENTS) $(HALS) $(BUS) $(DLLS) $(SUBSYS) \
$(LOADERS) $(KERNEL_DRIVERS) $(SYS_APPS) $(SYS_SVC) $(TEST_APPS) \
$(UTIL_APPS) $(WINE_MODULES)
implib: $(COMPONENTS:%=%_implib) $(HALS:%=%_implib) $(BUS:%=%_implib) \
$(DLLS:%=%_implib) $(LOADERS:%=%_implib) \
$(KERNEL_DRIVERS:%=%_implib) $(SUBSYS:%=%_implib) \
$(SYS_APPS:%=%_implib) $(SYS_SVC:%=%_implib) \
$(TEST_APPS:%=%_implib) $(UTIL_APPS:%=%_implib) \
$(WINE_MODULES:%=%_implib)
clean: tools dk_clean $(HALS:%=%_clean) \
$(COMPONENTS:%=%_clean) $(BUS:%=%_clean) $(DLLS:%=%_clean) \
$(LOADERS:%=%_clean) $(KERNEL_DRIVERS:%=%_clean) $(SUBSYS:%=%_clean) \
$(SYS_APPS:%=%_clean) $(SYS_SVC:%=%_clean) $(TEST_APPS:%=%_clean) \
$(UTIL_APPS:%=%_clean) $(NET_APPS:%=%_clean) $(WINE_MODULES:%=%_clean) \
clean_after tools_clean
clean_after:
$(RM) $(PATH_TO_TOP)/include/roscfg.h
install: tools install_dirs install_before \
$(COMPONENTS:%=%_install) $(HALS:%=%_install) $(BUS:%=%_install) \
$(DLLS:%=%_install) $(LOADERS:%=%_install) \
$(KERNEL_DRIVERS:%=%_install) $(SUBSYS:%=%_install) \
$(SYS_APPS:%=%_install) $(SYS_SVC:%=%_install) \
$(TEST_APPS:%=%_install) $(UTIL_APPS:%=%_install) \
$(WINE_MODULES:%=%_install)
dist: $(TOOLS_PATH)/rcopy$(EXE_POSTFIX) dist_clean dist_dirs \
$(HALS:%=%_dist) $(COMPONENTS:%=%_dist) $(BUS:%=%_dist) $(DLLS:%=%_dist) \
$(LOADERS:%=%_dist) $(KERNEL_DRIVERS:%=%_dist) $(SUBSYS:%=%_dist) \
$(SYS_APPS:%=%_dist) $(SYS_SVC:%=%_dist) $(TEST_APPS:%=%_dist) \
$(UTIL_APPS:%=%_dist) $(NET_APPS:%=%_dist) $(WINE_MODULES:%=%_dist)
.PHONY: all implib clean clean_before install dist
#
# System Applications
#
$(SYS_APPS): %:
make -C subsys/system/$*
$(SYS_APPS:%=%_implib): %_implib:
make -C subsys/system/$* implib
$(SYS_APPS:%=%_clean): %_clean:
make -C subsys/system/$* clean
$(SYS_APPS:%=%_dist): %_dist:
make -C subsys/system/$* dist
$(SYS_APPS:%=%_install): %_install:
make -C subsys/system/$* install
.PHONY: $(SYS_APPS) $(SYS_APPS:%=%_implib) $(SYS_APPS:%=%_clean) $(SYS_APPS:%=%_install) $(SYS_APPS:%=%_dist)
#
# System Services
#
$(SYS_SVC): %:
make -C services/$*
$(SYS_SVC:%=%_implib): %_implib:
make -C services/$* implib
$(SYS_SVC:%=%_clean): %_clean:
make -C services/$* clean
$(SYS_SVC:%=%_dist): %_dist:
make -C services/$* dist
$(SYS_SVC:%=%_install): %_install:
make -C services/$* install
.PHONY: $(SYS_SVC) $(SYS_SVC:%=%_implib) $(SYS_SVC:%=%_clean) $(SYS_SVC:%=%_install) $(SYS_SVC:%=%_dist)
#
# Test Applications
#
$(TEST_APPS): %:
make -C apps/tests/$*
$(TEST_APPS:%=%_implib): %_implib:
make -C apps/tests/$* implib
$(TEST_APPS:%=%_clean): %_clean:
make -C apps/tests/$* clean
$(TEST_APPS:%=%_dist): %_dist:
make -C apps/tests/$* dist
$(TEST_APPS:%=%_install): %_install:
make -C apps/tests/$* install
.PHONY: $(TEST_APPS) $(TEST_APPS:%=%_implib) $(TEST_APPS:%=%_clean) $(TEST_APPS:%=%_install) $(TEST_APPS:%=%_dist)
#
# Utility Applications
#
$(UTIL_APPS): %:
make -C apps/utils/$*
$(UTIL_APPS:%=%_implib): %_implib:
make -C apps/utils/$* implib
$(UTIL_APPS:%=%_clean): %_clean:
make -C apps/utils/$* clean
$(UTIL_APPS:%=%_dist): %_dist:
make -C apps/utils/$* dist
$(UTIL_APPS:%=%_install): %_install:
make -C apps/utils/$* install
.PHONY: $(UTIL_APPS) $(UTIL_APPS:%=%_implib) $(UTIL_APPS:%=%_clean) $(UTIL_APPS:%=%_install) $(UTIL_APPS:%=%_dist)
#
# Other Wine Modules
#
$(WINE_OTHER): %:
make -f makefile.ros -C $(WINE_PATH)/$*
$(WINE_OTHER:%=%_implib): %_implib:
make -f makefile.ros -C $(WINE_PATH)/$* implib
$(WINE_OTHER:%=%_clean): %_clean:
make -f makefile.ros -C $(WINE_PATH)/$* clean
$(WINE_OTHER:%=%_dist): %_dist:
make -f makefile.ros -C $(WINE_PATH)/$* dist
$(WINE_OTHER:%=%_install): %_install:
make -f makefile.ros -C $(WINE_PATH)/$* install
.PHONY: $(WINE_OTHER) $(WINE_OTHER:%=%_implib) $(WINE_OTHER:%=%_clean) $(WINE_OTHER:%=%_install) $(WINE_OTHER:%=%_dist)
#
# Wine Tools
#
$(WINE_TOOLS): %:
make -f makefile.ros -C $(WINE_PATH)/tools/$*
$(WINE_TOOLS:%=%_implib): %_implib:
make -f makefile.ros -C $(WINE_PATH)/tools/$* implib
$(WINE_TOOLS:%=%_clean): %_clean:
make -f makefile.ros -C $(WINE_PATH)/tools/$* clean
$(WINE_TOOLS:%=%_dist): %_dist:
make -f makefile.ros -C $(WINE_PATH)/tools/$* dist
$(WINE_TOOLS:%=%_install): %_install:
make -f makefile.ros -C $(WINE_PATH)/tools/$* install
.PHONY: $(WINE_DLLS) $(WINE_DLLS:%=%_implib) $(WINE_DLLS:%=%_clean) $(WINE_DLLS:%=%_install) $(WINE_DLLS:%=%_dist)
#
# Wine DLLs
#
$(WINE_DLLS): %:
make -f makefile.ros -C $(WINE_PATH)/dlls/$*
$(WINE_DLLS:%=%_implib): %_implib:
make -f makefile.ros -C $(WINE_PATH)/dlls/$* implib
$(WINE_DLLS:%=%_clean): %_clean:
make -f makefile.ros -C $(WINE_PATH)/dlls/$* clean
$(WINE_DLLS:%=%_dist): %_dist:
make -f makefile.ros -C $(WINE_PATH)/dlls/$* dist
$(WINE_DLLS:%=%_install): %_install:
make -f makefile.ros -C $(WINE_PATH)/dlls/$* install
.PHONY: $(WINE_DLLS) $(WINE_DLLS:%=%_implib) $(WINE_DLLS:%=%_clean) $(WINE_DLLS:%=%_install) $(WINE_DLLS:%=%_dist)
#
# Wine programs
#
$(WINE_PROGS): %:
make -f makefile.ros -C $(WINE_PATH)/programs/$*
$(WINE_PROGS:%=%_implib): %_implib:
make -f makefile.ros -C $(WINE_PATH)/programs/$* implib
$(WINE_PROGS:%=%_clean): %_clean:
make -f makefile.ros -C $(WINE_PATH)/programs/$* clean
$(WINE_PROGS:%=%_dist): %_dist:
make -f makefile.ros -C $(WINE_PATH)/programs/$* dist
$(WINE_PROGS:%=%_install): %_install:
make -f makefile.ros -C $(WINE_PATH)/programs/$* install
.PHONY: $(WINE_PROGS) $(WINE_PROGS:%=%_implib) $(WINE_PROGS:%=%_clean) $(WINE_PROGS:%=%_install) $(WINE_PROGS:%=%_dist)
#
# Tools
#
tools:
make -C tools
tools_implib:
tools_clean:
make -C tools clean
tools_install:
tools_dist:
.PHONY: tools tools_implib tools_clean tools_install tools_dist
#
# Developer Kits
#
dk:
$(RMKDIR) $(DK_PATH)
$(RMKDIR) $(DDK_PATH)
$(RMKDIR) $(DDK_PATH_LIB)
$(RMKDIR) $(DDK_PATH_INC)
$(RMKDIR) $(SDK_PATH)
$(RMKDIR) $(SDK_PATH_LIB)
$(RMKDIR) $(SDK_PATH_INC)
$(RMKDIR) $(XDK_PATH)
$(RMKDIR) $(XDK_PATH_LIB)
$(RMKDIR) $(XDK_PATH_INC)
dk_implib:
# WARNING! Be very sure that there are no important files
# in these directories before cleaning them!!!
dk_clean:
$(RM) $(DDK_PATH_LIB)/*.a
# $(RM) $(DDK_PATH_INC)/*.h
$(RMDIR) $(DDK_PATH_LIB)
# $(RMDIR) $(DDK_PATH_INC)
$(RM) $(SDK_PATH_LIB)/*.a
# $(RM) $(SDK_PATH_INC)/*.h
$(RMDIR) $(SDK_PATH_LIB)
# $(RMDIR) $(SDK_PATH_INC)
$(RM) $(XDK_PATH_LIB)/*.a
# $(RM) $(XDK_PATH_INC)/*.h
$(RMDIR) $(XDK_PATH_LIB)
# $(RMDIR) $(XDK_PATH_INC)
dk_install:
dk_dist:
.PHONY: dk dk_implib dk_clean dk_install dk_dist
#
# Interfaces
#
iface_native:
make -C iface/native
iface_native_implib:
iface_native_clean:
make -C iface/native clean
iface_native_install:
iface_native_dist:
iface_additional:
make -C iface/addsys
iface_additional_implib:
iface_additional_clean:
make -C iface/addsys clean
iface_additional_install:
iface_additional_dist:
.PHONY: iface_native iface_native_implib iface_native_clean iface_native_install \
iface_native_dist \
iface_additional iface_additional_implib iface_additional_clean \
iface_additional_install iface_additional_dist
#
# Bus driver rules
#
$(BUS): %:
make -C drivers/bus/$*
$(BUS:%=%_implib): %_implib:
make -C drivers/bus/$* implib
$(BUS:%=%_clean): %_clean:
make -C drivers/bus/$* clean
$(BUS:%=%_install): %_install:
make -C drivers/bus/$* install
$(BUS:%=%_dist): %_dist:
make -C drivers/bus/$* dist
.PHONY: $(BUS) $(BUS:%=%_implib) $(BUS:%=%_clean) \
$(BUS:%=%_install) $(BUS:%=%_dist)
#
# Driver support libraries rules
#
$(DRIVERS_LIB): %:
make -C drivers/lib/$*
$(DRIVERS_LIB:%=%_implib): %_implib:
make -C drivers/lib/$* implib
$(DRIVERS_LIB:%=%_clean): %_clean:
make -C drivers/lib/$* clean
$(DRIVERS_LIB:%=%_install): %_install:
make -C drivers/lib/$* install
$(DRIVERS_LIB:%=%_dist): %_dist:
make -C drivers/lib/$* dist
.PHONY: $(DRIVERS_LIB) $(DRIVERS_LIB:%=%_implib) $(DRIVERS_LIB:%=%_clean) \
$(DRIVERS_LIB:%=%_install) $(DRIVERS_LIB:%=%_dist)
#
# Device driver rules
#
$(DEVICE_DRIVERS): %:
make -C drivers/dd/$*
$(DEVICE_DRIVERS:%=%_implib): %_implib:
make -C drivers/dd/$* implib
$(DEVICE_DRIVERS:%=%_clean): %_clean:
make -C drivers/dd/$* clean
$(DEVICE_DRIVERS:%=%_install): %_install:
make -C drivers/dd/$* install
$(DEVICE_DRIVERS:%=%_dist): %_dist:
make -C drivers/dd/$* dist
.PHONY: $(DEVICE_DRIVERS) $(DEVICE_DRIVERS:%=%_implib) $(DEVICE_DRIVERS:%=%_clean) \
$(DEVICE_DRIVERS:%=%_install) $(DEVICE_DRIVERS:%=%_dist)
#
# Input driver rules
#
$(INPUT_DRIVERS): %:
make -C drivers/input/$*
$(INPUT_DRIVERS:%=%_implib): %_implib:
make -C drivers/input/$* implib
$(INPUT_DRIVERS:%=%_clean): %_clean:
make -C drivers/input/$* clean
$(INPUT_DRIVERS:%=%_install): %_install:
make -C drivers/input/$* install
$(INPUT_DRIVERS:%=%_dist): %_dist:
make -C drivers/input/$* dist
.PHONY: $(INPUT_DRIVERS) $(INPUT_DRIVERS:%=%_implib) $(INPUT_DRIVERS:%=%_clean)\
$(INPUT_DRIVERS:%=%_install) $(INPUT_DRIVERS:%=%_dist)
$(FS_DRIVERS): %:
make -C drivers/fs/$*
$(FS_DRIVERS:%=%_implib): %_implib:
make -C drivers/fs/$* implib
$(FS_DRIVERS:%=%_clean): %_clean:
make -C drivers/fs/$* clean
$(FS_DRIVERS:%=%_install): %_install:
make -C drivers/fs/$* install
$(FS_DRIVERS:%=%_dist): %_dist:
make -C drivers/fs/$* dist
.PHONY: $(FS_DRIVERS) $(FS_DRIVERS:%=%_implib) $(FS_DRIVERS:%=%_clean) \
$(FS_DRIVERS:%=%_install) $(FS_DRIVERS:%=%_dist)
#
# Network driver rules
#
$(NET_DRIVERS): %:
make -C drivers/net/$*
$(NET_DRIVERS:%=%_implib): %_implib:
make -C drivers/net/$* implib
$(NET_DRIVERS:%=%_clean): %_clean:
make -C drivers/net/$* clean
$(NET_DRIVERS:%=%_install): %_install:
make -C drivers/net/$* install
$(NET_DRIVERS:%=%_dist): %_dist:
make -C drivers/net/$* dist
.PHONY: $(NET_DRIVERS) $(NET_DRIVERS:%=%_implib) $(NET_DRIVERS:%=%_clean) \
$(NET_DRIVERS:%=%_install) $(NET_DRIVERS:%=%_dist)
$(NET_DEVICE_DRIVERS): %:
make -C drivers/net/dd/$*
$(NET_DEVICE_DRIVERS:%=%_implib): %_implib:
make -C drivers/net/dd/$* implib
$(NET_DEVICE_DRIVERS:%=%_clean): %_clean:
make -C drivers/net/dd/$* clean
$(NET_DEVICE_DRIVERS:%=%_install): %_install:
make -C drivers/net/dd/$* install
$(NET_DEVICE_DRIVERS:%=%_dist): %_dist:
make -C drivers/net/dd/$* dist
.PHONY: $(NET_DEVICE_DRIVERS) $(NET_DEVICE_DRIVERS:%=%_clean) $(NET_DEVICE_DRIVERS:%=%_implib) \
$(NET_DEVICE_DRIVERS:%=%_install) $(NET_DEVICE_DRIVERS:%=%_dist)
#
# storage driver rules
#
$(STORAGE_DRIVERS): %:
make -C drivers/storage/$*
$(STORAGE_DRIVERS:%=%_implib): %_implib:
make -C drivers/storage/$* implib
$(STORAGE_DRIVERS:%=%_clean): %_clean:
make -C drivers/storage/$* clean
$(STORAGE_DRIVERS:%=%_install): %_install:
make -C drivers/storage/$* install
$(STORAGE_DRIVERS:%=%_dist): %_dist:
make -C drivers/storage/$* dist
.PHONY: $(STORAGE_DRIVERS) $(STORAGE_DRIVERS:%=%_clean) \
$(STORAGE_DRIVERS:%=%_install) $(STORAGE_DRIVERS:%=%_dist)
#
# Kernel loaders
#
$(LOADERS): %:
make -C loaders/$*
$(LOADERS:%=%_implib): %_implib:
$(LOADERS:%=%_clean): %_clean:
make -C loaders/$* clean
$(LOADERS:%=%_install): %_install:
make -C loaders/$* install
$(LOADERS:%=%_dist): %_dist:
make -C loaders/$* dist
.PHONY: $(LOADERS) $(LOADERS:%=%_implib) $(LOADERS:%=%_clean) $(LOADERS:%=%_install) \
$(LOADERS:%=%_dist)
#
# Required system components
#
ntoskrnl:
make -C ntoskrnl
ntoskrnl_implib:
make -C ntoskrnl implib
ntoskrnl_clean:
make -C ntoskrnl clean
ntoskrnl_install:
make -C ntoskrnl install
ntoskrnl_dist:
make -C ntoskrnl dist
.PHONY: ntoskrnl ntoskrnl_implib ntoskrnl_clean ntoskrnl_install ntoskrnl_dist
#
# Hardware Abstraction Layer import library
#
hallib:
make -C hal/hal
hallib_implib:
make -C hal/hal implib
hallib_clean:
make -C hal/hal clean
hallib_install:
make -C hal/hal install
hallib_dist:
make -C hal/hal dist
.PHONY: hallib hallib_implib hallib_clean hallib_install hallib_dist
#
# Hardware Abstraction Layers
#
$(HALS): %:
make -C hal/$*
$(HALS:%=%_implib): %_implib:
make -C hal/$* implib
$(HALS:%=%_clean): %_clean:
make -C hal/$* clean
$(HALS:%=%_install): %_install:
make -C hal/$* install
$(HALS:%=%_dist): %_dist:
make -C hal/$* dist
.PHONY: $(HALS) $(HALS:%=%_implib) $(HALS:%=%_clean) $(HALS:%=%_install) $(HALS:%=%_dist)
#
# Required DLLs
#
$(DLLS): %:
make -C lib/$*
$(DLLS:%=%_implib): %_implib:
make -C lib/$* implib
$(DLLS:%=%_clean): %_clean:
make -C lib/$* clean
$(DLLS:%=%_install): %_install:
make -C lib/$* install
$(DLLS:%=%_dist): %_dist:
make -C lib/$* dist
.PHONY: $(DLLS) $(DLLS:%=%_implib) $(DLLS:%=%_clean) $(DLLS:%=%_install) $(DLLS:%=%_dist)
#
# Subsystem support modules
#
$(SUBSYS): %:
make -C subsys/$*
$(SUBSYS:%=%_implib): %_implib:
make -C subsys/$* implib
$(SUBSYS:%=%_clean): %_clean:
make -C subsys/$* clean
$(SUBSYS:%=%_install): %_install:
make -C subsys/$* install
$(SUBSYS:%=%_dist): %_dist:
make -C subsys/$* dist
.PHONY: $(SUBSYS) $(SUBSYS:%=%_implib) $(SUBSYS:%=%_clean) $(SUBSYS:%=%_install) \
$(SUBSYS:%=%_dist)
#
# Create an installation
#
install_clean:
$(RM) $(INSTALL_DIR)/system32/drivers/*.*
$(RM) $(INSTALL_DIR)/system32/config/*.*
$(RM) $(INSTALL_DIR)/system32/*.*
$(RM) $(INSTALL_DIR)/symbols/*.*
$(RM) $(INSTALL_DIR)/media/fonts/*.*
$(RM) $(INSTALL_DIR)/media/*.*
$(RM) $(INSTALL_DIR)/bin/*.*
$(RM) $(INSTALL_DIR)/*.com
$(RM) $(INSTALL_DIR)/*.bat
$(RMDIR) $(INSTALL_DIR)/system32/drivers
$(RMDIR) $(INSTALL_DIR)/system32/config
$(RMDIR) $(INSTALL_DIR)/system32
$(RMDIR) $(INSTALL_DIR)/symbols
$(RMDIR) $(INSTALL_DIR)/media/fonts
$(RMDIR) $(INSTALL_DIR)/media
$(RMDIR) $(INSTALL_DIR)/bin
$(RMDIR) $(INSTALL_DIR)
install_dirs:
$(RMKDIR) $(INSTALL_DIR)
$(RMKDIR) $(INSTALL_DIR)/bin
$(RMKDIR) $(INSTALL_DIR)/media
$(RMKDIR) $(INSTALL_DIR)/media/fonts
$(RMKDIR) $(INSTALL_DIR)/symbols
$(RMKDIR) $(INSTALL_DIR)/system32
$(RMKDIR) $(INSTALL_DIR)/system32/config
$(RMKDIR) $(INSTALL_DIR)/system32/drivers
install_before:
$(CP) bootc.lst $(INSTALL_DIR)/bootc.lst
$(CP) boot.bat $(INSTALL_DIR)/boot.bat
$(CP) aboot.bat $(INSTALL_DIR)/aboot.bat
$(CP) system.hiv $(INSTALL_DIR)/system32/config/system.hiv
$(CP) media/fonts/helb____.ttf $(INSTALL_DIR)/media/fonts/helb____.ttf
$(CP) media/fonts/timr____.ttf $(INSTALL_DIR)/media/fonts/timr____.ttf
.PHONY: install_clean install_dirs install_before
#
# Make a distribution saveset
#
dist_clean:
$(RM) $(DIST_DIR)/symbols/*.sym
$(RM) $(DIST_DIR)/drivers/*.sys
$(RM) $(DIST_DIR)/subsys/*.exe
$(RM) $(DIST_DIR)/dlls/*.dll
$(RM) $(DIST_DIR)/apps/*.exe
$(RM) $(DIST_DIR)/*.exe
$(RMDIR) $(DIST_DIR)/symbols
$(RMDIR) $(DIST_DIR)/subsys
$(RMDIR) $(DIST_DIR)/drivers
$(RMDIR) $(DIST_DIR)/dlls
$(RMDIR) $(DIST_DIR)/apps
$(RMDIR) $(DIST_DIR)
dist_dirs:
$(RMKDIR) $(DIST_DIR)
$(RMKDIR) $(DIST_DIR)/apps
$(RMKDIR) $(DIST_DIR)/dlls
$(RMKDIR) $(DIST_DIR)/drivers
$(RMKDIR) $(DIST_DIR)/subsys
$(RMKDIR) $(DIST_DIR)/symbols
.PHONY: dist_clean dist_dirs
etags:
find . -name "*.[ch]" -print | etags --language=c -
# EOF

View File

@@ -1,5 +1,6 @@
0.0.14 (so far):
0.0.14: Converted to PE format
All system libraries are now dlls
0.0.13: Mostly bugfixes (I think)
0.0.12: Added support for multiple processes (not really tested)

View File

@@ -1,21 +1,24 @@
DIRECTORIES
About Reactos
system : compiled versions of the various system components and
libraries
ntoskrnl : microkernel source
ntoskrnl/hal : hardware abstraction layer source
ntoskrnl/mm : memory managment subsystem source
ntoskrnl/io : IO manager subsystem source
include : win32 headers
include/internal : kernel private header files
include/ntdll : system library private header files
include/kernel32 : system library private header files
include/user32 : user interface private header files
include/gdi32 : graphics interface private header files
include/ddk : header files for modules
lib/ntdll : NT dll source
lib/kernel32 : kernel32 source
doc : documentation
loaders/dos : DOS based loader
loaders/boot : boot loader
services : various services (device drivers, filesystems etc)
1. What is Reactos
A project aiming to make an approximate clone of Windows NT, compatible
with most Windows applications.
The project has a website at http://www.reactos.com/
2. Building Reactos
See the INSTALL file for more details.
3. More information
See the doc subdirectory for some sparse notes
4. Who is responsible
See the CREDITS file
5. Recent developments
See the NEWS file

3
reactos/aboot.bat Normal file
View File

@@ -0,0 +1,3 @@
loadros system32\ntoskrnl.exe system32\hal.dll system32\drivers\acpi.sys /DEBUGPORT=SCREEN bootc.lst
rem comment added and changed for no reason

View File

@@ -1,33 +0,0 @@
#include <windows.h>
extern int main(int args, char* argv[], char* environ[]);
static unsigned int _argc = 0;
static char** _argv = NULL;
static char** _environ = NULL;
int mainCRTStartup(PWSTR args)
{
int nRet;
// SetUnhandledExceptionFilter(NULL);
// _fpreset();
// __GetMainArgs(&_argc, &_argv, &_environ, 0);
nRet = main(_argc, _argv, _environ);
// _cexit();
ExitProcess(nRet);
}
int WinMainCRTStartup()
{
return mainCRTStartup(NULL);
}
void __main(void)
{
}

View File

@@ -0,0 +1,21 @@
# $Id: Makefile,v 1.6 2002/06/02 19:24:57 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = alive
TARGET_SDKLIBS = kernel32.a user32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -0,0 +1,48 @@
/* $Id: alive.c,v 1.2 2001/03/26 21:30:20 ea Exp $
*
*/
#include <windows.h>
#include <stdlib.h>
HANDLE StandardOutput = INVALID_HANDLE_VALUE;
CHAR Message [80];
DWORD CharactersToWrite = 0;
DWORD WrittenCharacters = 0;
INT d = 0, h = 0, m = 0, s = 0;
int
main (int argc, char * argv [])
{
StandardOutput = GetStdHandle (STD_OUTPUT_HANDLE);
if (INVALID_HANDLE_VALUE == StandardOutput)
{
return (EXIT_FAILURE);
}
while (TRUE)
{
/* Prepare the message and update it */
CharactersToWrite =
wsprintf (
Message,
"Alive for %dd %dh %d' %d\" \r",
d, h, m, s
);
WriteConsole (
StandardOutput,
Message,
CharactersToWrite,
& WrittenCharacters,
NULL
);
/* suspend the execution for 1s */
Sleep (1000);
/* increment seconds */
++ s;
if (60 == s) { s = 0; ++ m; }
if (60 == m) { m = 0; ++ h; }
if (24 == h) { h = 0; ++ d; }
}
return (EXIT_SUCCESS);
}
/* EOF */

View File

@@ -0,0 +1,87 @@
#include <stdarg.h>
#include <string.h>
#include <stdio.h>
#include <windows.h>
#include <ddk/ntddk.h>
HANDLE OutputHandle;
HANDLE InputHandle;
VOID STDCALL
ApcRoutine(PVOID Context,
PIO_STATUS_BLOCK IoStatus,
ULONG Reserved)
{
printf("(apc.exe) ApcRoutine(Context %p)\n", Context);
}
int main(int argc, char* argv[])
{
NTSTATUS Status;
HANDLE FileHandle;
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING FileName;
IO_STATUS_BLOCK IoStatus;
CHAR Buffer[256];
HANDLE EventHandle;
AllocConsole();
InputHandle = GetStdHandle(STD_INPUT_HANDLE);
OutputHandle = GetStdHandle(STD_OUTPUT_HANDLE);
printf("APC test program\n");
EventHandle = CreateEventW(NULL,
FALSE,
FALSE,
NULL);
if (EventHandle == INVALID_HANDLE_VALUE)
{
printf("Failed to create event\n");
return 0;
}
printf("Opening file\n");
RtlInitUnicodeString(&FileName,
L"\\C:\\a.txt");
InitializeObjectAttributes(&ObjectAttributes,
&FileName,
0,
NULL,
NULL);
printf("Creating file\n");
FileHandle = CreateFileW(L"C:\\a.txt",
FILE_GENERIC_READ | FILE_GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
NULL);
if (FileHandle == INVALID_HANDLE_VALUE)
{
printf("Open failed\n");
return 0;
}
printf("Reading file\n");
Status = ZwReadFile(FileHandle,
NULL,
(PIO_APC_ROUTINE)ApcRoutine,
(PVOID)0xdeadbeef,
&IoStatus,
Buffer,
256,
NULL,
NULL);
if (!NT_SUCCESS(Status))
{
printf("Read failed\n");
}
printf("Waiting\n");
WaitForSingleObjectEx(EventHandle, INFINITE, TRUE);
printf("Returned from wait\n");
ZwClose(FileHandle);
printf("Program finished\n");
return 0;
}

View File

@@ -0,0 +1,21 @@
# $Id: makefile,v 1.9 2002/06/02 19:24:57 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = apc
TARGET_SDKLIBS = ntdll.a kernel32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,8 +1,7 @@
#include <internal/mmhal.h>
#include <ddk/ntddk.h>
#include <stdarg.h>
#include <string.h>
#include <stdio.h>
#include <windows.h>
HANDLE OutputHandle;
HANDLE InputHandle;
@@ -11,7 +10,7 @@ void debug_printf(char* fmt, ...)
{
va_list args;
char buffer[255];
va_start(args,fmt);
vsprintf(buffer,fmt,args);
WriteConsoleA(OutputHandle, buffer, strlen(buffer), NULL, NULL);
@@ -19,17 +18,22 @@ void debug_printf(char* fmt, ...)
}
void main(int argc, char* argv[])
int main(int argc, char* argv[])
{
int i;
AllocConsole();
InputHandle = GetStdHandle(STD_INPUT_HANDLE);
OutputHandle = GetStdHandle(STD_OUTPUT_HANDLE);
printf("GetCommandLineA() %s\n",GetCommandLineA());
debug_printf("GetCommandLineA() %s\n",GetCommandLineA());
debug_printf("argc %d\n", argc);
for (i=0; i<argc; i++)
{
debug_printf("Args: '%s'\n",argv[i]);
debug_printf("Argv[%d]: %x\n",i,argv[i]);
debug_printf("Argv[%d]: '%s'\n",i,argv[i]);
}
return 0;
}

View File

@@ -1,10 +1,19 @@
all: args.exe
# $Id: makefile,v 1.15 2002/06/02 19:24:57 chorns Exp $
OBJECTS= ../common/crt0.o args.o
LIBS= ../../lib/kernel32/kernel32.a ../../lib/ntdll/ntdll.a
PATH_TO_TOP = ../../..
args.exe: $(OBJECTS) $(LIBS)
$(CC) -specs=../../specs $(OBJECTS) $(LIBS) -lgcc -o args.exe
$(NM) --numeric-sort args.exe > args.sym
TARGET_NORC = yes
include ../../rules.mak
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = args
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -0,0 +1,114 @@
#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <ddk/ntddk.h>
#define BUFFER_SIZE 256
int main(int argc, char* argv[])
{
PRTL_ATOM_TABLE AtomTable = NULL;
RTL_ATOM AtomA = -1, AtomB = -1, AtomC = -1;
NTSTATUS Status;
WCHAR Buffer[BUFFER_SIZE];
ULONG NameLength, Data1, Data2;
printf("Atom table test app\n\n");
printf("RtlCreateAtomTable()\n");
Status = RtlCreateAtomTable(37,
&AtomTable);
printf(" Status 0x%08lx\n", Status);
if (NT_SUCCESS(Status))
{
printf(" AtomTable %p\n", AtomTable);
printf("RtlAddAtomToAtomTable()\n");
Status = RtlAddAtomToAtomTable(AtomTable,
L"TestAtomA",
&AtomA);
printf(" Status 0x%08lx\n", Status);
if (NT_SUCCESS(Status))
{
printf(" AtomA 0x%x\n", AtomA);
}
printf("RtlAddAtomToAtomTable()\n");
Status = RtlAddAtomToAtomTable(AtomTable,
L"TestAtomB",
&AtomB);
printf(" Status 0x%08lx\n", Status);
if (NT_SUCCESS(Status))
{
printf(" AtomB 0x%x\n", AtomB);
}
printf("RtlLookupAtomInAtomTable()\n");
Status = RtlLookupAtomInAtomTable(AtomTable,
L"TestAtomA",
&AtomC);
printf(" Status 0x%08lx\n", Status);
if (NT_SUCCESS(Status))
{
printf(" AtomC 0x%x\n", AtomC);
}
printf("RtlPinAtomInAtomTable()\n");
Status = RtlPinAtomInAtomTable(AtomTable,
AtomC);
printf(" Status 0x%08lx\n", Status);
printf("RtlPinAtomInAtomTable()\n");
Status = RtlPinAtomInAtomTable(AtomTable,
AtomC);
printf(" Status 0x%08lx\n", Status);
// printf("RtlDeleteAtomFromAtomTable()\n");
// Status = RtlDeleteAtomFromAtomTable(AtomTable,
// AtomC);
// printf(" Status 0x%08lx\n", Status);
// printf("RtlEmptyAtomTable()\n");
// Status = RtlEmptyAtomTable(AtomTable,
// TRUE);
// printf(" Status 0x%08lx\n", Status);
// printf("RtlLookupAtomInAtomTable()\n");
// Status = RtlLookupAtomInAtomTable(AtomTable,
// L"TestAtomA",
// &AtomC);
// printf(" Status 0x%08lx\n", Status);
printf("RtlQueryAtomInAtomTable()\n");
NameLength = sizeof(WCHAR) * BUFFER_SIZE;
Status = RtlQueryAtomInAtomTable(AtomTable,
AtomC,
&Data1,
&Data2,
Buffer,
&NameLength);
printf(" Status 0x%08lx\n", Status);
if (NT_SUCCESS(Status))
{
printf(" RefCount %ld\n", Data1);
printf(" PinCount %ld\n", Data2);
printf(" NameLength %lu\n", NameLength);
printf(" AtomName: %S\n", Buffer);
}
printf("RtlDestroyAtomTable()\n");
RtlDestroyAtomTable(AtomTable);
printf("Atom table test app finished\n");
}
return(0);
}

View File

@@ -0,0 +1,21 @@
# $Id: makefile,v 1.5 2002/06/02 19:24:57 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = atomtest
TARGET_SDKLIBS = ntdll.a kernel32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -0,0 +1,8 @@
/*
*
*/
int main(int argc, char* argv[])
{
}

View File

@@ -0,0 +1,82 @@
#include <stdio.h>
#include <windows.h>
#define NR_THREADS (30)
DWORD WINAPI
thread_main1(LPVOID param)
{
printf("Thread 1 running (Counter %lu)\n", (DWORD)param);
SleepEx(INFINITE, TRUE);
return 0;
}
DWORD WINAPI
thread_main2(LPVOID param)
{
printf("Thread 2 running (Counter %lu)\n", (DWORD)param);
Sleep(INFINITE);
return 0;
}
int main (void)
{
HANDLE hThread;
DWORD i=0;
DWORD id;
#if 1
printf("Creating %d threads...\n",NR_THREADS*2);
for (i=0;i<NR_THREADS;i++)
{
CreateThread(NULL,
0,
thread_main1,
(LPVOID)i,
0,
&id);
/* CreateThread(NULL,
0,
thread_main2,
(LPVOID)i,
0,
&id);*/
}
printf("All threads created...\n");
/*
* Waiting for threads is not implemented yet.
* If you want to see all threads running, uncomment the
* call to SuspendThread(). The test application will
* freeze after all threads are created.
*/
/* SuspendThread (GetCurrentThread()); */
#else
printf("Creating thread...\n");
hThread = CreateThread(NULL,
0,
thread_main1,
(LPVOID)i,
0,
&id);
printf("Thread created. Waiting for termination...\n");
WaitForSingleObject (hThread,
-1);
CloseHandle (hThread);
printf("Thread terminated...\n");
#endif
printf("Exiting\n");
return 0;
}

View File

@@ -0,0 +1,21 @@
# $Id: makefile,v 1.10 2002/06/02 19:24:57 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = bench-thread
TARGET_SDKLIBS = kernel32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -0,0 +1,19 @@
# $Id: Makefile,v 1.7 2002/06/02 19:24:57 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = consume
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -0,0 +1,31 @@
#include <stdio.h>
#include <string.h>
#include <windows.h>
#define SIZE (65*1024*1024)
ULONG x[SIZE / 4096];
int main()
{
int i;
PUCHAR BaseAddress;
BaseAddress = VirtualAlloc(NULL,
SIZE,
MEM_COMMIT,
PAGE_READONLY);
if (BaseAddress == NULL)
{
printf("Failed to allocate virtual memory");
return(1);
}
printf("BaseAddress %p\n", BaseAddress);
for (i = 0; i < (SIZE / 4096); i++)
{
printf("%.8x ", i*4096);
x[i] = BaseAddress[i*4096];
}
return(0);
}

View File

@@ -0,0 +1,21 @@
# $Id: Makefile,v 1.6 2002/06/02 19:24:58 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = count
TARGET_SDKLIBS = kernel32.a user32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -0,0 +1,15 @@
/* $Id: count.c,v 1.1 2001/03/26 21:30:20 ea Exp $
*
*/
#include <stdlib.h>
int n = 0;
int
main (int argc, char * argv [])
{
while (1) printf ("%d ", n ++ );
return (0);
}
/* EOF */

View File

@@ -0,0 +1,51 @@
#include <stdio.h>
#include <ntddk.h>
int main()
{
int i;
printf("TickCountLow: %x\n",
SharedUserData->TickCountLow);
printf("Drives: ");
for (i = 0; i < 26; i++)
{
printf("%c", (SharedUserData->DosDeviceMap & (1 << i))?'1':'0');
}
printf("\n");
for (i = 0; i < 26; i++)
{
if (SharedUserData->DosDeviceMap & (1 << i))
{
printf("%c: ", 'A'+i);
switch(SharedUserData->DosDeviceDriveType[i])
{
case DOSDEVICE_DRIVE_UNKNOWN:
printf("Unknown\n");
break;
case DOSDEVICE_DRIVE_CALCULATE:
printf("No root\n");
break;
case DOSDEVICE_DRIVE_REMOVABLE:
printf("Removable\n");
break;
case DOSDEVICE_DRIVE_FIXED:
printf("Fixed\n");
break;
case DOSDEVICE_DRIVE_REMOTE:
printf("Remote\n");
break;
case DOSDEVICE_DRIVE_CDROM:
printf("CD-ROM\n");
break;
case DOSDEVICE_DRIVE_RAMDISK:
printf("Ram disk\n");
break;
default:
printf("undefined type\n");
break;
}
}
}
printf("\n\n");
}

View File

@@ -0,0 +1,20 @@
# $Id: makefile,v 1.6 2002/06/02 19:24:58 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = dump_shared_data
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -0,0 +1,33 @@
#include <windows.h>
#include <stdio.h>
HANDLE events[2];
DWORD WINAPI thread( LPVOID crap )
{
SetEvent( events[0] );
if( crap )
SetEvent( events[1] );
return 1;
}
int main( void )
{
DWORD id, Status;
printf( "Creating events\n" );
events[0] = CreateEvent( 0, TRUE, FALSE, 0 );
events[1] = CreateEvent( 0, TRUE, FALSE, 0 );
printf( "Created events\n" );
CreateThread( 0, 0, thread, 0, 0, &id );
printf( "WaitForSingleObject %s\n", ( WaitForSingleObject( events[0], INFINITE ) == WAIT_OBJECT_0 ? "worked" : "failed" ) );
ResetEvent( events[0] );
CreateThread( 0, 0, thread, 0, 0, &id );
printf( "WaitForMultipleObjects with waitall = FALSE %s\n", ( WaitForMultipleObjects( 2, events, FALSE, INFINITE ) == WAIT_OBJECT_0 ? "worked" : "failed" ) );
ResetEvent( events[0] );
CreateThread( 0, 0, thread, (void *)1, 0, &id );
Status = WaitForMultipleObjects( 2, events, TRUE, INFINITE );
printf( "WaitForMultipleObjects with waitall = TRUE %s\n", ( Status == WAIT_OBJECT_0 || Status == WAIT_OBJECT_0 + 1 ? "worked" : "failed" ) );
ResetEvent( events[0] );
printf( "WaitForSingleObject with timeout %s\n", ( WaitForSingleObject( events[0], 100 ) == WAIT_TIMEOUT ? "worked" : "failed" ) );
return 0;
}

View File

@@ -0,0 +1,21 @@
# $Id: makefile,v 1.7 2002/06/02 19:24:58 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = event
TARGET_SDKLIBS = kernel32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -0,0 +1,19 @@
# $Id: Makefile,v 1.8 2002/06/02 19:24:58 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = file
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -0,0 +1,54 @@
/***********************************************************
* File read/write test utility *
**********************************************************/
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
HANDLE file;
char buffer[4096];
DWORD wrote;
int c;
file = CreateFile("test.dat",
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
CREATE_ALWAYS,
0,
0);
if (file == INVALID_HANDLE_VALUE)
{
printf("Error opening file (Status %x)\n", GetLastError());
return 1;
}
for( c = 0; c < sizeof( buffer ); c++ )
buffer[c] = (char)c;
printf("Writing file\n");
if (WriteFile( file, buffer, 4096, &wrote, NULL) == FALSE)
{
printf("Error writing file (Status %x)\n", GetLastError());
exit(2);
}
printf("Reading file\n");
SetFilePointer( file, 0, 0, FILE_BEGIN );
if (ReadFile( file, buffer, 4096, &wrote, NULL) == FALSE)
{
printf("Error reading file (Status %x)\n", GetLastError());
exit(3);
}
for( c = 0; c < sizeof( buffer ); c++ )
if( buffer[c] != (char)c )
{
printf( "Error: data read back is not what was written\n" );
CloseHandle( file );
return 0;
}
printf("Finished, works fine\n");
CloseHandle( file );
return 0;
}

View File

@@ -0,0 +1,328 @@
/*
* gditest
dec 26, 2001 -- gditest bug fix by Richard Campbell
*/
#include <windows.h>
extern BOOL STDCALL GdiDllInitialize(HANDLE hInstance, DWORD Event, LPVOID Reserved);
void __stdcall Background (HDC Desktop)
{
HPEN Pen;
int x, y;
Pen = CreatePen(PS_SOLID, 1, RGB(64, 64, 128));
SelectObject (Desktop, Pen);
MoveToEx (Desktop, 0, 0, NULL);
LineTo (Desktop, 640, 480);
for (y = 479, x = 0; x < 640; x+=2)
{
MoveToEx (Desktop, 0, 0, NULL);
LineTo (Desktop, x, y);
}
for (y = 0, x = 639; y < 480; y+=2)
{
MoveToEx (Desktop, 0, 0, NULL);
LineTo (Desktop, x, y);
}
}
void gditest( void ){
HDC Desktop, MyDC, DC24;
HPEN RedPen, GreenPen, BluePen, WhitePen;
HBITMAP MyBitmap, DIB24;
HFONT hf, tf;
BITMAPINFOHEADER BitInf;
BITMAPINFO BitPalInf;
// Set up a DC called Desktop that accesses DISPLAY
Desktop = CreateDCA("DISPLAY", NULL, NULL, NULL);
if (Desktop == NULL){
printf("Can't create desktop\n");
return;
}
// Background
Background (Desktop);
// Create a blue pen and select it into the DC
BluePen = CreatePen(PS_SOLID, 8, RGB(0, 0, 0xff));
SelectObject(Desktop, BluePen);
// Draw a shape on the DC
MoveToEx(Desktop, 50, 50, NULL);
LineTo(Desktop, 200, 60);
LineTo(Desktop, 200, 300);
LineTo(Desktop, 50, 50);
MoveToEx(Desktop, 50, 50, NULL);
LineTo(Desktop, 200, 50);
WhitePen = CreatePen(PS_SOLID, 3, RGB(0xff, 0xff, 0xff));
SelectObject(Desktop, WhitePen);
MoveToEx(Desktop, 20, 70, NULL);
LineTo(Desktop, 500, 70);
MoveToEx(Desktop, 70, 20, NULL);
LineTo(Desktop, 70, 150);
// Test font support
GreenPen = CreatePen(PS_SOLID, 3, RGB(0, 0xff, 0));
RedPen = CreatePen(PS_SOLID, 3, RGB(0xff, 0, 0));
hf = CreateFontA(24, 0, 0, TA_BASELINE, FW_NORMAL, FALSE, FALSE, FALSE,
ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY, FIXED_PITCH|FF_DONTCARE, "Helmet");
SelectObject(Desktop, hf);
SetTextColor(Desktop, RGB(0xff, 0, 0));
TextOutA(Desktop, 70, 70, "React", 5);
SetTextColor(Desktop, RGB(0, 0xff, 0));
TextOutA(Desktop, 140, 70, "OS", 2);
tf = CreateFontA(14, 0, 0, TA_BASELINE, FW_NORMAL, FALSE, FALSE, FALSE,
ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY, FIXED_PITCH|FF_DONTCARE, "Timmons");
SelectObject(Desktop, tf);
SetTextColor(Desktop, RGB(0xff, 0xff, 0xff));
TextOutA(Desktop, 70, 90, "This is a test of ReactOS text, using the FreeType 2 library!", 61);
// TEST 1: Copy from the VGA into a device compatible DC, draw on it, then blt it to the VGA again
MyDC = CreateCompatibleDC(Desktop);
MyBitmap = CreateCompatibleBitmap(Desktop, 151, 251);
SelectObject(MyDC, MyBitmap);
BitBlt(MyDC, 0, 0, 151, 251, Desktop, 50, 50, SRCCOPY); // can we say 151, 251 since bottom corner is not inclusive?
SelectObject(MyDC, GreenPen);
Rectangle(MyDC, 10, 10, 50, 50);
// TEST 2: Copy from the device compatible DC into a 24BPP bitmap, draw on it, then blt to the VGA again
BitInf.biSize = sizeof(BITMAPINFOHEADER);
BitInf.biWidth = 152;
BitInf.biHeight = -252; // it's top down (since BI_RGB is used, the sign is operative of direction)
BitInf.biPlanes = 1;
BitInf.biBitCount = 24;
BitInf.biCompression = BI_RGB;
BitInf.biSizeImage = 0;
BitInf.biXPelsPerMeter = 0;
BitInf.biYPelsPerMeter = 0;
BitInf.biClrUsed = 0;
BitInf.biClrImportant = 0;
BitPalInf.bmiHeader = BitInf;
DIB24 = (HBITMAP) CreateDIBSection(NULL, &BitPalInf, DIB_RGB_COLORS, NULL, NULL, 0);
DC24 = CreateCompatibleDC(NULL);
SelectObject(DC24, DIB24);
BitBlt(DC24, 0, 0, 101, 201, MyDC, 0, 0, SRCCOPY);
SelectObject(DC24, RedPen);
Rectangle(DC24, 80, 90, 100, 110);
MoveToEx(DC24, 80, 90, NULL);
LineTo(DC24, 100, 110);
BitBlt(Desktop, 200, 200, 110, 120, DC24, 0, 0, SRCCOPY);
Sleep( 10000 ); // fixme delay only 10000 (for 10 seconds)
// Free up everything
DeleteDC(Desktop);
DeleteDC(MyDC);
}
void DumpRgnData( HRGN hRgn )
{
int size, ret, i;
LPRGNDATA rgnData;
size = GetRegionData( hRgn, 0, NULL );
if( size == 0 ){
printf("GetRegionData returned 0\n");
return;
}
rgnData = (LPRGNDATA) malloc( size );
ret = GetRegionData( hRgn, size, rgnData );
if( ret == 0 ){
printf("GetRegionData( hRgn, size, rgnData ) returned 0\n");
return;
}
printf("Bounds: left=%d top=%d right=%d bottom=%d, count: %d, type: %i\n\n",
rgnData->rdh.rcBound.left, rgnData->rdh.rcBound.top, rgnData->rdh.rcBound.right, rgnData->rdh.rcBound.bottom,
rgnData->rdh.nCount, rgnData->rdh.iType);
printf("Rects:\t i \t left \t top \t right \t bottom\n");
for ( i = 0; i < rgnData->rdh.nCount; i++ ) {
PRECT pr = (PRECT) rgnData->Buffer + i;
printf("\t %d \t %d \t %d \t %d \t %d\n", i, pr->left, pr->top, pr->right, pr->bottom );
}
printf("\n");
}
void rgntest( void )
{
HRGN hRgn1, hRgn2, hRgn3;
RECT Rect;
int i;
hRgn1 = CreateRectRgn( 1, 2, 100, 101 );
if( hRgn1 == NULL ) {
printf("Failed at hRgn1 = CreateRectRgn( 1, 2, 100, 101 )\n");
return;
}
i = GetRgnBox( hRgn1, &Rect );
if( i==0 ){
printf("Failed GetRgnBox( hRgn1, &Rect )\n");
return;
}
printf("GetRgnBox( hRgn1, &Rect ): i=%d, left=%d top=%d right=%d bottom=%d\n\n",
i, Rect.left, Rect.top, Rect.right, Rect.bottom );
DumpRgnData( hRgn1 );
hRgn2 = CreateRectRgn( 51, 53, 150, 152 );
if( hRgn2 == NULL ) {
printf("Failed at hRgn2 = CreateRectRgn( 51, 53, 150, 152 )\n");
return;
}
i = GetRgnBox( hRgn2, &Rect );
if( i==0 ){
printf("Failed GetRgnBox( hRgn2, &Rect )\n");
return;
}
printf("GetRgnBox( hRgn2, &Rect ): i=%d, left=%d top=%d right=%d bottom=%d\n\n",
i, Rect.left, Rect.top, Rect.right, Rect.bottom );
DumpRgnData( hRgn2 );
if( EqualRgn( hRgn1, hRgn2 ) == TRUE ){
printf("\t hRgn1, hRgn2 are equal\n");
}
else{
printf("\t hRgn1, hRgn2 are NOT equal\n\n");
}
i = OffsetRgn(hRgn1,50,51);
if( i==ERROR ){
printf("Failed OffsetRgn(hRgn1,50,51)\n");
return;
}
i = GetRgnBox( hRgn1, &Rect );
if( i==0 ){
printf("Failed GetRgnBox( hRgn1, &Rect )\n");
return;
}
printf("After offset\nGetRgnBox( hRgn1, &Rect ): i=%d, left=%d top=%d right=%d bottom=%d\n\n",
i, Rect.left, Rect.top, Rect.right, Rect.bottom );
if( EqualRgn( hRgn1, hRgn2 ) == TRUE ){
printf("\t hRgn1, hRgn2 are equal after offset\n");
}
else{
printf("\t hRgn1, hRgn2 are NOT equal after offset!\n\n");
}
i = SetRectRgn(hRgn1, 10, 11, 110, 111 );
if( i==0 ){
printf("Failed SetRectRgn(hRgn1... )\n");
return;
}
i = GetRgnBox( hRgn1, &Rect );
if( i==0 ){
printf("Failed GetRgnBox( hRgn1, &Rect )\n");
return;
}
printf("after SetRectRgn(hRgn1, 10, 11, 110, 111 ):\n i=%d, left=%d top=%d right=%d bottom=%d\n\n",
i, Rect.left, Rect.top, Rect.right, Rect.bottom );
hRgn3 = CreateRectRgn( 1, 1, 1, 1);
i = CombineRgn( hRgn3, hRgn1, hRgn2, RGN_AND );
if( i==ERROR ){
printf("Fail: CombineRgn( hRgn3, hRgn1, hRgn2, RGN_AND ). LastError: %d\n", GetLastError);
return;
}
if( GetRgnBox( hRgn3, &Rect )==0 ){
printf("Failed GetRgnBox( hRgn1, &Rect )\n");
return;
}
printf("After CombineRgn( hRgn3, hRgn1, hRgn2, RGN_AND ): \nGetRgnBox( hRgn3, &Rect ): CR_i=%d, left=%d top=%d right=%d bottom=%d\n\n",
i, Rect.left, Rect.top, Rect.right, Rect.bottom );
DumpRgnData( hRgn3 );
i = CombineRgn( hRgn3, hRgn1, hRgn2, RGN_OR );
if( i==ERROR ){
printf("Fail: CombineRgn( hRgn3, hRgn1, hRgn2, RGN_OR ). LastError: %d\n", GetLastError);
return;
}
if( GetRgnBox( hRgn3, &Rect )==0 ){
printf("Failed GetRgnBox( hRgn1, &Rect )\n");
return;
}
printf("After CombineRgn( hRgn3, hRgn1, hRgn2, RGN_OR ): \nGetRgnBox( hRgn3, &Rect ): CR_i=%d, left=%d top=%d right=%d bottom=%d\n\n",
i, Rect.left, Rect.top, Rect.right, Rect.bottom );
DumpRgnData( hRgn3 );
i = CombineRgn( hRgn3, hRgn1, hRgn2, RGN_DIFF );
if( i==ERROR ){
printf("Fail: CombineRgn( hRgn3, hRgn1, hRgn2, RGN_DIFF ). LastError: %d\n", GetLastError);
return;
}
if( GetRgnBox( hRgn3, &Rect )==0 ){
printf("Failed GetRgnBox( hRgn1, &Rect )\n");
return;
}
printf("After CombineRgn( hRgn3, hRgn1, hRgn2, RGN_DIFF ): \nGetRgnBox( hRgn3, &Rect ): CR_i=%d, left=%d top=%d right=%d bottom=%d\n\n",
i, Rect.left, Rect.top, Rect.right, Rect.bottom );
DumpRgnData( hRgn3 );
i = CombineRgn( hRgn3, hRgn1, hRgn2, RGN_XOR );
if( i==ERROR ){
printf("Fail: CombineRgn( hRgn3, hRgn1, hRgn2, RGN_XOR ). LastError: %d\n", GetLastError);
return;
}
if( GetRgnBox( hRgn3, &Rect )==0 ){
printf("Failed GetRgnBox( hRgn3, &Rect )\n");
return;
}
printf("After CombineRgn( hRgn3, hRgn1, hRgn2, RGN_XOR ): \nGetRgnBox( hRgn3, &Rect ): CR_i=%d, left=%d top=%d right=%d bottom=%d\n\n",
i, Rect.left, Rect.top, Rect.right, Rect.bottom );
DumpRgnData( hRgn3 );
i = CombineRgn( hRgn1, hRgn3, hRgn2, RGN_COPY );
if( i==ERROR ){
printf("Fail: CombineRgn( hRgn1, hRgn3, hRgn2, RGN_COPY ). LastError: %d\n", GetLastError);
return;
}
if( GetRgnBox( hRgn1, &Rect )==0 ){
printf("Failed GetRgnBox( hRgn1, &Rect )\n");
return;
}
printf("After CombineRgn( hRgn1, hRgn3, hRgn2, RGN_COPY ): \nGetRgnBox( hRgn1, &Rect ): CR_i=%d, left=%d top=%d right=%d bottom=%d\n\n",
i, Rect.left, Rect.top, Rect.right, Rect.bottom );
DumpRgnData( hRgn1 );
DeleteObject( hRgn1 );
DeleteObject( hRgn2 );
DeleteObject( hRgn3 );
printf("region test finished\n");
}
int main (int argc, char* argv[])
{
printf("Entering GDITest..\n");
printf("use gditest for older tests\n");
printf("use gditest 1 for region test\n");
GdiDllInitialize (NULL, DLL_PROCESS_ATTACH, NULL);
if( argc < 2 )
gditest();
else {
if( !strncmp( argv[1], "1", 1 ) ) {
rgntest();
}
}
return 0;
}

View File

@@ -0,0 +1,21 @@
# $Id: makefile,v 1.8 2002/06/02 19:24:58 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = gditest
TARGET_SDKLIBS = kernel32.a gdi32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,4 +1,5 @@
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[])
{

View File

@@ -1,8 +1,19 @@
all: hello.exe
# $Id: makefile,v 1.16 2002/06/02 19:24:59 chorns Exp $
OBJECTS = hello.o
PATH_TO_TOP = ../../..
hello.exe: $(OBJECTS) $(LIBS)
$(CC) $(OBJECTS) -o hello.exe
TARGET_NORC = yes
include ../../rules.mak
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = hello
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -0,0 +1,229 @@
/*
* isotest - display cdrom information
*/
#include <windows.h>
//#include <winioctl.h>
#include <stdio.h>
#include <stdlib.h>
void HexDump(char *buffer, ULONG size)
{
ULONG offset = 0;
unsigned char *ptr;
while (offset < (size & ~15))
{
ptr = (unsigned char*)((ULONG)buffer + offset);
printf("%08lx %02hx %02hx %02hx %02hx %02hx %02hx %02hx %02hx-%02hx %02hx %02hx %02hx %02hx %02hx %02hx %02hx",
offset,
ptr[0],
ptr[1],
ptr[2],
ptr[3],
ptr[4],
ptr[5],
ptr[6],
ptr[7],
ptr[8],
ptr[9],
ptr[10],
ptr[11],
ptr[12],
ptr[13],
ptr[14],
ptr[15]);
printf(" %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",
isprint(ptr[0])?ptr[0]:'.',
isprint(ptr[1])?ptr[1]:'.',
isprint(ptr[2])?ptr[2]:'.',
isprint(ptr[3])?ptr[3]:'.',
isprint(ptr[4])?ptr[4]:'.',
isprint(ptr[5])?ptr[5]:'.',
isprint(ptr[6])?ptr[6]:'.',
isprint(ptr[7])?ptr[7]:'.',
isprint(ptr[8])?ptr[8]:'.',
isprint(ptr[9])?ptr[9]:'.',
isprint(ptr[10])?ptr[10]:'.',
isprint(ptr[11])?ptr[11]:'.',
isprint(ptr[12])?ptr[12]:'.',
isprint(ptr[13])?ptr[13]:'.',
isprint(ptr[14])?ptr[14]:'.',
isprint(ptr[15])?ptr[15]:'.');
offset += 16;
}
ptr = (unsigned char*)((ULONG)buffer + offset);
if (offset < size)
{
printf("%08lx ", offset);
while (offset < size)
{
printf(" %02hx", *ptr);
offset++;
ptr++;
}
}
printf("\n\n");
}
#ifndef EVENT_ALL_ACCESS
#define EVENT_ALL_ACCESS (0x1f0003L)
#endif
BOOL
ReadBlock(HANDLE FileHandle,
PVOID Buffer,
PLARGE_INTEGER Offset,
ULONG Length,
PULONG BytesRead)
{
IO_STATUS_BLOCK IoStatusBlock;
OBJECT_ATTRIBUTES ObjectAttributes;
NTSTATUS Status;
HANDLE EventHandle;
InitializeObjectAttributes(&ObjectAttributes,
NULL, 0, NULL, NULL);
Status = NtCreateEvent(&EventHandle,
EVENT_ALL_ACCESS,
&ObjectAttributes,
TRUE,
FALSE);
if (!NT_SUCCESS(Status))
{
printf("NtCreateEvent() failed\n");
return(FALSE);
}
Status = NtReadFile(FileHandle,
EventHandle,
NULL,
NULL,
&IoStatusBlock,
Buffer,
Length,
Offset,
NULL);
if (Status == STATUS_PENDING)
{
NtWaitForSingleObject(EventHandle, FALSE, NULL);
Status = IoStatusBlock.Status;
}
NtClose(EventHandle);
if (Status != STATUS_PENDING && BytesRead != NULL)
{
*BytesRead = IoStatusBlock.Information;
}
if (!NT_SUCCESS(Status) && Status != STATUS_END_OF_FILE)
{
printf("ReadBlock() failed (Status: %lx)\n", Status);
return(FALSE);
}
return(TRUE);
}
int main (int argc, char *argv[])
{
HANDLE hDisk;
DWORD dwRead;
DWORD i;
char *Buffer;
CHAR Filename[80];
LARGE_INTEGER FilePosition;
if (argc != 2)
{
printf("Usage: isotest [Drive:]\n");
return 0;
}
strcpy(Filename, "\\\\.\\");
strcat(Filename, argv[1]);
hDisk = CreateFile(Filename,
GENERIC_READ,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
0,
NULL);
if (hDisk == INVALID_HANDLE_VALUE)
{
printf("CreateFile(): Invalid disk handle!\n");
return 0;
}
Buffer = (char*)malloc(2048);
if (Buffer == NULL)
{
CloseHandle(hDisk);
printf("Out of memory!\n");
return 0;
}
memset(Buffer, 0, 2048);
FilePosition.QuadPart = 16 * 2048;
#if 0
SetLastError(NO_ERROR);
SetFilePointer(hDisk,
FilePosition.u.LowPart,
&FilePosition.u.HighPart,
FILE_BEGIN);
if (GetLastError() != NO_ERROR)
{
CloseHandle(hDisk);
free(Buffer);
printf("SetFilePointer() failed!\n");
return 0;
}
if (ReadFile(hDisk,
Buffer,
2048,
&dwRead,
NULL) == FALSE)
{
CloseHandle(hDisk);
free(Buffer);
printf("ReadFile() failed!\n");
return 0;
}
#endif
if (ReadBlock(hDisk,
Buffer,
&FilePosition,
2048,
&dwRead) == FALSE)
{
CloseHandle(hDisk);
free(Buffer);
#if 0
printf("ReadBlock() failed!\n");
#endif
return 0;
}
HexDump(Buffer, 128);
CloseHandle(hDisk);
free(Buffer);
return 0;
}
/* EOF */

View File

@@ -0,0 +1,23 @@
# $Id: makefile,v 1.2 2002/06/02 19:24:59 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = isotest
#TARGET_CFLAGS = -fnative_struct
TARGET_SDKLIBS = ntdll.a kernel32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -0,0 +1,205 @@
/* $Id: conport.c,v 1.6 2000/04/25 23:22:46 ea Exp $
*
* reactos/apps/lpc/conport.c
*
* To be run in a real WNT 4.0 system with
* "\SmApiPort" as argument. Do not try to
* connect to "\Windows\ApiPort" since that
* reboots immeditely.
*
* Use Russinovich' HandleEx to verify
* conport.exe owns two unnamed LPC ports:
* the one created by kernel32.dll connecting
* to csrss.exe, and one connected to here.
*
* 19990627 (Emanuele Aliberti)
* Initial implementation.
* 19990704 (EA)
* Dump object's attributes moved in dumpinfo.c.
*/
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#define PROTO_LPC
#include <ddk/ntddk.h>
#include "dumpinfo.h"
#define LPC_CONNECT_FLAG1 0x00000001
#define LPC_CONNECT_FLAG2 0x00000010
#define LPC_CONNECT_FLAG3 0x00000100
#define LPC_CONNECT_FLAG4 0x00001000
#define LPC_CONNECT_FLAG5 0x00010000
NTSTATUS
(STDCALL * ConnectPort)(
OUT PHANDLE PortHandle,
IN PUNICODE_STRING PortName,
IN POBJECT_ATTRIBUTES ObjectAttributes,
IN DWORD Unknown3,
IN DWORD Unknown4,
IN DWORD Unknown5,
IN DWORD Unknown6,
IN ULONG Flags
);
NTSTATUS
(STDCALL * QueryObject)(
IN HANDLE ObjectHandle,
IN CINT ObjectInformationClass,
OUT PVOID ObjectInformation,
IN ULONG Length,
OUT PULONG ResultLength
);
NTSTATUS
(STDCALL * YieldExecution)(VOID);
#define BUF_SIZE 1024
#define MAXARG 1000000
VOID
TryConnectPort(char *port_name)
{
DWORD Status = 0;
HANDLE Port = 0;
int i;
UNICODE_STRING PortName;
OBJECT_ATTRIBUTES ObjectAttributes;
WORD Name [BUF_SIZE] = {0};
int dwx = 0;
char * port_name_save = port_name;
/*
* Convert the port's name to Unicode.
*/
for (
PortName.Length = 0;
( *port_name
&& (PortName.Length < BUF_SIZE)
);
)
{
Name[PortName.Length++] = (WORD) *port_name++;
}
Name[PortName.Length] = 0;
PortName.Length = PortName.Length * sizeof (WORD);
PortName.MaximumLength = PortName.Length + sizeof (WORD);
PortName.Buffer = (PWSTR) Name;
/*
* Prepare the port object attributes.
*/
ObjectAttributes.Length =
sizeof (OBJECT_ATTRIBUTES);
ObjectAttributes.RootDirectory =
NULL;
ObjectAttributes.ObjectName =
NULL /*& PortName */;
ObjectAttributes.Attributes =
OBJ_CASE_INSENSITIVE;
ObjectAttributes.SecurityDescriptor =
NULL;
ObjectAttributes.SecurityQualityOfService =
NULL;
/*
* Try to issue a connection request.
*/
Port = 0;
Status = ConnectPort(
& Port, /* & PortHandle */
& PortName, /* & PortName */
& ObjectAttributes, /* & PortAttributes */
NULL, /* & SecurityQos */
NULL, /* & SectionInfo */
NULL, /* & MapInfo */
NULL, /* & MaxMessageSize */
LPC_CONNECT_FLAG5 /* & ConnectInfoLength */
);
if (Status == STATUS_SUCCESS)
{
DumpInfo(
Name,
Status,
"connected",
Port
);
/* Hot waiting */
for (dwx=0; dwx<MAXARG; ++dwx)
{
YieldExecution();
}
if (FALSE == CloseHandle(Port))
{
printf(
"Could not close the port handle %08X.\n",
Port
);
}
return;
}
printf(
"Connection to port \"%s\" failed (Status = %08X).\n",
port_name_save,
Status
);
}
main( int argc, char * argv[] )
{
HINSTANCE ntdll;
if (argc != 2)
{
printf("WNT LPC Port Connector\n");
printf("Usage: %s [port_name]\n",argv[0]);
exit(EXIT_FAILURE);
}
printf("LoadLibrary(NTDLL)\n");
ntdll = LoadLibrary("NTDLL");
if (ntdll == NULL)
{
printf("Could not load NTDLL\n");
return EXIT_FAILURE;
}
printf("GetProcAddress(NTDLL.NtConnectPort)\n");
ConnectPort = (VOID*) GetProcAddress(
ntdll,
"NtConnectPort"
);
if (ConnectPort == NULL)
{
FreeLibrary(ntdll);
printf("Could not find NTDLL.NtConnectPort\n");
return EXIT_FAILURE;
}
printf("GetProcAddress(NTDLL.NtQueryObject)\n");
QueryObject = (VOID*) GetProcAddress(
ntdll,
"NtQueryObject"
);
if (QueryObject == NULL)
{
FreeLibrary(ntdll);
printf("Could not find NTDLL.NtQueryObject\n");
return EXIT_FAILURE;
}
printf("GetProcAddress(NTDLL.NtYieldExecution)\n");
YieldExecution = (VOID*) GetProcAddress(
ntdll,
"NtYieldExecution"
);
if (YieldExecution == NULL)
{
FreeLibrary(ntdll);
printf("Could not find NTDLL.NtYieldExecution\n");
return EXIT_FAILURE;
}
printf("TryConnectPort(%s)\n",argv[1]);
TryConnectPort(argv[1]);
printf("Done\n");
return EXIT_SUCCESS;
}
/* EOF */

View File

@@ -0,0 +1,192 @@
/* $Id: creport.c,v 1.2 1999/07/17 23:10:12 ea Exp $
*
* reactos/apps/lpc/creport.c
*
* To be run in a real WNT 4.0 system to
* create an LPC named port.
*
* Use Russinovich' HandleEx to verify
* creport.exe owns the named LPC port
* you asked to create.
*/
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#define PROTO_LPC
#include <ddk/ntddk.h>
#include "dumpinfo.h"
#define LPC_CONNECT_FLAG1 0x00000001
#define LPC_CONNECT_FLAG2 0x00000010
#define LPC_CONNECT_FLAG3 0x00000100
#define LPC_CONNECT_FLAG4 0x00001000
#define LPC_CONNECT_FLAG5 0x00010000
NTSTATUS
(STDCALL * CreatePort)(
/*OUT PHANDLE PortHandle,*/
PVOID Buffer,
IN POBJECT_ATTRIBUTES PortAttributes OPTIONAL,
IN ACCESS_MASK DesiredAccess,
IN DWORD Unknown3,
IN ULONG Flags
);
NTSTATUS
(STDCALL * QueryObject)(
IN HANDLE ObjectHandle,
IN CINT ObjectInformationClass,
OUT PVOID ObjectInformation,
IN ULONG Length,
OUT PULONG ResultLength
);
NTSTATUS
(STDCALL * YieldExecution)(VOID);
#define BUF_SIZE 1024
#define MAXARG 5000000
VOID
TryCreatePort(char *port_name)
{
DWORD Status = 0;
HANDLE Port = 0;
int i;
UNICODE_STRING PortName;
OBJECT_ATTRIBUTES ObjectAttributes;
WORD Name [BUF_SIZE] = {0};
int dwx = 0;
char * port_name_save = port_name;
/*
* Convert the port's name to Unicode.
*/
for (
PortName.Length = 0;
( *port_name
&& (PortName.Length < BUF_SIZE)
);
)
{
Name[PortName.Length++] = (WORD) *port_name++;
}
Name[PortName.Length] = 0;
PortName.Length = PortName.Length * sizeof (WORD);
PortName.MaximumLength = PortName.Length + sizeof (WORD);
PortName.Buffer = (PWSTR) Name;
/*
* Prepare the port object attributes.
*/
ObjectAttributes.Length =
sizeof (OBJECT_ATTRIBUTES);
ObjectAttributes.RootDirectory =
NULL;
ObjectAttributes.ObjectName =
& PortName;
ObjectAttributes.Attributes =
0; //OBJ_CASE_INSENSITIVE --> STATUS_INVALID_PARAMETER ==> case sensitive!;
ObjectAttributes.SecurityDescriptor =
NULL;
ObjectAttributes.SecurityQualityOfService =
NULL;
/*
* Try to issue a connection request.
*/
Port = 0;
Status = CreatePort(
& Port,
& ObjectAttributes,
0, /* ACCESS_MASK? */
0, /* Unknown3 */
LPC_CONNECT_FLAG5
);
if (Status == STATUS_SUCCESS)
{
DumpInfo(
Name,
Status,
"created",
Port
);
/* Hot waiting */
for (dwx=0; dwx<MAXARG; ++dwx)
{
YieldExecution();
}
if (FALSE == CloseHandle(Port))
{
printf(
"Could not close the port handle %08X.\n",
Port
);
}
return;
}
printf(
"Creating port \"%s\" failed (Status = %08X).\n",
port_name_save,
Status
);
}
main( int argc, char * argv[] )
{
HINSTANCE ntdll;
if (argc != 2)
{
printf("WNT LPC Port Creator\n");
printf("Usage: %s [port_name]\n",argv[0]);
exit(EXIT_FAILURE);
}
printf("LoadLibrary(NTDLL)\n");
ntdll = LoadLibrary("NTDLL");
if (ntdll == NULL)
{
printf("Could not load NTDLL\n");
return EXIT_FAILURE;
}
printf("GetProcAddress(NTDLL.NtCreatePort)\n");
CreatePort = (VOID*) GetProcAddress(
ntdll,
"NtCreatePort"
);
if (CreatePort == NULL)
{
FreeLibrary(ntdll);
printf("Could not find NTDLL.NtCreatePort\n");
return EXIT_FAILURE;
}
printf("GetProcAddress(NTDLL.NtQueryObject)\n");
QueryObject = (VOID*) GetProcAddress(
ntdll,
"NtQueryObject"
);
if (QueryObject == NULL)
{
FreeLibrary(ntdll);
printf("Could not find NTDLL.NtQueryObject\n");
return EXIT_FAILURE;
}
printf("GetProcAddress(NTDLL.NtYieldExecution)\n");
YieldExecution = (VOID*) GetProcAddress(
ntdll,
"NtYieldExecution"
);
if (YieldExecution == NULL)
{
FreeLibrary(ntdll);
printf("Could not find NTDLL.NtYieldExecution\n");
return EXIT_FAILURE;
}
printf("TryCreatePort(%s)\n",argv[1]);
TryCreatePort(argv[1]);
printf("Done\n");
return EXIT_SUCCESS;
}
/* EOF */

View File

@@ -0,0 +1,239 @@
/* $Id: dumpinfo.c,v 1.2 1999/07/17 23:10:12 ea Exp $
*
* reactos/apps/lpc/dumpinfo.c
*
* ReactOS Operating System
*
* Dump a kernel object's attributes by its handle.
*
* 19990627 (Emanuele Aliberti)
* Initial implementation.
* 19990704 (EA)
* Added code to find the basic information buffer size
* for the LPC port object.
* 19990710 (EA)
*
*/
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <ddk/ntddk.h>
#define BUF_SIZE 1024
#define MAX_BASIC_INFO_SIZE 512
extern
NTSTATUS
(STDCALL * QueryObject)(
IN HANDLE ObjectHandle,
IN CINT ObjectInformationClass,
OUT PVOID ObjectInformation,
IN ULONG Length,
OUT PULONG ResultLength
);
extern
NTSTATUS
(STDCALL * QueryInformationPort)(
IN HANDLE PortHandle,
IN CINT PortInformationClass, /* guess */
OUT PVOID PortInformation, /* guess */
IN ULONG PortInformationLength, /* guess */
OUT PULONG ReturnLength /* guess */
);
/*
static
VOID
DumpBuffer(
char *Name,
BYTE *buffer,
ULONG size
)
{
register ULONG i = 0;
printf("%s [%d] = ",Name,size);
for ( i = 0;
i != size;
++i
)
{
printf("%02X",buffer[i]);
}
printf("\n");
}
*/
VOID
DumpInfo (
LPCWSTR Name,
NTSTATUS Status,
LPCWSTR Comment,
HANDLE Port
)
{
BYTE ObjectInformation [BUF_SIZE] = {0};
ULONG ResultLength;
wprintf(
L"Port \"%s\" %s:\n",
Name,
Comment
);
printf("\tStatus = %08X\n",Status);
printf("\tPort = %08X\n\n",Port);
/*
* Query object information.
*/
printf("Basic Information:\n");
Status = QueryObject(
Port,
ObjectBasicInformation,
ObjectInformation,
sizeof (LPC_PORT_BASIC_INFORMATION),
& ResultLength
);
if (Status == STATUS_SUCCESS)
{
PLPC_PORT_BASIC_INFORMATION i;
i = (PLPC_PORT_BASIC_INFORMATION) ObjectInformation;
printf( "\tUnknown01 = 0x%08X\n", i->Unknown0 );
printf( "\tUnknown02 = 0x%08X\n", i->Unknown1 );
printf( "\tUnknown03 = 0x%08X\n", i->Unknown2 );
printf( "\tUnknown04 = 0x%08X\n", i->Unknown3 );
printf( "\tUnknown05 = 0x%08X\n", i->Unknown4 );
printf( "\tUnknown06 = 0x%08X\n", i->Unknown5 );
printf( "\tUnknown07 = 0x%08X\n", i->Unknown6 );
printf( "\tUnknown08 = 0x%08X\n", i->Unknown7 );
printf( "\tUnknown09 = 0x%08X\n", i->Unknown8 );
printf( "\tUnknown10 = 0x%08X\n", i->Unknown9 );
printf( "\tUnknown11 = 0x%08X\n", i->Unknown10 );
printf( "\tUnknown12 = 0x%08X\n", i->Unknown11 );
printf( "\tUnknown13 = 0x%08X\n", i->Unknown12 );
printf( "\tUnknown14 = 0x%08X\n", i->Unknown13 );
}
else
{
printf("\tStatus = %08X\n",Status);
}
printf("Type Information:\n");
Status = QueryObject(
Port,
ObjectTypeInformation,
ObjectInformation,
sizeof ObjectInformation,
& ResultLength
);
if (Status == STATUS_SUCCESS)
{
OBJECT_TYPE_INFORMATION * i;
i = (OBJECT_TYPE_INFORMATION *) ObjectInformation;
wprintf(
L"\tName: \"%s\"\n",
(i->Name.Length ? i->Name.Buffer : L"")
);
/*
FIXME: why this always raise an access violation exception?
wprintf(
L"\tType: \"%s\"\n",
(i->Type.Length ? i->Type.Buffer : L"")
);
/**/
printf(
"\tTotal Handles: %d\n",
i->TotalHandles
);
printf(
"\tReference Count: %d\n",
i->ReferenceCount
);
}
else
{
printf("\tStatus = %08X\n",Status);
}
printf("Name Information:\n");
Status = QueryObject(
Port,
ObjectNameInformation,
ObjectInformation,
sizeof ObjectInformation,
& ResultLength
);
if (Status == STATUS_SUCCESS)
{
OBJECT_NAME_INFORMATION * i;
i = (OBJECT_NAME_INFORMATION *) ObjectInformation;
wprintf(
L"\tName: \"%s\"\n",
(i->Name.Length ? i->Name.Buffer : L"")
);
}
else
{
printf("\tStatus = %08X\n",Status);
}
printf("Data Information:\n");
Status = QueryObject(
Port,
ObjectDataInformation,
ObjectInformation,
sizeof ObjectInformation,
& ResultLength
);
if (Status == STATUS_SUCCESS)
{
OBJECT_DATA_INFORMATION * i;
i = (OBJECT_DATA_INFORMATION *) ObjectInformation;
printf(
"\tInherit Handle: %s\n",
(i->bInheritHandle ? "TRUE" : "FALSE")
);
printf(
"\tProtect from Close: %s\n",
(i->bProtectFromClose ? "TRUE" : "FALSE")
);
}
else
{
printf("\tStatus = %08X\n",Status);
}
//---
printf("Port Information:\n");
/* Status = QueryInformationPort(
Port,
1, /* info class * /
ObjectInformation,
sizeof ObjectInformation,
& ResultLength
);
if (Status == STATUS_SUCCESS)
{
DWORD * i = ObjectInformation;
int j = 0;
while (j < ResultLength / sizeof (DWORD))
{
printf("\t%08X\n",i[j]);
++j;
}
}
else
{
printf("\tStatus = %08X\n",Status);
}
*/
}
/* EOF */

View File

@@ -0,0 +1,8 @@
VOID
DumpInfo (
LPCWSTR Name,
NTSTATUS Status,
LPCWSTR Comment,
HANDLE Port
);

View File

@@ -0,0 +1,94 @@
/* $Id: lpcclt.c,v 1.8 2002/02/24 17:44:22 ea Exp $
*
* DESCRIPTION: Simple LPC Client
* PROGRAMMER: David Welch
*/
#include <ddk/ntddk.h>
#include <windows.h>
#include <napi/lpc.h>
#include <stdarg.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include "lpctest.h"
const char * MyName = "LPC-CLI";
HANDLE OutputHandle;
HANDLE InputHandle;
void debug_printf(char* fmt, ...)
{
va_list args;
char buffer[255];
va_start(args,fmt);
vsprintf(buffer,fmt,args);
WriteConsoleA(OutputHandle, buffer, strlen(buffer), NULL, NULL);
va_end(args);
}
int main(int argc, char* argv[])
{
UNICODE_STRING PortName;
NTSTATUS Status;
HANDLE PortHandle;
LPC_MAX_MESSAGE Request;
ULONG ConnectInfo;
ULONG ConnectInfoLength = 0;
SECURITY_QUALITY_OF_SERVICE Sqos;
printf("%s: Lpc test client\n", MyName);
RtlInitUnicodeString(&PortName, TEST_PORT_NAME_U);
printf("%s: Connecting to port \"%s\"...\n", MyName, TEST_PORT_NAME);
ConnectInfoLength = 0;
ZeroMemory (& Sqos, sizeof Sqos);
Status = NtConnectPort(&PortHandle,
&PortName,
& Sqos,
0,
0,
0,
NULL,
&ConnectInfoLength);
if (!NT_SUCCESS(Status))
{
printf("%s: NtConnectPort() failed with status = 0x%08X.\n", MyName, Status);
return EXIT_FAILURE;
}
printf("%s: Connected to \"%s\" with anonymous port 0x%x.\n", MyName, TEST_PORT_NAME, PortHandle);
ZeroMemory(& Request, sizeof Request);
strcpy(Request.Data, GetCommandLineA());
Request.Header.DataSize = strlen(Request.Data);
Request.Header.MessageSize = sizeof(LPC_MESSAGE_HEADER) +
Request.Header.DataSize;
printf("%s: Sending to port 0x%x message \"%s\"...\n",
MyName,
PortHandle,
(char *) Request.Data);
Status = NtRequestPort(PortHandle,
&Request.Header);
if (!NT_SUCCESS(Status))
{
printf("%s: NtRequestPort(0x%x) failed with status = 0x%8X.\n",
MyName,
PortHandle,
Status);
return EXIT_FAILURE;
}
printf("%s: Sending datagram to port 0x%x succeeded.\n", MyName, PortHandle);
Sleep(2000);
printf("%s: Disconnecting...", MyName);
NtClose (PortHandle);
return EXIT_SUCCESS;
}

View File

@@ -0,0 +1,140 @@
/* $Id: lpcsrv.c,v 1.8 2002/02/24 17:44:22 ea Exp $
*
* DESCRIPTION: Simple LPC Server
* PROGRAMMER: David Welch
*/
#include <ddk/ntddk.h>
#include <windows.h>
#include <napi/lpc.h>
#include <stdarg.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include "lpctest.h"
static const char * MyName = "LPC-SRV";
HANDLE OutputHandle;
HANDLE InputHandle;
void debug_printf(char* fmt, ...)
{
va_list args;
char buffer[255];
va_start(args,fmt);
vsprintf(buffer,fmt,args);
WriteConsoleA(OutputHandle, buffer, strlen(buffer), NULL, NULL);
va_end(args);
}
int main(int argc, char* argv[])
{
UNICODE_STRING PortName;
OBJECT_ATTRIBUTES ObjectAttributes;
NTSTATUS Status;
HANDLE NamedPortHandle;
HANDLE PortHandle;
LPC_MAX_MESSAGE ConnectMsg;
printf("%s: Lpc test server\n", MyName);
RtlInitUnicodeString(&PortName, TEST_PORT_NAME_U);
InitializeObjectAttributes(&ObjectAttributes,
&PortName,
0,
NULL,
NULL);
printf("%s: Creating port \"%s\"...\n", MyName, TEST_PORT_NAME);
Status = NtCreatePort(&NamedPortHandle,
&ObjectAttributes,
0,
0,
0);
if (!NT_SUCCESS(Status))
{
printf("%s: NtCreatePort() failed with status = 0x%08lX.\n", MyName, Status);
return EXIT_FAILURE;
}
printf("%s: Port \"%s\" created (0x%x).\n\n", MyName, TEST_PORT_NAME, NamedPortHandle);
for (;;)
{
printf("%s: Listening for connections requests on port 0x%x...\n", MyName, NamedPortHandle);
Status = NtListenPort(NamedPortHandle,
&ConnectMsg.Header);
if (!NT_SUCCESS(Status))
{
printf("%s: NtListenPort() failed with status = 0x%08lX.\n", MyName, Status);
return EXIT_FAILURE;
}
printf("%s: Received connection request 0x%08x on port 0x%x.\n", MyName,
ConnectMsg.Header.MessageId, NamedPortHandle);
printf("%s: Request from: PID=%x, TID=%x.\n", MyName,
ConnectMsg.Header.Cid.UniqueProcess, ConnectMsg.Header.Cid.UniqueThread);
printf("%s: Accepting connection request 0x%08x...\n", MyName,
ConnectMsg.Header.MessageId);
Status = NtAcceptConnectPort(&PortHandle,
NamedPortHandle,
& ConnectMsg.Header,
TRUE,
0,
NULL);
if (!NT_SUCCESS(Status))
{
printf("%s: NtAcceptConnectPort() failed with status = 0x%08lX.\n", MyName, Status);
return EXIT_FAILURE;
}
printf("%s: Connection request 0x%08x accepted as port 0x%x.\n", MyName,
ConnectMsg.Header.MessageId, PortHandle);
printf("%s: Completing connection for port 0x%x (0x%08x).\n", MyName,
PortHandle, ConnectMsg.Header.MessageId);
Status = NtCompleteConnectPort(PortHandle);
if (!NT_SUCCESS(Status))
{
printf("%s: NtCompleteConnectPort() failed with status = 0x%08lX.\n", MyName, Status);
return EXIT_FAILURE;
}
printf("%s: Entering server loop for port 0x%x...\n", MyName, PortHandle);
for(;;)
{
LPC_MAX_MESSAGE Request;
Status = NtReplyWaitReceivePort(PortHandle,
0,
NULL,
&Request.Header);
if (!NT_SUCCESS(Status))
{
printf("%s: NtReplyWaitReceivePort() failed with status = 0x%08lX.\n", MyName, Status);
return EXIT_FAILURE;
}
if (LPC_DATAGRAM == PORT_MESSAGE_TYPE(Request))
{
printf("%s: Datagram message contents are <%s>.\n",
MyName,
Request.Data);
}
else
{
printf("%s: Message with type %d received on port 0x%x.\n", MyName,
PORT_MESSAGE_TYPE(Request), PortHandle);
NtClose(PortHandle);
printf("%s: Connected port 0x%x closed.\n\n", MyName, PortHandle);
break;
}
}
}
return EXIT_SUCCESS;
}
/* EOF */

View File

@@ -0,0 +1,5 @@
#ifndef _LPCTEST_H
#define _LPCTEST_H
#define TEST_PORT_NAME "\\TestPort"
#define TEST_PORT_NAME_U L"\\TestPort"
#endif

View File

@@ -0,0 +1,45 @@
#
#
#
PATH_TO_TOP = ../../..
include $(PATH_TO_TOP)/rules.mak
SRV_OBJECTS= lpcsrv.o
CLT_OBJECTS= lpcclt.o
PROGS= lpcsrv.exe lpcclt.exe
BASE_CFLAGS = -I$(PATH_TO_TOP)/include
LIBS = $(SDK_PATH_LIB)/kernel32.a \
$(SDK_PATH_LIB)/ntdll.a
all: $(PROGS)
.phony: all
implib:
clean:
- $(RM) lpcsrv.o lpcsrv.exe lpcsrv.sym lpcclt.o lpcclt.exe lpcsrv.sym
.phony: implib clean
install: $(PROGS:%=$(INSTALL_DIR)/bin/%)
$(PROGS:%=$(INSTALL_DIR)/bin/%): $(INSTALL_DIR)/bin/%: %
$(CP) $* $(INSTALL_DIR)/bin/$*
dist: $(PROGS:%=$(DIST_DIR)/apps/%)
$(PROGS:%=$(DIST_DIR)/apps/%): $(DIST_DIR)/apps/%: %
$(CP) $* $(DIST_DIR)/apps/$*
lpcsrv.exe: $(SRV_OBJECTS) $(LIBS)
$(CC) $(SRV_OBJECTS) $(LIBS) -o lpcsrv.exe
$(NM) --numeric-sort lpcsrv.exe > lpcsrv.sym
lpcclt.exe: $(CLT_OBJECTS) $(LIBS)
$(CC) $(CLT_OBJECTS) $(LIBS) -o lpcclt.exe
$(NM) --numeric-sort lpcclt.exe > lpcclt.sym

View File

@@ -0,0 +1,45 @@
#
#
#
PATH_TO_TOP = ../../..
include $(PATH_TO_TOP)/rules.mak
SRV_OBJECTS = msserver.o
CLT_OBJECTS = msclient.o
PROGS = msserver.exe msclient.exe
BASE_CFLAGS = -I$(PATH_TO_TOP)/include
LIBS = $(SDK_PATH_LIB)/kernel32.a \
$(SDK_PATH_LIB)/ntdll.a
all: $(PROGS)
.phony: all
implib:
clean:
- $(RM) *.o *.exe *.sym
.phony: implib clean
install: $(PROGS:%=$(INSTALL_DIR)/bin/%)
$(PROGS:%=$(INSTALL_DIR)/bin/%): $(INSTALL_DIR)/bin/%: %
$(CP) $* $(INSTALL_DIR)/bin/$*
dist: $(PROGS:%=$(DIST_DIR)/apps/%)
$(PROGS:%=$(DIST_DIR)/apps/%): $(DIST_DIR)/apps/%: %
$(CP) $* $(DIST_DIR)/apps/$*
msserver.exe: $(SRV_OBJECTS) $(LIBS)
$(CC) $(SRV_OBJECTS) $(LIBS) -o msserver.exe
$(NM) --numeric-sort msserver.exe > msserver.sym
msclient.exe: $(CLT_OBJECTS) $(LIBS)
$(CC) $(CLT_OBJECTS) $(LIBS) -o msclient.exe
$(NM) --numeric-sort msclient.exe > msclient.sym

View File

@@ -0,0 +1,46 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#include <tchar.h>
#define BUFSIZE 1024
#define MAILSLOT_TIMEOUT 1000
int main(int argc, char *argv[])
{
HANDLE hMailslot;
LPSTR lpszMailslotName = "\\\\.\\MAILSLOT\\mymailslot";
LPSTR lpszTestMessage = "Mailslot test message!";
DWORD cbLength, cbWritten;
hMailslot = CreateFile(lpszMailslotName,
GENERIC_WRITE,
FILE_SHARE_READ,
(LPSECURITY_ATTRIBUTES)NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
(HANDLE)NULL);
printf("hMailslot %x\n", (DWORD)hMailslot);
if (hMailslot == INVALID_HANDLE_VALUE)
{
printf("CreateFile() failed\n");
return 0;
}
cbLength = (ULONG)strlen(lpszTestMessage)+1;
WriteFile(hMailslot,
lpszTestMessage,
cbLength,
&cbWritten,
NULL);
CloseHandle(hMailslot);
return 0;
}
/* EOF */

View File

@@ -0,0 +1,40 @@
#include <windows.h>
int main(int argc, char *argv[])
{
HANDLE hMailslot;
CHAR chBuf[512];
BOOL fResult;
DWORD cbRead;
LPTSTR lpszMailslotName = "\\\\.\\mailslot\\mymailslot";
hMailslot = CreateMailslot(lpszMailslotName,
512,
MAILSLOT_WAIT_FOREVER,
NULL);
for (;;)
{
fResult = ReadFile(hMailslot,
chBuf,
512,
&cbRead,
NULL);
if (fResult == FALSE)
{
printf("ReadFile() failed!\n");
CloseHandle(hMailslot);
return 0;
}
printf("Data read: %s\n", chBuf);
}
CloseHandle(hMailslot);
return 0;
}
/* EOF */

View File

@@ -0,0 +1,22 @@
#
# $Id: makefile,v 1.2 2002/06/02 19:24:59 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = mutex
TARGET_SDKLIBS = ntdll.a kernel32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -0,0 +1,116 @@
#include <ddk/ntddk.h>
#include <windows.h>
#include <string.h>
#include <stdio.h>
HANDLE OutputHandle;
HANDLE InputHandle;
HANDLE hThread[2];
DWORD dwCounter = 0;
HANDLE hMutex;
void dprintf(char* fmt, ...)
{
va_list args;
char buffer[255];
va_start(args,fmt);
vsprintf(buffer,fmt,args);
WriteConsoleA(OutputHandle, buffer, strlen(buffer), NULL, NULL);
va_end(args);
}
DWORD WINAPI thread1(LPVOID crap)
{
DWORD dwError = 0;
DWORD i;
dprintf("Thread 1 running!\n");
for (i = 0; i < 10; i++)
{
dwError = WaitForSingleObject(hMutex, INFINITE);
if (dwError == WAIT_FAILED)
{
dprintf("Thread2: WaitForSingleObject failed!\n");
return 1;
}
else if (dwError == WAIT_ABANDONED_0)
{
dprintf("Thread2: WaitForSingleObject returned WAIT_ABANDONED_0\n");
}
dprintf("Thread1: dwCounter : %lu -->", dwCounter);
dwCounter++;
dprintf(" %lu\n", dwCounter);
ReleaseMutex(hMutex);
}
return 1;
}
DWORD WINAPI thread2(LPVOID crap)
{
DWORD dwError = 0;
DWORD i;
dprintf("Thread 2 running!\n");
for (i = 0; i < 10; i++)
{
dwError = WaitForSingleObject(hMutex, INFINITE);
if (dwError == WAIT_FAILED)
{
dprintf("Thread2: WaitForSingleObject failed!\n");
return 1;
}
else if (dwError == WAIT_ABANDONED_0)
{
dprintf("Thread2: WaitForSingleObject returned WAIT_ABANDONED_0\n");
}
dprintf("Thread2: dwCounter : %lu -->", dwCounter);
dwCounter++;
dprintf(" %lu\n", dwCounter);
ReleaseMutex(hMutex);
}
return 1;
}
int main(int argc, char* argv[])
{
DWORD dwError;
DWORD id1,id2;
AllocConsole();
InputHandle = GetStdHandle(STD_INPUT_HANDLE);
OutputHandle = GetStdHandle(STD_OUTPUT_HANDLE);
dprintf("Calling CreateMutex()\n");
hMutex = CreateMutexW(NULL, FALSE, L"TestMutex");
if (hMutex == INVALID_HANDLE_VALUE)
{
dprintf("CreateMutex() failed! Error: %lu\n", GetLastError);
return 0;
}
dprintf("CreateMutex() succeeded!\n");
hThread[0] = CreateThread(0, 0, thread1, 0, 0, &id1);
hThread[1] = CreateThread(0, 0, thread2, 0, 0, &id2);
dprintf("Calling WaitForMultipleObject()\n");
dwError = WaitForMultipleObjects(2, hThread, TRUE, INFINITE);
dprintf("WaitForMultipleObject() Error: %lu\n", dwError);
CloseHandle(hThread[0]);
CloseHandle(hThread[1]);
CloseHandle(hMutex);
return 0;
}

View File

@@ -0,0 +1,44 @@
#
#
#
PATH_TO_TOP = ../../..
include $(PATH_TO_TOP)/rules.mak
SRV_OBJECTS = npserver.o
CLT_OBJECTS = npclient.o
PROGS = npserver.exe npclient.exe
BASE_CFLAGS = -I$(PATH_TO_TOP)/include
LIBS = $(SDK_PATH_LIB)/kernel32.a
all: $(PROGS)
.phony: all
implib:
clean:
- $(RM) *.o *.exe *.sym
.phony: implib clean
install: $(PROGS:%=$(INSTALL_DIR)/bin/%)
$(PROGS:%=$(INSTALL_DIR)/bin/%): $(INSTALL_DIR)/bin/%: %
$(CP) $* $(INSTALL_DIR)/bin/$*
dist: $(PROGS:%=$(DIST_DIR)/apps/%)
$(PROGS:%=$(DIST_DIR)/apps/%): $(DIST_DIR)/apps/%: %
$(CP) $* $(DIST_DIR)/apps/$*
npserver.exe: $(SRV_OBJECTS) $(LIBS)
$(CC) $(SRV_OBJECTS) $(LIBS) -o npserver.exe
$(NM) --numeric-sort npserver.exe > npserver.sym
npclient.exe: $(CLT_OBJECTS) $(LIBS)
$(CC) $(CLT_OBJECTS) $(LIBS) -o npclient.exe
$(NM) --numeric-sort npclient.exe > npclient.sym

View File

@@ -0,0 +1,100 @@
#include <windows.h>
VOID MyErrExit(LPTSTR Message)
{
// MessageBox(NULL, Message, NULL, MB_OK);
puts(Message);
ExitProcess(0);
}
int main(int argc, char *argv[])
{
HANDLE hPipe;
LPVOID lpvMessage;
CHAR chBuf[512];
BOOL fSuccess;
DWORD cbRead, cbWritten, dwMode;
LPTSTR lpszPipename = "\\\\.\\pipe\\mynamedpipe";
// Try to open a named pipe; wait for it, if necessary.
while (1)
{
hPipe = CreateFile(
lpszPipename, // pipe name
GENERIC_READ | // read and write access
GENERIC_WRITE,
0, // no sharing
NULL, // no security attributes
OPEN_EXISTING, // opens existing pipe
0, // default attributes
NULL); // no template file
// Break if the pipe handle is valid.
if (hPipe != INVALID_HANDLE_VALUE)
break;
// Exit if an error other than ERROR_PIPE_BUSY occurs.
if (GetLastError() != ERROR_PIPE_BUSY)
MyErrExit("Could not open pipe");
// All pipe instances are busy, so wait for 20 seconds.
if (! WaitNamedPipe(lpszPipename, 20000) )
MyErrExit("Could not open pipe");
}
// The pipe connected; change to message-read mode.
dwMode = PIPE_READMODE_MESSAGE;
fSuccess = SetNamedPipeHandleState(
hPipe, // pipe handle
&dwMode, // new pipe mode
NULL, // don't set maximum bytes
NULL); // don't set maximum time
if (!fSuccess)
MyErrExit("SetNamedPipeHandleState");
// Send a message to the pipe server.
lpvMessage = (argc > 1) ? argv[1] : "default message";
fSuccess = WriteFile(
hPipe, // pipe handle
lpvMessage, // message
strlen(lpvMessage) + 1, // message length
&cbWritten, // bytes written
NULL); // not overlapped
if (! fSuccess)
MyErrExit("WriteFile");
do
{
// Read from the pipe.
fSuccess = ReadFile(
hPipe, // pipe handle
chBuf, // buffer to receive reply
512, // size of buffer
&cbRead, // number of bytes read
NULL); // not overlapped
if (! fSuccess && GetLastError() != ERROR_MORE_DATA)
break;
// Reply from the pipe is written to STDOUT.
if (! WriteFile(GetStdHandle(STD_OUTPUT_HANDLE),
chBuf, cbRead, &cbWritten, NULL))
{
break;
}
} while (! fSuccess); // repeat loop if ERROR_MORE_DATA
CloseHandle(hPipe);
return 0;
}

View File

@@ -0,0 +1,120 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#include <tchar.h>
#define BUFSIZE 1024
#define PIPE_TIMEOUT 1000
VOID InstanceThread (LPVOID);
VOID
GetAnswerToRequest(LPTSTR lpRequest,
LPTSTR lpReply,
LPDWORD lpcbReplyBytes)
{
}
VOID MyErrExit(LPTSTR Message)
{
// MessageBox(NULL, Message, NULL, MB_OK);
puts(Message);
ExitProcess(0);
}
int xx = 0;
int main(int argc, char *argv[])
{
BOOL fConnected;
DWORD dwThreadId;
HANDLE hPipe, hThread;
LPTSTR lpszPipename = TEXT("\\\\.\\pipe\\mynamedpipe");
// for (;;)
// {
hPipe = CreateNamedPipe(lpszPipename,
PIPE_ACCESS_DUPLEX,
PIPE_TYPE_MESSAGE |
PIPE_READMODE_MESSAGE |
PIPE_WAIT,
PIPE_UNLIMITED_INSTANCES,
BUFSIZE,
BUFSIZE,
PIPE_TIMEOUT,
NULL);
if (hPipe == INVALID_HANDLE_VALUE)
{
printf("CreateNamedPipe() failed\n");
return 0;
}
fConnected = ConnectNamedPipe(hPipe,
NULL) ? TRUE : (GetLastError () ==
ERROR_PIPE_CONNECTED);
if (fConnected)
{
printf("Pipe connected!\n");
DisconnectNamedPipe(hPipe);
#if 0
hThread = CreateThread(NULL,
0,
(LPTHREAD_START_ROUTINE) InstanceThread,
(LPVOID) hPipe,
0,
&dwThreadId);
if (hThread == NULL)
MyErrExit("CreateThread");
#endif
}
else
{
// CloseHandle(hPipe);
}
// }
CloseHandle(hPipe);
return 0;
}
VOID InstanceThread (LPVOID lpvParam)
{
CHAR chRequest[BUFSIZE];
CHAR chReply[BUFSIZE];
DWORD cbBytesRead, cbReplyBytes, cbWritten;
BOOL fSuccess;
HANDLE hPipe;
hPipe = (HANDLE)lpvParam;
while (1)
{
fSuccess = ReadFile(hPipe,
chRequest,
BUFSIZE,
&cbBytesRead,
NULL);
if (!fSuccess || cbBytesRead == 0)
break;
GetAnswerToRequest(chRequest, chReply, &cbReplyBytes);
fSuccess = WriteFile(hPipe,
chReply,
cbReplyBytes,
&cbWritten,
NULL);
if (!fSuccess || cbReplyBytes != cbWritten)
break;
}
FlushFileBuffers(hPipe);
DisconnectNamedPipe(hPipe);
CloseHandle(hPipe);
}

View File

@@ -0,0 +1,21 @@
# $Id: Makefile,v 1.8 2002/06/02 19:25:00 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = pteb
TARGET_SDKLIBS = ntdll.a kernel32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -0,0 +1,23 @@
#include <ntos.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
int x;
PTEB Teb;
printf("TEB dumpper\n");
__asm__("movl %%fs:0x18, %0\n\t"
: "=a" (x)
: /* no inputs */);
printf("fs[0x18] %x\n", x);
Teb = (PTEB)x;
printf("StackBase: 0x%08lX\n", Teb->Tib.StackBase);
printf("StackLimit: 0x%08lX\n", Teb->Tib.StackLimit);
printf("DeallocationStack: 0x%08lX\n", Teb->DeallocationStack);
return(0);
}

View File

@@ -0,0 +1,22 @@
#
# $Id: makefile,v 1.7 2002/06/02 19:25:00 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = regtest
TARGET_SDKLIBS = ntdll.a kernel32.a advapi32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -0,0 +1,882 @@
#include <stdarg.h>
#include <string.h>
#include <stdio.h>
#include <windows.h>
#include <ddk/ntddk.h>
HANDLE OutputHandle;
HANDLE InputHandle;
void dprintf(char* fmt, ...)
{
va_list args;
char buffer[255];
va_start(args,fmt);
vsprintf(buffer,fmt,args);
WriteConsoleA(OutputHandle, buffer, strlen(buffer), NULL, NULL);
va_end(args);
}
void do_enumeratekey(PWSTR Name)
{
ULONG Index,Length,i;
KEY_BASIC_INFORMATION KeyInformation[5];
NTSTATUS Status;
OBJECT_ATTRIBUTES ObjectAttributes;
HANDLE hKey1;
UNICODE_STRING KeyName;
RtlInitUnicodeString(&KeyName, Name);
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, NULL, NULL);
Status=NtOpenKey( &hKey1, MAXIMUM_ALLOWED, &ObjectAttributes);
dprintf("NtEnumerateKey : \n");
Index=0;
while(Status == STATUS_SUCCESS)
{
Status=NtEnumerateKey(hKey1,Index++,KeyBasicInformation
,&KeyInformation[0], sizeof(KeyInformation)
,&Length);
if(Status== STATUS_SUCCESS)
{
dprintf("\tSubKey Name = ");
for (i=0;i<KeyInformation[0].NameLength/2;i++)
dprintf("%C",KeyInformation[0].Name[i]);
dprintf("\n");
}
}
NtClose(hKey1);
}
void test1(void)
{
HKEY hKey = NULL,hKey1;
OBJECT_ATTRIBUTES ObjectAttributes;
NTSTATUS Status;
UNICODE_STRING KeyName;
ULONG Index,Length,i;
KEY_BASIC_INFORMATION KeyInformation[5];
KEY_VALUE_FULL_INFORMATION KeyValueInformation[5];
dprintf("NtOpenKey \\Registry : ");
RtlInitUnicodeString(&KeyName, L"\\Registry");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
Status=NtOpenKey( &hKey1, MAXIMUM_ALLOWED, &ObjectAttributes);
dprintf("\t\t\t\tStatus =%x\n",Status);
if(Status==0)
{
dprintf("NtQueryKey : ");
Status=NtQueryKey(hKey1,KeyBasicInformation
,&KeyInformation[0], sizeof(KeyInformation)
,&Length);
dprintf("\t\t\t\t\tStatus =%x\n",Status);
if (Status == STATUS_SUCCESS)
{
dprintf("\tKey Name = ");
for (i=0;i<KeyInformation[0].NameLength/2;i++)
dprintf("%C",KeyInformation[0].Name[i]);
dprintf("\n");
}
dprintf("NtEnumerateKey : \n");
Index=0;
while(Status == STATUS_SUCCESS)
{
Status=NtEnumerateKey(hKey1,Index++,KeyBasicInformation
,&KeyInformation[0], sizeof(KeyInformation)
,&Length);
if(Status== STATUS_SUCCESS)
{
dprintf("\tSubKey Name = ");
for (i=0;i<KeyInformation[0].NameLength/2;i++)
dprintf("%C",KeyInformation[0].Name[i]);
dprintf("\n");
}
}
dprintf("NtClose : ");
Status = NtClose( hKey1 );
dprintf("\t\t\t\t\tStatus =%x\n",Status);
}
NtClose(hKey);
dprintf("NtOpenKey \\Registry\\Machine : ");
RtlInitUnicodeString(&KeyName, L"\\Registry\\Machine");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
Status=NtOpenKey( &hKey1, MAXIMUM_ALLOWED, &ObjectAttributes);
dprintf("\t\t\tStatus =%x\n",Status);
dprintf("NtOpenKey System\\Setup : ");
RtlInitUnicodeString(&KeyName, L"System\\Setup");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, hKey1 , NULL);
Status = NtOpenKey ( &hKey, KEY_READ , &ObjectAttributes);
dprintf("\t\t\tStatus =%x\n",Status);
if(Status==0)
{
dprintf("NtQueryValueKey : ");
RtlInitUnicodeString(&KeyName, L"CmdLine");
Status=NtQueryValueKey(hKey,&KeyName,KeyValueFullInformation
,&KeyValueInformation[0], sizeof(KeyValueInformation)
,&Length);
dprintf("\t\t\t\tStatus =%x\n",Status);
if (Status == STATUS_SUCCESS)
{
dprintf("\tValue:DO=%d, DL=%d, NL=%d, Name = "
,KeyValueInformation[0].DataOffset
,KeyValueInformation[0].DataLength
,KeyValueInformation[0].NameLength);
for (i=0;i<10 && i<KeyValueInformation[0].NameLength/2;i++)
dprintf("%C",KeyValueInformation[0].Name[i]);
dprintf("\n");
dprintf("\t\tType = %d\n",KeyValueInformation[0].Type);
if (KeyValueInformation[0].Type == REG_SZ)
dprintf("\t\tValue = %S\n",KeyValueInformation[0].Name+1
+KeyValueInformation[0].NameLength/2);
}
dprintf("NtEnumerateValueKey : \n");
Index=0;
while(Status == STATUS_SUCCESS)
{
Status=NtEnumerateValueKey(hKey,Index++,KeyValueFullInformation
,&KeyValueInformation[0], sizeof(KeyValueInformation)
,&Length);
if(Status== STATUS_SUCCESS)
{
dprintf("\tValue:DO=%d, DL=%d, NL=%d, Name = "
,KeyValueInformation[0].DataOffset
,KeyValueInformation[0].DataLength
,KeyValueInformation[0].NameLength);
for (i=0;i<KeyValueInformation[0].NameLength/2;i++)
dprintf("%C",KeyValueInformation[0].Name[i]);
dprintf(", Type = %d\n",KeyValueInformation[0].Type);
if (KeyValueInformation[0].Type == REG_SZ)
dprintf("\t\tValue = %S\n",((char*)&KeyValueInformation[0]
+KeyValueInformation[0].DataOffset));
}
}
dprintf("NtClose : ");
Status = NtClose( hKey );
dprintf("\t\t\t\t\tStatus =%x\n",Status);
}
NtClose( hKey1 );
}
void test2(void)
{
HKEY hKey,hKey1;
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING KeyName,ValueName;
NTSTATUS Status;
KEY_VALUE_FULL_INFORMATION KeyValueInformation[5];
ULONG Index,Length,i;
char Buffer[10];
DWORD Result;
dprintf("NtCreateKey volatile: \n");
dprintf(" \\Registry\\Machine\\Software\\test2reactos: ");
RtlInitUnicodeString(&KeyName, L"\\Registry\\Machine\\Software\\test2reactos");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, NULL, NULL);
Status = NtCreateKey ( &hKey, KEY_ALL_ACCESS , &ObjectAttributes
,0,NULL,REG_OPTION_VOLATILE,NULL);
dprintf("\t\tStatus=%x\n",Status);
NtClose(hKey);
do_enumeratekey(L"\\Registry\\Machine\\Software");
dprintf(" ...\\test2 :");
RtlInitUnicodeString(&KeyName, L"\\Registry\\Machine\\Software\\test2reactos\\test2");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, NULL, NULL);
Status = NtCreateKey ( &hKey1, KEY_ALL_ACCESS , &ObjectAttributes
,0,NULL,REG_OPTION_VOLATILE,NULL);
dprintf("\t\t\t\t\tStatus=%x\n",Status);
dprintf(" ...\\TestVolatile :");
RtlInitUnicodeString(&KeyName, L"TestVolatile");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, hKey1, NULL);
Status = NtCreateKey ( &hKey, KEY_ALL_ACCESS , &ObjectAttributes
,0,NULL,REG_OPTION_VOLATILE,NULL);
dprintf("\t\t\t\tStatus=%x\n",Status);
NtClose(hKey1);
RtlInitUnicodeString(&ValueName, L"TestREG_SZ");
dprintf("NtSetValueKey reg_sz: ");
Status=NtSetValueKey(hKey,&ValueName,0,REG_SZ,(PVOID)L"Test Reg_sz",24);
dprintf("\t\t\t\tStatus=%x\n",Status);
RtlInitUnicodeString(&ValueName, L"TestDWORD");
dprintf("NtSetValueKey reg_dword: ");
Status=NtSetValueKey(hKey,&ValueName,0,REG_DWORD,(PVOID)"reac",4);
dprintf("\t\t\tStatus=%x\n",Status);
NtClose(hKey);
dprintf("NtOpenKey \\Registry\\Machine\\Software\\test2reactos\\test2\\TestVolatile : ");
RtlInitUnicodeString(&KeyName, L"\\Registry\\Machine\\Software\\test2reactos\\test2\\TestVolatile");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
Status=NtOpenKey( &hKey, MAXIMUM_ALLOWED, &ObjectAttributes);
dprintf("\t\t\t\tStatus =%x\n",Status);
if(Status==0)
{
dprintf("NtEnumerateValueKey : \n");
Index=0;
while(Status == STATUS_SUCCESS)
{
Status=NtEnumerateValueKey(hKey,Index++,KeyValueFullInformation
,&KeyValueInformation[0], sizeof(KeyValueInformation)
,&Length);
if(Status== STATUS_SUCCESS)
{
dprintf("\tValue:DO=%d, DL=%d, NL=%d, Name = "
,KeyValueInformation[0].DataOffset
,KeyValueInformation[0].DataLength
,KeyValueInformation[0].NameLength);
for (i=0;i<KeyValueInformation[0].NameLength/2;i++)
dprintf("%C",KeyValueInformation[0].Name[i]);
dprintf(", Type = %d\n",KeyValueInformation[0].Type);
if (KeyValueInformation[0].Type == REG_SZ)
dprintf("\t\tValue = %S\n",((char*)&KeyValueInformation[0]
+KeyValueInformation[0].DataOffset));
}
}
}
NtClose(hKey);
dprintf("delete \\Registry\\Machine\\software\\test2reactos ?");
ReadConsoleA(InputHandle, Buffer, 3, &Result, NULL) ;
if (Buffer[0] != 'y' && Buffer[0] != 'Y') return;
RtlInitUnicodeString(&KeyName, L"\\Registry\\Machine\\Software\\test2reactos\\test2\\TestVolatile");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
dprintf("NtOpenKey : ");
Status=NtOpenKey( &hKey, KEY_ALL_ACCESS, &ObjectAttributes);
dprintf("\t\t\t\tStatus =%x\n",Status);
dprintf("NtDeleteKey : ");
Status=NtDeleteKey(hKey);
dprintf("\t\t\t\tStatus =%x\n",Status);
NtClose(hKey);
RtlInitUnicodeString(&KeyName, L"\\Registry\\Machine\\Software\\test2reactos\\test2");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
dprintf("NtOpenKey : ");
Status=NtOpenKey( &hKey, KEY_ALL_ACCESS, &ObjectAttributes);
dprintf("\t\t\t\tStatus =%x\n",Status);
dprintf("NtDeleteKey : ");
Status=NtDeleteKey(hKey);
dprintf("\t\t\t\tStatus =%x\n",Status);
NtClose(hKey);
RtlInitUnicodeString(&KeyName, L"\\Registry\\Machine\\Software\\test2reactos");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
dprintf("NtOpenKey : ");
Status=NtOpenKey( &hKey, KEY_ALL_ACCESS, &ObjectAttributes);
dprintf("\t\t\t\tStatus =%x\n",Status);
dprintf("NtDeleteKey : ");
Status=NtDeleteKey(hKey);
dprintf("\t\t\t\tStatus =%x\n",Status);
NtClose(hKey);
}
void test3(void)
{
HKEY hKey,hKey1;
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING KeyName,ValueName;
NTSTATUS Status;
KEY_VALUE_FULL_INFORMATION KeyValueInformation[5];
ULONG Index,Length,i;
char Buffer[10];
DWORD Result;
dprintf("NtCreateKey non volatile: \n");
dprintf(" \\Registry\\Machine\\Software\\test3reactos: ");
RtlInitUnicodeString(&KeyName, L"\\Registry\\Machine\\Software\\test3reactos");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, NULL, NULL);
Status = NtCreateKey ( &hKey, KEY_ALL_ACCESS , &ObjectAttributes
,0,NULL,REG_OPTION_NON_VOLATILE,NULL);
dprintf("\t\tStatus=%x\n",Status);
NtClose(hKey);
do_enumeratekey(L"\\Registry\\Machine\\Software");
dprintf("NtOpenKey: ");
Status=NtOpenKey( &hKey, MAXIMUM_ALLOWED, &ObjectAttributes);
dprintf("\t\tStatus=%x\n",Status);
NtClose(hKey);
dprintf(" ...\\test3 :");
RtlInitUnicodeString(&KeyName, L"\\Registry\\Machine\\Software\\test3reactos\\test3");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, NULL, NULL);
Status = NtCreateKey ( &hKey, KEY_ALL_ACCESS , &ObjectAttributes
,0,NULL,REG_OPTION_NON_VOLATILE,NULL);
dprintf("\t\t\t\t\tStatus=%x\n",Status);
dprintf("NtOpenKey: ");
Status=NtOpenKey( &hKey1, MAXIMUM_ALLOWED, &ObjectAttributes);
dprintf("\t\tStatus=%x\n",Status);
NtClose(hKey);
dprintf(" ...\\testNonVolatile :");
RtlInitUnicodeString(&KeyName, L"TestNonVolatile");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, hKey1, NULL);
Status = NtCreateKey ( &hKey, KEY_ALL_ACCESS , &ObjectAttributes
,0,NULL,REG_OPTION_NON_VOLATILE,NULL);
dprintf("\t\t\t\tStatus=%x\n",Status);
NtClose(hKey1);
RtlInitUnicodeString(&ValueName, L"TestREG_SZ");
dprintf("NtSetValueKey reg_sz: ");
Status=NtSetValueKey(hKey,&ValueName,0,REG_SZ,(PVOID)L"Test Reg_sz",24);
dprintf("\t\t\t\tStatus=%x\n",Status);
RtlInitUnicodeString(&ValueName, L"TestDWORD");
dprintf("NtSetValueKey reg_dword: ");
Status=NtSetValueKey(hKey,&ValueName,0,REG_DWORD,(PVOID)"reac",4);
dprintf("\t\t\tStatus=%x\n",Status);
NtClose(hKey);
dprintf("NtOpenKey \\Registry\\Machine\\Software\\test3reactos\\test3\\testNonVolatile : ");
RtlInitUnicodeString(&KeyName, L"\\Registry\\Machine\\Software\\test3reactos\\test3\\testNonVolatile");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
Status=NtOpenKey( &hKey, MAXIMUM_ALLOWED, &ObjectAttributes);
dprintf("\t\t\t\tStatus =%x\n",Status);
if(Status==0)
{
dprintf("NtEnumerateValueKey : \n");
Index=0;
while(Status == STATUS_SUCCESS)
{
Status=NtEnumerateValueKey(hKey,Index++,KeyValueFullInformation
,&KeyValueInformation[0], sizeof(KeyValueInformation)
,&Length);
if(Status== STATUS_SUCCESS)
{
dprintf("\tValue:DO=%d, DL=%d, NL=%d, Name = "
,KeyValueInformation[0].DataOffset
,KeyValueInformation[0].DataLength
,KeyValueInformation[0].NameLength);
for (i=0;i<KeyValueInformation[0].NameLength/2;i++)
dprintf("%C",KeyValueInformation[0].Name[i]);
dprintf(", Type = %d\n",KeyValueInformation[0].Type);
if (KeyValueInformation[0].Type == REG_SZ)
dprintf("\t\tValue = %S\n",((char*)&KeyValueInformation[0]
+KeyValueInformation[0].DataOffset));
}
}
}
NtClose(hKey);
dprintf("delete \\Registry\\Machine\\software\\test3reactos ?");
ReadConsoleA(InputHandle, Buffer, 3, &Result, NULL) ;
if (Buffer[0] != 'y' && Buffer[0] != 'Y') return;
RtlInitUnicodeString(&KeyName, L"\\Registry\\Machine\\Software\\test3reactos\\test3\\testNonvolatile");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
dprintf("NtOpenKey : ");
Status=NtOpenKey( &hKey, KEY_ALL_ACCESS, &ObjectAttributes);
dprintf("\t\t\t\tStatus =%x\n",Status);
dprintf("NtDeleteKey : ");
Status=NtDeleteKey(hKey);
dprintf("\t\t\t\tStatus =%x\n",Status);
RtlInitUnicodeString(&KeyName, L"\\Registry\\Machine\\Software\\test3reactos\\test3");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
dprintf("NtOpenKey : ");
Status=NtOpenKey( &hKey, KEY_ALL_ACCESS, &ObjectAttributes);
dprintf("\t\t\t\tStatus =%x\n",Status);
dprintf("NtDeleteKey : ");
Status=NtDeleteKey(hKey);
dprintf("\t\t\t\tStatus =%x\n",Status);
NtClose(hKey);
RtlInitUnicodeString(&KeyName, L"\\Registry\\Machine\\Software\\test3reactos");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
dprintf("NtOpenKey : ");
Status=NtOpenKey( &hKey, KEY_ALL_ACCESS, &ObjectAttributes);
dprintf("\t\t\t\tStatus =%x\n",Status);
dprintf("NtDeleteKey : ");
Status=NtDeleteKey(hKey);
dprintf("\t\t\t\tStatus =%x\n",Status);
NtClose(hKey);
}
void test4(void)
{
HKEY hKey = NULL,hKey1;
DWORD dwDisposition;
DWORD dwError;
DWORD RegDataType, RegDataSize;
BOOL GlobalFifoEnable;
HKEY hPortKey;
DWORD RegDisposition;
WCHAR szClass[260];
DWORD cchClass;
DWORD cSubKeys;
DWORD cchMaxSubkey;
DWORD cchMaxClass;
DWORD cValues;
DWORD cchMaxValueName;
DWORD cbMaxValueData;
DWORD cbSecurityDescriptor;
FILETIME ftLastWriteTime;
SYSTEMTIME LastWriteTime;
dprintf ("RegOpenKeyExW HKLM\\System\\Setup: ");
dwError = RegOpenKeyExW(HKEY_LOCAL_MACHINE,
L"System\\Setup",
0,
KEY_ALL_ACCESS,
&hKey1);
dprintf("\t\tdwError =%x\n",dwError);
if (dwError == ERROR_SUCCESS)
{
dprintf("RegQueryInfoKeyW: ");
cchClass=260;
dwError = RegQueryInfoKeyW(hKey1
, szClass, &cchClass, NULL, &cSubKeys
, &cchMaxSubkey, &cchMaxClass, &cValues, &cchMaxValueName
, &cbMaxValueData, &cbSecurityDescriptor, &ftLastWriteTime);
dprintf ("\t\t\t\tdwError %x\n", dwError);
FileTimeToSystemTime(&ftLastWriteTime,&LastWriteTime);
dprintf ("\tnb of subkeys=%d,last write : %d/%d/%d %d:%02.2d'%02.2d''%03.3d\n",cSubKeys
,LastWriteTime.wMonth
,LastWriteTime.wDay
,LastWriteTime.wYear
,LastWriteTime.wHour
,LastWriteTime.wMinute
,LastWriteTime.wSecond
,LastWriteTime.wMilliseconds
);
}
dprintf ("RegOpenKeyExW: ");
dwError = RegOpenKeyExW(HKEY_LOCAL_MACHINE,
L"System\\ControlSet001\\Services\\Serial",
0,
KEY_ALL_ACCESS,
&hKey);
dprintf ("\t\t\t\t\tdwError %x\n", dwError);
RegDataSize = sizeof(GlobalFifoEnable);
if (dwError == ERROR_SUCCESS)
{
dprintf ("RegQueryValueExW: ");
dwError = RegQueryValueExW(hKey,
L"ForceFifoEnable",
NULL,
&RegDataType,
(PBYTE)&GlobalFifoEnable,
&RegDataSize);
dprintf("\t\t\t\tdwError =%x\n",dwError);
if (dwError == 0)
{
dprintf("\tValue:DT=%d, DS=%d, Value=%d\n"
,RegDataType
,RegDataSize
,GlobalFifoEnable);
}
}
dprintf ("RegCreateKeyExW: ");
dwError = RegCreateKeyExW(hKey,
L"Parameters\\Serial001",
0,
NULL,
0,
KEY_ALL_ACCESS,
NULL,
&hPortKey,
&RegDisposition
);
dprintf ("\t\t\t\tdwError %x\n", dwError);
dprintf ("RegCreateKeyExW: ");
dwError = RegCreateKeyExW (HKEY_LOCAL_MACHINE,
L"Software\\test4reactos\\test",
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS,
NULL,
&hKey,
&dwDisposition);
dprintf ("\t\t\t\tdwError %x ", dwError);
dprintf ("dwDisposition %x\n", dwDisposition);
if (dwError == ERROR_SUCCESS)
{
dprintf ("RegSetValueExW: ");
dwError = RegSetValueExW (hKey,
L"TestValue",
0,
REG_SZ,
(BYTE*)L"TestString",
20);
dprintf ("\t\t\t\tdwError %x\n", dwError);
dprintf ("RegCloseKey: ");
dwError = RegCloseKey (hKey);
dprintf ("\t\t\t\t\tdwError %x\n", dwError);
}
dprintf ("\n\n");
hKey = NULL;
dprintf ("RegCreateKeyExW: ");
dwError = RegCreateKeyExW (HKEY_LOCAL_MACHINE,
L"software\\Test",
0,
NULL,
REG_OPTION_VOLATILE,
KEY_ALL_ACCESS,
NULL,
&hKey,
&dwDisposition);
dprintf ("\t\t\t\tdwError %x ", dwError);
dprintf ("dwDisposition %x\n", dwDisposition);
if (dwError == ERROR_SUCCESS)
{
dprintf("RegQueryInfoKeyW: ");
cchClass=260;
dwError = RegQueryInfoKeyW(hKey
, szClass, &cchClass, NULL, &cSubKeys
, &cchMaxSubkey, &cchMaxClass, &cValues, &cchMaxValueName
, &cbMaxValueData, &cbSecurityDescriptor, &ftLastWriteTime);
dprintf ("\t\t\t\tdwError %x\n", dwError);
FileTimeToSystemTime(&ftLastWriteTime,&LastWriteTime);
dprintf ("\tnb of subkeys=%d,last write : %d/%d/%d %d:%02.2d'%02.2d''%03.3d\n",cSubKeys
,LastWriteTime.wMonth
,LastWriteTime.wDay
,LastWriteTime.wYear
,LastWriteTime.wHour
,LastWriteTime.wMinute
,LastWriteTime.wSecond
,LastWriteTime.wMilliseconds
);
dprintf ("RegCloseKey: ");
dwError = RegCloseKey (hKey);
dprintf ("\t\t\t\t\tdwError %x\n", dwError);
}
dprintf ("\nTests done...\n");
}
void test5(void)
{
HKEY hKey,hKey1;
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING KeyName,ValueName;
NTSTATUS Status;
KEY_VALUE_FULL_INFORMATION KeyValueInformation[5];
ULONG Index,Length,i;
char Buffer[10];
DWORD Result;
dprintf("NtOpenKey : \n");
dprintf(" \\Registry\\Machine\\Software\\reactos : ");
RtlInitUnicodeString(&KeyName,L"\\Registry\\Machine\\Software\\reactos");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, NULL, NULL);
Status=NtOpenKey( &hKey, KEY_ALL_ACCESS, &ObjectAttributes);
dprintf("\t\tStatus=%x\n",Status);
dprintf("NtFlushKey : \n");
Status = NtFlushKey(hKey);
dprintf("\t\tStatus=%x\n",Status);
dprintf("NtCloseKey : \n");
Status=NtClose(hKey);
dprintf("\t\tStatus=%x\n",Status);
}
/* registry link create test */
void test6(void)
{
HKEY hKey;
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING KeyName,ValueName;
NTSTATUS Status;
KEY_VALUE_FULL_INFORMATION KeyValueInformation[5];
ULONG Index,Length,i;
char Buffer[10];
DWORD Result;
dprintf("Create target key\n");
dprintf(" Key: \\Registry\\Machine\\SOFTWARE\\Reactos\n");
RtlInitUnicodeString(&KeyName, L"\\Registry\\Machine\\SOFTWARE\\Reactos");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, NULL, NULL);
Status = NtCreateKey(&hKey, KEY_ALL_ACCESS , &ObjectAttributes
,0,NULL, REG_OPTION_VOLATILE,NULL);
dprintf(" NtCreateKey() called (Status %lx)\n",Status);
if (!NT_SUCCESS(Status))
return;
dprintf("Create target value\n");
dprintf(" Value: TestValue = 'Test String'\n");
RtlInitUnicodeString(&ValueName, L"TestValue");
Status=NtSetValueKey(hKey,&ValueName,0,REG_SZ,(PVOID)L"TestString",22);
dprintf(" NtSetValueKey() called (Status %lx)\n",Status);
if (!NT_SUCCESS(Status))
return;
dprintf("Close target key\n");
NtClose(hKey);
dprintf("Create link key\n");
dprintf(" Key: \\Registry\\Machine\\SOFTWARE\\Test\n");
RtlInitUnicodeString(&KeyName, L"\\Registry\\Machine\\SOFTWARE\\Test");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE | OBJ_OPENLINK,
NULL,
NULL);
Status = NtCreateKey(&hKey,
KEY_ALL_ACCESS | KEY_CREATE_LINK,
&ObjectAttributes,
0,
NULL,
REG_OPTION_VOLATILE | REG_OPTION_CREATE_LINK,
NULL);
dprintf(" NtCreateKey() called (Status %lx)\n",Status);
if (!NT_SUCCESS(Status))
return;
dprintf("Create link value\n");
dprintf(" Value: SymbolicLinkValue = '\\Registry\\Machine\\SOFTWARE\\Reactos'\n");
RtlInitUnicodeString(&ValueName, L"SymbolicLinkValue");
Status=NtSetValueKey(hKey,&ValueName,0,REG_LINK,(PVOID)L"\\Registry\\Machine\\SOFTWARE\\Reactos",68);
dprintf(" NtSetValueKey() called (Status %lx)\n",Status);
if (!NT_SUCCESS(Status))
{
dprintf("Creating link value failed! Test failed!\n");
NtClose(hKey);
return;
}
dprintf("Close link key\n");
NtClose(hKey);
dprintf("Open link key\n");
dprintf(" Key: \\Registry\\Machine\\SOFTWARE\\Test\n");
RtlInitUnicodeString(&KeyName, L"\\Registry\\Machine\\SOFTWARE\\Test");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE | OBJ_OPENIF
, NULL, NULL);
Status = NtCreateKey(&hKey, KEY_ALL_ACCESS , &ObjectAttributes
,0,NULL, REG_OPTION_VOLATILE, NULL);
dprintf(" NtCreateKey() called (Status %lx)\n",Status);
if (!NT_SUCCESS(Status))
return;
dprintf("Query value\n");
dprintf(" Value: TestValue\n");
RtlInitUnicodeString(&ValueName, L"TestValue");
Status=NtQueryValueKey(hKey,
&ValueName,
KeyValueFullInformation,
&KeyValueInformation[0],
sizeof(KeyValueInformation),
&Length);
dprintf(" NtQueryValueKey() called (Status %lx)\n",Status);
if (Status == STATUS_SUCCESS)
{
dprintf(" Value: Type %d DataLength %d NameLength %d Name '",
KeyValueInformation[0].Type,
KeyValueInformation[0].DataLength,
KeyValueInformation[0].NameLength);
for (i=0; i < KeyValueInformation[0].NameLength / sizeof(WCHAR); i++)
dprintf("%C",KeyValueInformation[0].Name[i]);
dprintf("'\n");
if (KeyValueInformation[0].Type == REG_SZ)
dprintf(" Value '%S'\n",
KeyValueInformation[0].Name+1
+KeyValueInformation[0].NameLength/2);
}
dprintf("Close link key\n");
NtClose(hKey);
dprintf("Test successful!\n");
}
/* registry link delete test */
void test7(void)
{
HKEY hKey;
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING KeyName,ValueName;
NTSTATUS Status;
dprintf("Open link key\n");
dprintf(" Key: \\Registry\\Machine\\SOFTWARE\\Test\n");
RtlInitUnicodeString(&KeyName, L"\\Registry\\Machine\\SOFTWARE\\Test");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE | OBJ_OPENIF | OBJ_OPENLINK,
NULL,
NULL);
Status = NtCreateKey(&hKey,
KEY_ALL_ACCESS,
&ObjectAttributes,
0,
NULL,
REG_OPTION_VOLATILE | REG_OPTION_OPEN_LINK,
NULL);
dprintf(" NtCreateKey() called (Status %lx)\n",Status);
if (!NT_SUCCESS(Status))
{
dprintf("Could not open the link key. Please run the link create test first!\n");
return;
}
dprintf("Delete link value\n");
RtlInitUnicodeString(&ValueName, L"SymbolicLinkValue");
Status = NtDeleteValueKey(hKey,
&ValueName);
dprintf(" NtDeleteValueKey() called (Status %lx)\n",Status);
dprintf("Delete link key\n");
Status=NtDeleteKey(hKey);
dprintf(" NtDeleteKey() called (Status %lx)\n",Status);
dprintf("Close link key\n");
NtClose(hKey);
}
void test8(void)
{
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING KeyName;
NTSTATUS Status;
LONG dwError;
TOKEN_PRIVILEGES NewPrivileges;
HANDLE Token,hKey;
LUID Luid;
BOOLEAN bRes;
Status=NtOpenProcessToken(GetCurrentProcess()
,TOKEN_ADJUST_PRIVILEGES,&Token);
// ,TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&Token);
dprintf("\t\t\t\tStatus =%x\n",Status);
// bRes=LookupPrivilegeValueA(NULL,SE_RESTORE_NAME,&Luid);
// dprintf("\t\t\t\tbRes =%x\n",bRes);
NewPrivileges.PrivilegeCount = 1;
NewPrivileges.Privileges[0].Luid = Luid;
// NewPrivileges.Privileges[0].Luid.u.LowPart=18;
// NewPrivileges.Privileges[0].Luid.u.HighPart=0;
NewPrivileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
// Status = NtAdjustPrivilegesToken(
bRes = AdjustTokenPrivileges(
Token,
FALSE,
&NewPrivileges,
0,
NULL,
NULL
);
dprintf("\t\t\t\tbRes =%x\n",bRes);
// Status=NtClose(Token);
// dprintf("\t\t\t\tStatus =%x\n",Status);
RtlInitUnicodeString(&KeyName,L"test5");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, NULL, NULL);
Status = NtLoadKey(HKEY_LOCAL_MACHINE,&ObjectAttributes);
dprintf("\t\t\t\tStatus =%x\n",Status);
dwError=RegLoadKey(HKEY_LOCAL_MACHINE,"def"
,"test5");
dprintf("\t\t\t\tdwError =%x\n",dwError);
dprintf("NtOpenKey \\Registry\\Machine : ");
RtlInitUnicodeString(&KeyName, L"\\Registry\\Machine");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
Status=NtOpenKey( &hKey, MAXIMUM_ALLOWED, &ObjectAttributes);
dprintf("\t\t\tStatus =%x\n",Status);
RtlInitUnicodeString(&KeyName,L"test5");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, NULL, NULL);
Status = NtLoadKey(hKey,&ObjectAttributes);
dprintf("\t\t\t\tStatus =%x\n",Status);
}
int main(int argc, char* argv[])
{
char Buffer[10];
DWORD Result;
AllocConsole();
InputHandle = GetStdHandle(STD_INPUT_HANDLE);
OutputHandle = GetStdHandle(STD_OUTPUT_HANDLE);
while(1)
{
dprintf("choose test :\n");
dprintf(" 0=Exit\n");
dprintf(" 1=Ntxxx read functions\n");
dprintf(" 2=Ntxxx write functions : volatile keys\n");
dprintf(" 3=Ntxxx write functions : non volatile keys\n");
dprintf(" 4=Regxxx functions\n");
dprintf(" 5=FlushKey \n");
dprintf(" 6=Registry link create test\n");
dprintf(" 7=Registry link delete test\n");
ReadConsoleA(InputHandle, Buffer, 3, &Result, NULL) ;
switch (Buffer[0])
{
case '0':
return(0);
case '1':
test1();
break;
case '2':
test2();
break;
case '3':
test3();
break;
case '4':
test4();
break;
case '5':
test5();
break;
case '6':
test6();
break;
case '7':
test7();
break;
#if 0
case '8':
test8();
break;
#endif
}
}
return 0;
}

View File

@@ -0,0 +1,19 @@
# $Id: Makefile,v 1.3 2002/06/02 19:25:00 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = sectest
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -0,0 +1,72 @@
/* $Id: sectest.c,v 1.1 2002/05/13 20:15:33 chorns Exp $ */
#define UNICODE
#define _UNICODE
#include <windows.h>
int main(int argc, char* argv[])
{
HANDLE hFile;
HANDLE Section;
PVOID BaseAddress;
printf("Section Test\n");
hFile = CreateFile(_T("sectest.txt"),
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
CREATE_ALWAYS,
0,
0);
if (hFile == INVALID_HANDLE_VALUE)
{
printf("Failed to create file (err=%d)", GetLastError());
return 1;
}
Section = CreateFileMapping(
hFile,
NULL,
PAGE_READWRITE,
0,
4096,
NULL);
if (Section == NULL)
{
printf("Failed to create section (err=%d)", GetLastError());
return 1;
}
printf("Mapping view of section\n");
BaseAddress = MapViewOfFile(Section,
FILE_MAP_ALL_ACCESS,
0,
0,
4096);
printf("BaseAddress %x\n", (UINT) BaseAddress);
if (BaseAddress == NULL)
{
printf("Failed to map section (%d)\n", GetLastError());
return 1;
}
printf("Clearing section\n");
FillMemory(BaseAddress, 4096, ' ');
printf("Copying test data to section\n");
strcpy(BaseAddress, "test data");
if (!UnmapViewOfFile(BaseAddress))
{
printf("Failed to unmap view of file (%d)\n", GetLastError());
return 1;
}
if (!CloseHandle(hFile))
{
printf("Failed to close file (%d)\n", GetLastError());
return 1;
}
return 0;
}

View File

@@ -0,0 +1,47 @@
#
#
#
PATH_TO_TOP = ../../..
include $(PATH_TO_TOP)/rules.mak
SRV_OBJECTS= shmsrv.o
CLT_OBJECTS= shmclt.o
PROGS= shmsrv.exe shmclt.exe
BASE_CFLAGS = -I$(PATH_TO_TOP)/include
LIBS = $(SDK_PATH_LIB)/kernel32.a \
$(SDK_PATH_LIB)/ntdll.a
all: $(PROGS)
.phony: all
implib:
clean:
- $(RM) *.o *.exe *.sym
.phony: implib clean
install: $(PROGS:%=$(INSTALL_DIR)/bin/%)
$(PROGS:%=$(INSTALL_DIR)/bin/%): $(INSTALL_DIR)/bin/%: %
$(CP) $* $(INSTALL_DIR)/bin/$*
dist: $(PROGS:%=$(DIST_DIR)/apps/%)
$(PROGS:%=$(DIST_DIR)/apps/%): $(DIST_DIR)/apps/%: %
$(CP) $* $(DIST_DIR)/apps/$*
shmsrv.exe: $(SRV_OBJECTS) $(LIBS)
$(CC) $(SRV_OBJECTS) $(LIBS) -o shmsrv.exe
$(NM) --numeric-sort shmsrv.exe > shmsrv.sym
shmclt.exe: $(CLT_OBJECTS) $(LIBS)
$(CC) $(CLT_OBJECTS) $(LIBS) -o shmclt.exe
$(NM) --numeric-sort shmsrv.exe > shmclt.sym
# EOF

View File

@@ -0,0 +1,61 @@
#include <ddk/ntddk.h>
#include <windows.h>
#include <stdarg.h>
#include <string.h>
#include <stdio.h>
HANDLE OutputHandle;
HANDLE InputHandle;
void debug_printf(char* fmt, ...)
{
va_list args;
char buffer[255];
va_start(args,fmt);
vsprintf(buffer,fmt,args);
WriteConsoleA(OutputHandle, buffer, strlen(buffer), NULL, NULL);
va_end(args);
}
int
main(int argc, char* argv[])
{
HANDLE Section;
PVOID BaseAddress;
char buffer[256];
printf("Shm test server\n");
Section = OpenFileMappingW (
// PAGE_EXECUTE_READWRITE, invalid parameter
FILE_MAP_WRITE,
FALSE,
L"TestSection"
);
if (Section == NULL)
{
printf("Failed to open section (err=%d)", GetLastError());
return 1;
}
BaseAddress = MapViewOfFile(Section,
FILE_MAP_ALL_ACCESS,
0,
0,
8192);
if (BaseAddress == NULL)
{
printf("Failed to map section (err=%d)\n", GetLastError());
return 1;
}
printf("BaseAddress %x\n", (UINT) BaseAddress);
printf("Copying from section\n");
strcpy(buffer, BaseAddress);
printf("Copyed <%s>\n", buffer);
// for(;;);
return 0;
}

View File

@@ -0,0 +1,53 @@
/* $Id: shmsrv.c,v 1.5 2000/06/29 23:35:10 dwelch Exp $
*
* FILE : reactos/apps/shm/shmsrv.c
* AUTHOR: David Welch
*/
#include <ddk/ntddk.h>
#include <windows.h>
#include <stdarg.h>
#include <string.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
HANDLE Section;
PVOID BaseAddress;
printf("Shm test server\n");
Section = CreateFileMappingW (
(HANDLE) 0xFFFFFFFF,
NULL,
PAGE_READWRITE,
0,
8192,
L"TestSection"
);
if (Section == NULL)
{
printf("Failed to create section (err=%d)", GetLastError());
return 1;
}
printf("Mapping view of section\n");
BaseAddress = MapViewOfFile(Section,
FILE_MAP_ALL_ACCESS,
0,
0,
8192);
printf("BaseAddress %x\n", (UINT) BaseAddress);
if (BaseAddress == NULL)
{
printf("Failed to map section\n");
}
printf("Copying to section\n");
printf("Copying %s\n", GetCommandLineA());
strcpy(BaseAddress, GetCommandLineA());
Sleep(INFINITE);
return 0;
}

View File

@@ -0,0 +1,20 @@
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = windows
TARGET_NAME = simple
TARGET_SDKLIBS = kernel32.a gdi32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -0,0 +1,15 @@
/*
* The simplest Windows program you will ever write.
*
* This source code is in the PUBLIC DOMAIN and has NO WARRANTY.
*
* Colin Peters <colinp at ma.kcom.ne.jp>, July 1, 2001.
*/
#include <windows.h>
int STDCALL
WinMain (HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmd, int nShow)
{
MessageBox (NULL, "Hello, Windows!", "Hello", MB_OK);
return 0;
}

View File

@@ -0,0 +1,21 @@
# $Id: makefile,v 1.1 2002/06/17 06:01:17 sedwards Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = tcpsvr
TARGET_SDKLIBS = kernel32.a ws2_32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -0,0 +1,173 @@
/* tcpServer.c
*
* Simple Winsock TCP server test.
* Later will be used as base for ReactOS telnetd
*
* HISTORY:
* 6-15-02 - Added Winsock support to UNIX tcp test
* 6-16-02 - Removed Unix support
* 6-17-02 - Added extra comments to code
*
*/
#include <winsock2.h>
#include <stdio.h>
#undef ERROR
#define SUCCESS 0
#define ERROR 1
#define END_LINE 0x0A
#define SERVER_PORT 23
#define MAX_MSG 100
/* function readline */
int read_line();
int main (int argc, char *argv[]) {
WORD wVersionRequested;
WSADATA WsaData;
INT Status;
int sd, newSd, cliLen;
struct sockaddr_in cliAddr, servAddr;
char line[MAX_MSG];
wVersionRequested = MAKEWORD(2, 2);
Status = WSAStartup(wVersionRequested, &WsaData);
if (Status != 0) {
printf("Could not initialize winsock dll.\n");
return FALSE;
}
/* create socket */
sd = socket(AF_INET, SOCK_STREAM, 0);
if(sd<0) {
perror("cannot open socket ");
WSACleanup();
return ERROR;
}
/* bind server port */
servAddr.sin_family = AF_INET;
servAddr.sin_addr.s_addr = htonl(INADDR_ANY);
servAddr.sin_port = htons(SERVER_PORT);
if(bind(sd, (struct sockaddr *) &servAddr, sizeof(servAddr))<0) {
perror("cannot bind port ");
WSACleanup();
return ERROR;
}
listen(sd,5);
while(1) {
printf("%s: \n
To start test, Please telnet to localhost (127.0.0.1) port 23 \n
When connected input raw data followed by End of Line\n
Test is now running on TCP port %u\n",argv[0],SERVER_PORT);
cliLen = sizeof(cliAddr);
newSd = accept(sd, (struct sockaddr *) &cliAddr, &cliLen);
if(newSd<0) {
perror("cannot accept connection ");
WSACleanup();
return ERROR;
}
/* init line */
memset(line,0x0,MAX_MSG);
/* receive segments */
while(read_line(newSd,line)!=ERROR) {
printf("%s: received from %s:TCP%d : %s\n", argv[0],
inet_ntoa(cliAddr.sin_addr),
ntohs(cliAddr.sin_port), line);
/* init line */
memset(line,0x0,MAX_MSG);
} /* while(read_line) */
} /* while (1) */
}
/* WARNING WARNING WARNING WARNING WARNING WARNING WARNING */
/* this function is experimental.. I don't know yet if it works */
/* correctly or not. Use Steven's readline() function to have */
/* something robust. */
/* WARNING WARNING WARNING WARNING WARNING WARNING WARNING */
/* rcv_line is my function readline(). Data is read from the socket when */
/* needed, but not byte after bytes. All the received data is read. */
/* This means only one call to recv(), instead of one call for */
/* each received byte. */
/* You can set END_CHAR to whatever means endofline for you. (0x0A is \n)*/
/* read_lin returns the number of bytes returned in line_to_return */
int read_line(int newSd, char *line_to_return) {
static int rcv_ptr=0;
static char rcv_msg[MAX_MSG];
static int n;
int offset;
offset=0;
while(1) {
if(rcv_ptr==0) {
/* read data from socket */
memset(rcv_msg,0x0,MAX_MSG); /* init buffer */
n = recv(newSd, rcv_msg, MAX_MSG, 0); /* wait for data */
if (n<0) {
perror(" cannot receive data ");
return ERROR;
} else if (n==0) {
printf(" connection closed by client\n");
close(newSd);
WSACleanup();
return ERROR;
}
}
/* if new data read on socket */
/* OR */
/* if another line is still in buffer */
/* copy line into 'line_to_return' */
while(*(rcv_msg+rcv_ptr)!=END_LINE && rcv_ptr<n) {
memcpy(line_to_return+offset,rcv_msg+rcv_ptr,1);
offset++;
rcv_ptr++;
}
/* end of line + end of buffer => return line */
if(rcv_ptr==n-1) {
/* set last byte to END_LINE */
*(line_to_return+offset)=END_LINE;
rcv_ptr=0;
return ++offset;
}
/* end of line but still some data in buffer => return line */
if(rcv_ptr <n-1) {
/* set last byte to END_LINE */
*(line_to_return+offset)=END_LINE;
rcv_ptr++;
return ++offset;
}
/* end of buffer but line is not ended => */
/* wait for more data to arrive on socket */
if(rcv_ptr == n) {
rcv_ptr = 0;
}
} /* while */
}

View File

@@ -0,0 +1,11 @@
#include <stdio.h>
int
main (void)
{
int i;
puts ("This should print \"wow = I\" for I from 0 to 39 inclusive.");
for (i = 0; i < 40; i++)
printf ("%s = %d\n", "wow", i);
return 0;
}

View File

@@ -0,0 +1,53 @@
#include <stdio.h>
#include <string.h>
int
main (void)
{
FILE *f;
int i;
const char filename[] = "/tmp/bug3.test";
f = fopen(filename, "w+");
for (i=0; i<9000; i++)
putc ('x', f);
fseek (f, 8180L, 0);
fwrite ("Where does this text go?", 1, 24, f);
fflush (f);
rewind (f);
for (i=0; i<9000; i++)
{
int j;
if ((j = getc(f)) != 'x')
{
if (i != 8180)
{
printf ("Test FAILED!");
return 1;
}
else
{
char buf[25];
buf[0] = j;
fread (buf + 1, 1, 23, f);
buf[24] = '\0';
if (strcmp (buf, "Where does this text go?") != 0)
{
printf ("%s\nTest FAILED!\n", buf);
return 1;
}
i += 23;
}
}
}
fclose(f);
remove(filename);
puts ("Test succeeded.");
return 0;
}

View File

@@ -0,0 +1,73 @@
#
#
#
PATH_TO_TOP = ../..
PROGS= test-stdio tst-printf tstdiomisc bug2 bug3 \
temptest test-fseek test_rdwr testfsd time_t
all: $(PROGS:%=%.exe)
.phony: all
implib:
clean:
- $(RM) *.o *.exe *.sym
.phony: implib clean
install: # $(PROGS:%=$(FLOPPY_DIR)/apps/%.exe)
$(PROGS:%=$(FLOPPY_DIR)/apps/%.exe): $(FLOPPY_DIR)/apps/%.exe: %.exe
dist: $(PROGS:%=$(DIST_DIR)/apps/%.exe)
$(PROGS:%=$(DIST_DIR)/apps/%.exe): $(DIST_DIR)/apps/%.exe: %.exe
$(CP) $*.exe $(DIST_DIR)/apps/$*.exe
bug2.exe: bug2.c
$(CC) bug2.c -lkernel32 -o bug2.exe
$(NM) --numeric-sort bug2.exe > bug2.sym
bug3.exe: bug3.c
$(CC) bug3.c -lkernel32 -o bug3.exe
$(NM) --numeric-sort bug3.exe > bug3.sym
temptest.exe: temptest.c
$(CC) temptest.c -lkernel32 -o temptest.exe
$(NM) --numeric-sort temptest.exe > temptest.sym
test-fseek.exe: test-fseek.c
$(CC) test-fseek.c -lkernel32 -o test-fseek.exe
$(NM) --numeric-sort test-fseek.exe > test-fseek.sym
test-fwrite.exe: test-fwrite.c
$(CC) test-fwrite.c -lkernel32 -o test-fwrite.exe
$(NM) --numeric-sort test-fwrite.exe > test-fwrite.sym
test_rdwr.exe: test_rdwr.c
$(CC) test_rdwr.c -lkernel32 -o test_rdwr.exe
$(NM) --numeric-sort test_rdwr.exe > test_rdwr.sym
test-stdio.exe: test-stdio.c
$(CC) test-stdio.c -lkernel32 -o test-stdio.exe
$(NM) --numeric-sort test-stdio.exe > test-stdio.sym
tst-printf.exe: tst-printf.c
$(CC) tst-printf.c -lkernel32 -o tst-printf.exe
$(NM) --numeric-sort tst-printf.exe > tst-printf.sym
tstdiomisc.exe: tstdiomisc.c
$(CC) tstdiomisc.c -lkernel32 -o tstdiomisc.exe
$(NM) --numeric-sort tstdiomisc.exe > tstdiomisc.sym
testfsd.exe: testfsd.c testsuite.c
$(CC) testfsd.c testsuite.c -lkernel32 -o testfsd.exe
$(NM) --numeric-sort testfsd.exe > testfsd.sym
time_t.exe: time_t.c
$(CC) time_t.c -lkernel32 -o time_t.exe
$(NM) --numeric-sort time_t.exe > time_t.sym
include ../../rules.mak

View File

@@ -0,0 +1,27 @@
#include <stdio.h>
#include <string.h>
char *files[500];
int
main (int argc, char *argv[])
{
FILE *fp;
int i;
for (i = 0; i < 500; i++) {
files[i] = tempnam (NULL, "file");
if (files[i] == NULL) {
printf ("tempnam failed\n");
exit (1);
}
printf ("file: %s\n", files[i]);
fp = fopen (files[i], "w");
fclose (fp);
}
for (i = 0; i < 500; i++)
remove (files[i]);
exit (0);
}

View File

@@ -0,0 +1,85 @@
/* Copyright (C) 1991, 1992, 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <stdio.h>
#define TESTFILE "/tmp/test.dat"
int
main (void)
{
FILE *fp;
int i, j;
puts ("\nFile seek test");
fp = fopen (TESTFILE, "w");
if (fp == NULL)
{
perror (TESTFILE);
return 1;
}
for (i = 0; i < 256; i++)
putc (i, fp);
if (freopen (TESTFILE, "r", fp) != fp)
{
perror ("Cannot open file for reading");
return 1;
}
for (i = 1; i <= 255; i++)
{
printf ("%3d\n", i);
fseek (fp, (long) -i, SEEK_END);
if ((j = getc (fp)) != 256 - i)
{
printf ("SEEK_END failed %d\n", j);
break;
}
if (fseek (fp, (long) i, SEEK_SET))
{
puts ("Cannot SEEK_SET");
break;
}
if ((j = getc (fp)) != i)
{
printf ("SEEK_SET failed %d\n", j);
break;
}
if (fseek (fp, (long) i, SEEK_SET))
{
puts ("Cannot SEEK_SET");
break;
}
if (fseek (fp, (long) (i >= 128 ? -128 : 128), SEEK_CUR))
{
puts ("Cannot SEEK_CUR");
break;
}
if ((j = getc (fp)) != (i >= 128 ? i - 128 : i + 128))
{
printf ("SEEK_CUR failed %d\n", j);
break;
}
}
fclose (fp);
remove (TESTFILE);
puts ((i > 255) ? "Test succeeded." : "Test FAILED!");
return (i > 255) ? 0 : 1;
}

View File

@@ -0,0 +1,68 @@
#include <stdio.h>
#include <string.h>
int
main (int argc, char *argv[])
{
FILE *f = tmpfile ();
char obuf[99999], ibuf[sizeof obuf];
char *line;
size_t linesz;
if (! f)
{
perror ("tmpfile");
return 1;
}
if (fputs ("line\n", f) == EOF)
{
perror ("fputs");
return 1;
}
memset (obuf, 'z', sizeof obuf);
memset (ibuf, 'y', sizeof ibuf);
if (fwrite (obuf, sizeof obuf, 1, f) != 1)
{
perror ("fwrite");
return 1;
}
rewind (f);
line = NULL;
linesz = 0;
if (getline (&line, &linesz, f) != 5)
{
perror ("getline");
return 1;
}
if (strcmp (line, "line\n"))
{
puts ("Lines differ. Test FAILED!");
return 1;
}
if (fread (ibuf, sizeof ibuf, 1, f) != 1)
{
perror ("fread");
return 1;
}
if (memcmp (ibuf, obuf, sizeof ibuf))
{
puts ("Buffers differ. Test FAILED!");
return 1;
}
asprintf (&line, "\
GDB is free software and you are welcome to distribute copies of it\n\
under certain conditions; type \"show copying\" to see the conditions.\n\
There is absolutely no warranty for GDB; type \"show warranty\" for details.\n\
");
puts ("Test succeeded.");
return 0;
}

View File

@@ -0,0 +1,55 @@
#include <stdio.h>
#include <string.h>
int main()
{
char msg1[] = "testing _write\n";
char msg2[] = "testing putchar.";
char msg3[] = "testing printf.";
char tmpbuf[255];
FILE* f1;
write(1, msg1, strlen(msg1));
write(1, msg2, strlen(msg2));
putchar('o'); putchar('k'); putchar('\n');
write(1, msg3, strlen(msg3));
printf("ok\n");
printf("Testing fopen\n");
f1 = fopen("tmp.txt","w+b");
if (f1 == NULL)
{
printf("fopen failed\n");
return(1);
}
printf("Testing fwrite\n");
if (fwrite(msg1, 1, strlen(msg1)+1, f1) != (strlen(msg1)+1))
{
printf("fwrite failed\n");
return(1);
}
printf("Testing fread\n");
fseek(f1, 0, SEEK_SET);
if (fread(tmpbuf, 1, strlen(msg1)+1, f1) != (strlen(msg1)+1))
{
printf("fread failed\n");
return(1);
}
if (strcmp(tmpbuf,msg1) != 0)
{
printf("fread failed, data corrupt\n");
return(1);
}
printf("Testing fclose\n");
if (fclose(f1) != 0)
{
printf("fclose failed\n");
return(1);
}
return(0);
}

View File

@@ -0,0 +1,129 @@
/* Copyright (C) 1991, 1992, 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int
main (int argc, char **argv)
{
static const char hello[] = "Hello, world.\n";
static const char replace[] = "Hewwo, world.\n";
static const size_t replace_from = 2, replace_to = 4;
char filename[FILENAME_MAX];
char *name = strrchr (*argv, '/');
char buf[BUFSIZ];
FILE *f;
int lose = 0;
if (name != NULL)
++name;
else
name = *argv;
(void) sprintf (filename, "/tmp/%s.test", name);
f = fopen (filename, "w+");
if (f == NULL)
{
perror (filename);
exit (1);
}
(void) fputs (hello, f);
rewind (f);
(void) fgets (buf, sizeof (buf), f);
rewind (f);
(void) fputs (buf, f);
rewind (f);
{
size_t i;
for (i = 0; i < replace_from; ++i)
{
int c = getc (f);
if (c == EOF)
{
printf ("EOF at %Zu.\n", i);
lose = 1;
break;
}
else if (c != hello[i])
{
printf ("Got '%c' instead of '%c' at %Zu.\n",
(unsigned char) c, hello[i], i);
lose = 1;
break;
}
}
}
{
long int where = ftell (f);
if (where == (long int) replace_from)
{
register size_t i;
for (i = replace_from; i < replace_to; ++i)
if (putc(replace[i], f) == EOF)
{
printf ("putc('%c') got %s at %Zu.\n",
replace[i], strerror (errno), i);
lose = 1;
break;
}
}
else if (where == -1L)
{
printf ("ftell got %s (should be at %Zu).\n",
strerror (errno), replace_from);
lose = 1;
}
else
{
printf ("ftell returns %lu; should be %Zu.\n", where, replace_from);
lose = 1;
}
}
if (!lose)
{
rewind (f);
if (fgets (buf, sizeof (buf), f) == NULL)
{
printf ("fgets got %s.\n", strerror(errno));
lose = 1;
}
else if (strcmp (buf, replace))
{
printf ("Read \"%s\" instead of \"%s\".\n", buf, replace);
lose = 1;
}
}
if (lose)
printf ("Test FAILED! Losing file is \"%s\".\n", filename);
else
{
(void) remove (filename);
puts ("Test succeeded.");
}
exit (lose ? EXIT_FAILURE : EXIT_SUCCESS);
}

View File

@@ -0,0 +1,315 @@
/* $Id: testfsd.c,v 1.4 2001/07/04 03:07:54 rex Exp $
*
* FILE: testFSD.c
* PURPOSE: A test set for the File System Driver
* PROJECT: ReactOS kernel
* COPYRIGHT: See COPYING in the top level directory
* PROGRAMMER: Rex Jolliff (rex@lvcablemodem.com)
*
*/
#include <errno.h>
#include <stdio.h>
#include <windows.h>
#include <string.h>
#include "testsuite.h"
const char *rootDir = "c:\\";
const char *systemRootDir = "c:\\ReactOS";
const char *systemDllDir = "c:\\ReactOS\\System32";
const char *bogusRootFile = "c:\\bogus";
const char *bogusDirAndFile = "c:\\bogus\\bogus";
const char *bogusSystemRootFile = "c:\\ReactOS\\bogus";
const char *bogusSystemDllFile = "c:\\ReactOS\\System32\\bogus";
const char *shortFile = "c:\\ReactOS\\boot.bat";
const char *longFile = "c:\\ReactOS\\loadros.com";
void testOpenExistant (void)
{
HANDLE fileHandle;
fileHandle = CreateFile (rootDir, GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
fileHandle = CreateFile (systemRootDir, GENERIC_READ, 0, 0,
OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
fileHandle = CreateFile (systemDllDir, GENERIC_READ, 0, 0,
OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
}
void testOpenNonExistant (void)
{
DWORD status;
HANDLE fileHandle;
fileHandle = CreateFile (bogusRootFile, GENERIC_READ, 0, 0,
OPEN_EXISTING, 0, 0);
ASSERT (fileHandle == INVALID_HANDLE_VALUE);
status = GetLastError ();
ASSERT (status == ERROR_FILE_NOT_FOUND);
CloseHandle (fileHandle);
fileHandle = CreateFile (bogusDirAndFile, GENERIC_READ, 0, 0,
OPEN_EXISTING, 0, 0);
ASSERT (fileHandle == INVALID_HANDLE_VALUE);
status = GetLastError ();
ASSERT (status == ERROR_PATH_NOT_FOUND);
CloseHandle (fileHandle);
fileHandle = CreateFile (bogusSystemRootFile, GENERIC_READ, 0, 0,
OPEN_EXISTING, 0, 0);
ASSERT (fileHandle == INVALID_HANDLE_VALUE);
status = GetLastError ();
ASSERT (status == ERROR_FILE_NOT_FOUND);
CloseHandle (fileHandle);
fileHandle = CreateFile (bogusSystemDllFile, GENERIC_READ, 0, 0,
OPEN_EXISTING, 0, 0);
ASSERT (fileHandle == INVALID_HANDLE_VALUE);
status = GetLastError ();
ASSERT (status == ERROR_FILE_NOT_FOUND);
CloseHandle (fileHandle);
}
void testCreateExistant (void)
{
DWORD status;
HANDLE fileHandle;
fileHandle = CreateFile (rootDir, GENERIC_READ, 0, 0,
CREATE_NEW, 0, 0);
ASSERT (fileHandle == INVALID_HANDLE_VALUE);
status = GetLastError ();
ASSERT (status == ERROR_ALREADY_EXISTS);
fileHandle = CreateFile (systemRootDir, GENERIC_READ, 0, 0,
CREATE_NEW, 0, 0);
ASSERT (fileHandle == INVALID_HANDLE_VALUE);
status = GetLastError ();
ASSERT (status == ERROR_ALREADY_EXISTS);
fileHandle = CreateFile (systemDllDir, GENERIC_READ, 0, 0,
CREATE_NEW, 0, 0);
ASSERT (fileHandle == INVALID_HANDLE_VALUE);
status = GetLastError ();
ASSERT (status == ERROR_ALREADY_EXISTS);
}
void testCreateNonExistant (void)
{
DWORD status;
HANDLE fileHandle;
fileHandle = CreateFile (bogusRootFile, GENERIC_READ, 0, 0,
CREATE_NEW, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
fileHandle = CreateFile (bogusSystemRootFile, GENERIC_READ, 0, 0,
CREATE_NEW, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
fileHandle = CreateFile (bogusSystemDllFile, GENERIC_READ, 0, 0,
CREATE_NEW, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
#if 0
fileHandle = CreateFile (bogusDirAndFile, GENERIC_READ, 0, 0,
CREATE_NEW, 0, 0);
ASSERT (fileHandle == INVALID_HANDLE_VALUE);
status = GetLastError ();
ASSERT (status == ERROR_PATH_NOT_FOUND);
CloseHandle (fileHandle);
#endif
}
void testDeleteFiles (void)
{
BOOL returnValue;
HANDLE fileHandle;
fileHandle = CreateFile ("bogus", GENERIC_READ, 0, 0,
CREATE_NEW, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
returnValue = DeleteFile ("bogus");
ASSERT_MSG (returnValue,
"Delete of bogus failed, error:%d",
GetLastError ());
#if 0
returnValue = DeleteFile (bogusRootFile);
ASSERT_MSG (returnValue,
"Delete of %s failed, error:%d",
bogusRootFile,
GetLastError ());
returnValue = DeleteFile (bogusRootFile);
ASSERT_MSG (!returnValue,
"2nd Delete of %s succeeded but should fail",
bogusRootFile);
returnValue = DeleteFile (bogusSystemRootFile);
ASSERT_MSG (returnValue,
"Delete of %s failed, error:%d",
bogusSystemRootFile,
GetLastError ());
returnValue = DeleteFile (bogusSystemRootFile);
ASSERT_MSG (!returnValue,
"2nd Delete of %s succeeded but should fail",
bogusSystemRootFile);
returnValue = DeleteFile (bogusSystemDllFile);
ASSERT_MSG (returnValue,
"Delete of %s failed, error:%d",
bogusSystemDllFile,
GetLastError ());
returnValue = DeleteFile (bogusSystemDllFile);
ASSERT_MSG (!returnValue,
"2nd Delete of %s succeeded but should fail",
bogusSystemDllFile);
returnValue = DeleteFile (bogusDirAndFile);
ASSERT_MSG (!returnValue,
"Delete of %s succeded but should fail",
bogusDirAndFile);
#endif
}
void testOpenWithBlankPathElements (void)
{
HANDLE fileHandle;
fileHandle = CreateFile ("c:", GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
fileHandle = CreateFile ("c:\\\\", GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
fileHandle = CreateFile ("c:\\\\reactos\\", GENERIC_READ, 0, 0,
OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
fileHandle = CreateFile ("c:\\reactos\\\\", GENERIC_READ, 0, 0,
OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
fileHandle = CreateFile ("c:\\reactos\\\\system32\\", GENERIC_READ, 0, 0,
OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
fileHandle = CreateFile ("c:\\reactos\\system32\\\\", GENERIC_READ, 0, 0,
OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
}
void testReadOnInvalidHandle (void)
{
BOOL returnValue;
char buffer [256];
DWORD bytesRead;
returnValue = ReadFile (INVALID_HANDLE_VALUE,
buffer,
256,
&bytesRead,
NULL);
ASSERT_MSG (!returnValue,
"Read from invalid handle succeeded but should fail",0);
ASSERT (GetLastError () != ENOFILE);
}
void testReadOnZeroLengthFile (void)
{
BOOL returnValue;
HANDLE fileHandle;
char buffer [256];
DWORD bytesRead;
fileHandle = CreateFile (bogusRootFile, GENERIC_READ, 0, 0,
CREATE_NEW, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
fileHandle = CreateFile (bogusRootFile, GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
returnValue = ReadFile (fileHandle, buffer, 256, &bytesRead, NULL);
ASSERT_MSG (!returnValue,
"Read from zero length file succeeded but should fail",0);
ASSERT (GetLastError () != ERROR_HANDLE_EOF);
CloseHandle (fileHandle);
returnValue = DeleteFile (bogusRootFile);
ASSERT_MSG (returnValue,
"Delete of %s failed, error:%d",
bogusRootFile,
GetLastError ());
}
void testReadOnShortFile (void)
{
BOOL returnValue;
HANDLE fileHandle;
char buffer [256];
DWORD bytesRead;
fileHandle = CreateFile (shortFile, GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
returnValue = ReadFile (fileHandle,
buffer,
256,
&bytesRead,
NULL);
ASSERT_MSG (returnValue,
"Read from short length file failed, error:%d",
GetLastError ());
ASSERT (bytesRead > 0 && bytesRead < 256);
CloseHandle (fileHandle);
}
void testReadOnLongFile (void)
{
BOOL returnValue;
HANDLE fileHandle;
char buffer [256];
DWORD bytesRead;
int count;
fileHandle = CreateFile (longFile, GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
for (count = 0; count < 20; count++)
{
returnValue = ReadFile (fileHandle,
buffer,
256,
&bytesRead,
NULL);
ASSERT_MSG (returnValue,
"Read from short length file failed, error:%d",
GetLastError ());
ASSERT (bytesRead == 256);
}
CloseHandle (fileHandle);
}
int main (void)
{
TEST_RUNNER testRunner;
TEST_SUITE testsToRun [] =
{
ADD_TEST (testOpenExistant),
ADD_TEST (testOpenNonExistant),
ADD_TEST (testCreateExistant),
ADD_TEST (testCreateNonExistant),
ADD_TEST (testDeleteFiles),
/* ADD_TEST (testOverwriteExistant),*/
/* ADD_TEST (testOverwriteNonExistant),*/
ADD_TEST (testOpenWithBlankPathElements),
ADD_TEST (testReadOnInvalidHandle),
ADD_TEST (testReadOnZeroLengthFile),
ADD_TEST (testReadOnShortFile),
ADD_TEST (testReadOnLongFile),
/* ADD_TEST (test), */
END_TESTS
};
memset (&testRunner, 0, sizeof (TEST_RUNNER));
tsRunTests (&testRunner, testsToRun);
tsReportResults (&testRunner);
}

View File

@@ -0,0 +1,65 @@
#include <windows.h>
#include <stdio.h>
#include "testsuite.h"
static PTEST_RUNNER iTestRunner = 0;
void tsRunTests (PTEST_RUNNER pTestRunner, PTEST_SUITE pTests)
{
int testIndex;
iTestRunner = pTestRunner;
for (testIndex = 0; pTests [testIndex].testFunc != 0; testIndex++)
{
pTests [testIndex].testFunc ();
pTestRunner->tests++;
}
}
void tsReportResults (PTEST_RUNNER pTestRunner)
{
printf ("\nTotal of %d tests.\n"
"Assertions: %d\n"
" Assertions which passed: %d\n"
" Assertions which failed: %d\n",
pTestRunner->tests,
pTestRunner->assertions,
pTestRunner->successes,
pTestRunner->failures);
if (pTestRunner->failures == 0)
{
printf ("\n*** OK ***\n");
}
else
{
printf ("\n*** FAIL ***\n");
}
}
void tsDoAssertion (BOOL pTest,
PCHAR pTestText,
PCHAR pFunction,
int pLine,
...)
{
va_list ap;
iTestRunner->assertions++;
if (!pTest)
{
va_start (ap, pLine);
printf ("%s(%d): ", pFunction, pLine);
vprintf (pTestText, ap);
printf ("\n");
va_end(ap);
iTestRunner->failures++;
}
else
{
iTestRunner->successes++;
}
}

View File

@@ -0,0 +1,44 @@
#ifndef H_TESTSUITE_H
#define H_TESTSUITE_H
struct TestSuite
{
char *name;
void (*testFunc)(void);
};
typedef struct TestSuite TEST_SUITE, *PTEST_SUITE;
#define ADD_TEST(x) {#x, x}
#define END_TESTS {0, 0}
#define COUNT_TESTS(x) (sizeof x/sizeof (struct TestSuite))
struct TestRunner
{
int tests;
int assertions;
int failures;
int successes;
};
typedef struct TestRunner TEST_RUNNER, *PTEST_RUNNER;
void tsDoAssertion (BOOL pTest,
PCHAR pTestText,
PCHAR pFunction,
int pLine,
...);
#ifdef ASSERT
#undef ASSERT
#endif
#define ASSERT(x) tsDoAssertion (x, "assertion \"" ## #x ## "\" failed", __FUNCTION__, __LINE__)
#define ASSERT_MSG(x,y,a...) tsDoAssertion (x, y, __FUNCTION__, __LINE__,a)
void tsRunTests (PTEST_RUNNER pTestRunner, PTEST_SUITE pTests);
void tsReportResults (PTEST_RUNNER pTestRunner);
#endif

View File

@@ -0,0 +1,12 @@
#include <stdio.h>
#include <time.h>
int main(void)
{
struct tm *ptr;
time_t lt;
lt = time(NULL);
ptr = localtime(&lt);
printf(asctime(ptr));
}

View File

@@ -0,0 +1,311 @@
/* Copyright (C) 1991, 92, 93, 95, 96, 97, 98 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifdef BSD
#include </usr/include/stdio.h>
#define EXIT_SUCCESS 0
#else
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#endif
#include <float.h>
void rfg1 (void);
void rfg2 (void);
void
fmtchk (const char *fmt)
{
(void) fputs(fmt, stdout);
(void) printf(":\t`");
(void) printf(fmt, 0x12);
(void) printf("'\n");
}
void
fmtst1chk (const char *fmt)
{
(void) fputs(fmt, stdout);
(void) printf(":\t`");
(void) printf(fmt, 4, 0x12);
(void) printf("'\n");
}
void
fmtst2chk (const char *fmt)
{
(void) fputs(fmt, stdout);
(void) printf(":\t`");
(void) printf(fmt, 4, 4, 0x12);
(void) printf("'\n");
}
/* This page is covered by the following copyright: */
/* (C) Copyright C E Chew
*
* Feel free to copy, use and distribute this software provided:
*
* 1. you do not pretend that you wrote it
* 2. you leave this copyright notice intact.
*/
/*
* Extracted from exercise.c for glibc-1.05 bug report by Bruce Evans.
*/
#define DEC -123
#define INT 255
#define UNS (~0)
/* Formatted Output Test
*
* This exercises the output formatting code.
*/
void
fp_test (void)
{
int i, j, k, l;
char buf[7];
char *prefix = buf;
char tp[20];
puts("\nFormatted output test");
printf("prefix 6d 6o 6x 6X 6u\n");
strcpy(prefix, "%");
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
for (k = 0; k < 2; k++) {
for (l = 0; l < 2; l++) {
strcpy(prefix, "%");
if (i == 0) strcat(prefix, "-");
if (j == 0) strcat(prefix, "+");
if (k == 0) strcat(prefix, "#");
if (l == 0) strcat(prefix, "0");
printf("%5s |", prefix);
strcpy(tp, prefix);
strcat(tp, "6d |");
printf(tp, DEC);
strcpy(tp, prefix);
strcat(tp, "6o |");
printf(tp, INT);
strcpy(tp, prefix);
strcat(tp, "6x |");
printf(tp, INT);
strcpy(tp, prefix);
strcat(tp, "6X |");
printf(tp, INT);
strcpy(tp, prefix);
strcat(tp, "6u |");
printf(tp, UNS);
printf("\n");
}
}
}
}
printf("%10s\n", (char *) NULL);
printf("%-10s\n", (char *) NULL);
}
int
main (int argc, char *argv[])
{
static char shortstr[] = "Hi, Z.";
static char longstr[] = "Good morning, Doctor Chandra. This is Hal. \
I am ready for my first lesson today.";
fmtchk("%.4x");
fmtchk("%04x");
fmtchk("%4.4x");
fmtchk("%04.4x");
fmtchk("%4.3x");
fmtchk("%04.3x");
fmtst1chk("%.*x");
fmtst1chk("%0*x");
fmtst2chk("%*.*x");
fmtst2chk("%0*.*x");
#ifndef BSD
printf("bad format:\t\"%b\"\n");
printf("nil pointer (padded):\t\"%10p\"\n", (void *) NULL);
#endif
printf("decimal negative:\t\"%d\"\n", -2345);
printf("octal negative:\t\"%o\"\n", -2345);
printf("hex negative:\t\"%x\"\n", -2345);
printf("long decimal number:\t\"%ld\"\n", -123456L);
printf("long octal negative:\t\"%lo\"\n", -2345L);
printf("long unsigned decimal number:\t\"%lu\"\n", -123456L);
printf("zero-padded LDN:\t\"%010ld\"\n", -123456L);
printf("left-adjusted ZLDN:\t\"%-010ld\"\n", -123456);
printf("space-padded LDN:\t\"%10ld\"\n", -123456L);
printf("left-adjusted SLDN:\t\"%-10ld\"\n", -123456L);
printf("zero-padded string:\t\"%010s\"\n", shortstr);
printf("left-adjusted Z string:\t\"%-010s\"\n", shortstr);
printf("space-padded string:\t\"%10s\"\n", shortstr);
printf("left-adjusted S string:\t\"%-10s\"\n", shortstr);
printf("null string:\t\"%s\"\n", (char *)NULL);
printf("limited string:\t\"%.22s\"\n", longstr);
printf("e-style >= 1:\t\"%e\"\n", 12.34);
printf("e-style >= .1:\t\"%e\"\n", 0.1234);
printf("e-style < .1:\t\"%e\"\n", 0.001234);
printf("e-style big:\t\"%.60e\"\n", 1e20);
printf ("e-style == .1:\t\"%e\"\n", 0.1);
printf("f-style >= 1:\t\"%f\"\n", 12.34);
printf("f-style >= .1:\t\"%f\"\n", 0.1234);
printf("f-style < .1:\t\"%f\"\n", 0.001234);
printf("g-style >= 1:\t\"%g\"\n", 12.34);
printf("g-style >= .1:\t\"%g\"\n", 0.1234);
printf("g-style < .1:\t\"%g\"\n", 0.001234);
printf("g-style big:\t\"%.60g\"\n", 1e20);
printf (" %6.5f\n", .099999999860301614);
printf (" %6.5f\n", .1);
printf ("x%5.4fx\n", .5);
printf ("%#03x\n", 1);
{
double d = FLT_MIN;
int niter = 17;
while (niter-- != 0)
printf ("%.17e\n", d / 2);
fflush (stdout);
}
printf ("%15.5e\n", 4.9406564584124654e-324);
#define FORMAT "|%12.4f|%12.4e|%12.4g|\n"
printf (FORMAT, 0.0, 0.0, 0.0);
printf (FORMAT, 1.0, 1.0, 1.0);
printf (FORMAT, -1.0, -1.0, -1.0);
printf (FORMAT, 100.0, 100.0, 100.0);
printf (FORMAT, 1000.0, 1000.0, 1000.0);
printf (FORMAT, 10000.0, 10000.0, 10000.0);
printf (FORMAT, 12345.0, 12345.0, 12345.0);
printf (FORMAT, 100000.0, 100000.0, 100000.0);
printf (FORMAT, 123456.0, 123456.0, 123456.0);
#undef FORMAT
{
char buf[20];
printf ("sprintf (\"%%30s\", \"foo\") == %d, \"%.*s\"\n",
sprintf (buf, "%30s", "foo"), sizeof (buf), buf);
}
fp_test ();
printf ("%e should be 1.234568e+06\n", 1234567.8);
printf ("%f should be 1234567.800000\n", 1234567.8);
printf ("%g should be 1.23457e+06\n", 1234567.8);
printf ("%g should be 123.456\n", 123.456);
printf ("%g should be 1e+06\n", 1000000.0);
printf ("%g should be 10\n", 10.0);
printf ("%g should be 0.02\n", 0.02);
{
double x=1.0;
printf("%.17f\n",(1.0/x/10.0+1.0)*x-x);
}
puts ("--- Should be no further output. ---");
rfg1 ();
rfg2 ();
{
char buf[200];
int result;
sprintf(buf,"%*s%*s%*s",-1,"one",-20,"two",-30,"three");
result = strcmp (buf,
"onetwo three ");
puts (result != 0 ? "Test failed!" : "Test ok.");
return result != 0;
}
}
void
rfg1 (void)
{
char buf[100];
sprintf (buf, "%5.s", "xyz");
if (strcmp (buf, " ") != 0)
printf ("got: '%s', expected: '%s'\n", buf, " ");
sprintf (buf, "%5.f", 33.3);
if (strcmp (buf, " 33") != 0)
printf ("got: '%s', expected: '%s'\n", buf, " 33");
sprintf (buf, "%8.e", 33.3e7);
if (strcmp (buf, " 3e+08") != 0)
printf ("got: '%s', expected: '%s'\n", buf, " 3e+08");
sprintf (buf, "%8.E", 33.3e7);
if (strcmp (buf, " 3E+08") != 0)
printf ("got: '%s', expected: '%s'\n", buf, " 3E+08");
sprintf (buf, "%.g", 33.3);
if (strcmp (buf, "3e+01") != 0)
printf ("got: '%s', expected: '%s'\n", buf, "3e+01");
sprintf (buf, "%.G", 33.3);
if (strcmp (buf, "3E+01") != 0)
printf ("got: '%s', expected: '%s'\n", buf, "3E+01");
}
void
rfg2 (void)
{
int prec;
char buf[100];
prec = 0;
sprintf (buf, "%.*g", prec, 3.3);
if (strcmp (buf, "3") != 0)
printf ("got: '%s', expected: '%s'\n", buf, "3");
prec = 0;
sprintf (buf, "%.*G", prec, 3.3);
if (strcmp (buf, "3") != 0)
printf ("got: '%s', expected: '%s'\n", buf, "3");
prec = 0;
sprintf (buf, "%7.*G", prec, 3.33);
if (strcmp (buf, " 3") != 0)
printf ("got: '%s', expected: '%s'\n", buf, " 3");
prec = 3;
sprintf (buf, "%04.*o", prec, 33);
if (strcmp (buf, " 041") != 0)
printf ("got: '%s', expected: '%s'\n", buf, " 041");
prec = 7;
sprintf (buf, "%09.*u", prec, 33);
if (strcmp (buf, " 0000033") != 0)
printf ("got: '%s', expected: '%s'\n", buf, " 0000033");
prec = 3;
sprintf (buf, "%04.*x", prec, 33);
if (strcmp (buf, " 021") != 0)
printf ("got: '%s', expected: '%s'\n", buf, " 021");
prec = 3;
sprintf (buf, "%04.*X", prec, 33);
if (strcmp (buf, " 021") != 0)
printf ("got: '%s', expected: '%s'\n", buf, " 021");
}

View File

@@ -0,0 +1,56 @@
#include <stdio.h>
int
t1 (void)
{
int n = -1;
sscanf ("abc ", "abc %n", &n);
printf ("t1: count=%d\n", n);
return n != 5;
}
int
t2 (void)
{
int result = 0;
int n;
long N;
int retval;
#define SCAN(INPUT, FORMAT, VAR, EXP_RES, EXP_VAL) \
VAR = -1; \
retval = sscanf (INPUT, FORMAT, &VAR); \
printf ("sscanf (\"%s\", \"%s\", &x) => %d, x = %ld\n", \
INPUT, FORMAT, retval, (long int) VAR); \
result |= retval != EXP_RES || VAR != EXP_VAL
SCAN ("12345", "%ld", N, 1, 12345);
SCAN ("12345", "%llllld", N, 0, -1);
SCAN ("12345", "%LLLLLd", N, 0, -1);
SCAN ("test ", "%*s%n", n, 0, 4);
SCAN ("test ", "%2*s%n", n, 0, -1);
SCAN ("12 ", "%l2d", n, 0, -1);
SCAN ("12 ", "%2ld", N, 1, 12);
n = -1;
N = -1;
retval = sscanf ("1 1", "%d %Z", &n, &N);
printf ("sscanf (\"1 1\", \"%%d %%Z\", &n, &N) => %d, n = %d, N = %ld\n", \
retval, n, N); \
result |= retval != 1 || n != 1 || N != -1;
return result;
}
int
main (int argc, char *argv[])
{
int result = 0;
result |= t1 ();
result |= t2 ();
result |= fflush (stdout) == EOF;
return result;
}

View File

@@ -0,0 +1,102 @@
/*
* Simple program to display the Windows System Metrics.
*
* This source code is in the PUBLIC DOMAIN and has NO WARRANTY.
*
* Robert Dickenson <robd@reactos.org>, July 11, 2002.
*/
#include <stdio.h>
#include <windows.h>
int PASCAL WinMain (HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show)
{
fprintf(stderr,"Windows System Metric:\t Value\n");
fprintf(stderr," SM_ARRANGE:\t\t %d\n", GetSystemMetrics(SM_ARRANGE));
fprintf(stderr," SM_CLEANBOOT:\t %d\n", GetSystemMetrics(SM_CLEANBOOT));
// fprintf(stderr," SM_CMONITORS:\t %d\n", GetSystemMetrics(SM_CMONITORS));
fprintf(stderr," SM_CMOUSEBUTTONS:\t %d\n", GetSystemMetrics(SM_CMOUSEBUTTONS));
fprintf(stderr," SM_CXBORDER:\t %d\n", GetSystemMetrics(SM_CXBORDER));
fprintf(stderr," SM_CYBORDER:\t %d\n", GetSystemMetrics(SM_CYBORDER));
fprintf(stderr," SM_CXCURSOR:\t %d\n", GetSystemMetrics(SM_CXCURSOR));
fprintf(stderr," SM_CYCURSOR:\t %d\n", GetSystemMetrics(SM_CYCURSOR));
fprintf(stderr," SM_CXDLGFRAME:\t %d\n", GetSystemMetrics(SM_CXDLGFRAME));
fprintf(stderr," SM_CYDLGFRAME:\t %d\n", GetSystemMetrics(SM_CYDLGFRAME));
fprintf(stderr," SM_CXDOUBLECLK:\t %d\n", GetSystemMetrics(SM_CXDOUBLECLK));
fprintf(stderr," SM_CYDOUBLECLK:\t %d\n", GetSystemMetrics(SM_CYDOUBLECLK));
fprintf(stderr," SM_CXDRAG:\t\t %d\n", GetSystemMetrics(SM_CXDRAG));
fprintf(stderr," SM_CYDRAG:\t\t %d\n", GetSystemMetrics(SM_CYDRAG));
fprintf(stderr," SM_CXEDGE:\t\t %d\n", GetSystemMetrics(SM_CXEDGE));
fprintf(stderr," SM_CYEDGE:\t\t %d\n", GetSystemMetrics(SM_CYEDGE));
fprintf(stderr," SM_CXFIXEDFRAME:\t %d\n", GetSystemMetrics(SM_CXFIXEDFRAME));
fprintf(stderr," SM_CYFIXEDFRAME:\t %d\n", GetSystemMetrics(SM_CYFIXEDFRAME));
fprintf(stderr," SM_CXFRAME:\t\t %d\n", GetSystemMetrics(SM_CXFRAME));
fprintf(stderr," SM_CYFRAME:\t\t %d\n", GetSystemMetrics(SM_CYFRAME));
fprintf(stderr," SM_CXFULLSCREEN:\t %d\n", GetSystemMetrics(SM_CXFULLSCREEN));
fprintf(stderr," SM_CYFULLSCREEN:\t %d\n", GetSystemMetrics(SM_CYFULLSCREEN));
fprintf(stderr," SM_CXHSCROLL:\t %d\n", GetSystemMetrics(SM_CXHSCROLL));
fprintf(stderr," SM_CYHSCROLL:\t %d\n", GetSystemMetrics(SM_CYHSCROLL));
fprintf(stderr," SM_CXHTHUMB:\t %d\n", GetSystemMetrics(SM_CXHTHUMB));
fprintf(stderr," SM_CXICON:\t\t %d\n", GetSystemMetrics(SM_CXICON));
fprintf(stderr," SM_CYICON:\t\t %d\n", GetSystemMetrics(SM_CYICON));
fprintf(stderr," SM_CXICONSPACING:\t %d\n", GetSystemMetrics(SM_CXICONSPACING));
fprintf(stderr," SM_CYICONSPACING:\t %d\n", GetSystemMetrics(SM_CYICONSPACING));
fprintf(stderr," SM_CXMAXIMIZED:\t %d\n", GetSystemMetrics(SM_CXMAXIMIZED));
fprintf(stderr," SM_CYMAXIMIZED:\t %d\n", GetSystemMetrics(SM_CYMAXIMIZED));
fprintf(stderr," SM_CXMAXTRACK:\t %d\n", GetSystemMetrics(SM_CXMAXTRACK));
fprintf(stderr," SM_CYMAXTRACK:\t %d\n", GetSystemMetrics(SM_CYMAXTRACK));
fprintf(stderr," SM_CXMENUCHECK:\t %d\n", GetSystemMetrics(SM_CXMENUCHECK));
fprintf(stderr," SM_CYMENUCHECK:\t %d\n", GetSystemMetrics(SM_CYMENUCHECK));
fprintf(stderr," SM_CXMENUSIZE:\t %d\n", GetSystemMetrics(SM_CXMENUSIZE));
fprintf(stderr," SM_CYMENUSIZE:\t %d\n", GetSystemMetrics(SM_CYMENUSIZE));
fprintf(stderr," SM_CXMIN:\t\t %d\n", GetSystemMetrics(SM_CXMIN));
fprintf(stderr," SM_CYMIN:\t\t %d\n", GetSystemMetrics(SM_CYMIN));
fprintf(stderr," SM_CXMINIMIZED:\t %d\n", GetSystemMetrics(SM_CXMINIMIZED));
fprintf(stderr," SM_CYMINIMIZED:\t %d\n", GetSystemMetrics(SM_CYMINIMIZED));
fprintf(stderr," SM_CXMINSPACING:\t %d\n", GetSystemMetrics(SM_CXMINSPACING));
fprintf(stderr," SM_CYMINSPACING:\t %d\n", GetSystemMetrics(SM_CYMINSPACING));
fprintf(stderr," SM_CXMINTRACK:\t %d\n", GetSystemMetrics(SM_CXMINTRACK));
fprintf(stderr," SM_CYMINTRACK:\t %d\n", GetSystemMetrics(SM_CYMINTRACK));
fprintf(stderr," SM_CXSCREEN:\t %d\n", GetSystemMetrics(SM_CXSCREEN));
fprintf(stderr," SM_CYSCREEN:\t %d\n", GetSystemMetrics(SM_CYSCREEN));
fprintf(stderr," SM_CXSIZE:\t\t %d\n", GetSystemMetrics(SM_CXSIZE));
fprintf(stderr," SM_CYSIZE:\t\t %d\n", GetSystemMetrics(SM_CYSIZE));
fprintf(stderr," SM_CXSIZEFRAME:\t %d\n", GetSystemMetrics(SM_CXSIZEFRAME));
fprintf(stderr," SM_CYSIZEFRAME:\t %d\n", GetSystemMetrics(SM_CYSIZEFRAME));
fprintf(stderr," SM_CXSMICON:\t %d\n", GetSystemMetrics(SM_CXSMICON));
fprintf(stderr," SM_CYSMICON:\t %d\n", GetSystemMetrics(SM_CYSMICON));
fprintf(stderr," SM_CXSMSIZE:\t %d\n", GetSystemMetrics(SM_CXSMSIZE));
fprintf(stderr," SM_CYSMSIZE:\t %d\n", GetSystemMetrics(SM_CYSMSIZE));
// fprintf(stderr," SM_CXVIRTUALSCREEN:\t %d\n", GetSystemMetrics(SM_CXVIRTUALSCREEN));
// fprintf(stderr," SM_CYVIRTUALSCREEN:\t %d\n", GetSystemMetrics(SM_CYVIRTUALSCREEN));
fprintf(stderr," SM_CXVSCROLL:\t %d\n", GetSystemMetrics(SM_CXVSCROLL));
fprintf(stderr," SM_CYVSCROLL:\t %d\n", GetSystemMetrics(SM_CYVSCROLL));
fprintf(stderr," SM_CYCAPTION:\t %d\n", GetSystemMetrics(SM_CYCAPTION));
fprintf(stderr," SM_CYKANJIWINDOW:\t %d\n", GetSystemMetrics(SM_CYKANJIWINDOW));
fprintf(stderr," SM_CYMENU:\t\t %d\n", GetSystemMetrics(SM_CYMENU));
fprintf(stderr," SM_CYSMCAPTION:\t %d\n", GetSystemMetrics(SM_CYSMCAPTION));
fprintf(stderr," SM_CYVTHUMB:\t %d\n", GetSystemMetrics(SM_CYVTHUMB));
fprintf(stderr," SM_DBCSENABLED:\t %d\n", GetSystemMetrics(SM_DBCSENABLED));
fprintf(stderr," SM_DEBUG:\t\t %d\n", GetSystemMetrics(SM_DEBUG));
// fprintf(stderr," SM_IMMENABLED:\t %d\n", GetSystemMetrics(SM_IMMENABLED));
fprintf(stderr," SM_MENUDROPALIGNMENT: %d\n", GetSystemMetrics(SM_MENUDROPALIGNMENT));
fprintf(stderr," SM_MIDEASTENABLED:\t %d\n", GetSystemMetrics(SM_MIDEASTENABLED));
fprintf(stderr," SM_MOUSEPRESENT:\t %d\n", GetSystemMetrics(SM_MOUSEPRESENT));
#ifndef _MSC_VER
fprintf(stderr," SM_MOUSEWHEELPRESENT: %d\n", GetSystemMetrics(SM_MOUSEWHEELPRESENT));
#endif
fprintf(stderr," SM_NETWORK:\t\t %d\n", GetSystemMetrics(SM_NETWORK));
fprintf(stderr," SM_PENWINDOWS:\t %d\n", GetSystemMetrics(SM_PENWINDOWS));
// fprintf(stderr," SM_REMOTESESSION:\t %d\n", GetSystemMetrics(SM_REMOTESESSION));
fprintf(stderr," SM_SECURE:\t\t %d\n", GetSystemMetrics(SM_SECURE));
// fprintf(stderr," SM_SAMEDISPLAYFORMAT: %d\n", GetSystemMetrics(SM_SAMEDISPLAYFORMAT));
fprintf(stderr," SM_SHOWSOUNDS:\t %d\n", GetSystemMetrics(SM_SHOWSOUNDS));
fprintf(stderr," SM_SLOWMACHINE:\t %d\n", GetSystemMetrics(SM_SLOWMACHINE));
fprintf(stderr," SM_SWAPBUTTON:\t %d\n", GetSystemMetrics(SM_SWAPBUTTON));
// fprintf(stderr," SM_XVIRTUALSCREEN: %d\n", GetSystemMetrics(SM_XVIRTUALSCREEN));
// fprintf(stderr," SM_YVIRTUALSCREEN: %d\n", GetSystemMetrics(SM_YVIRTUALSCREEN));
return 0;
}

View File

@@ -0,0 +1,20 @@
PATH_TO_TOP = ../../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = GetSysMetrics
TARGET_SDKLIBS = user32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -0,0 +1,37 @@
/*
* This example demonstrates dynamical loading of (internal) Win32 DLLS.
* I dont know why this was called hello5 in the wine tree - sedwards
*/
#include <stdio.h>
#include <windows.h>
int PASCAL WinMain (HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show)
{
SYSTEM_INFO si;
void CALLBACK (*fnGetSystemInfo)(LPSYSTEM_INFO si);
HMODULE kernel32;
kernel32 = LoadLibrary("KERNEL32");
if (kernel32<32) {
fprintf(stderr,"FATAL: could not load KERNEL32!\n");
return 0;
}
fnGetSystemInfo = (void*)GetProcAddress(kernel32,"GetSystemInfo");
if (!fnGetSystemInfo) {
fprintf(stderr,"FATAL: could not find GetSystemInfo!\n");
return 0;
}
fnGetSystemInfo(&si);
fprintf(stderr,"QuerySystemInfo returns:\n");
fprintf(stderr," wProcessorArchitecture: %d\n",si.u.s.wProcessorArchitecture);
fprintf(stderr," dwPageSize: %ld\n",si.dwPageSize);
fprintf(stderr," lpMinimumApplicationAddress: %p\n",si.lpMinimumApplicationAddress);
fprintf(stderr," lpMaximumApplicationAddress: %p\n",si.lpMaximumApplicationAddress);
fprintf(stderr," dwActiveProcessorMask: %ld\n",si.dwActiveProcessorMask);
fprintf(stderr," dwNumberOfProcessors: %ld\n",si.dwNumberOfProcessors);
fprintf(stderr," dwProcessorType: %ld\n",si.dwProcessorType);
fprintf(stderr," dwAllocationGranularity: %ld\n",si.dwAllocationGranularity);
fprintf(stderr," wProcessorLevel: %d\n",si.wProcessorLevel);
fprintf(stderr," wProcessorRevision: %d\n",si.wProcessorRevision);
return 0;
}

View File

@@ -0,0 +1,26 @@
#
#
#
PATH_TO_TOP = ../../../..
PROGS = GetSystemInfo
OBJECTS = GetSystemInfo.o
LIBS =
CFLAGS =
all: $(PROGS:%=%.exe)
.phony: all
clean:
- $(RM) *.o *.coff *.exe *.sym
.phony: clean
GetSystemInfo.exe: $(OBJECTS)
$(CC) $(CFLAGS) $(OBJECTS) $(LIBS) -o GetSystemInfo.exe
$(NM) --numeric-sort GetSystemInfo.exe > GetSystemInfo.sym
include $(PATH_TO_TOP)/rules.mak

View File

@@ -0,0 +1,26 @@
# 10-11-01 Steven Edwards <Steven.Edwards@KnowledgeSentry.net>
# Mutex Benchmarks from the Wineserver Linux Kernel Module
#
PATH_TO_TOP = ../../../..
PROGS = fivemutex rapidmutex
all: $(PROGS:%=%.exe)
.phony: all
clean:
- $(RM) *.o *.exe *.sym
.phony: clean
fivemutex.exe: fivemutex.c
$(CC) fivemutex.c -lkernel32 -o fivemutex.exe
$(NM) --numeric-sort fivemutex.exe > fivemutex.sym
rapidmutex.exe: rapidmutex.c
$(CC) rapidmutex.c -lkernel32 -o rapidmutex.exe
$(NM) --numeric-sort rapidmutex.exe > rapidmutex.sym
include $(PATH_TO_TOP)/rules.mak

View File

@@ -0,0 +1,124 @@
/* fivemutex.c: hungry philosophers problem
*
* (c) Copyright D.W.Howells 2000.
* All rights reserved
*/
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#define ERR(X,Y) do { if (X) { perror(""Y""); return 1; } } while(0)
#define RUNLENGTH 4
int count[5];
const char *names[] = {
"five/1", "five/2", "five/3", "five/4", "five/5"
};
DWORD WINAPI child(LPVOID tparam)
{
HANDLE left, right, first, second;
const char *lname, *rname;
int pid = (int) tparam;
int wt;
lname = names[pid%5];
rname = names[(pid+1)%5];
/* create a mutex */
left = CreateMutex(NULL,0,lname); ERR(!left,"create left");
right = CreateMutex(NULL,0,rname); ERR(!left,"create right");
printf("[%d] left: %p [%s]\n",pid,left,lname);
printf("[%d] right: %p [%s]\n",pid,right,rname);
/* pick the forks up in numerical order, else risk starvation */
if (pid%5 < (pid+1)%5) {
first = left;
second = right;
}
else {
first = right;
second = left;
}
for (;;) {
/* grab the left mutex */
wt = WaitForMultipleObjects(1,&first,0,INFINITE);
if (wt!=WAIT_OBJECT_0)
goto wait_failed;
/* grab the right mutex */
wt = WaitForMultipleObjects(1,&second,0,INFINITE);
if (wt!=WAIT_OBJECT_0)
goto wait_failed;
/* got it */
count[pid]++;
/* pass the mutexes */
ERR(!ReleaseMutex(left),"release left");
ERR(!ReleaseMutex(right),"release right");
continue;
wait_failed:
switch (wt) {
case WAIT_OBJECT_0+1:
printf("[%d] obtained mutex __1__\n",pid);
exit(1);
case WAIT_ABANDONED_0:
case WAIT_ABANDONED_0+1:
printf("[%d] abandoned wait\n",pid);
continue;
case WAIT_TIMEOUT:
printf("[%d] wait timed out\n",pid);
exit(1);
default:
ERR(1,"WaitForMultipleObjects");
}
return 1;
}
/* close the handles */
ERR(!CloseHandle(left),"close left");
ERR(!CloseHandle(right),"close right");
return 0;
}
int main()
{
HANDLE hThread[5];
DWORD tid;
int loop;
for (loop=0; loop<5; loop++) {
hThread[loop] = CreateThread(NULL, /* thread attributes */
0, /* stack size */
child, /* start address */
(void*)loop, /* parameter */
0, /* creation flags */
&tid /* thread ID */
);
if (!hThread[loop])
{
ERR(1,"CreateThread");
}
}
WaitForMultipleObjects(5,hThread,0,RUNLENGTH*1000);
for (loop=0; loop<5; loop++)
TerminateThread(hThread[loop],0);
for (loop=0; loop<5; loop++)
printf("[%d] ate %d times (%d times per second)\n",
loop,count[loop],count[loop]/RUNLENGTH
);
return 0;
}

View File

@@ -0,0 +1,89 @@
/* rapidmutex.c: rapid mutex passing test client [Win32 threaded]
*
* (c) Copyright D.W.Howells 2000.
* All rights reserved
*/
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#define ERR(X,Y) do { if (X) { perror(Y); return 1; } } while(0)
#define RUNLENGTH 4
int count[5];
DWORD WINAPI child(LPVOID tparam)
{
HANDLE mymutex;
int pid = (int) tparam;
/* create a mutex */
mymutex = CreateMutex(NULL,0,"wibble");
ERR(!mymutex,"create mutex");
printf("[%d] Handle: %p\n",pid,mymutex);
for (;;) {
/* grab the mutex */
switch (WaitForMultipleObjects(1,&mymutex,0,INFINITE))
{
case WAIT_OBJECT_0:
/* got it */
count[pid]++;
/* pass the mutex */
ERR(!ReleaseMutex(mymutex),"release mutex");
break;
case WAIT_OBJECT_0+1:
printf("[%d] obtained mutex __1__\n",pid);
exit(0);
case WAIT_ABANDONED_0:
case WAIT_ABANDONED_0+1:
printf("[%d] abandoned wait\n",pid);
exit(0);
case WAIT_TIMEOUT:
printf("[%d] wait timed out\n",pid);
exit(0);
default:
ERR(1,"WaitForMultipleObjects");
}
}
return 0;
}
int main()
{
HANDLE hThread[5];
DWORD tid;
int loop;
for (loop=0; loop<5; loop++) {
hThread[loop] =
CreateThread(NULL, /* thread attributes */
0, /* stack size */
child, /* start address */
(void*)loop, /* parameter */
0, /* creation flags */
&tid /* thread ID */
);
if (!hThread[loop])
{
ERR(1,"CreateThread");
}
}
WaitForMultipleObjects(5,hThread,0,RUNLENGTH*1000);
for (loop=0; loop<5; loop++)
TerminateThread(hThread[loop],0);
for (loop=0; loop<5; loop++)
printf("[%d] obtained the mutex %d times"
" (%d times per second)\n",
loop,count[loop],count[loop]/RUNLENGTH
);
return 0;
}

View File

@@ -0,0 +1,26 @@
#
#
#
PATH_TO_TOP = ../../../..
PROGS = Parent_Child
OBJECTS = Parent_Child.o
LIBS = $(PATH_TO_TOP)/dk/w32/lib/gdi32.a
CFLAGS =
all: $(PROGS:%=%.exe)
.phony: all
clean:
- $(RM) *.o *.coff *.exe *.sym
.phony: clean
Parent_Child.exe: $(OBJECTS)
$(CC) $(CFLAGS) -Wl,--subsystem,windows $(OBJECTS) $(LIBS) -o Parent_Child.exe
$(NM) --numeric-sort Parent_Child.exe > Parent_Child.sym
include $(PATH_TO_TOP)/rules.mak

View File

@@ -0,0 +1,151 @@
#include <stdio.h>
#include <windows.h>
/* Win32 counterpart for CalcChildScroll16 is not implemented */
/* even in MS Visual C++ */
// #include "windef.h"
// #include "wingdi.h"
/*#include <wine/winuser16.h>*/
void Write (HDC dc, int x, int y, char *s)
{
SetBkMode(dc, TRANSPARENT);
TextOut (dc, x, y, s, strlen (s));
}
LRESULT CALLBACK WndProc (HWND wnd, UINT msg, WPARAM w, LPARAM l)
{
static short xChar, yChar;
static RECT rectHola;
static char* strHola = "Hola";
HDC dc;
PAINTSTRUCT ps;
TEXTMETRIC tm;
switch (msg){
case WM_CREATE:
dc = GetDC (wnd);
GetTextMetrics (dc, &tm);
xChar = tm.tmAveCharWidth;
yChar = tm.tmHeight;
GetTextExtentPoint32( dc, strHola, strlen(strHola), ((LPSIZE)&rectHola) + 1 );
OffsetRect( &rectHola, xChar, yChar );
ReleaseDC (wnd, dc);
break;
case WM_HSCROLL:
case WM_VSCROLL:
InvalidateRect(wnd, &rectHola, TRUE );
// ScrollChildren(wnd, msg, w, l);
return 0;
case WM_PAINT:
dc = BeginPaint (wnd, &ps);
Write (dc, xChar, yChar, strHola);
EndPaint (wnd, &ps);
break;
case WM_DESTROY:
PostQuitMessage (0);
break;
default:
return DefWindowProc (wnd, msg, w, l);
}
return 0l;
}
LRESULT CALLBACK WndProc2 (HWND wnd, UINT msg, WPARAM w, LPARAM l)
{
static short xChar, yChar;
static RECT rectInfo;
char buf[128];
HDC dc;
PAINTSTRUCT ps;
TEXTMETRIC tm;
switch (msg){
case WM_CREATE:
dc = GetDC (wnd);
GetTextMetrics (dc, &tm);
xChar = tm.tmAveCharWidth;
yChar = tm.tmHeight;
ReleaseDC (wnd, dc);
break;
case WM_PAINT:
dc = BeginPaint (wnd, &ps);
sprintf(buf,"ps.rcPaint = {left = %d, top = %d, right = %d, bottom = %d}",
ps.rcPaint.left,ps.rcPaint.top,ps.rcPaint.right,ps.rcPaint.bottom);
rectInfo.left = rectInfo.top = 0;
GetTextExtentPoint32 (dc, buf, strlen(buf), ((LPSIZE)&rectInfo) + 1 );
OffsetRect (&rectInfo, xChar, yChar );
Write (dc, xChar, yChar, buf);
EndPaint (wnd, &ps);
break;
case WM_MOVE:
case WM_SIZE:
InvalidateRect( wnd, &rectInfo, TRUE );
/*CalcChildScroll16( (UINT16)GetParent(wnd), SB_BOTH );*/
break;
case WM_DESTROY:
PostQuitMessage (0);
break;
default:
return DefWindowProc (wnd, msg, w, l);
}
return 0l;
}
int PASCAL WinMain (HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show)
{
HWND wnd,wnd2;
MSG msg;
WNDCLASS class;
char className[] = "class"; /* To make sure className >= 0x10000 */
char class2Name[] = "class2";
char winName[] = "Test app";
if (!prev){
class.style = CS_HREDRAW | CS_VREDRAW;
class.lpfnWndProc = WndProc;
class.cbClsExtra = 0;
class.cbWndExtra = 0;
class.hInstance = inst;
class.hIcon = LoadIcon (0, IDI_APPLICATION);
class.hCursor = LoadCursor (0, IDC_ARROW);
class.hbrBackground = GetStockObject (WHITE_BRUSH);
class.lpszMenuName = NULL;
class.lpszClassName = className;
if (!RegisterClass (&class))
return FALSE;
}
wnd = CreateWindow (className, winName, WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_VSCROLL | WS_HSCROLL,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, 0,
0, inst, 0);
if (!prev){
class.lpfnWndProc = WndProc2;
class.lpszClassName = class2Name;
class.hbrBackground = GetStockObject(GRAY_BRUSH);
if (!RegisterClass (&class))
return FALSE;
}
wnd2= CreateWindow (class2Name,"Child window", WS_CAPTION | WS_CHILD | WS_THICKFRAME,
50, 50, 350, 100, wnd, 0, inst, 0);
ShowWindow (wnd, show);
UpdateWindow (wnd);
ShowWindow (wnd2, show);
UpdateWindow (wnd2);
while (GetMessage (&msg, 0, 0, 0)){
TranslateMessage (&msg);
DispatchMessage (&msg);
}
return 0;
}

View File

@@ -0,0 +1,36 @@
#
#
#
PATH_TO_TOP = ../../../..
PROGS = guitest
OBJECTS = guitest.o
LIBS = $(PATH_TO_TOP)/dk/w32/lib/gdi32.a
CFLAGS =
all: $(PROGS:%=%.exe)
.phony: all
clean:
- $(RM) *.o *.exe *.sym
.phony: clean
install: $(PROGS:%=$(FLOPPY_DIR)/apps/tests/%.exe)
$(PROGS:%=$(FLOPPY_DIR)/apps/tests/%.exe): $(FLOPPY_DIR)/apps/tests/%.exe: %.exe
$(CP) $*.exe $(FLOPPY_DIR)/apps/$*.exe
dist: $(PROGS:%=../../$(DIST_DIR)/apps/tests/%.exe)
$(PROGS:%=../../$(DIST_DIR)/apps/tests/%.exe): ../../$(DIST_DIR)/apps/tests/%.exe: %.exe
$(CP) $*.exe ../../$(DIST_DIR)/apps/$*.exe
guitest.exe: $(OBJECTS)
$(CC) $(CFLAGS) -Wl,--subsystem,windows $(OBJECTS) $(LIBS) -o guitest.exe
$(NM) --numeric-sort guitest.exe > guitest.sym
include $(PATH_TO_TOP)/rules.mak

View File

@@ -0,0 +1,751 @@
/* Windows GUI Behaviour Tester */
/* by Ove K<>ven */
#include <stdio.h>
#include <string.h>
#include <stdarg.h>
#include <windows.h>
#include "guitest.rc"
/* checks to include */
#define LOGGING /* can be undefined under Wine and use -debugmsg +message instead */
#define MAIN_STYLE WS_OVERLAPPEDWINDOW|WS_HSCROLL
#define MAIN_EXSTYLE 0
#undef TEST_DESTROY_MAIN
#define SHOW_SUB
#undef TEST_DIALOG
#define RESIZE_DIALOG
#undef TEST_SUBDIALOG
#undef TEST_COMMCTL
/************************/
/*** GLOBAL VARIABLES ***/
/************************/
HINSTANCE hInst;
DWORD StartTime;
HWND hListBox,hMainWnd,hSubWnd;
HWND hButton[4]={0,0,0,0};
HWND hDialog=0,hGroup=0,hSubDlg=0;
WNDPROC wndButton[4],wndDialog,wndGroup,wndSubDlg;
BOOL Clicked=0,Ready=0;
int State=0,Rec=0;
#define STATE_CREATE 0
#define STATE_DESTROY 1
#define STATE_SHOW 2
#define STATE_UPDATE 3
#define STATE_DIALOG 4
#define STATE_TEST 5
#define STATE_DIRECT 6
#define STATE_DISPATCH 7
#define STATE_RECURS 8
char*StateName[]={
"Creat",
"Destr",
"Show ",
"Updat",
"Dialg",
"Test ",
"Call ",
"Disp ",
"RCall"
};
static char wclassname[] = "GUITestClass";
static char wcclassname[] = "GUITestChildClass";
static char winname[] = "GUITest";
/**************************/
/*** LOGGING FACILITIES ***/
/**************************/
struct MSGNAMES {
int msg;
char*name;
} MsgNames[]={
#define MSG(x) {x,#x},
#define MSG2(x,y) {y,#x},
#define ENDMSG {0}
/* we get these in CreateWindow */
MSG(WM_GETMINMAXINFO)
MSG(WM_NCCREATE)
MSG(WM_NCCALCSIZE)
MSG(WM_CREATE)
MSG(WM_PARENTNOTIFY)
/* we get these in ShowWindow */
MSG(WM_SHOWWINDOW)
MSG(WM_WINDOWPOSCHANGING)
MSG(WM_QUERYNEWPALETTE)
MSG(WM_ACTIVATEAPP)
MSG(WM_NCACTIVATE)
MSG(WM_GETTEXT)
MSG(WM_ACTIVATE)
MSG(WM_SETFOCUS)
MSG(WM_NCPAINT)
MSG(WM_ERASEBKGND)
MSG(WM_WINDOWPOSCHANGED)
MSG(WM_SIZE)
MSG(WM_MOVE)
/* we get these in DestroyWindow */
MSG(WM_KILLFOCUS)
MSG(WM_DESTROY)
MSG(WM_NCDESTROY)
/* we get these directly sent */
MSG(WM_NCHITTEST)
MSG(WM_SETCURSOR)
MSG(WM_MOUSEACTIVATE)
MSG(WM_CHILDACTIVATE)
MSG(WM_COMMAND)
MSG(WM_SYSCOMMAND)
/* posted events */
MSG(WM_MOUSEMOVE)
MSG(WM_NCMOUSEMOVE)
MSG(WM_PAINT)
MSG(WM_LBUTTONDOWN)
MSG(WM_LBUTTONUP)
MSG(WM_LBUTTONDBLCLK)
MSG(WM_NCLBUTTONDOWN)
MSG(WM_NCLBUTTONUP)
MSG(WM_NCLBUTTONDBLCLK)
MSG(WM_KEYDOWN)
MSG(WM_KEYUP)
MSG(WM_CHAR)
#ifdef WIN32
MSG(WM_CTLCOLORBTN)
MSG(WM_CTLCOLORDLG)
MSG(WM_CTLCOLORSTATIC)
#else
MSG(WM_CTLCOLOR)
#endif
/* moving and sizing */
MSG2(WM_ENTERSIZEMOVE,0x0231)
MSG2(WM_EXITSIZEMOVE,0x0232)
#ifdef WIN32
MSG(WM_SIZING)
#endif
/* menus/dialog boxes */
MSG(WM_CANCELMODE)
MSG(WM_ENABLE)
MSG(WM_SETFONT)
MSG(WM_INITDIALOG)
MSG(WM_GETDLGCODE)
MSG(WM_ENTERIDLE)
/* scroll bars */
MSG(WM_HSCROLL)
MSG(WM_VSCROLL)
/* getting these from Wine but not from Windows */
MSG2(WM_SETVISIBLE,0x0009) /* unheard of in BC++ 4.52 */
#ifdef WIN32
MSG(WM_CAPTURECHANGED)
#endif
ENDMSG};
struct MSGNAMES ButMsgs[]={
MSG(BM_SETSTATE)
MSG(BM_SETSTYLE)
ENDMSG};
char*MsgName(UINT msg,HWND hWnd)
{
int i;
static char buffer[64],wclass[64];
GetClassName(hWnd,wclass,sizeof(wclass));
#define MSGSEARCH(msgs) { \
for (i=0; msgs[i].name&&msgs[i].msg!=msg; i++); \
if (msgs[i].name) return msgs[i].name; \
}
if (!stricmp(wclass,"Button")) MSGSEARCH(ButMsgs);
MSGSEARCH(MsgNames);
/* WM_USER */
if (msg>=WM_USER) {
sprintf(buffer,"WM_USER+%04x{%s}",msg-WM_USER,wclass);
return buffer;
}
/* message not found */
sprintf(buffer,"%04x{%s}",msg,wclass);
return buffer;
}
char*WndName(HWND hWnd,int state)
{
static char buffer[16];
if (!hWnd) return "0000";
if (hWnd==hMainWnd || (state==STATE_CREATE && !hMainWnd)) return "main";
if (hWnd==hSubWnd || (state==STATE_CREATE && !hSubWnd)) return "chld";
if (hWnd==hDialog || (state==STATE_DIALOG && !hDialog)) return "tdlg";
if (hWnd==hGroup) return "tgrp";
if (hWnd==hButton[0]) return "but1";
if (hWnd==hButton[1]) return "but2";
if (hWnd==hButton[2]) return "but3";
if (hWnd==hButton[3]) return "but4";
if (hWnd==hSubDlg || (state==STATE_CREATE && !hSubDlg)) return "sdlg";
if (hDialog) {
int id=GetDlgCtrlID(hWnd);
if (id) {
sprintf(buffer,"dlgitem(%d)",id);
return buffer;
}
}
sprintf(buffer,"%04x",hWnd);
return buffer;
}
void Log(const char*fmt)
{
#ifdef LOGGING
if (!Clicked) SendMessage(hListBox,LB_ADDSTRING,0,(LPARAM)fmt);
#endif
}
void Logf(const char*fmt,...)
{
va_list par;
static char buffer[256];
va_start(par,fmt);
vsprintf(buffer,fmt,par);
va_end(par);
Log(buffer);
}
void LogChildOrder(HWND hWnd)
{
HWND hWndChild = GetWindow(hWnd,GW_CHILD);
static char buffer[256];
strcpy(buffer,"child list:");
while (hWndChild) {
strcat(strcat(buffer," "),WndName(hWndChild,State));
hWndChild=GetWindow(hWndChild,GW_HWNDNEXT);
}
Log(buffer);
}
void LogMessage(int state,HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam,char*name)
{
static char buffer[256];
DWORD tick=GetTickCount()-StartTime;
char*msgname=MsgName(msg,hWnd);
if (!name) name=WndName(hWnd,state);
switch (msg) {
case WM_SETFOCUS:
case WM_KILLFOCUS:
case WM_SETCURSOR:
Logf("%04d[%s(%d):%s]%s(%s,%08x)",tick,StateName[state],Rec,
name,msgname,WndName((HWND)wParam,State),lParam);
break;
#ifdef WIN32
case WM_ENTERIDLE:
case WM_CTLCOLORBTN:
case WM_CTLCOLORDLG:
Logf("%04d[%s(%d):%s]%s(%08x,%s)",tick,StateName[state],Rec,
name,msgname,wParam,WndName((HWND)lParam,State));
break;
#else
case WM_ENTERIDLE:
case WM_CTLCOLOR:
Logf("%04d[%s(%d):%s]%s(%08x,%04x:%s)",tick,StateName[state],Rec,
name,msgname,wParam,HIWORD(lParam),WndName((HWND)LOWORD(lParam),State));
break;
#endif
case WM_WINDOWPOSCHANGING:
case WM_WINDOWPOSCHANGED:
{
WINDOWPOS*pos=(WINDOWPOS*)lParam;
#ifdef WIN32
Logf("%04d[%s(%d):%s]%s(%08x,%p)",tick,StateName[state],Rec,
name,msgname,wParam,pos);
#else
Logf("%04d[%s(%d):%s]%s(%04x,%p)",tick,StateName[state],Rec,
name,msgname,wParam,pos);
#endif
strcpy(buffer,"FLAGS:");
if (pos->flags&SWP_DRAWFRAME) strcat(buffer," DRAWFRAME");
if (pos->flags&SWP_HIDEWINDOW) strcat(buffer," HIDEWINDOW");
if (pos->flags&SWP_NOACTIVATE) strcat(buffer," NOACTIVATE");
if (pos->flags&SWP_NOCOPYBITS) strcat(buffer," NOCOPYBITS");
if (pos->flags&SWP_NOMOVE) strcat(buffer," NOMOVE");
if (pos->flags&SWP_NOOWNERZORDER) strcat(buffer," NOOWNERZORDER");
if (pos->flags&SWP_NOSIZE) strcat(buffer," NOSIZE");
if (pos->flags&SWP_NOREDRAW) strcat(buffer," NOREDRAW");
if (pos->flags&SWP_NOZORDER) strcat(buffer," NOZORDER");
if (pos->flags&SWP_SHOWWINDOW) strcat(buffer," SHOWWINDOW");
Log(buffer);
}
break;
case WM_SYSCOMMAND:
{
char*cmd=NULL;
switch (wParam&0xFFF0) {
#define CASE(x) case SC_##x: cmd=#x; break;
CASE(CLOSE)
CASE(DEFAULT)
CASE(HOTKEY)
CASE(HSCROLL)
CASE(KEYMENU)
CASE(MAXIMIZE)
CASE(MINIMIZE)
CASE(MOUSEMENU)
CASE(MOVE)
CASE(NEXTWINDOW)
CASE(PREVWINDOW)
CASE(RESTORE)
CASE(SCREENSAVE)
CASE(SIZE)
CASE(TASKLIST)
CASE(VSCROLL)
#undef CASE
}
if (cmd) {
Logf("%04d[%s(%d):%s]%s(%s+%x,%08x)",tick,StateName[state],Rec,
name,msgname,cmd,wParam&0xF,lParam);
} else goto GENERIC_MSG;
}
break;
case WM_HSCROLL:
case WM_VSCROLL:
{
char*cmd=NULL;
switch (LOWORD(wParam)) {
#define CASE(x) case SB_##x: cmd=#x; break;
#define CASE2(h,v) case SB_##h: if (msg==WM_HSCROLL) cmd=#h; else cmd=#v; break;
CASE(BOTTOM)
CASE(ENDSCROLL)
CASE2(LINELEFT,LINEUP)
CASE2(LINERIGHT,LINEDOWN)
CASE2(PAGELEFT,PAGEUP)
CASE2(PAGERIGHT,PAGEDOWN)
CASE(THUMBPOSITION)
CASE(THUMBTRACK)
CASE(TOP)
#undef CASE
}
if (cmd) {
#ifdef WIN32
Logf("%04d[%s(%d):%s]%s(%s,%04x,%s)",tick,StateName[state],Rec,
name,msgname,cmd,HIWORD(wParam),WndName((HWND)lParam,State));
#else
Logf("%04d[%s(%d):%s]%s(%04x,%04x,%s)",tick,StateName[state],Rec,
name,msgname,cmd,LOWORD(lParam),WndName((HWND)HIWORD(lParam),State));
#endif
} else goto GENERIC_MSG;
}
break;
default:
GENERIC_MSG:
#ifdef WIN32
Logf("%04d[%s(%d):%s]%s(%08x,%08x)",tick,StateName[state],Rec,
name,msgname,wParam,lParam);
#else
Logf("%04d[%s(%d):%s]%s(%04x,%08x)",tick,StateName[state],Rec,
name,msgname,wParam,lParam);
#endif
}
}
/***************************/
/*** GRAPHICS FACILITIES ***/
/***************************/
void Paint(HWND hWnd)
{
HDC dc;
PAINTSTRUCT ps;
dc=BeginPaint(hWnd,&ps);
EndPaint(hWnd,&ps);
}
void FillPattern(HWND hWnd,HDC pdc)
{
HDC dc=pdc?pdc:GetDC(hWnd);
HBRUSH oldbrush;
RECT rect;
if (!dc) {
Logf("failed to acquire DC for window %s",WndName(hWnd,State));
return;
} else {
Logf("acquired DC for %s window %s, painting",
IsWindowVisible(hWnd)?"visible":"invisible",WndName(hWnd,State));
}
GetClientRect(hWnd,&rect);
oldbrush=SelectObject(dc,GetStockObject(LTGRAY_BRUSH));
PatBlt(dc,0,0,rect.right,rect.bottom,PATCOPY);
SelectObject(dc,oldbrush);
if (!pdc) ReleaseDC(hWnd,dc);
}
void PaintPattern(HWND hWnd)
{
HDC dc;
PAINTSTRUCT ps;
dc=BeginPaint(hWnd,&ps);
FillPattern(hWnd,dc);
EndPaint(hWnd,&ps);
}
/*************************/
/*** WINDOW PROCEDURES ***/
/*************************/
/* MAIN WINDOW */
LRESULT FAR CALLBACK _export MainWindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
LRESULT lResult=0;
RECT rect;
int OldState=State;
State=STATE_RECURS; Rec++;
if (!Clicked) LogMessage(OldState,hWnd,msg,wParam,lParam,NULL);
switch (msg) {
case WM_NCHITTEST:
lResult=DefWindowProc(hWnd,msg,wParam,lParam);
break;
case WM_LBUTTONDOWN:
case WM_CHAR:
if (!Clicked) {
SetParent(hListBox,hWnd);
GetClientRect(hWnd,&rect);
MoveWindow(hListBox,0,0,rect.right,rect.bottom,TRUE);
ShowWindow(hListBox,SW_SHOW);
SetFocus(hListBox);
Clicked=TRUE;
}
break;
case WM_SIZE:
GetClientRect(hWnd,&rect);
if (Clicked) {
MoveWindow(hListBox,0,0,rect.right,rect.bottom,TRUE);
}
MoveWindow(hSubWnd,0,rect.bottom/2,rect.right,rect.bottom-(rect.bottom/2),TRUE);
break;
case WM_PAINT:
Paint(hWnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
lResult=DefWindowProc(hWnd,msg,wParam,lParam);
}
State=OldState; Rec--;
return lResult;
}
/* CHILD WINDOW */
LRESULT FAR CALLBACK _export SubWindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
LRESULT lResult=0;
RECT rect;
int OldState=State;
State=STATE_RECURS; Rec++;
if (!Clicked) LogMessage(OldState,hWnd,msg,wParam,lParam,NULL);
switch (msg) {
case WM_PAINT:
Paint(hWnd);
break;
default:
lResult=DefWindowProc(hWnd,msg,wParam,lParam);
}
State=OldState; Rec--;
return lResult;
}
BOOL FAR CALLBACK _export SubDialogProc(HWND hWndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
/* SUBCLASSED CONTROLS */
LRESULT FAR CALLBACK _export SubClassWindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
LRESULT lResult=0;
RECT rect;
int OldState=State;
int But=-1;
if (hWnd==hButton[0]) But=0; else
if (hWnd==hButton[1]) But=1; else
if (hWnd==hButton[2]) But=2; else
if (hWnd==hButton[3]) But=3;
State=STATE_RECURS; Rec++;
if (!Clicked) {
LogMessage(OldState,hWnd,msg,wParam,lParam,NULL);
if (But!=-1) {
lResult=CallWindowProc((FARPROC)wndButton[But],hWnd,msg,wParam,lParam);
if (msg==WM_LBUTTONUP) {
LogChildOrder(GetParent(hWnd));
}
}
else if (hWnd==hDialog) {
lResult=CallWindowProc((FARPROC)wndDialog,hWnd,msg,wParam,lParam);
}
else if (hWnd==hSubDlg) {
lResult=CallWindowProc((FARPROC)wndSubDlg,hWnd,msg,wParam,lParam);
}
else if (hWnd==hGroup) {
lResult=CallWindowProc((FARPROC)wndGroup,hWnd,msg,wParam,lParam);
if (msg==WM_SETFOCUS) {
/* create subdialog */
if (hSubDlg) {
#if 0
SetRect(&rect,0,0,1,1);
InvalidateRect(hWnd,&rect,FALSE);
#endif
} else {
#ifdef TEST_SUBDIALOG
State=STATE_CREATE;
hSubDlg=CreateDialog(hInst,MAKEINTRESOURCE(2),hWnd,(FARPROC)SubDialogProc);
State=STATE_RECURS;
#else
#ifdef RESIZE_DIALOG
GetWindowRect(GetParent(hWnd),&rect);
rect.right++;
SetWindowPos(GetParent(hWnd),0,0,0,
rect.right-rect.left,rect.bottom-rect.top,
SWP_NOMOVE|SWP_NOZORDER);
#endif
#endif
}
}
}
}
State=OldState; Rec--;
return lResult;
}
/* MAIN DIALOG PROCEDURE */
BOOL FAR CALLBACK _export TestDialogProc(HWND hWndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
BOOL bResult=0;
RECT rect;
int OldState=State;
int But=-1;
State=STATE_RECURS; Rec++;
if (!Clicked) LogMessage(OldState,hWndDlg,msg,wParam,lParam,"dlgp");
switch (msg) {
case WM_INITDIALOG:
hDialog = hWndDlg;
/* subclass dialog window proc */
wndDialog = (WNDPROC)SetWindowLong(hDialog,GWL_WNDPROC,(LONG)SubClassWindowProc);
Logf("dialog visible=%s",IsWindowVisible(hWndDlg)?"TRUE":"FALSE");
/* subclass OK button */
hButton[3] = GetDlgItem(hWndDlg,IDOK);
wndButton[3] = (WNDPROC)SetWindowLong(hButton[3],GWL_WNDPROC,(LONG)SubClassWindowProc);
/* subclass group box */
hGroup = GetDlgItem(hWndDlg,IDC_GROUPBOX1);
wndGroup = (WNDPROC)SetWindowLong(hGroup,GWL_WNDPROC,(LONG)SubClassWindowProc);
#ifdef RESIZE_DIALOG
GetWindowRect(hWndDlg,&rect);
rect.right--;
SetWindowPos(hWndDlg,0,0,0,
rect.right-rect.left,rect.bottom-rect.top,
SWP_NOMOVE|SWP_NOZORDER);
// ShowWindow(GetDlgItem(hWndDlg,IDCANCEL),SW_HIDE);
#endif
bResult=TRUE; /* we don't do SetFocus */
break;
case WM_PAINT:
PaintPattern(hWndDlg);
bResult=TRUE;
break;
case WM_COMMAND:
EndDialog(hWndDlg,LOWORD(wParam));
bResult=TRUE;
break;
case WM_CLOSE:
EndDialog(hWndDlg,IDCANCEL);
bResult=TRUE;
break;
case WM_NCDESTROY:
hDialog = 0;
break;
}
State=OldState; Rec--;
return bResult;
}
/* SUBDIALOG PROCEDURE */
BOOL FAR CALLBACK _export SubDialogProc(HWND hWndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
BOOL bResult=0;
RECT rect;
int OldState=State;
int But=-1;
State=STATE_RECURS; Rec++;
if (!Clicked) LogMessage(OldState,hWndDlg,msg,wParam,lParam,NULL);
switch (msg) {
case WM_INITDIALOG:
hSubDlg = hWndDlg;
/* subclass dialog window proc */
wndSubDlg = (WNDPROC)SetWindowLong(hDialog,GWL_WNDPROC,(LONG)SubClassWindowProc);
bResult=TRUE; /* we don't do SetFocus */
break;
case WM_NCDESTROY:
hSubDlg = 0;
break;
}
State=OldState; Rec--;
return bResult;
}
/********************/
/*** MAIN PROGRAM ***/
/********************/
BOOL AppInit(void)
{
WNDCLASS wclass;
wclass.style = CS_HREDRAW|CS_VREDRAW;
wclass.lpfnWndProc = MainWindowProc;
wclass.cbClsExtra = 0;
wclass.cbWndExtra = 0;
wclass.hInstance = hInst;
wclass.hIcon = LoadIcon(hInst,MAKEINTRESOURCE(1));
wclass.hCursor = LoadCursor(0,IDC_ARROW);
wclass.hbrBackground = GetStockObject(WHITE_BRUSH);
wclass.lpszMenuName = NULL;
wclass.lpszClassName = wclassname;
if (!RegisterClass(&wclass)) return FALSE;
wclass.lpfnWndProc = SubWindowProc;
wclass.lpszClassName = wcclassname;
if (!RegisterClass(&wclass)) return FALSE;
return TRUE;
}
int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpszCmdLine, int nCmdShow)
{
MSG msg;
RECT rect;
hInst = hInstance;
if (!hPrevInstance)
if (!AppInit())
return 0;
StartTime=GetTickCount();
hListBox = CreateWindow("LISTBOX","Messages",WS_BORDER|WS_VSCROLL|WS_CHILD|
LBS_HASSTRINGS|LBS_NOTIFY|LBS_WANTKEYBOARDINPUT,
0,0,0,0,GetDesktopWindow(),0,hInst,0);
if (!hListBox) {
MessageBox(0,"Could not create list box","Error",MB_OK);
}
State=STATE_CREATE;
hMainWnd = CreateWindowEx(MAIN_EXSTYLE,wclassname,winname,MAIN_STYLE,
CW_USEDEFAULT,0,400,300,0,0,hInst,0);
if (!hMainWnd) return 0;
State=STATE_SHOW;
ShowWindow(hMainWnd,nCmdShow);
#ifdef TEST_DESTROY_MAIN
State=STATE_DESTROY;
DestroyWindow(hMainWnd);
State=STATE_DIRECT;
while (GetMessage(&msg,0,0,0)) {
TranslateMessage(&msg);
State=STATE_DISPATCH;
DispatchMessage(&msg);
State=STATE_DIRECT;
}
State=STATE_CREATE;
hMainWnd = CreateWindowEx(MAIN_EXSTYLE,wclassname,winname,MAIN_STYLE,
CW_USEDEFAULT,0,400,300,0,0,hInst,0);
if (!hMainWnd) return 0;
State=STATE_SHOW;
ShowWindow(hMainWnd,nCmdShow);
#endif
/* update, so no WM_PAINTs are pending */
State=STATE_UPDATE;
// UpdateWindow(hMainWnd);
Ready=TRUE;
/* fill client area with a pattern */
FillPattern(hMainWnd,0);
/* create subwindow */
State=STATE_CREATE;
GetClientRect(hMainWnd,&rect);
hSubWnd = CreateWindow(wcclassname,winname,WS_CHILD|WS_BORDER|WS_CLIPSIBLINGS,
0,rect.bottom/2,rect.right,rect.bottom-(rect.bottom/2),hMainWnd,0,hInst,0);
if (!hSubWnd) return 0;
/* create buttons */
hButton[0] = CreateWindow("BUTTON","1",WS_CHILD|WS_CLIPSIBLINGS|WS_VISIBLE,
8,8,48,20,hMainWnd,0,hInst,0);
hButton[1] = CreateWindow("BUTTON","2",WS_CHILD|WS_CLIPSIBLINGS|WS_VISIBLE,
32,12,48,20,hMainWnd,0,hInst,0);
hButton[2] = CreateWindow("BUTTON","3",WS_CHILD|WS_CLIPSIBLINGS|WS_VISIBLE,
56,16,48,20,hMainWnd,0,hInst,0);
/* subclass them */
wndButton[0] = (WNDPROC)SetWindowLong(hButton[0],GWL_WNDPROC,(LONG)SubClassWindowProc);
wndButton[1] = (WNDPROC)SetWindowLong(hButton[1],GWL_WNDPROC,(LONG)SubClassWindowProc);
wndButton[2] = (WNDPROC)SetWindowLong(hButton[2],GWL_WNDPROC,(LONG)SubClassWindowProc);
/* show them */
State=STATE_UPDATE;
UpdateWindow(hButton[0]);
LogChildOrder(hMainWnd);
Logf("but1 visible=%d",IsWindowVisible(hButton[0]));
/* now reparent the button to our (invisible) subwindow */
State=STATE_TEST;
/* in different order, seeing who gets topmost */
SetParent(hButton[0],hSubWnd);
SetParent(hButton[2],hSubWnd);
SetParent(hButton[1],hSubWnd);
LogChildOrder(hSubWnd);
/* the button should now be invisible */
Logf("but1 visible=%d",IsWindowVisible(hButton[0]));
/* see if we can draw on them */
FillPattern(hButton[0],0);
#ifdef SHOW_SUB
State=STATE_SHOW;
ShowWindow(hSubWnd,SW_SHOWNORMAL);
State=STATE_UPDATE;
UpdateWindow(hSubWnd);
FillPattern(hSubWnd,0);
// InvalidateRect(hMainWnd,NULL,TRUE);
Logf("but1 visible=%d",IsWindowVisible(hButton[0]));
#endif
#ifdef TEST_DIALOG
State=STATE_DIALOG;
DialogBox(hInst,MAKEINTRESOURCE(1),hMainWnd,(FARPROC)TestDialogProc);
#endif
#ifdef TEST_COMMCTL
{
DWORD arr[16];
CHOOSECOLOR cc={sizeof(cc),0,hInst,0,arr,0};
ChooseColor(&cc);
}
#endif
State=STATE_DIRECT;
while (GetMessage(&msg,0,0,0)) {
TranslateMessage(&msg);
State=STATE_DISPATCH;
DispatchMessage(&msg);
State=STATE_DIRECT;
}
return 0;
}

View File

@@ -0,0 +1,17 @@
/****************************************************************************
guitest.rh
produced by Borland Resource Workshop
*****************************************************************************/
#define IDC_CHECKBOX1 104
#define IDC_CHECKBOX2 105
#define IDC_CHECKBOX3 106
#define DIALOG_2 2
#define IDC_GROUPBOX1 10
#define DIALOG_1 1
#define ICON_1 1

View File

@@ -0,0 +1,26 @@
#
#
#
PATH_TO_TOP = ../../../..
PROGS = hello
OBJECTS = hello.o
LIBS = $(PATH_TO_TOP)/dk/w32/lib/gdi32.a
CFLAGS =
all: $(PROGS:%=%.exe)
.phony: all
clean:
- $(RM) *.o *.coff *.exe *.sym
.phony: clean
hello.exe: $(OBJECTS)
$(CC) $(CFLAGS) -Wl,--subsystem,windows $(OBJECTS) $(LIBS) -o hello.exe
$(NM) --numeric-sort hello.exe > hello.sym
include $(PATH_TO_TOP)/rules.mak

View File

@@ -0,0 +1,83 @@
#include <windows.h>
char szAppName[] = "Hello";
long FAR PASCAL WndProc(HWND, UINT, WPARAM, LPARAM);
int PASCAL WinMain (HINSTANCE hInstance, HINSTANCE hPrevInst, LPSTR lpszCmdLine,
int nCmdShow)
{
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
if(!hPrevInst) {
wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndclass.hbrBackground = GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = szAppName;
RegisterClass(&wndclass);
}
hwnd = CreateWindow(szAppName, szAppName,
WS_HSCROLL | WS_VSCROLL | WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, 600,
400, NULL, NULL, hInstance, NULL);
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
long FAR PASCAL WndProc(HWND hwnd, UINT message, WPARAM wParam,
LPARAM lParam)
{
HDC hdc;
RECT rect;
SIZE size;
PAINTSTRUCT ps;
switch(message) {
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
GetClientRect(hwnd, &rect);
InflateRect(&rect, -10, -10);
if( !IsRectEmpty( &rect ) )
{
GetTextExtentPoint32(hdc, szAppName, strlen(szAppName), &size);
SelectObject(hdc, GetStockObject(LTGRAY_BRUSH));
Rectangle(hdc, rect.left, rect.top, rect.right, rect.bottom);
rect.left = (rect.right + rect.left - size.cx) / 2;
rect.top = (rect.bottom + rect.top - size.cy) / 2;
SetBkMode(hdc, TRANSPARENT);
TextOut(hdc, rect.left, rect.top, szAppName, strlen(szAppName) );
}
EndPaint(hwnd, &ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd, message, wParam, lParam);
}

View File

@@ -0,0 +1,26 @@
#
#
#
PATH_TO_TOP = ../../../..
PROGS = hello2
OBJECTS = hello2.o
LIBS = # gdi32.a
CFLAGS =
all: $(PROGS:%=%.exe)
.phony: all
clean:
- $(RM) *.o *.coff *.exe *.sym
.phony: clean
hello2.exe: $(OBJECTS)
$(CC) $(CFLAGS) -Wl,--subsystem,windows $(OBJECTS) $(LIBS) -o hello2.exe
$(NM) --numeric-sort hello2.exe > hello2.sym
include $(PATH_TO_TOP)/rules.mak

View File

@@ -0,0 +1,9 @@
#include "windows.h"
int PASCAL WinMain (HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show)
{
return MessageBox((HWND)0,
(LPSTR)"Hello, hello!",
(LPSTR)"Hello Wine Application",
(MB_OK | MB_ICONEXCLAMATION));
}

View File

@@ -0,0 +1,51 @@
echo off
REM
REM - This is kinda dirty, I might fix it up later. - SE
REM
REM - Make System
cd GetSysMetrics
make
cd ..
cd GetSystemInfo
make
cd ..
cd guitest
make
cd ..
cd hello
make
cd ..
cd hello2
make
cd ..
cd Mutex
make
cd ..
cd new
make
cd ..
cd Parent_Child
make
cd ..
cd rolex
make
cd ..
cd volinfo
make
cd ..
REM - installs
mkdir C:\reactos\bin\tests
copy GetSystemInfo\GetSystemInfo.exe C:\reactos\bin\tests
copy guitest\guitest.exe C:\reactos\bin\tests
copy hello\hello.exe C:\reactos\bin\tests
copy hello2\hello2.exe C:\reactos\bin\tests
copy Mutex\fivemutex.exe C:\reactos\bin\tests
copy Mutex\rapidmutex.exe C:\reactos\bin\tests
copy Parent_Child\Parent_Child.exe C:\reactos\bin\tests
copy rolex\rolex.exe C:\reactos\bin\tests
copy volinfo\volinfo.exe C:\reactos\bin\tests

View File

@@ -0,0 +1,26 @@
#
#
#
PATH_TO_TOP = ../../../..
PROGS = new
OBJECTS = new.o
LIBS = $(PATH_TO_TOP)/dk/w32/lib/gdi32.a
CFLAGS =
all: $(PROGS:%=%.exe)
.phony: all
clean:
- $(RM) *.o *.coff *.exe *.sym
.phony: clean
new.exe: $(OBJECTS)
$(CC) $(CFLAGS) -Wl,--subsystem,windows $(OBJECTS) $(LIBS) -o new.exe
$(NM) --numeric-sort new.exe > new.sym
include $(PATH_TO_TOP)/rules.mak

View File

@@ -0,0 +1,154 @@
#include <windows.h>
HANDLE ghInstance;
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK ChildProc (HWND, UINT, WPARAM, LPARAM);
int PASCAL WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpszCmdParam, int nCmdShow)
{
char szAppName[] = "ClassLook" ;
HWND hwnd ;
MSG msg ;
WNDCLASS wndclass ;
ghInstance = hInstance;
if (!hPrevInstance)
{
wndclass.style = CS_HREDRAW | CS_VREDRAW ;
wndclass.lpfnWndProc = WndProc ;
wndclass.cbClsExtra = 0 ;
wndclass.cbWndExtra = 0 ;
wndclass.hInstance = hInstance ;
wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
wndclass.hbrBackground = GetStockObject (WHITE_BRUSH) ;
wndclass.lpszMenuName = NULL ;
wndclass.lpszClassName = szAppName ;
RegisterClass (&wndclass) ;
}
hwnd = CreateWindow (szAppName, /* window class name */
szAppName, /* window caption */
WS_OVERLAPPEDWINDOW, /* window style */
CW_USEDEFAULT, /* initial x position */
CW_USEDEFAULT, /* initial y position */
600, /* initial x size */
400, /* initial y size */
NULL, /* parent window handle */
NULL, /* window menu handle */
hInstance, /* program instance handle */
NULL) ; /* creation parameters */
ShowWindow (hwnd, nCmdShow) ;
UpdateWindow (hwnd) ;
while (GetMessage (&msg, NULL, 0, 0))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
return msg.wParam ;
}
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hdc ;
PAINTSTRUCT ps ;
RECT rect ;
WNDCLASS wndclass ;
char clsName[] = "SecondClass";
static HWND hChild;
switch (message)
{
case WM_CREATE :
wndclass.style = CS_PARENTDC | CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = ChildProc ;
wndclass.cbClsExtra = 0 ;
wndclass.cbWndExtra = 0 ;
wndclass.hInstance = ghInstance ;
wndclass.hIcon = NULL ;
wndclass.hCursor = LoadCursor (NULL, IDC_CROSS) ;
wndclass.hbrBackground = GetStockObject (LTGRAY_BRUSH) ;
wndclass.lpszMenuName = NULL ;
wndclass.lpszClassName = clsName;
RegisterClass (&wndclass);
hChild = CreateWindow(clsName,"Child Window",
WS_CHILD | WS_VISIBLE | WS_BORDER,
10, 10, 580, 380, hwnd, NULL, ghInstance, NULL);
ShowWindow(hChild, SW_SHOW);
case WM_PAINT :
hdc = BeginPaint (hwnd, &ps) ;
GetClientRect (hwnd, &rect) ;
DrawText (hdc, "Hello, Windows!", -1, &rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
EndPaint (hwnd, &ps);
return 0 ;
case WM_DESTROY :
PostQuitMessage (0) ;
return 0 ;
}
return DefWindowProc (hwnd, message, wParam, lParam) ;
}
LRESULT CALLBACK ChildProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hDC;
PAINTSTRUCT ps;
WNDCLASS wndClass;
char *classes[]={"EDIT","BUTTON","LISTBOX","STATIC","SCROLLBAR","COMBOBOX","COMBOLBOX", NULL};
char** curr;
char buf[256];
RECT rect ;
int i;
switch (message) {
case WM_PAINT:
curr = classes;
i=0;
hDC = BeginPaint(hwnd, &ps);
SelectObject(hDC,GetStockObject(ANSI_FIXED_FONT));
while (*curr) {
wsprintf(buf,"%12s:",*curr);
GetClassInfo(NULL, *curr, &wndClass);
if(wndClass.style&CS_VREDRAW) lstrcat(buf," | CS_VREDRAW");
if(wndClass.style&CS_HREDRAW) lstrcat(buf," | CS_HREDRAW" );
if(wndClass.style&CS_KEYCVTWINDOW) lstrcat(buf," | CS_KEYCVTWINDOW" );
if(wndClass.style&CS_DBLCLKS) lstrcat(buf," | CS_DBLCLKS" );
if(wndClass.style&CS_OWNDC) lstrcat(buf," | CS_OWNDC" );
if(wndClass.style&CS_CLASSDC) lstrcat(buf," | CS_CLASSDC" );
if(wndClass.style&CS_PARENTDC) lstrcat(buf," | CS_PARENTDC" );
if(wndClass.style&CS_NOKEYCVT) lstrcat(buf," | CS_NOKEYCVT" );
if(wndClass.style&CS_NOCLOSE) lstrcat(buf," | CS_NOCLOSE" );
if(wndClass.style&CS_SAVEBITS) lstrcat(buf," | CS_SAVEBITS" );
if(wndClass.style&CS_GLOBALCLASS) lstrcat(buf," | CS_GLOBALCLASS");
GetClientRect (hwnd, &rect) ;
TextOut (hDC, 5,20+i,buf,lstrlen(buf)) ;
i += 15;
curr++;
}
/* EndPaint(hwnd, &ps);
break;
hDC = BeginPaint(hwnd, &ps);
*/
MoveToEx(hDC, 0, 0, NULL);
LineTo(hDC, 500, 500);
EndPaint(hwnd, &ps);
break;
default:
return DefWindowProc (hwnd, message, wParam, lParam) ;
}
return (0L);
}

Some files were not shown because too many files have changed in this diff Show More