summaryrefslogtreecommitdiff
path: root/doc/vfs.txt
diff options
context:
space:
mode:
authorAlex AUVOLAT <alexis211@gmail.com>2013-07-11 22:38:20 +0200
committerAlex AUVOLAT <alexis211@gmail.com>2013-07-11 22:38:20 +0200
commitd2aebee488b71e6f28b8728e7473b63f412ca897 (patch)
treefbe432590bfcf0b77b189a3db99762fb4f104f39 /doc/vfs.txt
parent78d7ffce4861dea5624ff29ceb39f1643dff8235 (diff)
downloadTCE-d2aebee488b71e6f28b8728e7473b63f412ca897.tar.gz
TCE-d2aebee488b71e6f28b8728e7473b63f412ca897.zip
Added direct acces to video memory from userland.std_c_userland
Next : same for keyboard ; move VT handling to userland. Consequence : a foreground app has total control over I/O. Next : implement sockets & a userland console multiplexer.
Diffstat (limited to 'doc/vfs.txt')
-rw-r--r--doc/vfs.txt30
1 files changed, 28 insertions, 2 deletions
diff --git a/doc/vfs.txt b/doc/vfs.txt
index 680df73..7902148 100644
--- a/doc/vfs.txt
+++ b/doc/vfs.txt
@@ -20,6 +20,7 @@ The following syscall interface is given to the process (fd_t is a file descript
- int read(fd_t file, size_t offset, size_t len, char *buffer)
- int write(fd_t file, size_t offset, size_t len, char *buffer)
- int link(char *from, char *to, int mode)
+- int dev_control(fd_t file, char *data)
struct file_info {
int type
@@ -58,5 +59,30 @@ File type flags :
Device types :
- DT_BLOCK
-- DT_KEYBOARD
-- DT_DISPLAY
+- DT_PCKBD
+- DT_VGATXT
+- DT_VESAFB
+
+
+Examples :
+
+- Standard file :
+ type : FT_FILE
+ size : file length
+- Standard dir :
+ type : FT_DIR
+ size : number of entries
+- A display adapter
+ type : FT_DEV
+ dev_type : DT_VGATXT
+ capabilities : read/write at given offset, mmap
+ size : width << 16 + height
+ content format : (raw) 16 bit for each character (attribute & text)
+- A keyboard
+ type : FT_DEV
+ dev_type : DT_PCKBD
+ capabilities : read from a (FIFO) buffer, offset is ignored
+ size : unused (zero)
+ content format : read 16-bit keycodes from IBM-PC keyboard format
+
+