resourcemanager.java
来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 117 行
JAVA
117 行
/*
* $Id: ResourceManager.java,v 1.2 2004/01/21 16:06:17 epr Exp $
*/
package org.jnode.system;
import org.jnode.vm.Address;
/**
* Interface or Manager of all system resources.
*
* @author Ewout Prangsma (epr@users.sourceforge.net)
*/
public interface ResourceManager {
/**
* Name used to bind the ResourceManager under in the InitialNaming namespace.
*/
public static final Class NAME = ResourceManager.class;//"system/ResourceManager";
/** Allocate memory anywhere in the address space */
public static final int MEMMODE_NORMAL = 0x00;
/** Allocate memory compatible with DMA rules */
public static final int MEMMODE_ALLOC_DMA = 0x01;
/**
* Claim a range of IO ports
*
* @param owner
* @param startPort
* @param length
* @return The claimed resource
* @throws ResourceNotFreeException
*/
public IOResource claimIOResource(ResourceOwner owner, int startPort, int length) throws ResourceNotFreeException;
/**
* Claim a memory region
*
* @param owner
* @param start
* @param size
* @param mode
* @return The claimed resource
* @throws ResourceNotFreeException
*/
public MemoryResource claimMemoryResource(ResourceOwner owner, Address start, long size, int mode) throws ResourceNotFreeException;
/**
* Register an interrupt handler for a given irq number.
*
* @param owner
* @param irq
* @param handler
* @param shared
* @return The claimed resource
* @throws ResourceNotFreeException
*/
public IRQResource claimIRQ(ResourceOwner owner, int irq, IRQHandler handler, boolean shared) throws ResourceNotFreeException;
/**
* Create a MemoryResource wrapper around a given byte-array.
*
* @param data
* @return The claimed resource
*/
public MemoryResource asMemoryResource(byte[] data);
/**
* Create a MemoryResource wrapper around a given char-array.
*
* @param data
* @return The claimed resource
*/
public MemoryResource asMemoryResource(char[] data);
/**
* Create a MemoryResource wrapper around a given short-array.
*
* @param data
* @return The claimed resource
*/
public MemoryResource asMemoryResource(short[] data);
/**
* Create a MemoryResource wrapper around a given int-array.
*
* @param data
* @return The claimed resource
*/
public MemoryResource asMemoryResource(int[] data);
/**
* Create a MemoryResource wrapper around a given long-array.
*
* @param data
* @return The claimed resource
*/
public MemoryResource asMemoryResource(long[] data);
/**
* Create a MemoryResource wrapper around a given float-array.
*
* @param data
* @return The claimed resource
*/
public MemoryResource asMemoryResource(float[] data);
/**
* Create a MemoryResource wrapper around a given double-array.
*
* @param data
* @return The claimed resource
*/
public MemoryResource asMemoryResource(double[] data);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?