#ifndef _INCLUDE_DDK_OBTYPES_H
#define _INCLUDE_DDK_OBTYPES_H
-/* $Id: obtypes.h,v 1.13 2001/08/26 17:23:39 ekohl Exp $ */
+/* $Id: obtypes.h,v 1.14 2001/12/05 01:40:23 dwelch Exp $ */
struct _DIRECTORY_OBJECT;
struct _OBJECT_ATTRIBUTES;
PVOID Parent,
PWSTR RemainingPath,
struct _OBJECT_ATTRIBUTES* ObjectAttributes);
+
+ VOID STDCALL (*DuplicationNotify)(PEPROCESS DuplicateTo,
+ PEPROCESS DuplicateFrom,
+ PVOID Object);
} OBJECT_TYPE, *POBJECT_TYPE;
#include <ntos/ntdef.h>
#include <ntos/types.h>
+#if 0
+/* Security descriptor control. */
+#define SECURITY_DESCRIPTOR_REVISION (1)
+#define SECURITY_DESCRIPTOR_MIN_LENGTH (20)
+#define SE_OWNER_DEFAULTED (1)
+#define SE_GROUP_DEFAULTED (2)
+#define SE_DACL_PRESENT (4)
+#define SE_DACL_DEFAULTED (8)
+#define SE_SACL_PRESENT (16)
+#define SE_SACL_DEFAULTED (32)
+#define SE_SELF_RELATIVE (32768)
+#endif
+
/* ACCESS_MASK */
#define MAXIMUM_ALLOWED (0x2000000L)
#define GENERIC_ALL (0x10000000L)
-/* $Id: registry.c,v 1.65 2001/09/08 09:02:08 ekohl Exp $
+/* $Id: registry.c,v 1.66 2001/12/05 01:40:23 dwelch Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
CmiKeyType->QueryName = NULL;
CmiKeyType->OkayToClose = NULL;
CmiKeyType->Create = CmiObjectCreate;
+ CmiKeyType->DuplicationNotify = NULL;
RtlInitUnicodeString(&CmiKeyType->TypeName, L"Key");
/* Build volitile registry store */
ExWindowStationObjectType->QueryName = NULL;
ExWindowStationObjectType->OkayToClose = NULL;
ExWindowStationObjectType->Create = ExpWinStaObjectCreate;
+ ExWindowStationObjectType->DuplicationNotify = NULL;
RtlInitUnicodeString(&ExWindowStationObjectType->TypeName, L"WindowStation");
/* Create desktop object type */
ExDesktopObjectType->QueryName = NULL;
ExDesktopObjectType->OkayToClose = NULL;
ExDesktopObjectType->Create = ExpDesktopObjectCreate;
+ ExDesktopObjectType->DuplicationNotify = NULL;
RtlInitUnicodeString(&ExDesktopObjectType->TypeName, L"Desktop");
}
#include <napi/lpc.h>
+typedef struct _EPORT_LISTENER
+{
+ HANDLE ListenerPid;
+ LIST_ENTRY ListenerListEntry;
+} EPORT_LISTENER, *PEPORT_LISTENER;
+
typedef struct _EPORT
{
KSPIN_LOCK Lock;
ULONG MaxDataLength;
ULONG MaxConnectInfoLength;
+
+ /*
+ * List of processes that can receive connection requests on this port.
+ */
+ LIST_ENTRY ListenerListHead;
} EPORT, * PEPORT;
-/* $Id: iomgr.c,v 1.20 2001/08/26 17:27:00 ekohl Exp $
+/* $Id: iomgr.c,v 1.21 2001/12/05 01:40:24 dwelch Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
IoDeviceObjectType->QueryName = NULL;
IoDeviceObjectType->OkayToClose = NULL;
IoDeviceObjectType->Create = IopCreateDevice;
+ IoDeviceObjectType->DuplicationNotify = NULL;
RtlInitUnicodeString (
& IoDeviceObjectType->TypeName,
IoFileObjectType->QueryName = NULL;
IoFileObjectType->OkayToClose = NULL;
IoFileObjectType->Create = IopCreateFile;
+ IoFileObjectType->DuplicationNotify = NULL;
RtlInitUnicodeString (
& IoFileObjectType->TypeName,
-/* $Id: symlink.c,v 1.22 2001/08/26 17:27:00 ekohl Exp $
+/* $Id: symlink.c,v 1.23 2001/12/05 01:40:24 dwelch Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
IoSymbolicLinkType->QueryName = NULL;
IoSymbolicLinkType->OkayToClose = NULL;
IoSymbolicLinkType->Create = IopCreateSymbolicLink;
+ IoSymbolicLinkType->DuplicationNotify = NULL;
RtlInitUnicodeString(&IoSymbolicLinkType->TypeName,
L"SymbolicLink");
-/* $Id: loader.c,v 1.92 2001/12/02 23:37:25 dwelch Exp $
+/* $Id: loader.c,v 1.93 2001/12/05 01:40:24 dwelch Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
IoDriverObjectType->QueryName = NULL;
IoDriverObjectType->OkayToClose = NULL;
IoDriverObjectType->Create = LdrCreateModule;
+ IoDriverObjectType->DuplicationNotify = NULL;
RtlInitUnicodeString(&IoDriverObjectType->TypeName, L"Driver");
/* Create Modules object directory */
-/* $Id: port.c,v 1.7 2001/12/02 23:34:42 dwelch Exp $
+/* $Id: port.c,v 1.8 2001/12/05 01:40:24 dwelch Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
ExPortType->QueryName = NULL;
ExPortType->OkayToClose = NULL;
ExPortType->Create = NiCreatePort;
+ ExPortType->DuplicationNotify = NULL;
EiNextLpcMessageId = 0;
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: section.c,v 1.67 2001/12/02 23:34:42 dwelch Exp $
+/* $Id: section.c,v 1.68 2001/12/05 01:40:25 dwelch Exp $
*
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/mm/section.c
MmSectionObjectType->QueryName = NULL;
MmSectionObjectType->OkayToClose = NULL;
MmSectionObjectType->Create = MmpCreateSection;
+ MmSectionObjectType->DuplicationNotify = NULL;
return(STATUS_SUCCESS);
}
-/* $Id: evtpair.c,v 1.9 2001/08/26 17:29:36 ekohl Exp $
+/* $Id: evtpair.c,v 1.10 2001/12/05 01:40:25 dwelch Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
ExEventPairObjectType->QueryName = NULL;
ExEventPairObjectType->OkayToClose = NULL;
ExEventPairObjectType->Create = NtpCreateEventPair;
+ ExEventPairObjectType->DuplicationNotify = NULL;
}
ExMutantObjectType->QueryName = NULL;
ExMutantObjectType->OkayToClose = NULL;
ExMutantObjectType->Create = NtpCreateMutant;
+ ExMutantObjectType->DuplicationNotify = NULL;
}
ExEventObjectType->QueryName = NULL;
ExEventObjectType->OkayToClose = NULL;
ExEventObjectType->Create = NtpCreateEvent;
+ ExEventObjectType->DuplicationNotify = NULL;
}
-/* $Id: ntsem.c,v 1.13 2001/08/26 17:29:36 ekohl Exp $
+/* $Id: ntsem.c,v 1.14 2001/12/05 01:40:25 dwelch Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
ExSemaphoreType->QueryName = NULL;
ExSemaphoreType->OkayToClose = NULL;
ExSemaphoreType->Create = NtpCreateSemaphore;
+ ExSemaphoreType->DuplicationNotify = NULL;
}
NTSTATUS STDCALL
-/* $Id: nttimer.c,v 1.12 2001/09/06 22:47:39 dwelch Exp $
+/* $Id: nttimer.c,v 1.13 2001/12/05 01:40:25 dwelch Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
ExTimerType->QueryName = NULL;
ExTimerType->OkayToClose = NULL;
ExTimerType->Create = NtpCreateTimer;
+ ExTimerType->DuplicationNotify = NULL;
}
-/* $Id: namespc.c,v 1.26 2001/08/26 17:29:57 ekohl Exp $
+/* $Id: namespc.c,v 1.27 2001/12/05 01:40:25 dwelch Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
ObDirectoryType->QueryName = NULL;
ObDirectoryType->OkayToClose = NULL;
ObDirectoryType->Create = ObpCreateDirectory;
+ ObDirectoryType->DuplicationNotify = NULL;
RtlInitUnicodeString(&ObDirectoryType->TypeName,
L"Directory");
-/* $Id: process.c,v 1.70 2001/11/29 16:40:45 ekohl Exp $
+/* $Id: process.c,v 1.71 2001/12/05 01:40:25 dwelch Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
PsProcessType->QueryName = NULL;
PsProcessType->OkayToClose = NULL;
PsProcessType->Create = NULL;
+ PsProcessType->DuplicationNotify = NULL;
RtlInitUnicodeString(&PsProcessType->TypeName, L"Process");
-/* $Id: thread.c,v 1.79 2001/09/06 22:47:39 dwelch Exp $
+/* $Id: thread.c,v 1.80 2001/12/05 01:40:25 dwelch Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
PsThreadType->QueryName = NULL;
PsThreadType->OkayToClose = NULL;
PsThreadType->Create = NULL;
+ PsThreadType->DuplicationNotify = NULL;
PsInitializeThread(NULL,&FirstThread,&FirstThreadHandle,
THREAD_ALL_ACCESS,NULL, TRUE);
-/* $Id: sd.c,v 1.4 2001/12/04 20:47:26 ekohl Exp $
+/* $Id: sd.c,v 1.5 2001/12/05 01:40:25 dwelch Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
}
SecurityDescriptor->Control = SecurityDescriptor->Control | SE_DACL_PRESENT;
SecurityDescriptor->Dacl = Dacl;
- SecurityDescriptor->Control = SecurityDescriptor->Control & ~(SE_DACL_DEFALTED);
+ SecurityDescriptor->Control = SecurityDescriptor->Control & ~(SE_DACL_DEFAULTED);
if (DaclDefaulted)
{
- SecurityDescriptor->Control = SecurityDescriptor->Control | SE_DACL_DEFALTED;
+ SecurityDescriptor->Control = SecurityDescriptor->Control | SE_DACL_DEFAULTED;
}
return(STATUS_SUCCESS);
}
-/* $Id: token.c,v 1.11 2001/03/07 16:48:45 dwelch Exp $
+/* $Id: token.c,v 1.12 2001/12/05 01:40:25 dwelch Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
SeTokenType->QueryName = NULL;
SeTokenType->OkayToClose = NULL;
SeTokenType->Create = NULL;
-
+ SeTokenType->DuplicationNotify = NULL;
}
NTSTATUS RtlCopySidAndAttributesArray(ULONG Count, // ebp + 8