home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0010 - 0019 / ibm0010-0019 / ibm0010.tar / ibm0010 / UNIX3862.ZIP / U386-06.ZIP / U386-6.TD0 / usr / include / sys / fs / s5inode.h < prev    next >
Encoding:
C/C++ Source or Header  |  1988-06-26  |  1.5 KB  |  56 lines

  1. /*    Copyright (c) 1984, 1986, 1987, 1988 AT&T    */
  2. /*      All Rights Reserved      */
  3.  
  4. /*    THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T    */
  5. /*    The copyright notice above does not evidence any       */
  6. /*    actual or intended publication of such source code.    */
  7.  
  8.  
  9. #ident    "@(#)head.sys:fs/s5inode.h    1.4"
  10.  
  11. #define    NADDR    13
  12. #define    NSADDR    (NADDR*sizeof(daddr_t)/sizeof(short))
  13.  
  14. struct s5inode {
  15.     ushort    s5i_flags;    /* see below */    
  16.     ushort    s5i_mode;    /* file mode and type */
  17.     union s5i_u1 {
  18.         struct    s5inode    *s5i_nxt; /* free list pntr */
  19.         daddr_t s5i_a[NADDR];    /* if normal file/directory */
  20.         short    s5i_f[NSADDR];    /* counts for fifo's */
  21.     } s5i_u1;
  22.     union s5i_u2 {
  23.         int    *s5i_mp;    /* pointer to blk # map for paging */
  24.         off_t    s5i_doff;    /* directory offset - */
  25.                     /* for directory caching */
  26.     } s5i_u2;
  27.     daddr_t    s5i_l;        /* last logical block read (for read-ahead) */
  28.     char s5i_gen;        /* generation number */
  29. };
  30.  
  31. /* Flags */
  32. #define    S5IFREE        0x0    /* Free cell */
  33.  
  34. #define    s5i_next    s5i_u1.s5i_nxt
  35. #define    s5i_addr    s5i_u1.s5i_a
  36. #define    s5i_lastr    s5i_l
  37. #define    s5i_rdev    s5i_u1.s5i_a[0]
  38.  
  39. #define    s5i_map        s5i_u2.s5i_mp
  40. #define    s5i_diroff    s5i_u2.s5i_doff
  41.  
  42. #define    s5i_faddr    s5i_u1.s5i_a
  43. #define    NFADDR    10
  44. #define    PIPSIZ    NFADDR*BSIZE
  45. #define    s5i_frptr    s5i_u1.s5i_f[NSADDR-5]
  46. #define    s5i_fwptr    s5i_u1.s5i_f[NSADDR-4]
  47. #define    s5i_frcnt    s5i_u1.s5i_f[NSADDR-3]
  48. #define    s5i_fwcnt    s5i_u1.s5i_f[NSADDR-2]
  49. #define    s5i_waite    s5i_u1.s5i_f[NSADDR-3]
  50. #define    s5i_waitf    s5i_u1.s5i_f[NSADDR-2]
  51. #define    s5i_fflag    s5i_u1.s5i_f[NSADDR-1]
  52. #define    IFIR    01
  53. #define    IFIW    02
  54.  
  55. extern struct s5inode s5inode[];
  56.