Commit graph

22833 commits

Author SHA1 Message Date
Alex Ionescu
1a98439492 - SMSS: Send QOS structure when creating new ports, it's not optional on NT LPC. Send maximum port length when creating new ports, it's not optional on NT LPC. Create 2 listening threads on NTLPC, instead of just one. [AUDIT: Unlock smlib, it's fully internal and specific to ROS without any relationship to NT. The author used clean-room tests and documentation].
- Fix various LPC structures in the NDK. Fix some prototypes too.
- Don't export PEPORT or PLPCP_PORT_OBJECT outside of /lpc and use PVOID isntead.
- Add a new RBUILD setting called NTLPC, which enables NTLPC when turned on.

svn path=/trunk/; revision=24664
2006-10-30 14:17:37 +00:00
Johannes Anderwald
48ffe89726 - zero complete buffer
- increase buffer when reading more data than current capacity

svn path=/trunk/; revision=24663
2006-10-30 12:58:35 +00:00
Christoph von Wittich
a1de6893f7 -force include of warning.h from WDK
-removed CRT_SECURE_NO_DEPRECATE because it is declared in warning.h
-set warning level to /W3
-set calling convention to stdcall
-use nasmw for asm files

svn path=/trunk/; revision=24662
2006-10-30 12:53:25 +00:00
Johannes Anderwald
963c6260b1 - use ReactOS_Debug as a default os when DBG && unattended setup mode is defined
- set timeout to zero in unattended mode && DBG defined

svn path=/trunk/; revision=24661
2006-10-30 12:41:17 +00:00
Thomas Bluemel
bcf2a300f2 Implement GetTickCount64
svn path=/trunk/; revision=24660
2006-10-30 11:56:28 +00:00
Christoph von Wittich
e343b07d1f now it is possible to build bootcd and bootcdregtest with the same tree (without changing any files)
svn path=/trunk/; revision=24659
2006-10-26 08:45:16 +00:00
Alex Ionescu
ef31ab5c96 - Make CSRSS register the default hard error port on startup.
- Stubplement the System Hard Error handler (it simply bugchecks)
- Fully implement ExRaiseHardError when called from user-mode so that the strings and parameters are properly captured into user-mode memory.
- Almost completely implement ExpRaiseHardError which is responsible for actually doing the error. However, ROS LPC is screwed up so sending the LPC Message crashes since the port isn't in a listening state or something.
- Would appreciate some advice on how to get the LPC message to CSRSS.
- Fix Get/SetErrorMode. The Native API uses an inverted value of SEM_FAILCRITICALERRORS, so this must be handled in win32.
- Cleanup formatting of RaiseException, and only normalize the paramter count if we're actualy going to use it.
- Implement LpcRequestWaitReplyPort as a big hack, but it should work.

svn path=/trunk/; revision=24658
2006-10-26 04:55:34 +00:00
Alex Ionescu
6d56cb39a6 - Fix dozens of missing typecast errors.
- Other MSVC/WDK compatibility fixes.

svn path=/trunk/; revision=24657
2006-10-26 01:49:51 +00:00
Martin Fuchs
3dbb7d20de add build script
svn path=/trunk/; revision=24656
2006-10-25 21:10:38 +00:00
Martin Fuchs
52ca28450e added GCC compatible chinese resource file translation of Larry Li <larryli@qq.com>
svn path=/trunk/; revision=24655
2006-10-25 20:58:04 +00:00
Martin Fuchs
cc6d35abef rename explorer-cn.rc to explorer-cn-msvc.rc (MSVC specific resource file encoding)
svn path=/trunk/; revision=24654
2006-10-25 20:54:46 +00:00
Christoph von Wittich
a94c4a796e fix some issues when reading from a named pipe
fix a typo
terminate qemu at exit (when using named pipes)

svn path=/trunk/; revision=24653
2006-10-25 20:02:01 +00:00
Alex Ionescu
6497d295c3 - Add some missing/internal definitions to proper headers.
- Get rid of FLUSH_TLB macros and use KeFlushCurrentTb and the MSVC_compatible instrinsic __invlpg;
- Fix some prototypes.
- Fixed unsigned/signed mismatches.
- Fix SEH usage in ExAllocatePoolWithQuotaTag.

svn path=/trunk/; revision=24652
2006-10-25 18:23:45 +00:00
Alex Ionescu
a900757d83 - Implement more of the Ke386 ASM macros for MSVC.
- Remove custom Set/Get Cr macros and use MSVC-compatible __read/__writecrX
- Remove custom WbInvd macro and use MSVC-compatible __wbinvd.

svn path=/trunk/; revision=24651
2006-10-25 17:15:11 +00:00
Alex Ionescu
b5e25167e2 - Move all ASM internal intrinsics to intrin_i.h. Request for KJK::Hyperion/hackbunny to look at the GCC ones and optimize/fix them up.
- Add MSVC versions for some of them (not yet complete).
- Fix the fact that KeGetLocalDescriptorTable was setting the LDT instead of retrieving it.
- Fix bug in LIST_FOR_EACH and LIST_FOR_EACH_SAFE which was setting the flink to NULL instead of checking if the flink is NULL. One more reason these damned macros should've never been used.
- Use MSVC-intrinsics when applicable (_disable/_enable, etc).
- Fix JOB_SET_ARRAY problems.
- Fix buffer overflow in SystemProcessInformation QSI_DEF.
- Fix some broken compares/arithmetic to due to lack of parens.
- Add some ASSERTS to some unknown functions that make pointer assumptions.

svn path=/trunk/; revision=24650
2006-10-25 16:37:46 +00:00
Christoph von Wittich
6f17cc84f7 -debug info can now be read from a pipe
-fixed a typo
-terminate the qemu process on linux

svn path=/trunk/; revision=24649
2006-10-25 16:02:47 +00:00
Christoph von Wittich
2aceefe1a5 use TCHAR instead of WCHAR
svn path=/trunk/; revision=24648
2006-10-25 12:49:35 +00:00
Christoph von Wittich
94663d29ba fix SYSREG_CHECKPOINT:USETUP_COMPLETE
svn path=/trunk/; revision=24647
2006-10-25 12:29:47 +00:00
James Tabor
e4ee4f1bab Commit tmp patch by dralnix, fixes Rev 24626 Breaks Linux Build, and windows build.
svn path=/trunk/; revision=24646
2006-10-25 01:30:19 +00:00
Johannes Anderwald
9529d06636 - add an checkpoint for the system regression tool
svn path=/trunk/; revision=24645
2006-10-24 20:21:30 +00:00
Christoph von Wittich
2da90d7544 -added -l parameter to list all available tests
-when no config file is specified use sysreg.cfg as default
-updated help text

svn path=/trunk/; revision=24644
2006-10-24 19:59:27 +00:00
Johannes Anderwald
8c625a375a - fix string define mess
svn path=/trunk/; revision=24643
2006-10-24 11:45:21 +00:00
Johannes Anderwald
5e8e6f57b6 - set svn:eol-style properties
- update makefile
- fix warning

svn path=/trunk/; revision=24642
2006-10-24 11:27:23 +00:00
Johannes Anderwald
985cb41a59 - fix typo in config file
- implement ROSBOOT_CRITICAL_APP
- implement a class which is responsible for file reading
- 

svn path=/trunk/; revision=24641
2006-10-24 11:21:17 +00:00
Alex Ionescu
bca3708172 - Optimize PsGetCurrentProcess as well.
svn path=/trunk/; revision=24640
2006-10-23 22:07:45 +00:00
Alex Ionescu
edaa6996f4 - Properly implement inline versions of KeGetCurrentThread and KeGetPreviousMode/ExGetPreviousMode, as well as KeGetPcr. This should significantly increase performance. (KeGetPreviousMode is reduced to 2 lines of code instead of 15 lines with 2 expensive jumps).
svn path=/trunk/; revision=24639
2006-10-23 22:01:25 +00:00
Alex Ionescu
2dae9ef970 - Fix/add some remaining prototypes.
- Add all the Nt functions to sysfuncs.lst and fixup some entries which were out-of-order. Unless I skipped anything (might've skipped 1 or 2 APIs), we should now have the same system call table as Windows 2003 SP1 (useful for my testing of ntdll.dll inside Windows).

svn path=/trunk/; revision=24638
2006-10-23 21:28:17 +00:00
Alex Ionescu
2e1f5d46f3 - Add some missing definitions to our NTIFS.h.
svn path=/trunk/; revision=24637
2006-10-23 21:24:16 +00:00
Alex Ionescu
57a9accaa9 - Add NtApphelpCacheControl, NtFilterToken (WARNING: PATENTED. TAKE CARE WHEN IMPLEMENTING).
- Add all the recently added functions to their proper place in the NDK.

svn path=/trunk/; revision=24636
2006-10-23 21:19:15 +00:00
Alex Ionescu
4ccf5bf0a4 - Implement NtSetEventBoostPriority, NtGetCurrentProcessorNumber, NtQueryPortInformationProcess, NtWaitForMultipleObjects32.
svn path=/trunk/; revision=24635
2006-10-23 20:49:52 +00:00
Alex Ionescu
20cab2c593 - Should fix the build.
svn path=/trunk/; revision=24634
2006-10-23 20:21:08 +00:00
Alex Ionescu
0df736c010 - Add NtGetWriteWatch, NtResetWriteWatch.
- Add NtCreateJobSet and define JOB_SET_ARRAY.

svn path=/trunk/; revision=24633
2006-10-23 18:35:13 +00:00
Alex Ionescu
0b311bdf68 - Add NtCreateKeyedEvent, NtOpenKeyedEvent, NtReleaseKeyedEvent, NtWaitForKeyedEvent.
svn path=/trunk/; revision=24632
2006-10-23 18:25:23 +00:00
Alex Ionescu
1bf94f2a3a - Add NtEnumerateSystemEnvironmentValuesEx, NtQuerySystemEnvironmentValueex, NtSetSystemEnvironmentValueEx.
- Fix some build brtakage.

svn path=/trunk/; revision=24631
2006-10-23 18:21:31 +00:00
Alex Ionescu
03aeec584e - Add NtGetDevicePowerState, NtIsSystemResumeAutomatic, NtRequestWakeupLAtency, NtSetThreadExecutionState.
svn path=/trunk/; revision=24630
2006-10-23 18:16:24 +00:00
Alex Ionescu
e46732dfc8 - Add NtAllocateUserPhysicalPages, NtMapUserPhysicalPAges, NtMapUserPhysicalPagesScatter, NtFreeUserPhysicalPages.
- Add NtAreMappedFilesTheSame.

svn path=/trunk/; revision=24629
2006-10-23 18:12:12 +00:00
Alex Ionescu
d99f845de8 - Add NtCompactKeys, NtcompressKey, NtLoadKeyEx, NtLockProductActivationKeys, NtLockRegistryKey, NtNotifyChangeMultipleKeys, NtQueryOpenSubKeys, NtQueryOpenSubKeysEx, NtSaveMergedKeys, NtUnloadKey2, NtUnloadKeyEx.
svn path=/trunk/; revision=24628
2006-10-23 18:05:06 +00:00
Alex Ionescu
909334f45c - Define EFI_DRIVER_ENTRY.
- Add NtAddDriverEntry, NtDeleteDriverEntry, NtEnumerateDriverEntries, NtModifyBootEntry, NtModifyDriverEntry, NtQueryDriverEntryOrder, NtSetDriverEntryOrder.
- These are for EFI (or pseudo-EFI if we ever emulate Vista).

svn path=/trunk/; revision=24627
2006-10-23 17:53:25 +00:00
Alex Ionescu
4fda8d1bb7 - Add NtAccessCheckAndAuditAlarm, NtAccessCheckByType, NtAccessCheckByTypeAndAuditAlarm, NtAccessCheckByTypeResultList, NtAccessCheckByTypeResultListAndAuditAlarm, NtAccessCheckByTypeResultListAndAuditAlarmByHandle, NtAccessCheckByTypeResultListAndAuditAlarmByHandleByGodHowMuchLongerCanTheseAPINamesGet.
- Last one is a joke.

svn path=/trunk/; revision=24626
2006-10-23 17:47:40 +00:00
Magnus Olsen
f11bf40b80 rewrite D3DParseUnknownCommand to use switch case instead
it looks better. Add a summer of msdn documentions how the first input parameter works. So u do not need read the whole doc for it. Add some more comment in the code

svn path=/trunk/; revision=24625
2006-10-23 17:37:51 +00:00
Johannes Anderwald
d9e412fef7 - revert 24623
svn path=/trunk/; revision=24624
2006-10-23 09:06:27 +00:00
Johannes Anderwald
7014cc1752 - really fix build
svn path=/trunk/; revision=24623
2006-10-23 08:54:19 +00:00
Johannes Anderwald
93d8160abd - fix build
svn path=/trunk/; revision=24622
2006-10-23 08:42:27 +00:00
Alex Ionescu
6979adfdc2 - Fix another build break... sorry for the SVN Server is fucked due to the CIA post-commit hook and is being unusable.
svn path=/trunk/; revision=24621
2006-10-23 05:55:06 +00:00
Alex Ionescu
4ed86823da - Fix some EFI prototypes and exports.
- Add BOOT_ENTRY definition.
- Fix build breakage from earlier commit.

svn path=/trunk/; revision=24620
2006-10-23 05:49:07 +00:00
Alex Ionescu
fbe74e44f9 - Implement DbgUiConvertStateChangeStructure. Win32/Native Debugging should be fully implemented now (and waiting on the kernel to support it.)
svn path=/trunk/; revision=24619
2006-10-23 05:08:19 +00:00
Alex Ionescu
1c38e47592 - Implement WaitForDebugEvent. Calls out to DbgUiConvertWaitStateStructure which is still unimplemented.
svn path=/trunk/; revision=24618
2006-10-22 23:47:12 +00:00
Alex Ionescu
aced9b0023 - Define DBGSS_THREAD_DATA and DbgSsGet/SetThreadData. This is what is located in DbgSsReserved[0] (an internal high-level structure that subsystem debuggers can use for whatever purposes they need). DbgSsReserved[1] is the actual native debug object used only by DbgUi in ntdll.
- Implement SaveThreadHandle, SaveProcesHandle, MarkThreadHandle, MarkProcessHandle, RemoveHandles and CloseAllProcessHandles to deal with this structure.
- Call these functions when required, except for WaitForDebugEvent which will set them up once implemented.

svn path=/trunk/; revision=24617
2006-10-22 23:28:33 +00:00
Hervé Poussineau
7ed56310ad Fix compilation in release mode
svn path=/trunk/; revision=24616
2006-10-22 21:22:46 +00:00
Alex Ionescu
8008f9d427 - Stub DbgUiConvertStateChangeStructure (this isn't done in kernel32 anymore) and export it.
- Implement and export DbgUiSetThreadDebugObject.
- Fix DbgUi* APIs to use DbgSsReserved[1], and not [0]. Still trying to figure out what [0] is for.

svn path=/trunk/; revision=24615
2006-10-22 21:19:34 +00:00