2 instantiations of FileId
System.Formats.Tar (2)
System\Formats\Tar\TarHelpers.Unix.cs (2)
137return new FileId(status.Dev, status.Ino); 154fileId = new FileId(status.Dev, status.Ino);
26 references to FileId
System.Formats.Tar (26)
System\Formats\Tar\TarEntry.cs (6)
478private static void CreateSymlinkPlaceholderFile(string filePath, string linkTarget, bool overwrite, Dictionary<FileId, (string, string)> pendingLinks) 496FileId fileId = TarHelpers.GetFileId(filePath); 608private void ExtractToFileInternal(string filePath, string? linkTargetPath, bool overwrite, TarHardLinkMode hardLinkMode, Dictionary<FileId, (string, string)>? pendingLinks) 623private Task ExtractToFileInternalAsync(string filePath, string? linkTargetPath, bool overwrite, TarHardLinkMode hardLinkMode, Dictionary<FileId, (string, string)>? pendingLinks, CancellationToken cancellationToken) 713private static void VerifyDestinationPath(string filePath, bool overwrite, Dictionary<FileId, (string, string)>? pendingLinks) 742if (pendingLinks is { Count: > 0 } && TarHelpers.TryGetPathInfo(filePath, out FileId placeholderId, out _))
System\Formats\Tar\TarHelpers.cs (15)
32internal Dictionary<FileId, (string SymlinkPath, string LinkTarget)>? PendingLinks; 40internal Dictionary<FileId, (string SymlinkPath, string LinkTarget)> GetOrCreatePendingLinks() 511internal static void CreatePendingLinks(string destinationDirectoryFullPath, Dictionary<FileId, (string SymlinkPath, string LinkTarget)>? pendingLinks) 544FileId[] fileIds = new FileId[pendingLinks.Count]; 547foreach (FileId fileId in fileIds) 580private readonly Dictionary<FileId, (string SymlinkPath, string LinkTarget)>? _pendingLinks; 585internal PendingLinkResolver(string destination, string resolvedDestination, int destinationSymlinkDepth, Dictionary<FileId, (string SymlinkPath, string LinkTarget)>? pendingLinks) 607internal void CreateLink(FileId fileId, string symlinkPath, string linkTarget) 614private void AddPendingLink(string rootPath, FileId fileId, string symlinkPath, string linkTarget, HashSet<FileId>? visitedLinks, out string resolvedFullPath) 655private bool Resolve(ref string? containmentRootPath, string baseFullPath, ReadOnlySpan<char> relativePath, out string resolvedFullPath, HashSet<FileId>? visitedLinks) 692if (!checkExists || !TryGetPathInfo(componentPath, out FileId fileId, out bool isSymlink)) 725visitedLinks ??= new HashSet<FileId>(); 765private bool FollowExistingSymlink(ref string? rootPath, string linkDirectory, string linkTarget, HashSet<FileId>? visitedLinks, out string resolvedFullPath)
System\Formats\Tar\TarHelpers.Unix.cs (5)
10internal struct FileId : IEquatable<FileId> 21public bool Equals(FileId other) => Dev == other.Dev && Ino == other.Ino; 22public override bool Equals(object? obj) => obj is FileId other && Equals(other); 134internal static FileId GetFileId(string filePath) 140internal static bool TryGetPathInfo(string path, out FileId fileId, out bool isSymlink)