                 self.unknownExtendedHeaderEntries[keyword] = value
             }
         }
+
+        self.name = name
+        self.linkName = linkName
     }
 
     private static func parseHeader(_ header: String?, _ fieldsDict: inout [String: String]) throws {

        if magic == [0x75, 0x73, 0x74, 0x61, 0x72, 0x20, 0x20, 0x00] ||
            magic == [0x75, 0x73, 0x74, 0x61, 0x72, 0x00, 0x30, 0x30] ||
            magic == [0x75, 0x73, 0x74, 0x61, 0x72, 0x20, 0x30, 0x30] {
            let ownerName = try pointerData.nullEndedAsciiString(cutoff: 32)
            ownerUserName = ownerName

            let groupName = try pointerData.nullEndedAsciiString(cutoff: 32)
            ownerGroupName = groupName

            deviceMajorNumber = try pointerData.nullSpaceEndedAsciiString(cutoff: 8)
            deviceMinorNumber = try pointerData.nullSpaceEndedAsciiString(cutoff: 8)
            fileNamePrefix = try pointerData.nullEndedAsciiString(cutoff: 155)
        } else {
            ownerUserName = nil
            ownerGroupName = nil
            deviceMajorNumber = nil
            deviceMinorNumber = nil
            fileNamePrefix = nil
        }

        var fieldsDict = [String: String]()
        try TarEntryInfo.parseHeader(globalExtendedHeader, &fieldsDict)


    // MARK: ContainerEntryInfo

    // TODO: Describe order in which formats' features are used to set this property.
    /// Name of the file or directory.
    public let name: String?

    /// Size of the data associated with the entry.
    public private(set) var size: Int?
