singrdk/base/Interfaces/IoSystem/IoSystem.csi

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