Commit graph

20721 commits

Author SHA1 Message Date
Steven Edwards facb8f26f0 add directories for the comming wine tests
svn path=/trunk/; revision=22046
2006-05-25 20:24:16 +00:00
Alex Ionescu c97cf6645c - Remove ROS-internal object macros and use the public ones in obtypes.h instead.
svn path=/trunk/; revision=22045
2006-05-25 20:14:09 +00:00
Alex Ionescu 3a9bdc8cf4 - Convert all Win32k Object callback functions to the correct NT prototypes.
- Get rid of ROS-internal WIN32_CALLOUT_DATA and use the real WIN32_CALLOUTS_FPNS type.
- Get rid of the callout.h hack.

svn path=/trunk/; revision=22044
2006-05-25 20:03:13 +00:00
Aleksey Bragin b0f84fadf3 [AUDIT]
kernel32.dll
- Remove locks from Wine code, and from simple stub or forward type of functions
- Add file headers to all files (except shared completely with Wine)
- Mark a pair of functions as shared with Wine (to be changed later when adding correct function headers)

svn path=/trunk/; revision=22043
2006-05-25 19:50:19 +00:00
Steven Edwards 8943cd0ea8 started syncing to Wine-0.9.14
svn path=/trunk/; revision=22042
2006-05-25 19:43:52 +00:00
Alex Ionescu cf356e801d - Rewrite Desktop/WindowsStation parsing to follow the NT Object Model, with some minor hacks to respect ROS's current parsing semantics.
- Thanks to this, the long-lasting ExpDesktopCreate hack is gone, and so is OB_ROS_FIND_METHOD and OB_ROS_CREATE_METHOD in win32k. Next patch can fully remove WIN32_CALLOUT_DATA and use the NT type instead.
- Add official OBJECT_ macros in obtypes.h

svn path=/trunk/; revision=22041
2006-05-25 19:30:09 +00:00
Johannes Anderwald befa307429 italian explorer translation patch by folle_invasato (bug 1292)
svn path=/trunk/; revision=22040
2006-05-25 16:59:15 +00:00
Magnus Olsen 2d39a0cf6f revert this chnage for filip told me it is complete wrong rtl should never link to mscvrt
svn path=/trunk/; revision=22039
2006-05-25 16:34:02 +00:00
Magnus Olsen 026a7562cb Adding rtl to msvcrt.rbuild for it is only one that contain the *printf stuff.
svn path=/trunk/; revision=22038
2006-05-25 16:28:44 +00:00
Alex Ionescu 93db306b0e - Fix ObReferenceObjectByName and ObOpenObjectByName not to blissfully ignore the AccessState and ParseContext parameters.
- Change ObFindObject's prototype to be able to accomodate these two parameters so that they can be sent to the parse routine.

svn path=/trunk/; revision=22037
2006-05-25 04:17:29 +00:00
Alex Ionescu 1bb8f22330 - Get rid of OB_ROS_PARSE_METHOD and use OB_PARSE_METHOD instead. Hacked the current parse methods to keep using a PWSTR, however they should be modified to use the UNICODE_STRING instead...
svn path=/trunk/; revision=22036
2006-05-25 01:18:31 +00:00
Magnus Olsen c5b6c41bf9 delete empty folder
svn path=/trunk/; revision=22035
2006-05-25 00:06:36 +00:00
Magnus Olsen fa4b36b46f Did foregt the translate file we try one more time for bug : 1279 : patch from : user temarez : adding Ukrainian translations
svn path=/trunk/; revision=22034
2006-05-24 23:44:44 +00:00
Magnus Olsen 90d1f854c5 Swedish translation of getfirefox by Andreas Bjerkeholt
svn path=/trunk/; revision=22033
2006-05-24 23:43:26 +00:00
Magnus Olsen 32474f1622 bug : 1279 : patch from : user temarez : adding Ukrainian translations
svn path=/trunk/; revision=22032
2006-05-24 23:35:52 +00:00
Magnus Olsen c693223778 bug : 1279 : patch from : user temarez : updating Ukrainian translations
svn path=/trunk/; revision=22031
2006-05-24 23:33:36 +00:00
Magnus Olsen 56046e1541 bug : 1279 : patch from : user temarez : adding Ukrainian translations to taskmgr
svn path=/trunk/; revision=22030
2006-05-24 23:25:40 +00:00
Alex Ionescu 766bb1c7a8 - Cleanup profiling and debugging code, add function comment headers and comment the functions in obdir.c
- Remove directory object parsing. Directory objects don't have parse routines. Instead, inline the lookup in ObFindObject (this hasn't been optimized yet, a lot of the code is now setting a = b, c = a, c = b.

svn path=/trunk/; revision=22029
2006-05-24 23:20:50 +00:00
Alex Ionescu ab775b4798 Forgot to commit this change
svn path=/trunk/; revision=22028
2006-05-24 22:56:46 +00:00
Magnus Olsen cdacf2d2bd [AUDIT] clean seam be imported/ported/base/inspered from DJGPP source code for everything look simulare to djgpp
svn path=/trunk/; revision=22027
2006-05-24 22:34:14 +00:00
Aleksey Bragin b2f8544935 [AUDIT]
kernel32.dll
- Unlock files shared with Wine
- Unlock stubs
- Add programmers name into file header

svn path=/trunk/; revision=22026
2006-05-24 22:17:05 +00:00
James Tabor 945ca8d68e svn propset svn:eol-style native foo.py
svn path=/trunk/; revision=22025
2006-05-24 22:07:11 +00:00
Alex Ionescu 901bb3dc40 - Reorganize most of /ob so that functions inside each module actually follow some sort of cohesive model instead of complete randomness.
svn path=/trunk/; revision=22024
2006-05-24 21:44:59 +00:00
Magnus Olsen 5c92d07c04 [AUDIT] clean from wine
svn path=/trunk/; revision=22023
2006-05-24 20:53:10 +00:00
Magnus Olsen 5434555fb4 [AUDIT] clean seam be imported/ported from DJGPP for everything look simulare to djgpp
svn path=/trunk/; revision=22022
2006-05-24 20:50:55 +00:00
Magnus Olsen 70f6440451 clean up the getch.c remove unsused code.
svn path=/trunk/; revision=22021
2006-05-24 20:44:37 +00:00
Magnus Olsen f9e014a9a7 [AUDIT] after looking through code no signs of reverse engineering were found. some of these api contain also bugs and they are document in the files.
svn path=/trunk/; revision=22020
2006-05-24 20:43:05 +00:00
Magnus Olsen a63feb98f1 [AUDIT] clean imported/ported from DJGPP
svn path=/trunk/; revision=22019
2006-05-24 20:39:56 +00:00
Alex Ionescu c9ae7e2e5f [AUDIT] namespc.c: The namespace functions are publically document and wrap around a ROS-internal ObFindObject function which is very different from the way NT handles parsing. The capture of attribute information was based off a public structure, and the function used does not seem to exist in NT (based on a google search). Object Manager Initialization is internal to ROS and performs generic/trivial intialization tasks, which seem to match the description present in Windows Internals as well as Windows NT File System Internals. Finally, Object Type creation is a ROS-internal function based off documentation found in Gl00my's object manager article as well as local debugging done with WinDBG which helped define the purpose of DefaultObject.
svn path=/trunk/; revision=22018
2006-05-24 20:29:02 +00:00
Alex Ionescu c9a14c3a3b [AUDIT] security.c: All these functions are simply wrappers around the SecurityProcedure callback, which actually does all the work (and is located in /se). Their implementation is trivial and could not have been done another way (it may likely differ from the 100% NT implementation (which I am not aware of), but the current implementation seems obvious to me and I don't see anything missing.
svn path=/trunk/; revision=22017
2006-05-24 20:16:09 +00:00
Alex Ionescu 68121865ba - Wipe out PROS_OBJECT_HEADER and use OBJECT_HEADER since we are now compatible.
svn path=/trunk/; revision=22016
2006-05-24 20:13:47 +00:00
Alex Ionescu 3ccc97c6c4 - Rewrote the Object Directory implementation to follow the NT Structures in the NDK. This got rid of the last remaining OBJECT_HEADER difference and switched over to OBJECT_DIRECTORY.
- The low-level implementation is based on information from "Undocumented Windows 2000 Internals: A Programmer's Cookbook", with some modifications done by myself to match the updated 2003 structures. This implementation was hackishly stuck into our messed up high-level object lookup implementation, which now has 4 more band-aids. Still needs a lot of work done to the upper echelons of object lookup, but at least this gets rid of ROS-internal stuff.

svn path=/trunk/; revision=22015
2006-05-24 20:06:13 +00:00
Magnus Olsen 238be0b59c Do not create crash/bsod log when u logoff or shutdown of ReactOS.
svn path=/trunk/; revision=22014
2006-05-24 19:34:53 +00:00
Magnus Olsen fc40c38034 sorry forget cleanup after me ;)
svn path=/trunk/; revision=22013
2006-05-24 19:03:01 +00:00
Magnus Olsen 68f59759a3 import cprintf from wine cvs 2006-05-23 as bug 1529 suggested, I was looking for this bug before it was reported.
it make most of msvcrt string test work, only one fail left to fix.

svn path=/trunk/; revision=22012
2006-05-24 18:56:29 +00:00
Magnus Olsen 983091eda8 [AUDIT] clean from DJGPP
svn path=/trunk/; revision=22011
2006-05-24 18:48:00 +00:00
Magnus Olsen 050efa1da2 Fixing two fail from wine gdi32 test, When HDC is NULL to NtGdiCreateDIBitmap we need create a hdc and delete the hdc when we are done.
svn path=/trunk/; revision=22010
2006-05-24 16:54:51 +00:00
Magnus Olsen 8954d82145 revert my change from bootvid.c now, after w3seek patch it works again for bootcd
svn path=/trunk/; revision=22009
2006-05-24 15:07:28 +00:00
Magnus Olsen 80770b053a Patch from w3seek: patch to fix a couple of argument probing bugs in NtQuerySymbolicLinkObject and NtCreateSymbolicLinkObject:
svn path=/trunk/; revision=22008
2006-05-24 14:41:53 +00:00
Johannes Anderwald fbb73a8f5e fix a few typos and display issuses in german resource file
patch by ThePhysicist (bug 1518) and a few additional fixes by me

svn path=/trunk/; revision=22007
2006-05-24 12:17:49 +00:00
Magnus Olsen bf04d0ad97 Fix the regress of livecd, it works now again, some how the palette color are being bigger that 256 color and then the bootvid.sys crash
svn path=/trunk/; revision=22006
2006-05-24 06:35:59 +00:00
Alex Ionescu 7619400890 [AUDIT] ntobj.c : The Temporary/Permanent object routines are 5-line generic wrappers which call an internal kernel function, which in itself is only a wrapper to set an internal, documented flag. The implementation is therefore trivial. NtQueryObject is only 10% complete.
wait.c: These are simple wrapper routines around the KeWaitForXxx functions which reference the objects and get their pointers, just like any other Nt* function does. Some parts are non-trivial, such as: various failures: these can be tested with the wait regression test however; The usage of THREAD_WAIT_OBJECTS is documented in the DDK; The failure for WaitAll with duplicated objects is documented on MSDN; The check for SYNCHRONIZE object is documented on MSDN. 

svn path=/trunk/; revision=22005
2006-05-24 04:43:50 +00:00
Alex Ionescu 0b30ce7700 [AUDIT] symlink.c : The symbolic link implementation was generic, used different structures from NT (which meant some large NT features of symlinks were unimplemented) and had several bugs which gave different results from NT, so it was most certainly cleanly developed. The most recent update added the NT structure (which is documented) but did not add any functionality, except for fixing bugs which were revealed through a test app called SymlLinkTest.
dirobj.c: The directory object implementation is also generic and currently uses different structures from NT. Object lookup/parsing is entirely different and has nothing in common with NT. The actual Nt* APIs which expose the interface are ultra-generic and trivial.

svn path=/trunk/; revision=22004
2006-05-24 04:33:18 +00:00
Alex Ionescu 5a2f6e7faa - Move all object directory stuff in dirobj.c and implement a simple profiler to measure the time spent in those functions until the desktop appears. Enable with #define OBP_PROFILE.
svn path=/trunk/; revision=22003
2006-05-24 04:28:57 +00:00
Alex Ionescu 2143c80c39 This should fix the build.
svn path=/trunk/; revision=22002
2006-05-24 04:19:04 +00:00
Alex Ionescu ee3fddd2d7 - Thomas Weidenmueller (w3seek@reactos.org)
- Use SEH in Atom functions
  - Only use result length if the caller gave one, in NtQuerySecurityObject.

svn path=/trunk/; revision=22001
2006-05-24 02:48:51 +00:00
Alex Ionescu 8a80070849 - Fix Symbolic Link implementation:
- Use OBJECT_SYMBOLIC_LINK structure as used by Windows NT (and added the structure to the NDK)
  - Changed code to use the new names in the structure
  - Only free the symlink's name if it has one, to avoid a bugcheck.
  - Optimize parsing: if the new name is actually shorter then the target name, then don't allocate from pool, but re-use the buffer. This improves symlink parsing speed. Also fix a bug which made it depend on the incorrect implementation of NtCreateSymbolicLinkObject
  - Re-align the link target maximum length in NtCreateSymbolicLinkObject if it's odd, and fail if the length is odd, smaller then the maximum, or if the maximum is zero.
  - Originally allocate the symlink name in Paged Pool.
  - Initialize new members of the structure.
  - Fail in no-memory case, instead of continuing.
  - Properly probe the LinkTarget in NtQuerySymbolicLinkObject.
  - Properly handle which length is chosen for the copy and for the return in NtQuerySymbolicObject.
  - Lock the symbolic link object type while querying it. Eventually many more parts of Ob need to do this kind of locking.
  - SymLinkTest now only gives 2 failures.
- Fix some NDK bugs

svn path=/trunk/; revision=22000
2006-05-24 02:45:06 +00:00
Alex Ionescu 4b6154cfbf - SymTest: The Symbolic Link kernel implementation tester. Tests for really wacky symlink API properties. 8 failures on ROS.
svn path=/trunk/; revision=21999
2006-05-24 02:01:32 +00:00
Alex Ionescu a98a1b99c4 - Cleanup the formatting, code and function headers of most of the Object Manager interfaces.
svn path=/trunk/; revision=21998
2006-05-23 21:42:28 +00:00
Aleksey Bragin 632f9f99ec - Fix build (forgot to add file) to msvcrt test
svn path=/trunk/; revision=21997
2006-05-23 21:32:04 +00:00