class CSUM { public int cs_ndir; public int cs_nbfree; public int cs_nifree; public int cs_nffree; } class CSUMTotal { public long cs_ndir; public long cs_nbfree; public long cs_nifree; public long cs_nffree; public long cs_numclusters; public long[] cs_spare = new long[3]; } class FS { internal const int MINBSIZE = 4096; internal const int MAXMNTLEN = 468; internal const int MAXVOLLEN = 32; internal const int FSMAXSNAP = 20; internal const int NOCSPTRS = ((128 / 4 - 4)); public int FirstField; public int Unused1; public int SBlkNo; public int CBlkNo; public int IBlkNo; public int DBlkNo; public int OldCGOffset; public int OldCGMask; public int OldTime; public int OldSize; public int OldDSize; public int NCG; public int BSize; public int FSize; public int Frag; public int MinFree; public int OldRotDelay; public int OldRPS; public int BMask; public int FMask; public int BShift; public int FShift; public int MaxContig; public int MaxBpg; public int FSBTODB; public int SBSize; public int[] Spare1 = new int[2]; public int NINDIR; public int INOPD; public int OldNSPF; public int Optim; public int OldNPSect; public int OldInterleave; public int OldTrackSkew; public int[] Id = new int[2]; public int OldCSAddr; public int CSSize; public int CGSize; public int Spare2; public int OldNSect; public int OldSPC; public int OldNCyl; public int OldCPG; public int IPG; public int FPG; public CSUM OldCSTotal = new CSUM(); public byte FMod; public byte Clean; public byte ROnly; public byte OldFlags; public char[] FSMnt = new char[MAXMNTLEN]; public char[] VolName = new char[MAXVOLLEN]; public int SWUID; public int Pad; public int CGRotor; public byte[] OCSP = new byte[NOCSPTRS]; public int ContigDirs; public CSUM CSP = new CSUM(); public int MaxCluster; public int Active; public int OldCPC; public int MaxBSize; public long[] SpareCon64 = new long[17]; public int SBlockLoc; public CSUMTotal CSTotal = new CSUMTotal(); public int Time; public int Size; public int DSize; public int CSAddr; public int PendingBlocks; public int PendingINodes; public int[] SnapINum = new int[FSMAXSNAP]; public int AvgFileSize; public int AvgFPDir; public int SaveCGSize; public int[] SpareCon32 = new int[25]; public int Flags; public int ContigSumSize; public int MaxSymLinkLen; public int OldINodeFmt; public ulong MaxFileSize; public int QBMask; public int QFMask; public int State; public int OldPostTblFormat; public int OldNRPos; public int[] Spare5 = new int[2]; public int Magic; }