public void WriteDirectoryEntry(string path, string username, string groupname, int mode, DateTime lastModificationTime) { if (string.IsNullOrEmpty(path)) { throw new ArgumentNullException("path"); } if (path[path.Length - 1] != '/') { path += '/'; } var tarHeader = new UsTarHeader() { FileName = path, LastModification = lastModificationTime, SizeInBytes = 0, UserId = username.GetHashCode(), UserName = username, GroupId = groupname.GetHashCode(), GroupName = groupname, Mode = mode, EntryType = tar_cs.EntryType.Directory, }; OutStream.Write(tarHeader.GetHeaderValue(), 0, tarHeader.HeaderSize); }
protected virtual void WriteHeader(string name, DateTime lastModificationTime, long count, string userName, string groupName, int mode) { var tarHeader = new UsTarHeader() { FileName = name, LastModification = lastModificationTime, SizeInBytes = count, UserId = userName.GetHashCode(), UserName = userName, GroupId = groupName.GetHashCode(), GroupName = groupName, Mode = mode }; OutStream.Write(tarHeader.GetHeaderValue(), 0, tarHeader.HeaderSize); }
protected override void WriteHeader(string name, DateTime lastModificationTime, long count, int userId, int groupId, int mode, EntryType entryType) { var tarHeader = new UsTarHeader() { FileName = name, LastModification = lastModificationTime, SizeInBytes = count, UserId = userId, UserName = Convert.ToString(userId,8), GroupId = groupId, GroupName = Convert.ToString(groupId,8), Mode = mode, EntryType = entryType }; OutStream.Write(tarHeader.GetHeaderValue(), 0, tarHeader.HeaderSize); }
private void WriteHardLink(string name, DateTime lastModificationTime, string linkName, string userName, string groupName, int mode) { var tarHeader = new UsTarHeader() { FileName = name, LastModification = lastModificationTime, SizeInBytes = 0, UserId = userName.GetHashCode(), UserName = userName, GroupId = groupName.GetHashCode(), GroupName = groupName, Mode = mode, EntryType = tar_cs.EntryType.HardLink, LinkName = linkName, }; OutStream.Write(tarHeader.GetHeaderValue(), 0, tarHeader.HeaderSize); }
/// <summary> /// Constructs TarReader object to read data from `tarredData` stream /// </summary> /// <param name="tarredData">A stream to read tar archive from</param> public TarReader(Stream tarredData) { inStream = tarredData; header = new UsTarHeader(); }
protected virtual void WriteHeader(string name, DateTime lastModificationTime, long count, string userName, string groupName, int mode) { var tarHeader = new UsTarHeader(name, mode, count, lastModificationTime); var header = tarHeader.GetHeaderValue(); OutStream.Write(header, 0, header.Length); }