Annotation of xinu/h/lfile.h, revision 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.