1 /* 2 * Copyright 2020, Shubham Bhagat, shubhambhagat111@yahoo.com 3 * All rights reserved. Distributed under the terms of the MIT License. 4 */ 5 6 #include "xfs.h" 7 8 9 bool 10 XfsSuperBlock::IsValid() 11 { 12 if (sb_magicnum != XFS_SB_MAGIC) return false; 13 14 return true; 15 } 16 17 18 uint32 19 XfsSuperBlock::BlockSize() 20 { 21 return sb_blocksize; 22 } 23 24 25 uint32 26 XfsSuperBlock::Size() 27 { 28 return XFS_SB_MAXSIZE; 29 } 30 31 32 char* 33 XfsSuperBlock::Name() 34 { 35 return sb_fname; 36 } 37 38 39 void 40 XfsSuperBlock::SwapEndian() 41 { 42 sb_magicnum = B_BENDIAN_TO_HOST_INT32(sb_magicnum); 43 sb_blocksize = B_BENDIAN_TO_HOST_INT32(sb_blocksize); 44 sb_dblocks = B_BENDIAN_TO_HOST_INT64(sb_dblocks); 45 sb_rblocks = B_BENDIAN_TO_HOST_INT64(sb_rblocks); 46 sb_rextents = B_BENDIAN_TO_HOST_INT64(sb_rextents); 47 sb_logstart = B_BENDIAN_TO_HOST_INT64(sb_logstart); 48 sb_rootino = B_BENDIAN_TO_HOST_INT64(sb_rootino); 49 sb_rbmino = B_BENDIAN_TO_HOST_INT64(sb_rbmino); 50 sb_rsumino = B_BENDIAN_TO_HOST_INT64(sb_rsumino); 51 sb_rextsize = B_BENDIAN_TO_HOST_INT32(sb_rextsize); 52 sb_agblocks = B_BENDIAN_TO_HOST_INT32(sb_agblocks); 53 sb_agcount = B_BENDIAN_TO_HOST_INT32(sb_agcount); 54 sb_rbmblocks = B_BENDIAN_TO_HOST_INT32(sb_rbmblocks); 55 sb_logblocks = B_BENDIAN_TO_HOST_INT32(sb_logblocks); 56 sb_versionnum = B_BENDIAN_TO_HOST_INT16(sb_versionnum); 57 sb_sectsize = B_BENDIAN_TO_HOST_INT16(sb_sectsize); 58 sb_inodesize = B_BENDIAN_TO_HOST_INT16(sb_inodesize); 59 sb_inopblock = B_BENDIAN_TO_HOST_INT16(sb_inopblock); 60 sb_icount = B_BENDIAN_TO_HOST_INT64(sb_icount); 61 sb_ifree = B_BENDIAN_TO_HOST_INT64(sb_ifree); 62 sb_fdblocks = B_BENDIAN_TO_HOST_INT64(sb_fdblocks); 63 sb_frextents = B_BENDIAN_TO_HOST_INT64(sb_frextents); 64 sb_uquotino = B_BENDIAN_TO_HOST_INT64(sb_uquotino); 65 sb_gquotino = B_BENDIAN_TO_HOST_INT64(sb_gquotino); 66 sb_qflags = B_BENDIAN_TO_HOST_INT16(sb_qflags); 67 sb_inoalignmt = B_BENDIAN_TO_HOST_INT32(sb_inoalignmt); 68 sb_unit = B_BENDIAN_TO_HOST_INT32(sb_unit); 69 sb_width = B_BENDIAN_TO_HOST_INT32(sb_width); 70 sb_logsectsize = B_BENDIAN_TO_HOST_INT16(sb_logsectsize); 71 sb_logsunit = B_BENDIAN_TO_HOST_INT32(sb_logsunit); 72 sb_features2 = B_BENDIAN_TO_HOST_INT32(sb_features2); 73 } 74