|
|
1.1 ! root 1: /* iblock.h - ibtodb, ibdisp */ ! 2: ! 3: typedef int IBADDR; /* iblocks addressed 0,1,2,... */ ! 4: ! 5: #define IBLEN 29 /* # d-block ptrs in an i-block */ ! 6: #define IBNULL -1 /* null pointer in i-block list */ ! 7: #define IBAREA 1 /* start if iblocks on disk */ ! 8: #define IBWDIR TRUE /* ibnew: write directory */ ! 9: #define IBNWDIR FALSE /* ibnew: don't write directory */ ! 10: ! 11: struct iblk { /* index block layout */ ! 12: long ib_byte; /* first data byte indexed by */ ! 13: /* this index block */ ! 14: IBADDR ib_next; /* address of next i-block */ ! 15: DBADDR ib_dba[IBLEN]; /* ptrs to data blocks indexed */ ! 16: }; ! 17: ! 18: #define ibtodb(ib) (((ib)>>3)+IBAREA)/* iblock to disk block addr. */ ! 19: #define ibdisp(ib) (((ib)&07)*sizeof(struct iblk))
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.