Commit Graph
2763 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
Thomas Bluemel bcf2a300f2 Implement GetTickCount64
svn path=/trunk/; revision=24660
2006-10-30 11:56:28 +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
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 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
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
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 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 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
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 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 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
Alex Ionescu 6d08ee060e - Add one of the basic OBJECT_ATTRIBUTES flags and don't fail any 3rd-party driver or application that might've been using it.
- Add missing member to DBGKM_LOAD_DLL.

svn path=/trunk/; revision=24608
2006-10-22 19:48:43 +00:00
Hervé Poussineau b4c3d08f83 Remove multiple definition warning
Add a few missing error codes (taken from http://www.derkeiler.com/Newsgroups/microsoft.public.platformsdk.security/2004-02/0201.html)

svn path=/trunk/; revision=24603
2006-10-22 17:19:49 +00:00
Magnus Olsen 68b1244df5 correct D3DHAL_DP2OPERATION struct
this include file should be rewriten 

svn path=/trunk/; revision=24598
2006-10-22 08:23:13 +00:00
Thomas Bluemel c4f8255e95 Remove the no longer used kjs library
svn path=/trunk/; revision=24592
2006-10-21 16:00:44 +00:00
Thomas Bluemel ccd9ed0a4e - Some minor Nt stub fixes
- Fix compilation with GCC4

svn path=/trunk/; revision=24578
2006-10-20 13:19:13 +00:00
Alex Ionescu 9c4178c05b - Define DBGKM_APINUMBER
- Implement DbgkpSendApiMessageLpc, DbgkpSendApiMessage, DbgkCopyProcessDebugPort, DbgkForwardException, DbgkFreeDebugEvent, DbgpWakeTarget.
- Close original handle in DbgkOpenHandles.

svn path=/trunk/; revision=24575
2006-10-20 05:16:04 +00:00
Alex Ionescu 0d09a4e5f9 - Fixup DEBUG_OBJECT definition.
- Implement DbgkpCloseObject.
- Implement DbgkpOpenHandles.
- Fix various bugs in the code and flag usage.
- Enable calling DbgkClearProcessDebugObject when terminating a process.

svn path=/trunk/; revision=24574
2006-10-19 20:08:52 +00:00
Alex Ionescu aef24e2a4a - Implement the entire kernel-mode native interface of Debug Objects, minus a few missing operations in NtWaitForDebugEvent:
- NtCreateDebugObject, NtDebugContinue, NtDebugActiveProcess, NtRemoveProcessDebug, NtSetInformationDebugObject, NtWaitForDebugEvent.
- Of course, the entire backend is stubbed out.
- Implement Debug object initialization (not called yet) and close(not done) and delete (done) callbacks.

svn path=/trunk/; revision=24572
2006-10-19 07:04:21 +00:00
James Tabor 42d7cdbd64 Add four more members to the Gdi user data (DC_ATTR) structure. Sort the list later.
svn path=/trunk/; revision=24571
2006-10-19 04:48:51 +00:00
Alex Ionescu 9b785911ed - Some stuff I promised James. This is DC_ATTR from Win2K, IIRC (you called it GDI_USER_DATA). It changed a bit in XP, but now you have a working model. Also added some more flags/enums that I knew about and some font structures.
svn path=/trunk/; revision=24561
2006-10-18 06:00:31 +00:00
James Tabor f7420ccbad Add more DCDWord constants and two more members in GdiUserData structure.
svn path=/trunk/; revision=24559
2006-10-18 03:54:35 +00:00
James Tabor 7b814c1069 Add another member to GdiUserData structure.
svn path=/trunk/; revision=24554
2006-10-17 05:52:35 +00:00
James Tabor 6dc593f684 Win32k GDI Compatibility Project:
- Add new Gdi user data structure
- Fixed Meta constants
- Add new GetDCWord constant

svn path=/trunk/; revision=24551
2006-10-17 04:32:18 +00:00
Alex Ionescu 7c42b991f3 - One school day and two midterms later, I'm still the only one with enough time to fix a header. Can't wait to see who will be up for trying to fix booting...
svn path=/trunk/; revision=24550
2006-10-17 04:20:48 +00:00
Alex Ionescu 3b6c356260 - Fix user-mode compilation.
svn path=/trunk/; revision=24548
2006-10-16 15:27:12 +00:00
Alex Ionescu cef2ebcee2 - Implement RtlIsGenericTableEmpty, RtlNumberGenericTableElements.
- Implement RtlLookupElementGenericTable.
- Implement RtlDeleteElementGenericTable

svn path=/trunk/; revision=24542
2006-10-16 03:39:49 +00:00
Alex Ionescu dbb8a15d7c - Added some generic table routines to rtlfuncs.h so that they can be used in user-mode.
- Implemented RtlInsertElementGenericTable and RtlInsertElementGenericTableFull (Splay-Tree versions). Also implemented a helper function RtlpFindGenericTableNodeOrParent when we're not given one and need to locate it manually.
- Defined structure for generic table entries so that we can properly return user data and do the right allocations.

svn path=/trunk/; revision=24541
2006-10-16 03:19:14 +00:00
James Tabor 2834696d89 Add object type COLORSPACE mask.
svn path=/trunk/; revision=24536
2006-10-16 01:39:34 +00:00
James Tabor 8835a6c1cb First of the Win32k-Gdi compatibility changes.
svn path=/trunk/; revision=24535
2006-10-16 01:29:27 +00:00
James Tabor 7e06d0e8cf Fix text line.
svn path=/trunk/; revision=24534
2006-10-16 01:22:21 +00:00
Hervé Poussineau 842f4cfb17 Include intrin.h only if compiler is GCC.
svn path=/trunk/; revision=24531
2006-10-15 20:09:04 +00:00
James Tabor ad7f6254da Fixed definition for NtUserLoadKeyboardLayoutEx.
svn path=/trunk/; revision=24530
2006-10-15 20:07:45 +00:00
Thomas Bluemel e5cb57f9f5 Implement the advapi32 part of ImpersonateAnonymousToken
svn path=/trunk/; revision=24529
2006-10-15 19:58:57 +00:00
Thomas Bluemel 6f2586bb50 Add a stub for NtCompareTokens
svn path=/trunk/; revision=24528
2006-10-15 19:12:41 +00:00
Thomas Bluemel ef9ac412e7 Implemented AddMandatoryAce
svn path=/trunk/; revision=24526
2006-10-15 16:52:25 +00:00
Magnus Olsen 275c588825 include/GL folders files update to mingw w32s api version 3.6
svn path=/trunk/; revision=24506
2006-10-13 19:54:59 +00:00
Hervé Poussineau dc1d41df49 Add some definitions
svn path=/trunk/; revision=24489
2006-10-11 21:57:22 +00:00
Thomas Bluemel 5cb6da33e5 Fixed InterlockedExchangeAdd
svn path=/trunk/; revision=24487
2006-10-11 17:41:42 +00:00
KJK::Hyperion 11962157c1 How could so much be so wrong in so little code is something future generations will forever ponder in vain. Fixed constraints on inline asm outputs for compare-exchange intrinsics
svn path=/trunk/; revision=24486
2006-10-11 16:07:45 +00:00
Thomas Bluemel c0c399894e Some header upgrades
svn path=/trunk/; revision=24485
2006-10-11 11:44:40 +00:00
Alex Ionescu b772538a22 - Add RtlInitEmptyAnsiString to DDK.
- Fix a pretty bad stack/memory corruption bug related to IoReassignSystemRoot.
- Combine IoInit2 and IoInit3 into IoInitSystem, and make it return a BOOLEAN, and handle error with the appropriate IO1_INIT_FAILED bugcheck. Will combine IoInit1 soon.

svn path=/trunk/; revision=24462
2006-10-08 23:46:26 +00:00
Thomas Bluemel 73c2dc5053 Some header fixes
svn path=/trunk/; revision=24454
2006-10-08 20:28:03 +00:00