|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.