moss.drivers
Class MJavaConsole

java.lang.Object
  extended by moss.drivers.MJavaConsole
All Implemented Interfaces:
MFileOps

public class MJavaConsole
extends java.lang.Object
implements MFileOps

this class provides a MFileOps interface to the Java in/out streams. It is opened once by the init task when the system starts.


Field Summary
 
Fields inherited from interface moss.fs.MFileOps
F_GETFL, F_OK, F_SETFL, LSEEK_BEG, LSEEK_CUR, LSEEK_END, O_CLOEXEC, O_NONBLOCK, OPEN_CREAT, OPEN_READ, OPEN_TRUNC, OPEN_WRITE, R_OK, W_OK, X_OK
 
Constructor Summary
MJavaConsole()
          constructor; initialises buffer, etc.
 
Method Summary
 int close(MFile handle)
          called when closing the console -- should never be called..!
 int fcntl(MFile handle, int op, int arg)
          file-handle control.
 int lseek(MFile handle, int offset, int whence)
          not supported by the console
 int open(MFile handle, int flags)
          called when initialising the console; stores reference to self in the file-handle
 int read(MFile handle, byte[] buffer, int count)
          called to read data from the keyboard
 int write(MFile handle, byte[] buffer, int count)
          called to write data to the screen
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MJavaConsole

public MJavaConsole()
constructor; initialises buffer, etc.

Method Detail

open

public int open(MFile handle,
                int flags)
called when initialising the console; stores reference to self in the file-handle

Specified by:
open in interface MFileOps
Parameters:
handle - file-handle
flags - open flags (ignored)
Returns:
0 on success or < 0 on error

close

public int close(MFile handle)
called when closing the console -- should never be called..!

Specified by:
close in interface MFileOps
Parameters:
handle - file-handle
Returns:
0 on success or < 0 on error

lseek

public int lseek(MFile handle,
                 int offset,
                 int whence)
not supported by the console

Specified by:
lseek in interface MFileOps
Parameters:
handle - file-handle
offset - byte-offset relative to "whence" (block offset for block devices)
whence - constant indicating position seek should occur from
Returns:
new absolute offset or < 0 indicating error

read

public int read(MFile handle,
                byte[] buffer,
                int count)
called to read data from the keyboard

Specified by:
read in interface MFileOps
Parameters:
handle - file-handle
buffer - buffer where data will be stored
count - maximum number of bytes to read
Returns:
number of bytes read, 0 on end-of-file, or < 0 on error

write

public int write(MFile handle,
                 byte[] buffer,
                 int count)
called to write data to the screen

Specified by:
write in interface MFileOps
Parameters:
handle - file handle
buffer - data to write
count - number of bytes to write
Returns:
number of bytes written or < 0 on error

fcntl

public int fcntl(MFile handle,
                 int op,
                 int arg)
file-handle control. The only operation the console supports is to adjust the blocking/non-blocking setting.

Specified by:
fcntl in interface MFileOps
Parameters:
handle - file-handle
op - operation (only F_SETFL supported here)
arg - operation-specific argument (new flags)
Returns:
>= 0 on success, or < 0 indicating failure