Commit graph

13327 commits

Author SHA1 Message Date
Alex Ionescu
5da996d016 Implement PsGetVersion. OSR and other sources say that the build number is a mix of high and low word, where the high represents checked or free
svn path=/trunk/; revision=14667
2005-04-18 05:47:13 +00:00
Alex Ionescu
234a011028 Fix Access Bug. cmd.exe and taskmgr work again, but there remains a bug with the process list
svn path=/trunk/; revision=14666
2005-04-18 05:25:07 +00:00
Alex Ionescu
2b66d8f4fb Fix incorrect OpenProcess implementation in kernel32 and make it tidier. I'm now seeing a bug with Access rights...
svn path=/trunk/; revision=14665
2005-04-18 05:12:36 +00:00
Alex Ionescu
9cafa059bd Fix Process not being deleted
svn path=/trunk/; revision=14664
2005-04-18 04:55:48 +00:00
Alex Ionescu
6829bd8c8b Implement PsSetLegoNotifyRoutine and PsRemoveCreateThreadNotifyroutine. Clean up ps/thread.c, move things to their own subsystem, do proper TEB Allocation with MmCreateTeb, remove TEB EPROCESS hack fields. Rename PsFrezeAllThreads to KeFreezeAllThreads and implement a working version.
svn path=/trunk/; revision=14663
2005-04-18 04:46:06 +00:00
Alex Ionescu
f4d2ac0b1e Remove ps/create.c, it did not fit with the current model of abstraction. Major cleanup of ps/process.c, created ps/notify.c and ps/quota.c. Implemented NtOpenProcess, PsRemoveLoadImageNotifyRoutine, PsGetCurrentProcessSessionId
svn path=/trunk/; revision=14662
2005-04-18 02:12:30 +00:00
Alex Ionescu
781c6b374f Forgot this
svn path=/trunk/; revision=14661
2005-04-18 02:11:19 +00:00
Alex Ionescu
7740536c18 Mini-merge from my local changes. Rewrite of Process Creation. Notable improvements:
- Subsystemization of Process Creation code. Memory code done by new Mm functions (not all used yet),
      Kernel code done by Ke*, etc.
    - Written to be compatible with the information in "Windows Internals".
    - Optimized and cleaned up.
    - ObInsertObject is now called at the end, fixing a plethora of wrong things that were covered with FIXMEs.
    - PEB is allocated with a Memory Area, and so will TEB soon, which allows 4KB allocation without 64KB gra
      nularity.
    - System DLL Mapping/Loading has been changed to be cached at system bootup, resulting in faster code.
    
Also changed Peb to report NT 5.0

NOTE: Messy, more to come soon. The full benefits of this patch won't be realized until the complete changes
      are in.

svn path=/trunk/; revision=14660
2005-04-18 00:42:31 +00:00
Thomas Bluemel
a9920ccd9d fixed warning
svn path=/trunk/; revision=14659
2005-04-17 20:46:36 +00:00
Eric Kohl
30e7e912c2 ADVAPI32.DLL / SERVICES.EXE:
Implement ControlService()

RPCRT4.DLL:
Disable a bogus buffer overflow check in NdrSimpleStructMarshall.

svn path=/trunk/; revision=14658
2005-04-17 19:56:50 +00:00
Art Yerkes
631838f4a3 Fixed the repeating DHCPOFFER/DHCPACK. I was assuming that the lease timeout
was relative but it's been adjusted by the time we get here.

Thanks to hpoussineau for helping with this bug.

svn path=/trunk/; revision=14657
2005-04-17 19:47:44 +00:00
Eric Kohl
e0dda3685a Support out-pointers to structs.
svn path=/trunk/; revision=14656
2005-04-17 19:45:06 +00:00
Thomas Bluemel
c9a0b04418 fixed warning and minor portability fix
svn path=/trunk/; revision=14655
2005-04-17 19:33:50 +00:00
Thomas Bluemel
3e18dad277 fixed warning and minor portability fix
svn path=/trunk/; revision=14654
2005-04-17 19:32:24 +00:00
Art Yerkes
ddc52fc76c Don't set a zero timeout for a lease. Zero here is taken to mean infinite.
svn path=/trunk/; revision=14653
2005-04-17 19:16:39 +00:00
Emanuele Aliberti
45d0cf852c sm info ssid - implemented
svn path=/trunk/; revision=14651
2005-04-17 17:50:48 +00:00
Alex Ionescu
d4449cd58d Put in alphabetical order, remove IopCreateDevice, and remove incorrect implementation tag for EFi functions
svn path=/trunk/; revision=14650
2005-04-17 16:26:44 +00:00
Eric Kohl
8c8090fc65 - Move generated files to the top of the file list.
- Rename generated file svcctl.h to svcctl_c.h.

svn path=/trunk/; revision=14647
2005-04-17 11:01:00 +00:00
Art Yerkes
99bd564c01 Add sufficient permission to the TCP handle to configure the IP address.
svn path=/trunk/; revision=14646
2005-04-17 08:00:01 +00:00
Art Yerkes
4c0e95ce09 More cleaning. Mostly working DHCP. IP address is automatically discovered
and configured on the first ethernet adapter.

svn path=/trunk/; revision=14645
2005-04-17 07:58:24 +00:00
Art Yerkes
aa0b005b38 Needed infrastructure for DHCP:
Corrected adapter index problem in iinfo.c.  Now the index returned is from
 IF->Index.
ninfo: ditto.
ip.c: Expose IPAddInterfaceRoute and IPRemoveInterfaceRoute for use by
 set ip address IOCTL.
if.c: Allow deleting of TCP context.
main.c: Turn off debugging in CVS.

svn path=/trunk/; revision=14644
2005-04-17 07:55:24 +00:00
Alex Ionescu
24b6532712 IoCreateDevice Changes:
- IoAllocateVpb renamed to IopAllocateVpb and made cleaner
    - Let ObCreateObject do all the memory allocation since the extra data belongs to the
      object and it should be responsible for allocating it. No more extra pool allocations
      or deallocations.
    - Zero out everythign a single time.
    - Remove useless code duplication
    - Use proper I/O Manager types for the object headers.
    - Honour Exclusive Flag, and Has Name Flag.
    - Only initialize event if there is a volume.
    - Initialize a VPB for Virtual Disks also.
    - Set up Device Object Extension properly
    - Set DO_DEVICE_INITIALIZING flag.
    - Use proper sector sizes, don't hardcode 512 (should be 2048 for cds)
    - Actually insert the object into the object table with ObInsertObject. This might seem
      useless, but remember that's simply because ROS has a broken Ob Manager which does way
      too much in ObCreateObject. It will be easier to use the rewrite if this is done properly.
    - Set the right sizes in some places.

svn path=/trunk/; revision=14643
2005-04-17 04:20:16 +00:00
Art Yerkes
f4c3dd909b Make the broadcast address all 1's.
svn path=/trunk/; revision=14642
2005-04-16 22:11:59 +00:00
Art Yerkes
0ed727c9f8 Fixed multiple bind of DHCP client port. Later, we need to implement
per adapter binding.

svn path=/trunk/; revision=14641
2005-04-16 22:10:55 +00:00
Alex Ionescu
d70abfc25b More I/O Stuff that was leftover in the old branch. Yes I'm still on break, I'm just comitting
my local work to avoid duplication.

    - Implemented IoRegisterBootDriverReinitialization, but routines don't actually get called yet.
    - Created IopGetDeviceObjectPointer to deal with the case when the pointer is needed for an attach;
      when this happens, a special (documented) flag should be sent to the driver, so that it can do any
      internal routines to be ready for an attach.
    - Fixed IoAttachDevice to use the Safe Attach routine and sent the IO_ATTACH_DEVICE_API flag (See above)
    - Fixed IoAttachDeviceToDeviceStack to call the safe function.
    - Optimized IoAttachDeviceByPointer
    - Implemented IoAttachDeviceToDeviceStackSafe. Support Device Extension Attach semantics.
    - Added various checks for unload/delete flags (that we never supported). Checks are pretty useless for now
      since we don't use the flags, but I've added one during IoDeleteDevice.
    - Implemented IoEnumerateDeviceObjectList. Should work, but untested.
    - Implemented IoGetDeviceAttachmentBaseRef.
    - Optimized IoGetRelatedDeviceObject.
    - Made IoGetDeviceObjectPointer call the internal routine (see #2 above).
    - Implemented IoDetachDevice.
    - Removed IoOpenDeviceInstanceKey and IoQueryDeviceEnumInfo. Obsoleted, unimplemented, undocumented NT4 APIs.
    - Various Attach/Detach fixes.

svn path=/trunk/; revision=14640
2005-04-16 21:41:32 +00:00
Alex Ionescu
39ef71436d Add file object flags, complete DEVOBJ_EXTENSION, and implement: IoIsFileOriginRemote, IoGetLowerDeviceObject, IoGetdiskDeviceObject, IoGetRequestorSessionId, IoGetRequestorProcessId
svn path=/trunk/; revision=14639
2005-04-16 19:38:14 +00:00
Alex Ionescu
9d6033ebad Fix WaitAll bug. Previously, not all Wait Objects in a WaitAll were checked for signaling, which meant as soon as one was signaled, all were supposed to be satisfied. Worse however, only one object would get satisfied anyways, because of a second bug which hid the first during my testing. Now, all wait all objects must be signaled before satsifcation, and satisfaction is correctly done on all the objects. Reg tested with multithrdwin, which did not properly work before. Thanks to w3seek for notifying me of this bug.
svn path=/trunk/; revision=14638
2005-04-16 17:48:46 +00:00
Maarten Bosma
88594a14de PackageManager: Ported GUI to C
svn path=/trunk/; revision=14637
2005-04-16 17:09:12 +00:00
Hervé Poussineau
f5129193e2 Implement FSCTL_IS_VOLUME_DIRTY and FSCTL_MARK_VOLUME_DIRTY
svn path=/trunk/; revision=14636
2005-04-16 16:04:38 +00:00
Eric Kohl
5942162766 ADVAPI32.DLL:
- Implement LockServiceDatabase and UnlockServiceDatabase.

SERVICES.EXE:
- Add stubs: ScmrLockServiceDatabase, ScmrUnlockDerviceDatabase, SamrNotifyBootConfigStatus, and ScmrCreateServiceW.
- Store and check access rights.

svn path=/trunk/; revision=14635
2005-04-16 12:50:33 +00:00
Maarten Bosma
837c3298c7 PackageManager: Little fix
svn path=/trunk/; revision=14634
2005-04-16 11:48:26 +00:00
Maarten Bosma
887849790a PackageManager: Changed download server to my own webspace. Because http://svn.reactos.com is still offline.
svn path=/trunk/; revision=14633
2005-04-16 11:42:44 +00:00
Maarten Bosma
58096a81e6 PackageManager: Converted cmdline interface to C
svn path=/trunk/; revision=14632
2005-04-16 11:11:52 +00:00
Hervé Poussineau
1eb9c1db51 Allow interrupts indicating an empty buffer only if some bytes are pending
This should correct the boot in Qemu

svn path=/trunk/; revision=14631
2005-04-15 22:14:13 +00:00
Eric Kohl
91ec410e2f Use RPC for making calls to the Service Control Manager.
svn path=/trunk/; revision=14630
2005-04-15 22:02:37 +00:00
Art Yerkes
1a1051e787 Removed need for separately prefixed binutils.
svn path=/trunk/; revision=14629
2005-04-15 19:33:51 +00:00
Eric Kohl
9a53101c31 Support in-pointers to structs.
svn path=/trunk/; revision=14628
2005-04-15 17:56:40 +00:00
Hervé Poussineau
fc68dda45d Add ASSERTs
Correct a bug when processing IRP_MJ_PNP / IRP_MN_QUERY_DEVICE_RELATIONS / TargetDeviceRelation (serenum)
Don't breakpoint if NDEBUG is defined (serenum)
Allow to write more than 16 bytes in one IRP_MJ_WRITE (serial)

svn path=/trunk/; revision=14627
2005-04-15 15:56:19 +00:00
Thomas Bluemel
df118afc6f use the correct version of KeGetCurrentIrql for MP
svn path=/trunk/; revision=14626
2005-04-15 10:52:29 +00:00
Alex Ionescu
956f376f4f Implemented Guarded Mutex, a drop-in replacement for Fast Mutex (the correct one, not the one ROS incorrectly implements) on NT 5.2. Not fully tested yet, so nothing switched to it and probably not usable. Also made KeGetCurrentThread/Irql become inlined, since this should create quite a speed boost. Made KeLeaveCriticalRegion deliver APCs if possible, and made Crit regions macros usable from outside ntoskrnl thanks to a new NT 5.2 API (KiCheckForKernelApcDelivery). Guarded Mutex code based on Filip Navara.
svn path=/trunk/; revision=14625
2005-04-15 06:24:35 +00:00
Art Yerkes
3e3c9e9775 Use DriverDesc in the registry as the adapter name since the ndis name OID
seems generally unimplemented.  What a pain.

svn path=/trunk/; revision=14624
2005-04-15 00:48:25 +00:00
Hervé Poussineau
34eabf82b5 Change debug messages to more neutral ones
svn path=/trunk/; revision=14623
2005-04-14 22:41:48 +00:00
Emanuele Aliberti
b47adbe03f Simple Win32/text application to query the SM (incomplete/untested).
svn path=/trunk/; revision=14621
2005-04-14 21:46:14 +00:00
Martin Fuchs
adcb1f9fef charn <charn89@hotmail.com>:
A function for desktopbar.cpp that controls how the taskbar can be resized.

svn path=/trunk/; revision=14620
2005-04-14 20:32:00 +00:00
Martin Fuchs
3d7368e673 from ThomasLa <sikker2004@yahoo.com>:
Corrected DE.rc language controls
Modifed EN.rc
implemented part of screensaver functions

Shows Screensavers
Get Some Values from registry
get default screensaver
implemented delete screensavers

svn path=/trunk/; revision=14619
2005-04-14 20:23:02 +00:00
Thomas Bluemel
c6c92ec896 add some missing gdi functions to the driver function table
svn path=/trunk/; revision=14618
2005-04-14 15:47:03 +00:00
Thomas Bluemel
33bd174f16 define KGATE in win32api
svn path=/trunk/; revision=14617
2005-04-14 15:45:14 +00:00
Art Yerkes
a4ca03679f Sorry, forgot header for API dll communication.
svn path=/trunk/; revision=14605
2005-04-13 06:55:26 +00:00
Alex Ionescu
3b6c6f0a94 Kernel Gates. Ultra-lightweight and exclusive Wait Objects used in NT 5.2+ as high-speed events. Code is untested, so it's not added to the build until I'm back in May.
svn path=/trunk/; revision=14603
2005-04-13 01:12:08 +00:00
Art Yerkes
b9df1e262e Added DHCP and dhcpcapi to the makefile.
svn path=/trunk/; revision=14602
2005-04-12 23:33:29 +00:00