Exemple #1
0
	uint64_t ImplNodeEx::inode() const noexcept
	{
		if (data_.nNumberOfLinks == 0)
			update();

		return make_uint64(data_.nFileIndexHigh, data_.nFileIndexLow); // & 0x0000FFFFFFFFFFFFULL;
	}
Exemple #2
0
		uint64_t get_inode(PCWSTR path, size_t * nlink)
		{
			memory::auto_close<HANDLE> file(CheckHandle(::CreateFileW(path, FILE_READ_ATTRIBUTES,
					FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
					nullptr, OPEN_EXISTING,
					FILE_FLAG_OPEN_REPARSE_POINT | FILE_FLAG_BACKUP_SEMANTICS,
					nullptr)));
			BY_HANDLE_FILE_INFORMATION info;
			CheckApi(::GetFileInformationByHandle(file, &info));
			if (nlink)
				*nlink = info.nNumberOfLinks;
			return make_uint64(info.nFileIndexHigh, info.nFileIndexLow);
		}
Exemple #3
0
	Time ImplNodeEx::mtime() const noexcept
	{
		return static_cast<fsys::Time>(make_uint64(data_.ftLastWriteTime.dwHighDateTime, data_.ftLastWriteTime.dwLowDateTime));
	}
Exemple #4
0
	Size ImplNodeEx::size() const noexcept
	{
		return make_uint64(data_.nFileSizeHigh, data_.nFileSizeLow);
	}
Exemple #5
0
		uint64_t get_size(const wchar_t* path)
		{
			WIN32_FILE_ATTRIBUTE_DATA info;
			CheckApi(::GetFileAttributesExW(path, GetFileExInfoStandard, &info));
			return make_uint64(info.nFileSizeHigh, info.nFileSizeLow);
		}
Exemple #6
0
		uint64_t Facade::get_inode() const
		{
			return make_uint64(nFileIndexHigh, nFileIndexLow);
		}
Exemple #7
0
fsys::Size fsys::Sequence::FindStat::size() const
{
	return make_uint64(data.nFileSizeHigh, data.nFileSizeLow);
}
Exemple #8
0
fsys::Time fsys::Sequence::FindStat::mtime() const
{
	return static_cast<Time>(make_uint64(data.ftLastWriteTime.dwHighDateTime, data.ftLastWriteTime.dwLowDateTime));
}