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 / s5macros.h < prev    next >
Encoding:
Text File  |  1988-06-26  |  2.6 KB  |  80 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. #ident    "@(#)head.sys:fs/s5macros.h    1.3"
  9.  
  10. #if FsTYPE==1
  11.  
  12. #define FsBSIZE(bsize)    BSIZE
  13. #define FsBSHIFT(bsize)    BSHIFT
  14. #define FsNINDIR(bsize)    NINDIR
  15. #define FsBMASK(bsize)    BMASK
  16. #define FsINOPB(bsize)    INOPB
  17. #define FsLTOP(bsize, b)    (b)
  18. #define FsPTOL(bsize, b)    (b)
  19. #define FsNMASK(bsize)    NMASK
  20. #define FsNSHIFT(bsize)    NSHIFT
  21. #define FsITOD(bsize, x)    (daddr_t)(((unsigned)(x)+(2*INOPB-1)) >> INOSHIFT)
  22. #define FsITOO(bsize, x)    (daddr_t)(((unsigned)(x)+(2*INOPB-1)) & (INOPB-1))
  23. #define FsINOS(bsize, x)    (((x)&~07)+1)
  24. #endif
  25.  
  26. #if FsTYPE==2
  27. #define FsBSIZE(bsize)    BSIZE
  28. #define FsBSHIFT(bsize)    BSHIFT
  29. #define FsNINDIR(bsize)    NINDIR
  30. #define FsBMASK(bsize)    BMASK
  31. #define FsINOPB(bsize)    INOPB
  32. #define FsLTOP(bsize, b)    ((b)<<1)
  33. #define FsPTOL(bsize, b)    ((b)>>1)
  34. #define FsNMASK(bsize)    NMASK
  35. #define FsNSHIFT(bsize)    NSHIFT
  36. #define FsITOD(bsize, x)    (daddr_t)(((unsigned)(x)+(2*INOPB-1)) >> INOSHIFT)
  37. #define FsITOO(bsize, x)    (daddr_t)(((unsigned)(x)+(2*INOPB-1)) & (INOPB-1))
  38. #define FsINOS(bsize, x)    (((x)&~017)+1)
  39. #endif
  40.  
  41. #if FsTYPE==3
  42.  
  43. #define FsLRG(bsize)    ((bsize)==1024)
  44. /*
  45. #define FsBSIZE(bsize)    (FsLRG(bsize) ? 1024 : 512)
  46. */
  47. #define FsBSIZE(bsize)    (bsize)
  48. #define FsBSHIFT(bsize)    (FsLRG(bsize) ? 10 : 9)
  49. #define FsNINDIR(bsize)    (FsLRG(bsize) ? 256 : 128)
  50. #define FsBMASK(bsize)    (FsLRG(bsize) ? 01777 : 0777)
  51. #define FsINOPB(bsize)    (FsLRG(bsize) ? 16 : 8)
  52. #define FsLTOP(bsize, b)    (FsLRG(bsize) ? ((b)<<1) : (b))
  53. #define FsPTOL(bsize, b)    (FsLRG(bsize) ? ((b)>>1) : (b))
  54. #define FsNMASK(bsize)    (FsLRG(bsize) ? 0377 : 0177)
  55. #define FsNSHIFT(bsize)    (FsLRG(bsize) ? 8 : 7)
  56. #define FsITOD(bsize, x)    (daddr_t)(FsLRG(bsize) ? \
  57.     ((unsigned)(x)+31)>>4 : ((unsigned)(x)+15)>>3)
  58. #define FsITOO(bsize, x)    (daddr_t)(FsLRG(bsize) ? \
  59.     ((unsigned)(x)+31)&017 : ((unsigned)(x)+15)&07)
  60. #define FsINOS(bsize, x)    (FsLRG(bsize) ? \
  61.     (((x)&~017)+1) : (((x)&~07)+1))
  62. #endif
  63.  
  64. /* 2k fs macros */
  65.  
  66. #if FsTYPE==4
  67. #define FsBSIZE(bsize)    BSIZE
  68. #define FsBSHIFT(bsize)    BSHIFT
  69. #define FsNINDIR(bsize)    NINDIR
  70. #define FsBMASK(bsize)    BMASK
  71. #define FsINOPB(bsize)    INOPB
  72. #define FsLTOP(bsize, b)    ((b)<<2)
  73. #define FsPTOL(bsize, b)    ((b)>>2)
  74. #define FsNMASK(bsize)    NMASK
  75. #define FsNSHIFT(bsize)    NSHIFT
  76. #define FsITOD(bsize, x)    (daddr_t)(((unsigned)(x)+(2*INOPB-1)) >> INOSHIFT)
  77. #define FsITOO(bsize, x)    (daddr_t)(((unsigned)(x)+(2*INOPB-1)) & (INOPB-1))
  78. #define FsINOS(bsize, x)    (((x)&~037)+1)
  79. #endif
  80.