ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
June 2005
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
22 participants
649 discussions
Start a n
N
ew thread
[hpoussin] 15919: Add Green driver, that emulates a VT100 compatible server.
by hpoussin@svn.reactos.com
Add Green driver, that emulates a VT100 compatible server. Input won't work as long as we don't have a kdbclass driver.Add stubs for IOCTL_USB_GET_NODE_CONNECTION_NAME, IOCTL_USB_GET_NODE_CONNECTION_INFORMATION, IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION Modified: trunk/reactos/drivers/usb/cromwell/hub/fdo.c _____ Modified: trunk/reactos/drivers/usb/cromwell/hub/fdo.c --- trunk/reactos/drivers/usb/cromwell/hub/fdo.c 2005-06-14 22:08:13 UTC (rev 15918) +++ trunk/reactos/drivers/usb/cromwell/hub/fdo.c 2005-06-15 17:11:36 UTC (rev 15919) @@ -7,7 +7,7 @@ * PROGRAMMERS: HervÚ Poussineau (hpoussin(a)reactos.com) */ -//#define NDEBUG +#define NDEBUG #include "usbhub.h" extern struct usb_driver hub_driver; @@ -122,8 +122,6 @@ PVOID BufferIn, BufferOut; NTSTATUS Status; - DPRINT("Usbhub: UsbhubDeviceControlFdo() called\n"); - Stack = IoGetCurrentIrpStackLocation(Irp); LengthIn = Stack->Parameters.DeviceIoControl.InputBufferLength; LengthOut = Stack->Parameters.DeviceIoControl.OutputBufferLength; @@ -137,10 +135,6 @@ { PUSB_NODE_INFORMATION NodeInformation; struct usb_device* dev; - struct device* device; - struct usb_interface * intf; - struct usb_hub *hub; - struct usb_hub_descriptor *descriptor; DPRINT("Usbhub: IOCTL_USB_GET_NODE_INFORMATION\n"); if (LengthOut < sizeof(USB_NODE_INFORMATION)) Status = STATUS_BUFFER_TOO_SMALL; @@ -150,14 +144,10 @@ { NodeInformation = (PUSB_NODE_INFORMATION)BufferOut; dev = ((PHUB_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->dev; - device = hubdev(dev); - intf = to_usb_interface(device); - hub = usb_get_intfdata(intf); - descriptor = hub->descriptor; NodeInformation->NodeType = UsbHub; RtlCopyMemory( &NodeInformation->u.HubInformation.HubDescriptor, - descriptor, + ((struct usb_hub *)usb_get_intfdata(to_usb_interface(hubdev(dev))))->descriptor, sizeof(USB_HUB_DESCRIPTOR)); NodeInformation->u.HubInformation.HubIsBusPowered = TRUE; /* FIXME */ Information = sizeof(USB_NODE_INFORMATION); @@ -165,6 +155,74 @@ } break; } + case IOCTL_USB_GET_NODE_CONNECTION_NAME: + { + PUSB_NODE_CONNECTION_NAME ConnectionName; + + DPRINT("Usbhub: IOCTL_USB_GET_NODE_CONNECTION_NAME\n"); + if (LengthOut < sizeof(USB_NODE_CONNECTION_NAME)) + Status = STATUS_BUFFER_TOO_SMALL; + else + { + ConnectionName = (PUSB_NODE_CONNECTION_NAME)BufferOut; + DPRINT1("Usbhub: IOCTL_USB_GET_NODE_CONNECTION_NAME unimplemented\n"); + ConnectionName->ActualLength = 0; + ConnectionName->NodeName[0] = UNICODE_NULL; + Information = sizeof(USB_NODE_CONNECTION_NAME); + Status = STATUS_SUCCESS; + } + break; + } + case IOCTL_USB_GET_NODE_CONNECTION_INFORMATION: + { + PUSB_NODE_CONNECTION_INFORMATION ConnectionInformation; + struct usb_device* dev; + //ULONG i; + + DPRINT("Usbhub: IOCTL_USB_GET_NODE_CONNECTION_INFORMATION\n"); + if (LengthOut < sizeof(USB_NODE_CONNECTION_INFORMATION)) + Status = STATUS_BUFFER_TOO_SMALL; + else if (BufferOut == NULL) + Status = STATUS_INVALID_PARAMETER; + else + { + ConnectionInformation = (PUSB_NODE_CONNECTION_INFORMATION)BufferOut; + DPRINT1("Usbhub: IOCTL_USB_GET_NODE_CONNECTION_INFORMATION partially implemented\n"); + dev = ((PHUB_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->dev; + ConnectionInformation->ConnectionIndex = 0; /* FIXME */ + RtlCopyMemory( + &ConnectionInformation->DeviceDescriptor, + &dev->descriptor, + sizeof(USB_DEVICE_DESCRIPTOR)); + ConnectionInformation->CurrentConfigurationValue = 0; /* FIXME */ + ConnectionInformation->LowSpeed = TRUE; /* FIXME */ + ConnectionInformation->DeviceIsHub = TRUE; + RtlZeroMemory(&ConnectionInformation->DeviceAddress, sizeof(ConnectionInformation->DeviceAddress)); /* FIXME */ + RtlZeroMemory(&ConnectionInformation->NumberOfOpenPipes, sizeof(ConnectionInformation->NumberOfOpenPipes)); /* FIXME */ + RtlZeroMemory(&ConnectionInformation->ConnectionStatus, sizeof(ConnectionInformation->ConnectionStatus)); /* FIXME */ + RtlZeroMemory(&ConnectionInformation->PipeList, sizeof(ConnectionInformation->PipeList)); /* FIXME */ + /*for (i = 0; i < 32; i++) + { + RtlCopyMemory( + &ConnectionInformation->PipeList[i].EndpointDescriptor, + xxx, // FIXME + sizeof(USB_ENDPOINT_DESCRIPTOR)); + ConnectionInformation->PipeList[i].ScheduleOffset = 0; // FIXME + }*/ + Information = sizeof(USB_NODE_CONNECTION_INFORMATION); + Status = STATUS_SUCCESS; + } + break; + } + case IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION: + { + //PUSB_DESCRIPTOR_REQUEST Descriptor; + DPRINT("Usbhub: IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION\n"); + DPRINT1("Usbhub: IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION unimplemented\n"); + Information = 0; + Status = STATUS_NOT_IMPLEMENTED; + break; + } default: { /* Pass Irp to lower driver */
19 years, 6 months
1
0
0
0
[hyperion] 15918: Removed empty directory
by hyperion@svn.reactos.com
Removed empty directory Deleted: trunk/reactos/ntoskrnl/inbv/i386/
19 years, 6 months
1
0
0
0
[navaraf] 15917: Add Nokia/Ericsson vitrual key codes.
by navaraf@svn.reactos.com
Add Nokia/Ericsson vitrual key codes. Modified: trunk/reactos/w32api/include/winuser.h _____ Modified: trunk/reactos/w32api/include/winuser.h --- trunk/reactos/w32api/include/winuser.h 2005-06-14 20:41:49 UTC (rev 15916) +++ trunk/reactos/w32api/include/winuser.h 2005-06-14 21:59:07 UTC (rev 15917) @@ -1881,6 +1881,19 @@ #if (_WIN32_WINNT >= 0x0500) #define VK_PACKET 0xE7 #endif +#define VK_OEM_RESET 0xE9 +#define VK_OEM_JUMP 0xEA +#define VK_OEM_PA1 0xEB +#define VK_OEM_PA2 0xEC +#define VK_OEM_PA3 0xED +#define VK_OEM_WSCTRL 0xEE +#define VK_OEM_CUSEL 0xEF +#define VK_OEM_ATTN 0xF0 +#define VK_OEM_FINISH 0xF1 +#define VK_OEM_COPY 0xF2 +#define VK_OEM_AUTO 0xF3 +#define VK_OEM_ENLW 0xF4 +#define VK_OEM_BACKTAB 0xF5 #define VK_ATTN 0xF6 #define VK_CRSEL 0xF7 #define VK_EXSEL 0xF8
19 years, 6 months
1
0
0
0
[navaraf] 15916: - Remove KeAttachProcess and KeDetachProcess prototypes from winddk.h.
by navaraf@svn.reactos.com
- Remove KeAttachProcess and KeDetachProcess prototypes from winddk.h. - Remove non-public object manager stuff from W32API and ROS headers. Modified: trunk/reactos/hal/halx86/generic/adapter.c Modified: trunk/reactos/hal/halx86/generic/irql.c Modified: trunk/reactos/hal/halx86/generic/pci.c Modified: trunk/reactos/hal/halx86/generic/spinlock.c Modified: trunk/reactos/hal/halx86/generic/timer.c Modified: trunk/reactos/hal/halx86/xbox/part_xbox.c Modified: trunk/reactos/include/ddk/obfuncs.h Modified: trunk/reactos/ntoskrnl/include/internal/ob.h Modified: trunk/reactos/ntoskrnl/include/ntoskrnl.h Modified: trunk/reactos/ntoskrnl/rtl/i386/exception.c Modified: trunk/reactos/subsys/win32k/misc/error.c Modified: trunk/reactos/subsys/win32k/ntuser/csr.c Modified: trunk/reactos/subsys/win32k/ntuser/desktop.c Modified: trunk/reactos/subsys/win32k/ntuser/menu.c Modified: trunk/reactos/subsys/win32k/objects/gdiobj.c Modified: trunk/reactos/w32api/include/ddk/winddk.h _____ Modified: trunk/reactos/hal/halx86/generic/adapter.c --- trunk/reactos/hal/halx86/generic/adapter.c 2005-06-14 20:24:02 UTC (rev 15915) +++ trunk/reactos/hal/halx86/generic/adapter.c 2005-06-14 20:41:49 UTC (rev 15916) @@ -15,6 +15,7 @@ #include <ddk/ntddk.h> #include <ddk/iotypes.h> +#include <internal/ob.h> #include <internal/ps.h> #define NDEBUG #include <internal/debug.h> _____ Modified: trunk/reactos/hal/halx86/generic/irql.c --- trunk/reactos/hal/halx86/generic/irql.c 2005-06-14 20:24:02 UTC (rev 15915) +++ trunk/reactos/hal/halx86/generic/irql.c 2005-06-14 20:41:49 UTC (rev 15916) @@ -10,6 +10,7 @@ /* INCLUDES *****************************************************************/ #include <ddk/ntddk.h> +#include <internal/ob.h> #include <internal/ps.h> #include <ntos/minmax.h> #include <hal.h> _____ Modified: trunk/reactos/hal/halx86/generic/pci.c --- trunk/reactos/hal/halx86/generic/pci.c 2005-06-14 20:24:02 UTC (rev 15915) +++ trunk/reactos/hal/halx86/generic/pci.c 2005-06-14 20:41:49 UTC (rev 15916) @@ -22,6 +22,7 @@ #include <bus.h> #include <halirq.h> #include <hal.h> +#include <internal/ob.h> #include <internal/ps.h> #define NDEBUG _____ Modified: trunk/reactos/hal/halx86/generic/spinlock.c --- trunk/reactos/hal/halx86/generic/spinlock.c 2005-06-14 20:24:02 UTC (rev 15915) +++ trunk/reactos/hal/halx86/generic/spinlock.c 2005-06-14 20:41:49 UTC (rev 15916) @@ -18,6 +18,7 @@ /* INCLUDES ****************************************************************/ #include <ddk/ntddk.h> +#include <internal/ob.h> #include <internal/ps.h> #include <internal/debug.h> _____ Modified: trunk/reactos/hal/halx86/generic/timer.c --- trunk/reactos/hal/halx86/generic/timer.c 2005-06-14 20:24:02 UTC (rev 15915) +++ trunk/reactos/hal/halx86/generic/timer.c 2005-06-14 20:41:49 UTC (rev 15916) @@ -33,6 +33,7 @@ /* INCLUDES ***************************************************************/ #include <ddk/ntddk.h> +#include <internal/ob.h> #include <internal/ps.h> #include <hal.h> _____ Modified: trunk/reactos/hal/halx86/xbox/part_xbox.c --- trunk/reactos/hal/halx86/xbox/part_xbox.c 2005-06-14 20:24:02 UTC (rev 15915) +++ trunk/reactos/hal/halx86/xbox/part_xbox.c 2005-06-14 20:41:49 UTC (rev 15916) @@ -14,6 +14,7 @@ #include <ddk/ntddk.h> #include <hal.h> #include "halxbox.h" +#include <internal/ob.h> #include <internal/ps.h> #define NDEBUG _____ Modified: trunk/reactos/include/ddk/obfuncs.h --- trunk/reactos/include/ddk/obfuncs.h 2005-06-14 20:24:02 UTC (rev 15915) +++ trunk/reactos/include/ddk/obfuncs.h 2005-06-14 20:41:49 UTC (rev 15916) @@ -2,158 +2,6 @@ #define _INCLUDE_DDK_OBFUNCS_H /* OBJECT MANAGER ************************************************************/ -typedef enum _OB_OPEN_REASON -{ - ObCreateHandle, - ObOpenHandle, - ObDuplicateHandle, - ObInheritHandle, - ObMaxOpenReason -} OB_OPEN_REASON; - -/* TEMPORARY HACK */ -typedef NTSTATUS STDCALL_FUNC -(*OB_CREATE_METHOD)(PVOID ObjectBody, - PVOID Parent, - PWSTR RemainingPath, - struct _OBJECT_ATTRIBUTES* ObjectAttributes); - -/* Object Callbacks */ -typedef NTSTATUS STDCALL_FUNC -(*OB_OPEN_METHOD)(OB_OPEN_REASON Reason, - PVOID ObjectBody, - PEPROCESS Process, - ULONG HandleCount, - ACCESS_MASK GrantedAccess); - -typedef NTSTATUS STDCALL_FUNC -(*OB_PARSE_METHOD)(PVOID Object, - PVOID *NextObject, - PUNICODE_STRING FullPath, - PWSTR *Path, - ULONG Attributes); - -typedef VOID STDCALL_FUNC -(*OB_DELETE_METHOD)(PVOID DeletedObject); - -typedef VOID STDCALL_FUNC -(*OB_CLOSE_METHOD)(PVOID ClosedObject, ULONG HandleCount); - -typedef VOID STDCALL_FUNC -(*OB_DUMP_METHOD)(VOID); - -typedef NTSTATUS STDCALL_FUNC -(*OB_OKAYTOCLOSE_METHOD)(VOID); - -typedef NTSTATUS STDCALL_FUNC -(*OB_QUERYNAME_METHOD)(PVOID ObjectBody, - POBJECT_NAME_INFORMATION ObjectNameInfo, - ULONG Length, - PULONG ReturnLength); - -typedef PVOID STDCALL_FUNC -(*OB_FIND_METHOD)(PVOID WinStaObject, - PWSTR Name, - ULONG Attributes); - -typedef NTSTATUS STDCALL_FUNC -(*OB_SECURITY_METHOD)(PVOID ObjectBody, - SECURITY_OPERATION_CODE OperationCode, - SECURITY_INFORMATION SecurityInformation, - PSECURITY_DESCRIPTOR SecurityDescriptor, - PULONG BufferLength); - -typedef struct _OBJECT_HANDLE_COUNT_ENTRY -{ - struct _EPROCESS *Process; - ULONG HandleCount; -} OBJECT_HANDLE_COUNT_ENTRY, *POBJECT_HANDLE_COUNT_ENTRY; - -typedef struct _OBJECT_HANDLE_COUNT_DATABASE -{ - ULONG CountEntries; - POBJECT_HANDLE_COUNT_ENTRY HandleCountEntries[1]; -} OBJECT_HANDLE_COUNT_DATABASE, *POBJECT_HANDLE_COUNT_DATABASE; - -typedef struct _OBJECT_HEADER_HANDLE_INFO -{ - union { - POBJECT_HANDLE_COUNT_DATABASE HandleCountDatabase; - OBJECT_HANDLE_COUNT_ENTRY SingleEntry; - }; -} OBJECT_HEADER_HANDLE_INFO, *POBJECT_HEADER_HANDLE_INFO; - -typedef struct _OBJECT_HEADER_CREATOR_INFO -{ - LIST_ENTRY TypeList; - PVOID CreatorUniqueProcess; - USHORT CreatorBackTraceIndex; - USHORT Reserved; -} OBJECT_HEADER_CREATOR_INFO, *POBJECT_HEADER_CREATOR_INFO; - -typedef struct _OBJECT_HEADER_NAME_INFO -{ - struct _DIRECTORY_OBJECT *Directory; - UNICODE_STRING Name; - ULONG QueryReferences; - ULONG Reserved2; - ULONG DbgReferenceCount; -} OBJECT_HEADER_NAME_INFO, *POBJECT_HEADER_NAME_INFO; - -typedef struct _OBJECT_CREATE_INFORMATION -{ - ULONG Attributes; - HANDLE RootDirectory; - PVOID ParseContext; - KPROCESSOR_MODE ProbeMode; - ULONG PagedPoolCharge; - ULONG NonPagedPoolCharge; - ULONG SecurityDescriptorCharge; - PSECURITY_DESCRIPTOR SecurityDescriptor; - PSECURITY_QUALITY_OF_SERVICE SecurityQos; - SECURITY_QUALITY_OF_SERVICE SecurityQualityOfService; -} OBJECT_CREATE_INFORMATION, *POBJECT_CREATE_INFORMATION; - -typedef struct _OBJECT_TYPE_INITIALIZER -{ - WORD Length; - UCHAR UseDefaultObject; - UCHAR CaseInsensitive; - ULONG InvalidAttributes; - GENERIC_MAPPING GenericMapping; - ULONG ValidAccessMask; - UCHAR SecurityRequired; - UCHAR MaintainHandleCount; - UCHAR MaintainTypeList; - POOL_TYPE PoolType; - ULONG DefaultPagedPoolCharge; - ULONG DefaultNonPagedPoolCharge; - OB_DUMP_METHOD DumpProcedure; - OB_OPEN_METHOD OpenProcedure; - OB_CLOSE_METHOD CloseProcedure; - OB_DELETE_METHOD DeleteProcedure; - OB_PARSE_METHOD ParseProcedure; - OB_SECURITY_METHOD SecurityProcedure; - OB_QUERYNAME_METHOD QueryNameProcedure; - OB_OKAYTOCLOSE_METHOD OkayToCloseProcedure; -} OBJECT_TYPE_INITIALIZER, *POBJECT_TYPE_INITIALIZER; - -typedef struct _OBJECT_TYPE -{ - ERESOURCE Mutex; /* Used to lock the Object Type */ - LIST_ENTRY TypeList; /* Links all the Types Together for Debugging */ - UNICODE_STRING Name; /* Name of the Type */ - PVOID DefaultObject; /* What Object to use during a Wait (ie, FileObjects wait on FileObject->Event) */ - ULONG Index; /* Index of this Type in the Object Directory */ - ULONG TotalNumberOfObjects; /* Total number of objects of this type */ - ULONG TotalNumberOfHandles; /* Total number of handles of this type */ - ULONG HighWaterNumberOfObjects; /* Peak number of objects of this type */ - ULONG HighWaterNumberOfHandles; /* Peak number of handles of this type */ - OBJECT_TYPE_INITIALIZER TypeInfo; /* Information captured during type creation */ - ULONG Key; /* Key to use when allocating objects of this type */ - ERESOURCE ObjectLocks[4]; /* Locks for locking the Objects */ -} OBJECT_TYPE; - NTSTATUS STDCALL ObAssignSecurity(IN PACCESS_STATE AccessState, IN PSECURITY_DESCRIPTOR SecurityDescriptor, _____ Modified: trunk/reactos/ntoskrnl/include/internal/ob.h --- trunk/reactos/ntoskrnl/include/internal/ob.h 2005-06-14 20:24:02 UTC (rev 15915) +++ trunk/reactos/ntoskrnl/include/internal/ob.h 2005-06-14 20:41:49 UTC (rev 15916) @@ -16,6 +16,169 @@ struct _EPROCESS; +typedef enum _OB_OPEN_REASON +{ + ObCreateHandle, + ObOpenHandle, + ObDuplicateHandle, + ObInheritHandle, + ObMaxOpenReason +} OB_OPEN_REASON; + +/* TEMPORARY HACK */ +typedef NTSTATUS +(STDCALL *OB_CREATE_METHOD)( + PVOID ObjectBody, + PVOID Parent, + PWSTR RemainingPath, + struct _OBJECT_ATTRIBUTES* ObjectAttributes); + +/* Object Callbacks */ +typedef NTSTATUS +(STDCALL *OB_OPEN_METHOD)( + OB_OPEN_REASON Reason, + PVOID ObjectBody, + PEPROCESS Process, + ULONG HandleCount, + ACCESS_MASK GrantedAccess); + +typedef NTSTATUS +(STDCALL *OB_PARSE_METHOD)( + PVOID Object, + PVOID *NextObject, + PUNICODE_STRING FullPath, + PWSTR *Path, + ULONG Attributes); + +typedef VOID +(STDCALL *OB_DELETE_METHOD)( + PVOID DeletedObject); + +typedef VOID +(STDCALL *OB_CLOSE_METHOD)( + PVOID ClosedObject, + ULONG HandleCount); + +typedef VOID +(STDCALL *OB_DUMP_METHOD)( + VOID); + +typedef NTSTATUS +(STDCALL *OB_OKAYTOCLOSE_METHOD)( + VOID); + +typedef NTSTATUS +(STDCALL *OB_QUERYNAME_METHOD)( + PVOID ObjectBody, + POBJECT_NAME_INFORMATION ObjectNameInfo, + ULONG Length, + PULONG ReturnLength); + +typedef PVOID +(STDCALL *OB_FIND_METHOD)( + PVOID WinStaObject, + PWSTR Name, + ULONG Attributes); + +typedef NTSTATUS +(STDCALL *OB_SECURITY_METHOD)( + PVOID ObjectBody, + SECURITY_OPERATION_CODE OperationCode, + SECURITY_INFORMATION SecurityInformation, + PSECURITY_DESCRIPTOR SecurityDescriptor, + PULONG BufferLength); + +typedef struct _OBJECT_HEADER_NAME_INFO +{ + struct _DIRECTORY_OBJECT *Directory; + UNICODE_STRING Name; + ULONG QueryReferences; + ULONG Reserved2; + ULONG DbgReferenceCount; +} OBJECT_HEADER_NAME_INFO, *POBJECT_HEADER_NAME_INFO; + +typedef struct _OBJECT_CREATE_INFORMATION +{ + ULONG Attributes; + HANDLE RootDirectory; + PVOID ParseContext; + KPROCESSOR_MODE ProbeMode; + ULONG PagedPoolCharge; + ULONG NonPagedPoolCharge; + ULONG SecurityDescriptorCharge; + PSECURITY_DESCRIPTOR SecurityDescriptor; + PSECURITY_QUALITY_OF_SERVICE SecurityQos; + SECURITY_QUALITY_OF_SERVICE SecurityQualityOfService; +} OBJECT_CREATE_INFORMATION, *POBJECT_CREATE_INFORMATION; + +typedef struct _OBJECT_TYPE_INITIALIZER +{ + WORD Length; + UCHAR UseDefaultObject; + UCHAR CaseInsensitive; + ULONG InvalidAttributes; + GENERIC_MAPPING GenericMapping; + ULONG ValidAccessMask; + UCHAR SecurityRequired; + UCHAR MaintainHandleCount; + UCHAR MaintainTypeList; + POOL_TYPE PoolType; + ULONG DefaultPagedPoolCharge; + ULONG DefaultNonPagedPoolCharge; + OB_DUMP_METHOD DumpProcedure; + OB_OPEN_METHOD OpenProcedure; + OB_CLOSE_METHOD CloseProcedure; + OB_DELETE_METHOD DeleteProcedure; + OB_PARSE_METHOD ParseProcedure; + OB_SECURITY_METHOD SecurityProcedure; + OB_QUERYNAME_METHOD QueryNameProcedure; + OB_OKAYTOCLOSE_METHOD OkayToCloseProcedure; +} OBJECT_TYPE_INITIALIZER, *POBJECT_TYPE_INITIALIZER; + +typedef struct _OBJECT_TYPE +{ + ERESOURCE Mutex; /* Used to lock the Object Type */ + LIST_ENTRY TypeList; /* Links all the Types Together for Debugging */ + UNICODE_STRING Name; /* Name of the Type */ + PVOID DefaultObject; /* What Object to use during a Wait (ie, FileObjects wait on FileObject->Event) */ + ULONG Index; /* Index of this Type in the Object Directory */ + ULONG TotalNumberOfObjects; /* Total number of objects of this type */ + ULONG TotalNumberOfHandles; /* Total number of handles of this type */ + ULONG HighWaterNumberOfObjects; /* Peak number of objects of this type */ + ULONG HighWaterNumberOfHandles; /* Peak number of handles of this type */ + OBJECT_TYPE_INITIALIZER TypeInfo; /* Information captured during type creation */ + ULONG Key; /* Key to use when allocating objects of this type */ + ERESOURCE ObjectLocks[4]; /* Locks for locking the Objects */ +} OBJECT_TYPE; + +typedef struct _OBJECT_HANDLE_COUNT_ENTRY +{ + struct _EPROCESS *Process; + ULONG HandleCount; +} OBJECT_HANDLE_COUNT_ENTRY, *POBJECT_HANDLE_COUNT_ENTRY; + +typedef struct _OBJECT_HANDLE_COUNT_DATABASE +{ + ULONG CountEntries; + POBJECT_HANDLE_COUNT_ENTRY HandleCountEntries[1]; +} OBJECT_HANDLE_COUNT_DATABASE, *POBJECT_HANDLE_COUNT_DATABASE; + +typedef struct _OBJECT_HEADER_HANDLE_INFO +{ + union { + POBJECT_HANDLE_COUNT_DATABASE HandleCountDatabase; + OBJECT_HANDLE_COUNT_ENTRY SingleEntry; + }; +} OBJECT_HEADER_HANDLE_INFO, *POBJECT_HEADER_HANDLE_INFO; + +typedef struct _OBJECT_HEADER_CREATOR_INFO +{ + LIST_ENTRY TypeList; + PVOID CreatorUniqueProcess; + USHORT CreatorBackTraceIndex; + USHORT Reserved; +} OBJECT_HEADER_CREATOR_INFO, *POBJECT_HEADER_CREATOR_INFO; + typedef PVOID POBJECT; typedef struct _QUAD _____ Modified: trunk/reactos/ntoskrnl/include/ntoskrnl.h --- trunk/reactos/ntoskrnl/include/ntoskrnl.h 2005-06-14 20:24:02 UTC (rev 15915) +++ trunk/reactos/ntoskrnl/include/ntoskrnl.h 2005-06-14 20:41:49 UTC (rev 15916) @@ -40,6 +40,7 @@ #include <internal/module.h> #include <internal/handle.h> #include <internal/pool.h> +#include <internal/ob.h> #include <internal/ps.h> #include <internal/mm.h> #include <internal/cc.h> @@ -50,7 +51,6 @@ #include <internal/ldr.h> #include <internal/kd.h> #include <internal/ex.h> -#include <internal/ob.h> #include "internal/xhal.h" #include <internal/v86m.h> #include <internal/ifs.h> _____ Modified: trunk/reactos/ntoskrnl/rtl/i386/exception.c --- trunk/reactos/ntoskrnl/rtl/i386/exception.c 2005-06-14 20:24:02 UTC (rev 15915) +++ trunk/reactos/ntoskrnl/rtl/i386/exception.c 2005-06-14 20:41:49 UTC (rev 15916) @@ -12,6 +12,7 @@ #include <ntos.h> #include <internal/ke.h> +#include <internal/ob.h> #include <internal/ps.h> #define NDEBUG _____ Modified: trunk/reactos/subsys/win32k/misc/error.c --- trunk/reactos/subsys/win32k/misc/error.c 2005-06-14 20:24:02 UTC (rev 15915) +++ trunk/reactos/subsys/win32k/misc/error.c 2005-06-14 20:41:49 UTC (rev 15916) @@ -26,12 +26,8 @@ * REVISION HISTORY: * 06-06-2001 CSH Created */ -#include <ddk/ntddk.h> -#include <ddk/ntpoapi.h> -#include <internal/ps.h> -#include <include/error.h> +#include <w32k.h> - VOID FASTCALL SetLastNtError(NTSTATUS Status) { _____ Modified: trunk/reactos/subsys/win32k/ntuser/csr.c --- trunk/reactos/subsys/win32k/ntuser/csr.c 2005-06-14 20:24:02 UTC (rev 15915) +++ trunk/reactos/subsys/win32k/ntuser/csr.c 2005-06-14 20:41:49 UTC (rev 15916) @@ -58,7 +58,7 @@ OldProcess = PsGetCurrentProcess(); if (CsrProcess != OldProcess) { - KeAttachProcess(CsrProcess); + KeAttachProcess(EPROCESS_TO_KPROCESS(CsrProcess)); } Status = ZwRequestWaitReplyPort(WindowsApiPort, &Request->Header, @@ -132,7 +132,7 @@ OldProcess = PsGetCurrentProcess(); if (CsrProcess != OldProcess) { - KeAttachProcess(CsrProcess); + KeAttachProcess(EPROCESS_TO_KPROCESS(CsrProcess)); } Status = ZwClose(Handle); _____ Modified: trunk/reactos/subsys/win32k/ntuser/desktop.c --- trunk/reactos/subsys/win32k/ntuser/desktop.c 2005-06-14 20:24:02 UTC (rev 15915) +++ trunk/reactos/subsys/win32k/ntuser/desktop.c 2005-06-14 20:41:49 UTC (rev 15916) @@ -1361,7 +1361,7 @@ may be a bit safer (e.g. when the desktop is being destroyed */ /* switch into the context of the thread we're trying to get the desktop from, so we can use the handle */ - KeAttachProcess(Thread->ThreadsProcess); + KeAttachProcess(EPROCESS_TO_KPROCESS(Thread->ThreadsProcess)); Status = ObReferenceObjectByHandle(hThreadDesktop, GENERIC_ALL, ExDesktopObjectType, _____ Modified: trunk/reactos/subsys/win32k/ntuser/menu.c --- trunk/reactos/subsys/win32k/ntuser/menu.c 2005-06-14 20:24:02 UTC (rev 15915) +++ trunk/reactos/subsys/win32k/ntuser/menu.c 2005-06-14 20:41:49 UTC (rev 15916) @@ -1250,7 +1250,7 @@ CurrentProcess = PsGetCurrentProcess(); if (CurrentProcess != Process) { - KeAttachProcess(Process); + KeAttachProcess(EPROCESS_TO_KPROCESS(Process)); } IntLockProcessMenus(Win32Process); _____ Modified: trunk/reactos/subsys/win32k/objects/gdiobj.c --- trunk/reactos/subsys/win32k/objects/gdiobj.c 2005-06-14 20:24:02 UTC (rev 15915) +++ trunk/reactos/subsys/win32k/objects/gdiobj.c 2005-06-14 20:41:49 UTC (rev 15916) @@ -656,7 +656,7 @@ CurrentProcess = PsGetCurrentProcess(); if (CurrentProcess != Process) { - KeAttachProcess(Process); + KeAttachProcess(EPROCESS_TO_KPROCESS(Process)); } W32Process = (PW32PROCESS)Process->Win32Process; ASSERT(W32Process); _____ Modified: trunk/reactos/w32api/include/ddk/winddk.h --- trunk/reactos/w32api/include/ddk/winddk.h 2005-06-14 20:24:02 UTC (rev 15915) +++ trunk/reactos/w32api/include/ddk/winddk.h 2005-06-14 20:41:49 UTC (rev 15916) @@ -7121,6 +7121,8 @@ _InvokeOnCancel) \ { \ PIO_STACK_LOCATION _IrpSp; \ + ASSERT(_InvokeOnSuccess || _InvokeOnError || _InvokeOnCancel ? \ + _CompletionRoutine != NULL : TRUE); \ _IrpSp = IoGetNextIrpStackLocation(_Irp); \ _IrpSp->CompletionRoutine = (PIO_COMPLETION_ROUTINE)(_CompletionRoutine); \ _IrpSp->Context = (_Context); \ @@ -7505,12 +7507,6 @@ NTOSAPI VOID DDKAPI -KeAttachProcess( - IN PKPROCESS Process); - -NTOSAPI -VOID -DDKAPI KeBugCheck( IN ULONG BugCheckCode); @@ -7553,12 +7549,6 @@ NTOSAPI VOID DDKAPI -KeDetachProcess( - VOID); - -NTOSAPI -VOID -DDKAPI KeEnterCriticalRegion( VOID); @@ -8459,143 +8449,8 @@ -/** Object manager **/ +/** Object manager routines **/ -typedef enum _OB_OPEN_REASON -{ - ObCreateHandle, - ObOpenHandle, - ObDuplicateHandle, - ObInheritHandle, - ObMaxOpenReason -} OB_OPEN_REASON; - -/* TEMPORARY HACK */ -typedef NTSTATUS -(DDKAPI *OB_CREATE_METHOD)( - PVOID ObjectBody, - PVOID Parent, - PWSTR RemainingPath, - struct _OBJECT_ATTRIBUTES* ObjectAttributes); - -/* Object Callbacks */ -typedef NTSTATUS -(DDKAPI *OB_OPEN_METHOD)( - OB_OPEN_REASON Reason, - PVOID ObjectBody, - PEPROCESS Process, - ULONG HandleCount, - ACCESS_MASK GrantedAccess); - -typedef NTSTATUS -(DDKAPI *OB_PARSE_METHOD)( - PVOID Object, - PVOID *NextObject, - PUNICODE_STRING FullPath, - PWSTR *Path, - ULONG Attributes); - -typedef VOID -(DDKAPI *OB_DELETE_METHOD)( - PVOID DeletedObject); - -typedef VOID -(DDKAPI *OB_CLOSE_METHOD)( - PVOID ClosedObject, - ULONG HandleCount); - -typedef VOID -(DDKAPI *OB_DUMP_METHOD)( - VOID); - -typedef NTSTATUS -(DDKAPI *OB_OKAYTOCLOSE_METHOD)( - VOID); - -typedef NTSTATUS -(DDKAPI *OB_QUERYNAME_METHOD)( - PVOID ObjectBody, - POBJECT_NAME_INFORMATION ObjectNameInfo, - ULONG Length, - PULONG ReturnLength); - -typedef PVOID -(DDKAPI *OB_FIND_METHOD)( - PVOID WinStaObject, - PWSTR Name, - ULONG Attributes); - -typedef NTSTATUS -(DDKAPI *OB_SECURITY_METHOD)( - PVOID ObjectBody, - SECURITY_OPERATION_CODE OperationCode, - SECURITY_INFORMATION SecurityInformation, - PSECURITY_DESCRIPTOR SecurityDescriptor, - PULONG BufferLength); - -typedef struct _OBJECT_HEADER_NAME_INFO -{ - struct _DIRECTORY_OBJECT *Directory; - UNICODE_STRING Name; - ULONG QueryReferences; - ULONG Reserved2; - ULONG DbgReferenceCount; -} OBJECT_HEADER_NAME_INFO, *POBJECT_HEADER_NAME_INFO; - -typedef struct _OBJECT_CREATE_INFORMATION -{ - ULONG Attributes; - HANDLE RootDirectory; - PVOID ParseContext; - KPROCESSOR_MODE ProbeMode; - ULONG PagedPoolCharge; - ULONG NonPagedPoolCharge; - ULONG SecurityDescriptorCharge; - PSECURITY_DESCRIPTOR SecurityDescriptor; - PSECURITY_QUALITY_OF_SERVICE SecurityQos; - SECURITY_QUALITY_OF_SERVICE SecurityQualityOfService; -} OBJECT_CREATE_INFORMATION, *POBJECT_CREATE_INFORMATION; - -typedef struct _OBJECT_TYPE_INITIALIZER -{ - WORD Length; - UCHAR UseDefaultObject; - UCHAR CaseInsensitive; - ULONG InvalidAttributes; - GENERIC_MAPPING GenericMapping; - ULONG ValidAccessMask; - UCHAR SecurityRequired; - UCHAR MaintainHandleCount; - UCHAR MaintainTypeList; - POOL_TYPE PoolType; - ULONG DefaultPagedPoolCharge; - ULONG DefaultNonPagedPoolCharge; - OB_DUMP_METHOD DumpProcedure; - OB_OPEN_METHOD OpenProcedure; - OB_CLOSE_METHOD CloseProcedure; - OB_DELETE_METHOD DeleteProcedure; - OB_PARSE_METHOD ParseProcedure; - OB_SECURITY_METHOD SecurityProcedure; - OB_QUERYNAME_METHOD QueryNameProcedure; - OB_OKAYTOCLOSE_METHOD OkayToCloseProcedure; -} OBJECT_TYPE_INITIALIZER, *POBJECT_TYPE_INITIALIZER; - -typedef struct _OBJECT_TYPE -{ - ERESOURCE Mutex; /* Used to lock the Object Type */ - LIST_ENTRY TypeList; /* Links all the Types Together for Debugging */ - UNICODE_STRING Name; /* Name of the Type */ - PVOID DefaultObject; /* What Object to use during a Wait (ie, FileObjects wait on FileObject->Event) */ - ULONG Index; /* Index of this Type in the Object Directory */ - ULONG TotalNumberOfObjects; /* Total number of objects of this type */ - ULONG TotalNumberOfHandles; /* Total number of handles of this type */ - ULONG HighWaterNumberOfObjects; /* Peak number of objects of this type */ - ULONG HighWaterNumberOfHandles; /* Peak number of handles of this type */ - OBJECT_TYPE_INITIALIZER TypeInfo; /* Information captured during type creation */ - ULONG Key; /* Key to use when allocating objects of this type */ - ERESOURCE ObjectLocks[4]; /* Locks for locking the Objects */ -} OBJECT_TYPE; - NTOSAPI NTSTATUS DDKAPI
19 years, 6 months
1
0
0
0
[navaraf] 15915: Use KeStackAttachProcess/KeUnstackDetachProcess instead of KeAttachProcess/KeDetachProcess.
by navaraf@svn.reactos.com
Use KeStackAttachProcess/KeUnstackDetachProcess instead of KeAttachProcess/KeDetachProcess. Modified: trunk/reactos/drivers/video/videoprt/int10.c Modified: trunk/reactos/drivers/video/videoprt/videoprt.c Modified: trunk/reactos/drivers/video/videoprt/videoprt.h _____ Modified: trunk/reactos/drivers/video/videoprt/int10.c --- trunk/reactos/drivers/video/videoprt/int10.c 2005-06-14 18:39:12 UTC (rev 15914) +++ trunk/reactos/drivers/video/videoprt/int10.c 2005-06-14 20:24:02 UTC (rev 15915) @@ -36,11 +36,11 @@ PVOID MemoryAddress; NTSTATUS Status; PKPROCESS CallingProcess; - PKPROCESS PrevAttachedProcess; + KAPC_STATE ApcState; DPRINT("IntInt10AllocateBuffer\n"); - IntAttachToCSRSS(&CallingProcess, &PrevAttachedProcess); + IntAttachToCSRSS(&CallingProcess, &ApcState); MemoryAddress = (PVOID)0x20000; Status = ZwAllocateVirtualMemory(NtCurrentProcess(), &MemoryAddress, 0, @@ -49,7 +49,7 @@ if (!NT_SUCCESS(Status)) { DPRINT("- ZwAllocateVirtualMemory failed\n"); - IntDetachFromCSRSS(&CallingProcess, &PrevAttachedProcess); + IntDetachFromCSRSS(&CallingProcess, &ApcState); return ERROR_NOT_ENOUGH_MEMORY; } @@ -58,7 +58,7 @@ ZwFreeVirtualMemory(NtCurrentProcess(), &MemoryAddress, Length, MEM_RELEASE); DPRINT("- Unacceptable memory allocated\n"); - IntDetachFromCSRSS(&CallingProcess, &PrevAttachedProcess); + IntDetachFromCSRSS(&CallingProcess, &ApcState); return ERROR_NOT_ENOUGH_MEMORY; } @@ -69,7 +69,7 @@ DPRINT("- Offset: %x\n", (ULONG)MemoryAddress & 0xF); DPRINT("- Length: %x\n", *Length); - IntDetachFromCSRSS(&CallingProcess, &PrevAttachedProcess); + IntDetachFromCSRSS(&CallingProcess, &ApcState); return NO_ERROR; } @@ -83,16 +83,16 @@ PVOID MemoryAddress = (PVOID)((Seg << 4) | Off); NTSTATUS Status; PKPROCESS CallingProcess; - PKPROCESS PrevAttachedProcess; + KAPC_STATE ApcState; DPRINT("IntInt10FreeBuffer\n"); DPRINT("- Segment: %x\n", Seg); DPRINT("- Offset: %x\n", Off); - IntAttachToCSRSS(&CallingProcess, &PrevAttachedProcess); + IntAttachToCSRSS(&CallingProcess, &ApcState); Status = ZwFreeVirtualMemory(NtCurrentProcess(), &MemoryAddress, 0, MEM_RELEASE); - IntDetachFromCSRSS(&CallingProcess, &PrevAttachedProcess); + IntDetachFromCSRSS(&CallingProcess, &ApcState); return Status; } @@ -106,7 +106,7 @@ IN ULONG Length) { PKPROCESS CallingProcess; - PKPROCESS PrevAttachedProcess; + KAPC_STATE ApcState; DPRINT("IntInt10ReadMemory\n"); DPRINT("- Segment: %x\n", Seg); @@ -114,9 +114,9 @@ DPRINT("- Buffer: %x\n", Buffer); DPRINT("- Length: %x\n", Length); - IntAttachToCSRSS(&CallingProcess, &PrevAttachedProcess); + IntAttachToCSRSS(&CallingProcess, &ApcState); RtlCopyMemory(Buffer, (PVOID)((Seg << 4) | Off), Length); - IntDetachFromCSRSS(&CallingProcess, &PrevAttachedProcess); + IntDetachFromCSRSS(&CallingProcess, &ApcState); return NO_ERROR; } @@ -130,7 +130,7 @@ IN ULONG Length) { PKPROCESS CallingProcess; - PKPROCESS PrevAttachedProcess; + KAPC_STATE ApcState; DPRINT("IntInt10WriteMemory\n"); DPRINT("- Segment: %x\n", Seg); @@ -138,9 +138,9 @@ DPRINT("- Buffer: %x\n", Buffer); DPRINT("- Length: %x\n", Length); - IntAttachToCSRSS(&CallingProcess, &PrevAttachedProcess); + IntAttachToCSRSS(&CallingProcess, &ApcState); RtlCopyMemory((PVOID)((Seg << 4) | Off), Buffer, Length); - IntDetachFromCSRSS(&CallingProcess, &PrevAttachedProcess); + IntDetachFromCSRSS(&CallingProcess, &ApcState); return NO_ERROR; } @@ -153,11 +153,11 @@ KV86M_REGISTERS Regs; NTSTATUS Status; PKPROCESS CallingProcess; - PKPROCESS PrevAttachedProcess; + KAPC_STATE ApcState; DPRINT("IntInt10CallBios\n"); - IntAttachToCSRSS(&CallingProcess, &PrevAttachedProcess); + IntAttachToCSRSS(&CallingProcess, &ApcState); memset(&Regs, 0, sizeof(Regs)); DPRINT("- Input register Eax: %x\n", BiosArguments->Eax); @@ -189,7 +189,7 @@ BiosArguments->SegDs = Regs.Ds; BiosArguments->SegEs = Regs.Es; - IntDetachFromCSRSS(&CallingProcess, &PrevAttachedProcess); + IntDetachFromCSRSS(&CallingProcess, &ApcState); return Status; } @@ -208,7 +208,7 @@ KV86M_REGISTERS Regs; NTSTATUS Status; PKPROCESS CallingProcess; - PKPROCESS PrevAttachedProcess; + KAPC_STATE ApcState; DPRINT("VideoPortInt10\n"); @@ -217,7 +217,7 @@ return ERROR_INVALID_PARAMETER; } - IntAttachToCSRSS(&CallingProcess, &PrevAttachedProcess); + IntAttachToCSRSS(&CallingProcess, &ApcState); memset(&Regs, 0, sizeof(Regs)); DPRINT("- Input register Eax: %x\n", BiosArguments->Eax); @@ -243,7 +243,7 @@ BiosArguments->Edi = Regs.Edi; BiosArguments->Ebp = Regs.Ebp; - IntDetachFromCSRSS(&CallingProcess, &PrevAttachedProcess); + IntDetachFromCSRSS(&CallingProcess, &ApcState); return Status; } _____ Modified: trunk/reactos/drivers/video/videoprt/videoprt.c --- trunk/reactos/drivers/video/videoprt/videoprt.c 2005-06-14 18:39:12 UTC (rev 15914) +++ trunk/reactos/drivers/video/videoprt/videoprt.c 2005-06-14 20:24:02 UTC (rev 15915) @@ -22,7 +22,6 @@ */ #include "videoprt.h" -#include "internal/ps.h" /* GLOBAL VARIABLES ***********************************************************/ @@ -495,34 +494,21 @@ } VOID FASTCALL -IntAttachToCSRSS(PKPROCESS *CallingProcess, PKPROCESS *PrevAttachedProcess) +IntAttachToCSRSS(PKPROCESS *CallingProcess, PKAPC_STATE ApcState) { - *CallingProcess = &PsGetCurrentProcess()->Pcb; + *CallingProcess = (PKPROCESS)PsGetCurrentProcess(); if (*CallingProcess != Csrss) { - if (&PsGetCurrentThread()->ThreadsProcess->Pcb != *CallingProcess) - { - *PrevAttachedProcess = *CallingProcess; - KeDetachProcess(); - } - else - { - *PrevAttachedProcess = NULL; - } - KeAttachProcess(Csrss); + KeStackAttachProcess(Csrss, ApcState); } } VOID FASTCALL -IntDetachFromCSRSS(PKPROCESS *CallingProcess, PKPROCESS *PrevAttachedProcess) +IntDetachFromCSRSS(PKPROCESS *CallingProcess, PKAPC_STATE ApcState) { if (*CallingProcess != Csrss) { - KeDetachProcess(); - if (NULL != *PrevAttachedProcess) - { - KeAttachProcess(*PrevAttachedProcess); - } + KeUnstackDetachProcess(ApcState); } } @@ -853,7 +839,7 @@ { static PVOID RomImageBuffer = NULL; PKPROCESS CallingProcess; - PKPROCESS PrevAttachedProcess; + KAPC_STATE ApcState; DPRINT("VideoPortGetRomImage(HwDeviceExtension 0x%X Length 0x%X)\n", HwDeviceExtension, Length); @@ -890,9 +876,9 @@ return NULL; } - IntAttachToCSRSS(&CallingProcess, &PrevAttachedProcess); + IntAttachToCSRSS(&CallingProcess, &ApcState); RtlCopyMemory(RomImageBuffer, (PUCHAR)0xC0000, Length); - IntDetachFromCSRSS(&CallingProcess, &PrevAttachedProcess); + IntDetachFromCSRSS(&CallingProcess, &ApcState); return RomImageBuffer; } _____ Modified: trunk/reactos/drivers/video/videoprt/videoprt.h --- trunk/reactos/drivers/video/videoprt/videoprt.h 2005-06-14 18:39:12 UTC (rev 15914) +++ trunk/reactos/drivers/video/videoprt/videoprt.h 2005-06-14 20:24:02 UTC (rev 15915) @@ -29,6 +29,8 @@ #include <ddk/ntddvdeo.h> #include <ddk/ntapi.h> #include <ddk/ntagp.h> +/* For process attaching functions */ +#include <ddk/ntifs.h> #define NDEBUG #include <debug.h> @@ -201,10 +203,10 @@ IN PUCHAR FunctionName); VOID FASTCALL -IntAttachToCSRSS(PKPROCESS *CallingProcess, PKPROCESS *PrevAttachedProcess); +IntAttachToCSRSS(PKPROCESS *CallingProcess, PKAPC_STATE ApcState); VOID FASTCALL -IntDetachFromCSRSS(PKPROCESS *CallingProcess, PKPROCESS *PrevAttachedProcess); +IntDetachFromCSRSS(PKPROCESS *CallingProcess, PKAPC_STATE ApcState); NTSTATUS STDCALL IntVideoPortCreateAdapterDeviceObject(
19 years, 6 months
1
0
0
0
[navaraf] 15914: Revert r15906 change.
by navaraf@svn.reactos.com
Revert r15906 change. Modified: trunk/reactos/ntoskrnl/include/internal/debug.h _____ Modified: trunk/reactos/ntoskrnl/include/internal/debug.h --- trunk/reactos/ntoskrnl/include/internal/debug.h 2005-06-14 18:33:59 UTC (rev 15913) +++ trunk/reactos/ntoskrnl/include/internal/debug.h 2005-06-14 18:39:12 UTC (rev 15914) @@ -31,7 +31,6 @@ #undef assert #endif -#ifndef __USE_W32API #ifdef DBG /* Assert only on "checked" version */ @@ -66,7 +65,6 @@ #define ASSERTMSG(_c_, _m_) #endif -#endif /* Print if using a "checked" version */ #ifdef __GNUC__ /* using GNU C/C99 macro ellipsis */ @@ -85,6 +83,10 @@ #define CPRINT(args...) #define DPRINT1(args...) +#define assert(x) +#define ASSERT(x) +#define assertmsg(_c_, _m_) +#define ASSERTMSG(_c_, _m_) #endif /* DBG */
19 years, 6 months
1
0
0
0
[blight] 15913: Fix compilation.
by blight@svn.reactos.com
Fix compilation. Modified: trunk/reactos/ntoskrnl/kdbg/kdb_cli.c _____ Modified: trunk/reactos/ntoskrnl/kdbg/kdb_cli.c --- trunk/reactos/ntoskrnl/kdbg/kdb_cli.c 2005-06-14 18:33:02 UTC (rev 15912) +++ trunk/reactos/ntoskrnl/kdbg/kdb_cli.c 2005-06-14 18:33:59 UTC (rev 15913) @@ -1453,7 +1453,7 @@ " SetMember: 0x%08x\n" " StallScaleFactor: 0x%08x\n" " DebugActive: 0x%02x\n" - " ProcessorNumber: 0x%02x\n" + " Number: 0x%02x\n" " L2CacheAssociativity: 0x%02x\n" " VdmAlert: 0x%08x\n" " L2CacheSize: 0x%08x\n" @@ -1463,7 +1463,7 @@ Pcr->Tib.Self, Pcr->Self, Pcr->Prcb, Pcr->Irql, Pcr->IRR, Pcr->IrrActive, Pcr->IDR, Pcr->KdVersionBlock, Pcr->IDT, Pcr->GDT, Pcr->TSS, Pcr->MajorVersion, Pcr->MinorVersion, Pcr->SetMember, Pcr->StallScaleFactor, - Pcr->DebugActive, Pcr->ProcessorNumber, Pcr->L2CacheAssociativity, + Pcr->DebugActive, Pcr->Number, Pcr->L2CacheAssociativity, Pcr->VdmAlert, Pcr->L2CacheSize, Pcr->InterruptMode); return TRUE;
19 years, 6 months
1
0
0
0
[hbirr] 15912: It was a bad idea to manipulate the length of the given unicode string if we don't like the the starting back slash.
by hbirr@svn.reactos.com
It was a bad idea to manipulate the length of the given unicode string if we don't like the the starting back slash. Modified: trunk/reactos/ntoskrnl/ob/handle.c _____ Modified: trunk/reactos/ntoskrnl/ob/handle.c --- trunk/reactos/ntoskrnl/ob/handle.c 2005-06-14 17:37:07 UTC (rev 15911) +++ trunk/reactos/ntoskrnl/ob/handle.c 2005-06-14 18:33:02 UTC (rev 15912) @@ -1015,22 +1015,21 @@ /* FIXME: TEMPORARY HACK This will go in ObFindObject in the next commit */ PVOID NewName; PWSTR BufferPos = RemainingPath.Buffer; + ULONG Delta = 0; - NewName = ExAllocatePool(NonPagedPool, RemainingPath.MaximumLength); ObjectNameInfo = HEADER_TO_OBJECT_NAME(Header); if (BufferPos[0] == L'\\') { BufferPos++; - RemainingPath.Length -= 2; - RemainingPath.MaximumLength -= 2; + Delta = sizeof(WCHAR); } - - RtlMoveMemory(NewName, BufferPos, RemainingPath.MaximumLength); + NewName = ExAllocatePool(NonPagedPool, RemainingPath.MaximumLength - Delta); + RtlMoveMemory(NewName, BufferPos, RemainingPath.MaximumLength - Delta); if (ObjectNameInfo->Name.Buffer) ExFreePool(ObjectNameInfo->Name.Buffer); ObjectNameInfo->Name.Buffer = NewName; - ObjectNameInfo->Name.Length = RemainingPath.Length; - ObjectNameInfo->Name.MaximumLength = RemainingPath.MaximumLength; + ObjectNameInfo->Name.Length = RemainingPath.Length - Delta; + ObjectNameInfo->Name.MaximumLength = RemainingPath.MaximumLength - Delta; DPRINT("Name: %S\n", ObjectNameInfo->Name.Buffer); }
19 years, 6 months
1
0
0
0
[ros-diffs] [ion] 15911: Add an ARC Header for future purposes (PPC, ARM, etc, ARCLoader) and implement KeFindConfigurationNextEntry and fix the definition
by ion@svn.reactos.com
Add an ARC Header for future purposes (PPC, ARM, etc, ARCLoader) and implement KeFindConfigurationNextEntry and fix the definition Added: trunk/reactos/include/arc/ Added: trunk/reactos/include/arc/arc.h Modified: trunk/reactos/include/ddk/kefuncs.h Modified: trunk/reactos/include/ddk/ketypes.h Modified: trunk/reactos/ntoskrnl/ke/device.c _____ Added: trunk/reactos/include/arc/arc.h --- trunk/reactos/include/arc/arc.h 2005-06-14 14:44:11 UTC (rev 15910) +++ trunk/reactos/include/arc/arc.h 2005-06-14 17:37:07 UTC (rev 15911) @@ -0,0 +1,45 @@ +/* ARC LOADER TYPES *********************************************************/ + +#ifndef __INCLUDE_ARC_H +#define __INCLUDE_ARC_H + +/* Types */ + +typedef enum _IDENTIFIER_FLAG +{ + Failed = 0x01, + ReadOnly = 0x02, + Removable = 0x04, + ConsoleIn = 0x08, + ConsoleOut = 0x10, + Input = 0x20, + Output = 0x40 +} IDENTIFIER_FLAG; + +typedef enum _CONFIGURATION_CLASS +{ + SystemClass, + ProcessorClass, + CacheClass, + AdapterClass, + ControllerClass, + PeripheralClass, + MemoryClass, + MaximumClass +} CONFIGURATION_CLASS; + +typedef struct _CONFIGURATION_COMPONENT +{ + CONFIGURATION_CLASS Class; + CONFIGURATION_TYPE Type; + IDENTIFIER_FLAG Flags; + USHORT Version; + USHORT Revision; + ULONG Key; + ULONG AffinityMask; + ULONG ConfigurationDataLength; + ULONG IdentifierLength; + LPSTR Identifier; +} CONFIGURATION_COMPONENT, *PCONFIGURATION_COMPONENT; + +#endif _____ Modified: trunk/reactos/include/ddk/kefuncs.h --- trunk/reactos/include/ddk/kefuncs.h 2005-06-14 14:44:11 UTC (rev 15910) +++ trunk/reactos/include/ddk/kefuncs.h 2005-06-14 17:37:07 UTC (rev 15911) @@ -636,25 +636,25 @@ IN PKTHREAD *Thread OPTIONAL ); -PVOID +PCONFIGURATION_COMPONENT_DATA STDCALL -KeFindConfigurationEntry( - IN PVOID Unknown, - IN ULONG Class, +KeFindConfigurationNextEntry( + IN PCONFIGURATION_COMPONENT_DATA Child, + IN CONFIGURATION_CLASS Class, IN CONFIGURATION_TYPE Type, - IN PULONG RegKey + IN PULONG ComponentKey OPTIONAL, + IN PCONFIGURATION_COMPONENT_DATA *NextLink ); - -PVOID + +PCONFIGURATION_COMPONENT_DATA STDCALL -KeFindConfigurationNextEntry( - IN PVOID Unknown, - IN ULONG Class, +KeFindConfigurationEntry( + IN PCONFIGURATION_COMPONENT_DATA Child, + IN CONFIGURATION_CLASS Class, IN CONFIGURATION_TYPE Type, - IN PULONG RegKey, - IN PVOID *NextLink + IN PULONG ComponentKey OPTIONAL ); - + VOID STDCALL KeFlushEntireTb( _____ Modified: trunk/reactos/include/ddk/ketypes.h --- trunk/reactos/include/ddk/ketypes.h 2005-06-14 14:44:11 UTC (rev 15910) +++ trunk/reactos/include/ddk/ketypes.h 2005-06-14 17:37:07 UTC (rev 15911) @@ -5,6 +5,8 @@ /* include ntos/ketypes.h here? */ +#include <arc/arc.h> + # define RESTRICTED_POINTER __restrict struct _KMUTANT; @@ -339,6 +341,14 @@ LONGLONG High; } M128, *PM128; +typedef struct _CONFIGURATION_COMPONENT_DATA +{ + struct _CONFIGURATION_COMPONENT_DATA *Parent; + struct _CONFIGURATION_COMPONENT_DATA *Child; + struct _CONFIGURATION_COMPONENT_DATA *Sibling; + CONFIGURATION_COMPONENT Component; +} CONFIGURATION_COMPONENT_DATA, *PCONFIGURATION_COMPONENT_DATA; + typedef struct _KEXCEPTION_FRAME { ULONG64 P1Home; ULONG64 P2Home; _____ Modified: trunk/reactos/ntoskrnl/ke/device.c --- trunk/reactos/ntoskrnl/ke/device.c 2005-06-14 14:44:11 UTC (rev 15910) +++ trunk/reactos/ntoskrnl/ke/device.c 2005-06-14 17:37:07 UTC (rev 15911) @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/ke/device.c @@ -13,43 +12,122 @@ #include <internal/debug.h> /* - * @unimplemented + * @implemented */ +PCONFIGURATION_COMPONENT_DATA STDCALL -PVOID -KeFindConfigurationNextEntry( - IN PVOID Unknown, - IN ULONG Class, - IN CONFIGURATION_TYPE Type, - IN PULONG RegKey, - IN PVOID *NextLink -) +INIT_FUNCTION +KeFindConfigurationEntry(IN PCONFIGURATION_COMPONENT_DATA Child, + IN CONFIGURATION_CLASS Class, + IN CONFIGURATION_TYPE Type, + IN PULONG ComponentKey OPTIONAL) { - UNIMPLEMENTED; - return 0; + /* Start Search at Root */ + return KeFindConfigurationNextEntry(Child, + Class, + Type, + ComponentKey, + NULL); } /* * @implemented */ +PCONFIGURATION_COMPONENT_DATA STDCALL -PVOID -KeFindConfigurationEntry( - IN PVOID Unknown, - IN ULONG Class, - IN CONFIGURATION_TYPE Type, - IN PULONG RegKey -) +INIT_FUNCTION +KeFindConfigurationNextEntry(IN PCONFIGURATION_COMPONENT_DATA Child, + IN CONFIGURATION_CLASS Class, + IN CONFIGURATION_TYPE Type, + IN PULONG ComponentKey OPTIONAL, + IN PCONFIGURATION_COMPONENT_DATA *NextLink) { - /* Start Search at Root */ - return KeFindConfigurationNextEntry(Unknown, Class, Type, RegKey, NULL); + ULONG Key = 0; + ULONG Mask = 0; + PCONFIGURATION_COMPONENT_DATA Sibling; + PCONFIGURATION_COMPONENT_DATA ReturnEntry; + + /* If we did get a key, then use it instead */ + if (ComponentKey) + { + Key = *ComponentKey; + Mask = -1; + } + + /* Loop the Components until we find a a match */ + while (Child) + { + /* Check if we are starting somewhere already */ + if (*NextLink) + { + /* If we've found the place where we started, clear and continue */ + if (Child == *NextLink) *NextLink = NULL; + } + else + { + /* Try to get a match */ + if (Child->Component.Class == Class && + Child->Component.Type == Type && + (Child->Component.Key & Mask) == Key) + { + /* Match found */ + return Child; + } + } + + /* Now we've also got to lookup the siblings */ + Sibling = Child->Sibling; + while (Sibling) + { + /* Check if we are starting somewhere already */ + if (*NextLink) + { + /* If we've found the place where we started, clear and continue */ + if (Sibling == *NextLink) *NextLink = NULL; + } + else + { + /* Try to get a match */ + if (Sibling->Component.Class == Class && + Sibling->Component.Type == Type && + (Sibling->Component.Key & Mask) == Key) + { + /* Match found */ + return Sibling; + } + } + + /* We've got to check if the Sibling has a Child as well */ + if (Sibling->Child) + { + /* We're just going to call ourselves again */ + if ((ReturnEntry = KeFindConfigurationNextEntry(Sibling->Child, + Class, + Type, + ComponentKey, + NextLink))) + { + return ReturnEntry; + } + } + + /* Next Sibling */ + Sibling = Sibling->Sibling; + } + + /* Next Child */ + Child = Child->Child; + } + + /* If we got here, nothign was found */ + return NULL; } /* * @implemented */ +VOID STDCALL -VOID KeFlushEntireTb( IN BOOLEAN Unknown, IN BOOLEAN CurrentCpuOnly @@ -97,8 +175,8 @@ /* * @implemented */ +VOID STDCALL -VOID KeSetDmaIoCoherency( IN ULONG Coherency ) @@ -109,8 +187,8 @@ /* * @implemented */ +KAFFINITY STDCALL -KAFFINITY KeQueryActiveProcessors ( VOID )
19 years, 6 months
1
0
0
0
[navaraf] 15910: Accidently removed one line in the last commit ... gotta love this header hell. :/
by navaraf@svn.reactos.com
Accidently removed one line in the last commit ... gotta love this header hell. :/ Modified: trunk/reactos/ntoskrnl/include/internal/ke.h _____ Modified: trunk/reactos/ntoskrnl/include/internal/ke.h --- trunk/reactos/ntoskrnl/include/internal/ke.h 2005-06-14 13:50:23 UTC (rev 15909) +++ trunk/reactos/ntoskrnl/include/internal/ke.h 2005-06-14 14:44:11 UTC (rev 15910) @@ -35,6 +35,7 @@ #ifndef __USE_W32API +typedef struct _KPROCESS *PKPROCESS; typedef struct _DISPATCHER_HEADER *PDISPATCHER_HEADER; #else
19 years, 6 months
1
0
0
0
← Newer
1
...
42
43
44
45
46
47
48
...
65
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Results per page:
10
25
50
100
200