POBJECT_TYPE EXPORTED IoDeviceObjectType = NULL;
POBJECT_TYPE EXPORTED IoFileObjectType = NULL;
+#ifndef LIBCAPTIVE
ULONG EXPORTED IoReadOperationCount = 0; /* FIXME: unknown type */
ULONG EXPORTED IoReadTransferCount = 0; /* FIXME: unknown type */
ULONG EXPORTED IoWriteOperationCount = 0; /* FIXME: unknown type */
ULONG EXPORTED IoWriteTransferCount = 0; /* FIXME: unknown type */
ULONG EXPORTED IoStatisticsLock = 0; /* FIXME: unknown type */
+#endif /* LIBCAPTIVE */
static GENERIC_MAPPING IopFileMapping = {FILE_GENERIC_READ,
FILE_GENERIC_WRITE,
/* FUNCTIONS ****************************************************************/
+#ifndef LIBCAPTIVE
+
VOID STDCALL
IopCloseFile(PVOID ObjectBody,
ULONG HandleCount)
}
}
+#endif /* LIBCAPTIVE */
VOID IoInit (VOID)
{
+#ifndef LIBCAPTIVE
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING DirName;
UNICODE_STRING LinkName;
HANDLE Handle;
IopInitDriverImplementation();
+#endif /* LIBCAPTIVE */
/*
* Register iomgr types: DeviceObjectType
IoDeviceObjectType->Security = NULL;
IoDeviceObjectType->QueryName = NULL;
IoDeviceObjectType->OkayToClose = NULL;
+#ifndef LIBCAPTIVE
IoDeviceObjectType->Create = IopCreateDevice;
+#else /* !LIBCAPTIVE */
+ IoDeviceObjectType->Create = NULL;
+#endif /* !LIBCAPTIVE */
IoDeviceObjectType->DuplicationNotify = NULL;
- RtlInitUnicodeStringFromLiteral(&IoDeviceObjectType->TypeName, L"Device");
+ RtlInitUnicodeStringFromLiteral(&IoDeviceObjectType->TypeName, REACTOS_UCS2(L"Device"));
/*
* Register iomgr types: FileObjectType
IoFileObjectType->Mapping = &IopFileMapping;
IoFileObjectType->Dump = NULL;
IoFileObjectType->Open = NULL;
+#ifndef LIBCAPTIVE
IoFileObjectType->Close = IopCloseFile;
IoFileObjectType->Delete = IopDeleteFile;
+#else /* !LIBCAPTIVE */
+ IoFileObjectType->Close = NULL;
+ IoFileObjectType->Delete = NULL;
+#endif /* !LIBCAPTIVE */
IoFileObjectType->Parse = NULL;
IoFileObjectType->Security = NULL;
IoFileObjectType->QueryName = NULL;
IoFileObjectType->OkayToClose = NULL;
+#ifndef LIBCAPTIVE
IoFileObjectType->Create = IopCreateFile;
+#else /* !LIBCAPTIVE */
+ IoFileObjectType->Create = NULL;
+#endif /* !LIBCAPTIVE */
IoFileObjectType->DuplicationNotify = NULL;
- RtlInitUnicodeStringFromLiteral(&IoFileObjectType->TypeName, L"File");
+ RtlInitUnicodeStringFromLiteral(&IoFileObjectType->TypeName, REACTOS_UCS2(L"File"));
+#ifndef LIBCAPTIVE
/*
* Create the '\Driver' object directory
*/
IoInitCancelHandling();
IoInitSymbolicLinkImplementation();
IoInitFileSystemImplementation();
+#endif /* LIBCAPTIVE */
IoInitVpbImplementation();
IoInitShutdownNotification();
/*
* Create link from '\DosDevices' to '\??' directory
*/
+#ifndef LIBCAPTIVE
RtlInitUnicodeStringFromLiteral(&LinkName,
L"\\DosDevices");
RtlInitUnicodeStringFromLiteral(&DirName,
* Initialize PnP manager
*/
PnpInit();
+#endif /* LIBCAPTIVE */
}
+#ifndef LIBCAPTIVE
PGENERIC_MAPPING STDCALL
IoGetFileObjectGenericMapping(VOID)
return(&IopFileMapping);
}
+#endif /* LIBCAPTIVE */
+
/* EOF */