Ejemplo n.º 1
0
        /// <summary>
        /// Creates a new <see cref="ArHeader"/> for the specified file name. (Name may not contain subdirectories).
        /// </summary>
        /// <param name="name">The name of the file.</param>
        /// <param name="size">The size of the file in bytes.</param>
        /// <param name="fileMode">the unix filemode to use.</param>
        /// <param name="owner">the unix owner.</param>
        /// <param name="group">the unix group.</param>
        /// <param name="modificationTime">The last modification time.</param>
        /// <returns>Returns a new header instance.</returns>
        public static ArHeader CreateFile(string name, long size, int fileMode, int owner, int group, DateTime modificationTime)
        {
            var result = new ArHeader();

            result.Initialize(name, size, fileMode, owner, group, modificationTime);
            return(result);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// writes a file header to the ar file.
        /// </summary>
        /// <param name="header">Header to write.</param>
        public void WriteHeader(ArHeader header)
        {
            if (header == null)
            {
                throw new ArgumentNullException(nameof(header));
            }

            StartOperation(Operation.WriteHeader);
            topStream.Write(header.Data, 0, 60);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// reads a header from the ar file throws an EndOfStreamException if the last entry was read already.
 /// </summary>
 /// <returns>the header of the next file.</returns>
 public ArHeader ReadHeader()
 {
     StartOperation(Operation.ReadHeader);
     return(ArHeader.FromStream(topStream));
 }