diff options
Diffstat (limited to 'doc/vfs.txt')
-rw-r--r-- | doc/vfs.txt | 30 |
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 + + |