moss.drivers
Class MDevices

java.lang.Object
  extended by moss.drivers.MDevices

public class MDevices
extends java.lang.Object

this class is used for device-driver management


Constructor Summary
MDevices()
           
 
Method Summary
static int close(MFile fh)
          closes a device
static void finalinit()
          called to perform final initialisation (sets up /proc things)
static int find_driver(java.lang.String name)
          finds a driver based on name (various uses)
static void init_devices()
          called to initialise the device-driver management bits
static int load_driver(java.lang.String name)
          "dynamically" loads a device driver
static int open(MFile fh, int major, int minor, int flags)
          opens a device
static int register_driver(java.lang.String name, int major, MFileOps drv)
          registers a device driver
static int unregister_driver(java.lang.String name, int major)
          unregisters a device driver
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MDevices

public MDevices()
Method Detail

init_devices

public static void init_devices()
called to initialise the device-driver management bits


finalinit

public static void finalinit()
called to perform final initialisation (sets up /proc things)


find_driver

public static int find_driver(java.lang.String name)
finds a driver based on name (various uses)

Parameters:
name - device name
Returns:
major device number, or -1 if not found

register_driver

public static int register_driver(java.lang.String name,
                                  int major,
                                  MFileOps drv)
registers a device driver

Parameters:
name - device-driver name (must be unique)
major - major device number (must be unique)
drv - reference to device driver
Returns:
0 on success, or < 0 indicating error

unregister_driver

public static int unregister_driver(java.lang.String name,
                                    int major)
unregisters a device driver

Parameters:
name - device-driver name
major - major device number
Returns:
0 on success, or < 0 indicating error

load_driver

public static int load_driver(java.lang.String name)
"dynamically" loads a device driver

Parameters:
name - class name containing the device-driver
Returns:
0 on success, or < 0 indicating error

open

public static int open(MFile fh,
                       int major,
                       int minor,
                       int flags)
opens a device

Parameters:
fh - file-handle to be associated with the device (should have an inode attached)
major - major device number
minor - minor device number
flags - open flags
Returns:
0 on success, otherwise < 0 indicating error

close

public static int close(MFile fh)
closes a device

Parameters:
fh - file-handle associated with device
Returns:
0 on success, otherwise < 0 indicating error