Annotation of xinu/h/lfile.h, revision 1.1.1.1

1.1       root        1: /* lfile.h */
                      2: 
                      3: /* Local disk layout: disk block 0 is directory, then index area, and  */
                      4: /* then data blocks.  Each disk block (512 bytes) in the index area    */
                      5: /* contains 8 iblocks, which are 64 bytes long.  Iblocks are referenced        */
                      6: /* relative to 0, so the disk block address of iblock k is given by    */
                      7: /* truncate(k/8)+1.  The offset of iblock k within its disk block is   */
                      8: /* given by 64*remainder(k,8).  The directory entry points to a linked */
                      9: /* list of iblocks, and each iblock contains pointers to IBLEN (29) data*/
                     10: /* blocks. Index pointers contain a valid data block address or DBNULL.        */
                     11: 
                     12: #include <iblock.h>
                     13: #include <file.h>
                     14: 
                     15: struct flblk   {                       /* file "device" control block  */
                     16:        int     fl_id;                  /* file's "device id" in devtab */
                     17:        int     fl_dev;                 /* file is on this disk device  */
                     18:        int     fl_pid;                 /* process id accessing the file*/
                     19:        struct  fdes    *fl_dent;       /* file's in-core dir. entry    */
                     20:        int     fl_mode;                /* FLREAD, FLWRITE, or both     */
                     21:        IBADDR  fl_iba;                 /* address of iblock in fl_iblk */
                     22:        struct  iblk    fl_iblk;        /* current iblock for file      */
                     23:        int     fl_ipnum;               /* current iptr in fl_iblk      */
                     24:        long    fl_pos;                 /* current file position (bytes)*/
                     25:        Bool    fl_dch;                 /* has fl_buff been changed?    */
                     26:        char    *fl_bptr;               /* ptr to next char in fl_buff  */
                     27:        char    fl_buff[DBUFSIZ];       /* current data block for file  */
                     28: };
                     29: 
                     30: #ifdef Ndf
                     31: extern struct  flblk   fltab[];
                     32: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.