openblt

a hobby OS from the late 90s
git clone http://frotz.net/git/openblt.git
Log | Files | Refs | LICENSE

vfs.txt (1861B)


      1 $Id: //depot/blt/doc/vfs.txt#4 $
      2 
      3 Documentation for the OpenBLT Virtual Filesystem
      4 ------------------------------------------------
      5 
      6 This documentation is Copyright 1999 Sidney Cammeresi.  All rights reserved.
      7 
      8 
      9 
     10 Contents
     11 --------
     12     1. Overview
     13     2. File descriptor layer
     14     3. Vnode layer
     15     4. Filesystem layer
     16 
     17     5. VFS server message protocol
     18 
     19 
     20 1. Overview
     21 -----------
     22 
     23 
     24 
     25 2. File descriptor layer
     26 ------------------------
     27 
     28 This layer is not written yet.
     29 
     30 
     31 
     32 3. Vnode layer
     33 --------------
     34 
     35 
     36 
     37 4. Filesystem layer
     38 -------------------
     39 
     40 
     41 
     42 5. VFS server message protocol
     43 ------------------------------
     44 
     45 vfs command and return parameters (a.k.a. data[] contents)
     46 
     47 
     48 static symbols are for use by libc only!
     49 
     50 
     51 static void __vfs_openconn (int src_port, int dest_port, int filename_area);
     52 ============================================================================
     53 0   filename area
     54 
     55 0   private port for talking to vfs
     56 
     57 static void __vfs_scroll_area (int fd, int offset)
     58 ==================================================
     59 0   vfs file descriptor
     60 1   new offset (in bytes for file, dirents for directory)
     61 
     62 0   number of bytes copied
     63 1   more?
     64 
     65 DIR *opendir (const char *dir)
     66 ==============================
     67 0   filename offset
     68 1   payload area id
     69 2   payload offset
     70 3   payload length
     71 
     72 0   vfs file descriptor
     73 1   number of dirents in shmem
     74 2   more?
     75 
     76 int closedir (DIR *dirp)
     77 ========================
     78 0   vfs file descriptor
     79 
     80 no output data
     81 
     82 int open (const char *path, int flags, mode_t mode)
     83 ===================================================
     84 0   filename offset
     85 1   payload area id
     86 2   payload offset
     87 3   payload length
     88 
     89 0   vfs file descriptor
     90 1   length of data in shmem
     91 2   more?
     92 
     93 int stat (const char *path, struct stat *buf)
     94 =============================================
     95 0   filename offset
     96 
     97 no output data, but a (struct stat) follows the vfs_res_t
     98