/**************************************************************/ /* tpax: a topological pax implementation */ /* Copyright (C) 2020--2021 SysDeer Technologies, LLC */ /* Released under GPLv2 and GPLv3; see COPYING.TPAX. */ /**************************************************************/ #include #include #include #include #include #include #include "tpax_driver_impl.h" #define TPAX_STAT_COMPARE(member) \ if (src -> member - dst -> member) \ return (src -> member > dst -> member) \ ? (1) : (-1) int tpax_stat_compare( const struct stat * src, const struct stat * dst) { TPAX_STAT_COMPARE(st_dev); TPAX_STAT_COMPARE(st_ino); TPAX_STAT_COMPARE(st_mode); TPAX_STAT_COMPARE(st_uid); TPAX_STAT_COMPARE(st_gid); TPAX_STAT_COMPARE(st_rdev); TPAX_STAT_COMPARE(st_size); TPAX_STAT_COMPARE(st_blksize); TPAX_STAT_COMPARE(st_blocks); TPAX_STAT_COMPARE(st_mtim.tv_sec); TPAX_STAT_COMPARE(st_mtim.tv_nsec); return 0; }