59 lines
1.9 KiB
Plaintext
59 lines
1.9 KiB
Plaintext
///////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Microsoft Research Singularity
|
|
//
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//
|
|
// File: IoSystem.csi
|
|
//
|
|
// Note:
|
|
//
|
|
|
|
using System;
|
|
using System.Runtime.InteropServices;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Threading;
|
|
using Microsoft.Singularity.Xml;
|
|
using Microsoft.Singularity.Memory;
|
|
|
|
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
|
[assembly: System.Reflection.AssemblyKeyFileAttribute("public.snk")]
|
|
[assembly: System.Reflection.AssemblyDelaySignAttribute(true)]
|
|
|
|
namespace Microsoft.Singularity.Io
|
|
{
|
|
public interface IDevice
|
|
{
|
|
void Initialize();
|
|
void Finalize();
|
|
}
|
|
|
|
public delegate IDevice IoDeviceCreate(IoConfig config,
|
|
String instanceName);
|
|
|
|
public class IoSystem
|
|
{
|
|
public static void Initialize(XmlNode config);
|
|
new public static void Finalize();
|
|
|
|
public static bool RegisterKernelDriver(Type type,
|
|
IoDeviceCreate creator);
|
|
|
|
// device management
|
|
public static void RegisterDrivers();
|
|
public static void ActivateDrivers();
|
|
// hal only device management:
|
|
public static IoConfig YieldResources(string signature, Type type);
|
|
// debug only method:
|
|
public static void Dump(bool detailed);
|
|
|
|
// initialize other subsystems:
|
|
public static void InitializeDirectoryService();
|
|
public static void InitializeVolumeManager();
|
|
public static void InitializeServiceManager(XmlNode config);
|
|
|
|
public static IoMemory FindFileImage(string command);
|
|
public static IoMemory FindFileImage(string command, SharedHeap.Allocation* ep);
|
|
}
|
|
} // namespace Microsoft.Singularity.Io
|