#include "typeConvert.h" void operator<<(struct stat & s, const AttrSource & a) { s.st_dev = a.attr.dev; s.st_ino = a.attr.inode; s.st_mode = a.attr.mode; s.st_nlink = a.attr.links; s.st_uid = a.user(a.attr.uid); s.st_gid = a.group(a.attr.gid); s.st_rdev = a.attr.rdev; s.st_size = a.attr.size; s.st_blksize = a.attr.blockSize; s.st_blocks = a.attr.blocks; s.st_atime = a.attr.atime; s.st_mtime = a.attr.mtime; s.st_ctime = a.attr.ctime; } void operator<<(struct statvfs & vfs, const NetFS::VFS & v) { vfs.f_bsize = v.blockSize; vfs.f_frsize = v.fragmentSize; vfs.f_blocks = v.blocks; vfs.f_bfree = v.freeBlocks; vfs.f_bavail = v.availBlocks; vfs.f_files = v.files; vfs.f_ffree = v.freeFiles; vfs.f_favail = v.availFiles; vfs.f_fsid = v.FSID; vfs.f_flag = v.flags; vfs.f_namemax = v.maxNameLen; } void operator<<(NetFS::Attr & a, const struct StatSource & s) { a.dev = s.stat.st_dev; a.inode = s.stat.st_ino; a.mode = s.stat.st_mode; a.links = s.stat.st_nlink; a.uid = s.user(s.stat.st_uid); a.gid = s.group(s.stat.st_gid); a.rdev = s.stat.st_rdev; a.size = s.stat.st_size; a.blockSize = s.stat.st_blksize; a.blocks = s.stat.st_blocks; a.atime = s.stat.st_atime; a.mtime = s.stat.st_mtime; a.ctime = s.stat.st_ctime; } void operator<<(NetFS::VFS & t, const struct statvfs & s) { t.blockSize = s.f_bsize; t.fragmentSize = s.f_frsize; t.blocks = s.f_blocks; t.freeBlocks = s.f_bfree; t.availBlocks = s.f_bavail; t.files = s.f_files; t.freeFiles = s.f_ffree; t.availFiles = s.f_favail; t.FSID = s.f_fsid; t.flags = s.f_flag; t.maxNameLen = s.f_namemax; }