Telerik.Windows.Zip
Resolves a path to a document applying extension, traversal and (Windows-only) UNC validations.
Base directory (relative or absolute).
User-supplied path (relative, absolute, or UNC).
UNC host/share allow-list (Windows only). Null or empty denies all UNC paths.
Full path if valid; otherwise null.
Returns the candidate resolved path (absolute or UNC) without performing an existence check.
Applies validation logic if enabled. Intended strictly for internal testing of resolution semantics.
Lightweight resolution when document path validation is disabled.
Combines base + relative if needed and returns the candidate path (existence checked centrally in ResolvePath).
Skips UNC allow-list and traversal containment checks.
Performs secure resolution of a document path:
1) Determines effective absolute path (respecting UNC vs local semantics).
2) If UNC, verifies host/share is explicitly allowed before any filesystem call.
3) Normalizes paths and enforces containment within base (or allowed UNC root).
4) Returns path only if the target file exists.
Produces an absolute candidate path unless already rooted. UNC paths are considered rooted.
Returns true for Windows UNC patterns (\\server, \\?\UNC\server). Non-Windows platforms return false.
Normalizes path for comparison: trims; on Windows converts '/' to '\\' and collapses redundant leading backslashes.
Assumes networkPath is already confirmed as a network/UNC path. Returns true if it begins with any canonical allow-list prefix.
Converts an allow-list entry to canonical form: \\host\\share\\ (ensures leading/trailing backslashes).
Returns the longest canonical allow-list prefix that matches the UNC path; null if no match.
Assumes entries in allowedNetworkHosts are already canonical ("\\\\host\\share\\").
Precomputes a distinct set of canonical UNC prefixes from a raw allow-list.
Returns an empty array if source is null or no valid entries.
Platform check for Windows.
Collapses '.' and '..' segments in a UNC path after the allowed root prefix.
Base class for all block transformations.
Initializes a new instance of the BlockTransformBase class.
Gets a value indicating whether the current transform can be reused.
true if the current transform can be reused; otherwise, false.
Gets a value indicating whether multiple blocks can be transformed.
true if multiple blocks can be transformed; otherwise, false.
Gets transformation header (if required).
Gets transformation footer (if required).
Gets the input block size.
The size of the input data blocks in bytes.
Gets the output block size.
The size of the output data blocks in bytes.
Gets or sets value which indicates whether the transformation uses
input buffer of the fixed size.
Releases the resources used by the current instance of the ZipArchive class.
Creates transformation header to be written into the output stream.
Initialize reading of the transformation header.
Initialize reading of the transformation footer.
Process transformation header has been read.
Process transformation footer has been read.
Transforms the specified region of the input byte array and copies the resulting transform to the specified region of the output byte array.
The number of bytes written.
The input for which to compute the transform.
The offset into the input byte array from which to begin using data.
The number of bytes in the input byte array to use as data.
The output to which to write the transform.
The offset into the output byte array from which to begin writing data.
Transforms the specified region of the specified byte array.
The computed transform.
The input for which to compute the transform.
The offset into the byte array from which to begin using data.
The number of bytes in the byte array to use as data.
Transforms the specified region of the specified byte array.
The computed transform.
The input for which to compute the transform.
The offset into the byte array from which to begin using data.
The number of bytes in the byte array to use as data.
The token to monitor for cancellation requests.
Releases the unmanaged resources used by the transform and optionally releases the managed resources.
Value which indicates whether both managed and unmanaged resources (true) on only unmanaged resources (false) should be released.
Validates parameters of the input buffer.
The input for which to compute the transform.
The offset into the input byte array from which to begin using data.
The number of bytes in the input byte array to use as data.
Indicates whether buffer block size should be validated. Should be true for the TransformBlock and false for the TransformFinalBlock.
Indicates whether count can be zero.
Validates parameters of the transform operation.
The input for which to compute the transform.
The offset into the input byte array from which to begin using data.
The number of bytes in the input byte array to use as data.
The output to which to write the transform.
The offset into the output byte array from which to begin writing data.
Indicates whether input count can be zero.
Implements Adler-32 checksum algorithm.
Base for modulo arithmetic (largest prime smaller than 65536).
Number of iterations we can safely do before applying the modulo.
Calculate checksum for the specified region of the input byte array.
Checksum to update.
The input for which to compute the checksum.
The offset into the input byte array from which to begin using data.
The number of bytes in the input byte array to use as data.
Updated checksum.
Implements CRC-32 checksum algorithm.
Calculate checksum for the specified region of the input byte array.
Checksum to update.
The input for which to compute the checksum.
The offset into the input byte array from which to begin using data.
The number of bytes in the input byte array to use as data.
Updated checksum.
Interface which must be implemented by all implementations of the checksum algorithm.
Calculate checksum for the specified region of the input byte array.
Checksum to update.
The input for which to compute the checksum.
The offset into the input byte array from which to begin using data.
The number of bytes in the input byte array to use as data.
Updated checksum.
Defines the compression or marker methods the ZIP library uses to encode entry data, including raw storage, Deflate, LZMA, and the AES marker (99) used when WinZip AES encryption is applied.
Stores the file without compression; use for already compressed or very small data to avoid overhead.
Compresses the file with the Deflate algorithm (RFC 1951), balancing speed and size for general data.
Compresses the file using the LZMA algorithm, providing high ratio at the cost of greater CPU and memory.
Marks an entry encrypted with AES (method value 99); the actual underlying compression method is stored in the AES extra data field.
Stream wrapper that compresses or decompresses data on the fly over a base stream, optionally applying checksum and encryption.
Creates a compression or decompression stream using the specified settings.
The base input/output stream.
Stream operational mode.
Compression settings.
Specified mode is not allowed for the given stream.
Creates a compression or decompression stream with explicit checksum and encryption options.
The base input/output stream.
Stream operational mode.
Compression settings.
Indicates whether the CRC32 (true) or Adler32 (false) checksum algorithm will be used.
Encryption settings.
Specified mode is not allowed for the given stream.
Raised when checksum calculation completes for the processed data segment.
Gets the running checksum (CRC32 or Adler32) accumulated from the first read/write until Flush.
Gets the total compressed byte count including any encryption header bytes.
Gets or sets the checksum algorithm will be used during compression-decompression.
Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
An array of bytes. When this method returns, the buffer contains the specified byte array with the
values between offset and (offset + count - 1) replaced by the bytes read from the current source.
The zero-based byte offset in buffer at which to begin storing the data read from the current stream.
The maximum number of bytes to be read from the current stream.
The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many
bytes are not currently available, or zero (0) if the end of the stream has been reached.
The associated with
current object does not match the underlying stream.
For example, this exception is thrown when using with an underlying stream that is write only.
The parameter is less than zero.-or- The parameter is less than zero.
The sum of the and parameters is larger than the length of the buffer.
Reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests.
An array of bytes. When this method returns, the buffer contains the specified byte array with the
values between offset and (offset + count - 1) replaced by the bytes read from the current source.
The zero-based byte offset in buffer at which to begin storing the data read from the current stream.
The maximum number of bytes to be read from the current stream.
The token to monitor for cancellation requests.
A task returning the total number of bytes read into the buffer. This can be less than the number of bytes requested if that many
bytes are not currently available, or zero (0) if the end of the stream has been reached.
Sets the length of the current stream.
The desired length of the current stream in bytes.
Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
An array of bytes. This method copies count bytes from buffer to the current stream.
The zero-based byte offset in buffer at which to begin copying bytes to the current stream.
The number of bytes to be written to the current stream.
Releases the unmanaged resources used by the Stream and optionally releases the managed resources.
Value which indicates whether both managed and unmanaged resources (true) on only unmanaged resources (false) should be released.
Initialize compressed stream.
The base input/output stream.
Compression algorithm.
Checksum algorithm.
Base settings container for a compression method; specialized subclasses add algorithm‑specific parameters.
Initializes a new instance of the CompressionSettings class with default compression settings.
Occurs when a property value changes.
Gets or sets the compression algorithm applied when processing the stream or archive entry.
Copy settings from the given base settings.
Base settings to copy from.
Prepare settings for usage in zip archive entries.
Central directory header.
Called when property value is changed.
Property name.
Represents base class for all compression and decompression functionality.
Initializes a new instance of the CompressionTransformBase class.
Gets a value indicating whether the current transform can be reused.
true if the current transform can be reused; otherwise, false.
Gets a value indicating whether multiple blocks can be transformed.
true if multiple blocks can be transformed; otherwise, false.
Gets the input block size.
The size of the input data blocks in bytes.
Gets the output block size.
The size of the output data blocks in bytes.
Transforms the specified region of the input byte array and copies
the resulting transform to the specified region of the output byte array.
The number of bytes written.
The input for which to compute the transform.
The offset into the input byte array from which to begin using data.
The number of bytes in the input byte array to use as data.
The output to which to write the transform.
The offset into the output byte array from which to begin writing data.
Transforms the specified region of the specified byte array.
The computed transform.
The input for which to compute the transform.
The offset into the byte array from which to begin using data.
The number of bytes in the byte array to use as data.
Releases the unmanaged resources used by the transform and optionally releases the managed resources.
Value which indicates whether both managed and unmanaged resources (true) on only unmanaged resources (false) should be released.
Transforms current input buffer.
The final block flag.
True when output still available.
Defines the header format applied to a compressed data stream (no wrapper or RFC 1950 ZLIB header).
Compressed stream does not contain a header.
Compressed stream is formatted in accordance with RFC 1950
(ZLIB Compressed Data Format Specification version 3.3).
Specifies the trade‑off between speed and size when compressing data; higher values favor smaller output while lower values favor throughput.
Stores data without applying compression (raw copy).
Alias of NoCompression.
Fastest execution with minimal size reduction.
Alias of Fastest.
Slightly slower than level 1 with modestly improved compression.
Slower than level 2 for incremental size savings.
Balances speed and ratio between levels 3 and 5.
Provides better compression than level 4 with moderate added cost.
Default balance of speed and compression efficiency for general use.
Alias of Optimal.
Emphasizes compression ratio over speed compared to level 6.
Higher ratio than level 7 with additional CPU cost.
Maximum compression ratio (slowest processing).
Alias of Best.
Class which implements Deflate compression algorithm.
Creates a compressor object.
A compressor object.
Creates a decompressor object.
A decompressor object.
Initialize compression algorithm using given compression settings.
Compression settings.
Represents a state of current block.
Block is not completed, need more input or more output.
Block flush performed.
Finish started, need only more output at next deflate.
Finish done, accept no more input or output.
Compressor which implements Deflate compression.
The default number of window bits for the Deflate algorithm.
15 is the maximum number of window bits for the Deflate algorithm (32K window).
Initializes a new instance of the DeflateCompressor class.
Deflate settings.
Creates RFC 1950 (ZLIB Compressed Data Format Specification version 3.3) header
to be written into the output stream.
Restore the heap property by moving down the tree starting at specified node,
exchanging a node with the smallest of its two sons if necessary, stopping
when the heap property is re-established (each father smaller than its two sons).
The tree.
Index of node.
Transforms current input buffer.
The final block flag.
True when still output available.
Scan a literal or distance tree to determine the frequencies of the codes
in the bit length tree.
The tree.
Max code.
Construct the Huffman tree for the bit lengths.
The index of the last bit length code to send.
Send the header for a block using dynamic Huffman trees: the counts,
the lengths of the bit length codes, the literal tree and the distance tree.
Length of literal codes.
Length of distance codes.
Length of bit length codes.
Send a literal or distance tree in compressed form,
using the codes in bit length tree.
The tree.
Max code.
Output a block of bytes on the stream.
Buffer.
Start index.
Length.
Save the match info and tally the frequency counts.
Distance.
Length or unmatched char.
Return true if the current block must be flushed.
Send the block data compressed using the given Huffman trees.
Literal tree.
Distance tree.
Flush the bit buffer and align the output on a byte boundary.
Copy a stored block, storing first the length
and its one's complement if requested.
Buffer.
Length.
Should send the header.
Send a stored block.
Offset in window.
Length.
The flag of last block.
Determine the best encoding for the current block: dynamic trees, static
trees or store, and output the encoded block.
Offset in window.
Length.
The flag of last block.
Fill the window if necessary.
Compress as much as possible from the input stream, return the current
block state.
This function does not perform lazy evaluation of matches and inserts
new strings in the dictionary only for unmatched strings or for short
matches. It is used only for the fast compression options.
Flush flag.
Returns the current block state.
Copy without compression as much as possible from the input buffer.
Flush flag.
Returns the current block state.
Same as above, but achieves better compression. We use a lazy
evaluation for matches: a match is finally adopted only if there is
no better match at the next window position.
Flush flag.
Returns the current block state.
Initialize the tree data structures.
Sets configuration parameters by the compression level.
Compression level.
Flush as much pending output as possible.
All deflate output goes through this function.
Read a new buffer from the current input stream, update
total number of bytes read. All deflate input goes through
this function.
Buffer.
Start position in buffer.
Size.
Represents configuration of deflate algorithm.
Use a faster search when the previous match is longer
than this reduce lazy search above this match length.
Attempt to find a better match only when the current match is
strictly smaller than this value. This mechanism is used only for
compression levels >= 4. For levels 1,2,3: MaxLazy is actually
MaxInsertLength (See DeflateFast).
Do not perform lazy search above this match length.
Quit search above this match length.
To speed up deflation, hash chains are never searched beyond this length.
A higher limit improves compression ratio but degrades the speed.
Returns instance of Config class by the compression level.
Compression level.
Instance of Config class.
Represents constants for deflate compression.
The file is stored (no compression).
Z-lib header: the deflate compression method.
Bit length codes must not exceed MaxBitLengthBits bits.
Repeat previous bit length 3-6 times (2 bits of repeat count).
Repeat a zero length 3-10 times (3 bits of repeat count).
Repeat a zero length 11-138 times (7 bits of repeat count).
Decompressor which implements Deflate compression.
Initializes a new instance of the DeflateDecompressor class.
Deflate settings.
Represents a state of decompressor process.
Represents a type of block in deflated data.
Gets the output block size.
The size of the output data blocks in bytes.
Initialize reading of the transformation header.
Process transformation header has been read.
Transforms current input buffer.
The final block flag.
True when still output available.
Configures Deflate compression, specifying compression level and header format for streams or ZIP entries.
Creates a settings object preconfigured for Deflate with optimal level and ZLIB header.
Gets or sets the Deflate algorithm compression level, influencing speed versus size.
Gets or sets the wrapping header emitted for standalone Deflate streams (suppressed for ZIP entries).
Copies Deflate‑specific values from another settings instance.
Base settings to copy from.
Adjusts the settings for inclusion in a ZIP entry (e.g., disables external headers).
Central directory header.
Represents base class for Deflate compression and decompression functionality.
Initializes a new instance of the DeflateTransformBase class.
Deflate settings.
Inflates data using a lookup table combined with a HuffmanTree.
Initializes static members of the InflateTree class.
Initializes a new instance of the InflateTree class.
Tries to get enough bits from input and try to decode them.
Input buffer.
Next symbol or -1 when there is no enough bits in input.
Calculate the huffman codes according to RFC 1951.
Huffman codes.
Represents input buffer for inflating data using Huffman coding.
Initializes a new instance of the InputBitsBuffer class.
Available bits in bit buffer.
Available bytes.
Is input required.
Checks available bits in the bit buffer.
Count of bits.
True if available.
Gets available bits from buffer.
Count of required bits.
Bits data.
Read bytes to output buffer.
Output buffer.
Offset.
Length.
Count of bytes which are read.
Set current working buffer.
Bytes buffer.
Offset.
Length.
Skips bits in bit buffer.
Count of bits to skip.
Skips to the next byte boundary.
Gets 16 or more bits into bit buffer.
Bit buffer.
Represents output window for inflating data using Huffman coding.
Initializes a new instance of the OutputWindow class.
Gets available bytes count.
Gets free bytes count.
Adds a byte to output window.
Byte.
Copies bytes within output window.
Moves backwards distance bytes and copy length bytes.
Length.
Distance.
Read bytes to output buffer.
Output buffer.
Offset.
Length.
Count of bytes which are read.
Reads bytes from input.
InputBitsBuffer.
Length.
Count of read bytes.
Represents Huffman static tree.
Initializes static members of the StaticTree class.
Initializes a new instance of the StaticTree class.
Static tree.
Extra bits for each code.
Base index for extra bits.
Max number of elements in the tree.
Max bit length for the codes.
Deflates data using Huffman coding.
Reverse the first specified bits of a code,
using straightforward code (a faster method would use a table).
Value.
The length of bits to reverse.
Result of reverse.
Map from a distance to a distance code.
No side effects. DistanceCode[256] and DistanceCode[257] are never used.
Construct one Huffman tree and assigns the code bit strings and lengths.
Update the total bit length for the current block.
Deflate compressor.
Generate the codes for a given tree and bit counts (which need not be optimal).
The tree.
Max code.
Bit length count.
Compute the optimal bit lengths for a tree and update the total bit length for the current block.
Deflate compressor.
Indicates the AES key size used for ZIP entry encryption.
Uses a 128-bit AES key.
Uses a 192-bit AES key.
Uses a 256-bit AES key for maximum strength.
Interface which must be implemented by all implementations of the compression algorithm.
Creates a compressor object.
A compressor object.
Creates a decompressor object.
A decompressor object.
Initialize compression algorithm using given compression settings.
Compression settings.
The Optimization Data for LZMA match finder.
Class which implements Deflate compression algorithm.
Creates a compressor object.
A compressor object.
Creates a decompressor object.
A decompressor object.
Initialize compression algorithm using given compression settings.
Compression settings.
Compressor which implements LZMA compression.
Initializes a new instance of the class.
Settings.
Gets the output block size.
The size of the output data blocks in bytes.
Creates transformation header to be written into the output stream.
Transforms current input buffer.
The final block flag.
True when output still available.
Releases the unmanaged resources used by the transform and optionally releases the managed resources.
Value which indicates whether both managed and unmanaged resources
(true) on only unmanaged resources (false) should be released.
Decompressor which implements LZMA decompression algorithm.
Initializes a new instance of the class.
Settings.
Represents a state of decompressor process.
Gets the output block size.
The size of the output data blocks in bytes.
Initialize reading of the transformation header.
Process transformation header has been read.
Selects the LZMA match finder strategy (2‑byte or 4‑byte hash) balancing memory usage and match detection efficiency.
The match finder uses two bytes for the hash.
The match finder uses four bytes for the hash.
Configures LZMA compression parameters (dictionary, context, position, fast bytes, match finder) for fine‑grained ratio and performance tuning.
Creates an LZMA settings instance with defaults optimized for balanced speed and compression (8MB dictionary, BT4 match finder).
Gets or sets the base-2 exponent for the dictionary size (0–27), controlling memory usage; 23 (8MB) by default.
Gets or sets the number of position state bits (0–4) affecting literal/match modeling; default is 2.
Gets or sets literal context bits (0–8) influencing prediction based on preceding bytes; default is 3.
Gets or sets literal position bits (0–4) refining modeling by low address bits; default is 0.
Gets or sets the number of fast bytes (5–273) scanned for matches before fallback; higher may improve ratio but costs speed (default 32).
Gets or sets the match finder algorithm variant determining hash granularity.
Gets or sets the known uncompressed length for single standalone streams (not ZIP); -1 forces end marker emission.
Gets or sets length of the stream for decompressing.
Gets or sets a value which indicates whether
the compression stream should use zip header type.
Copy settings from the given base settings.
Base settings to copy from.
Prepare settings for usage in zip archive entries.
Central directory header.
Represents LZMA state for compressing and for decompressing.
Represents base class for LZMA compression and decompression functionality.
Initializes a new instance of the class.
Settings.
Represents the LZMA range encoder.
Class which implements Store (no compression) algorithm.
Creates a compressor object.
A compressor object.
Creates a decompressor object.
A decompressor object.
Initialize compression algorithm using given compression settings.
Compression settings.
Compressor which implements Store compression.
Decompressor which implements Store compression.
Configures the Store (no compression) method used when data must remain byte‑identical while still participating in archive processing.
Creates settings for the Stored method (disables compression while retaining metadata handling).
Base class for the Store (no compression) transformation.
Initializes a new instance of the StoreTransformBase class.
Gets a value indicating whether the current transform can be reused.
true if the current transform can be reused; otherwise, false.
Gets a value indicating whether multiple blocks can be transformed.
true if multiple blocks can be transformed; otherwise, false.
Gets the input block size.
The size of the input data blocks in bytes.
Gets the output block size.
The size of the output data blocks in bytes.
Transforms the specified region of the input byte array and copies the resulting transform to the specified region of the output byte array.
The number of bytes written.
The input for which to compute the transform.
The offset into the input byte array from which to begin using data.
The number of bytes in the input byte array to use as data.
The output to which to write the transform.
The offset into the output byte array from which to begin writing data.
Transforms the specified region of the specified byte array.
The computed transform.
The input for which to compute the transform.
The offset into the byte array from which to begin using data.
The number of bytes in the byte array to use as data.
Releases the unmanaged resources used by the transform and optionally releases the managed resources.
Value which indicates whether both managed and unmanaged resources (true) on only unmanaged resources (false) should be released.
Platform independent manager.
Gets a platform-specific alternate character used to separate directory levels in a path string that reflects a hierarchical file system organization.
Gets default encoding for this platform.
Gets a platform-specific character used to separate directory levels in a path string that reflects a hierarchical file system organization.
Creates temporary stream.
Stream will be used for temporary operations.
Deletes temporary stream.
Stream to delete.
Gets crypto provider initialized using given encryption settings.
Encryption settings.
Crypto provider.
Specified crypto algorithm is not supported.
Indicates whether specified encoding is supported for this platform.
Encoding.
true if encoding is allowed in the ZIP file.
Crypto provider which implements AES encryption.
Initializes a new instance of the AesCryptoProvider class with Aes256 encryption strength.
Creates an decryptor object.
A decryptor object.
Creates an encryptor object.
Initialize crypto provider using given encryption settings.
Encryption settings.
AES Cryptographic stream. Allows encrypt or decrypt information from the given input stream.
Releases the unmanaged resources used by the transform and optionally releases the managed resources.
Value which indicates whether both managed and unmanaged resources (true) on only unmanaged resources (false) should be released.
Cryptographic stream. Allows encrypt or decrypt information from the given input stream.
Initializes a new instance of the CryptoStream class.
Input stream.
Stream operational mode.
Crypto provider.
Compression settings.
Specified mode is not allowed for the given stream.
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
Releases the unmanaged resources used by the Stream and optionally releases the managed resources.
Value which indicates whether both managed and unmanaged resources (true) on only unmanaged resources (false) should be released.
Creates a new instance of the class.
Occurs when the password is required.
Specifies values for a type of the encryption algorithm.
Unknown encryption algorithm.
Traditional PKWARE encryption algorithm.
Strong AES encryption algorithm.
Base class for the encryption settings.
Base class for the encryption settings.
Creates a new instance of the class.
Creates a new instance of the class.
The encryption algorithm.
The encryption strength.
Occurs when a property value changes.
Gets or sets last modification file date and time.
Gets name of the algorithm will be used for encryption/decryption.
Creates a new instance of the class.
Creates a new instance of the class.
The encryption strength is set to AES-256.
Creates a new instance of the class.
The encryption strength.
Creates a new instance of the class.
Called when property value is changed.
Property name.
Interface which provides method to encrypt/decrypt data in the ZIP archive.
Creates an decryptor object.
A decryptor object.
Creates an encryptor object.
An encryptor object.
Initialize crypto provider using given encryption settings.
Encryption settings.
Password encryption settings for the cryptographic provider.
Creates a new instance of the class.
The encryption algorithm.
The encryption strength.
Gets or sets password will be used for encryption/decryption.
Represents password needed event args.
Initializes a new instance of the class.
Gets or sets the password.
The password.
Crypto provider which implements traditional PKWARE encryption.
Initializes a new instance of the PkzipCryptoProvider class. It represents a provider for PKWARE encryption and decryption.
Creates an decryptor object.
A decryptor object.
Creates an encryptor object.
Initialize crypto provider using given encryption settings.
Encryption settings.
Base class for the transformations which implements traditional PKWARE encryption/decryption.
Initializes a new instance of the DefaultCryptoTransformBase class.
Gets a value indicating whether the current transform can be reused.
true if the current transform can be reused; otherwise, false.
Gets a value indicating whether multiple blocks can be transformed.
true if multiple blocks can be transformed; otherwise, false.
Gets the input block size.
The size of the input data blocks in bytes.
Gets the output block size.
The size of the output data blocks in bytes.
Gets encoding byte.
Creates transformation header to be written into the output stream.
Initialize reading of the transformation header.
Process transformation header has been read.
Releases the unmanaged resources used by the transform and optionally releases the managed resources.
Value which indicates whether both managed and unmanaged resources (true) on only unmanaged resources (false) should be released.
Update encryption keys.
Byte.
Crypto transformation which implements traditional PKWARE decryption.
Initializes a new instance of the PkzipDecryptor class.
Transforms the specified region of the input byte array and copies the resulting transform to the specified region of the output byte array.
The number of bytes written.
The input for which to compute the transform.
The offset into the input byte array from which to begin using data.
The number of bytes in the input byte array to use as data.
The output to which to write the transform.
The offset into the output byte array from which to begin writing data.
Transforms the specified region of the specified byte array.
The computed transform.
The input for which to compute the transform.
The offset into the byte array from which to begin using data.
The number of bytes in the byte array to use as data.
Crypto transformation which implements traditional PKWARE encryption.
Initializes a new instance of the DefaultEncryptor class.
Transforms the specified region of the input byte array and copies the resulting transform to the specified region of the output byte array.
The number of bytes written.
The input for which to compute the transform.
The offset into the input byte array from which to begin using data.
The number of bytes in the input byte array to use as data.
The output to which to write the transform.
The offset into the output byte array from which to begin writing data.
Transforms the specified region of the specified byte array.
The computed transform.
The input for which to compute the transform.
The offset into the byte array from which to begin using data.
The number of bytes in the byte array to use as data.
Defines the basic operations of the cryptographic or compression transformations.
Gets a value indicating whether the current transform can be reused.
true if the current transform can be reused; otherwise, false.
Gets a value indicating whether multiple blocks can be transformed.
true if multiple blocks can be transformed; otherwise, false.
Gets transformation header (if required).
Gets transformation footer (if required).
Gets the input block size.
The size of the input data blocks in bytes.
Gets the output block size.
The size of the output data blocks in bytes.
Creates transformation header to be written into the output stream.
Initialize reading of the transformation header.
Initialize reading of the transformation footer.
Process transformation header has been read.
Process transformation footer has been read.
Transforms the specified region of the input byte array and copies the resulting transform to the specified region of the output byte array.
The number of bytes written.
The input for which to compute the transform.
The offset into the input byte array from which to begin using data.
The number of bytes in the input byte array to use as data.
The output to which to write the transform.
The offset into the output byte array from which to begin writing data.
Transforms the specified region of the specified byte array.
The computed transform.
The input for which to compute the transform.
The offset into the byte array from which to begin using data.
The number of bytes in the byte array to use as data.
Transforms the specified region of the specified byte array.
The computed transform.
The input for which to compute the transform.
The offset into the byte array from which to begin using data.
The number of bytes in the byte array to use as data.
The token to monitor for cancellation requests.
Signals that input ZIP or related data is malformed or violates expected format constraints during processing.
Creates an representing a generic invalid data condition.
Creates an with a specific explanatory error message.
The error message that explains the reason for the exception.
Creates an with a message and inner exception providing causal context.
The error message that explains the reason for the exception.
The exception that is the cause of the current exception. If the parameter is not null, the current exception is raised in a catch block that handles the inner exception.
Supplies platform abstractions (file system temp storage, path separators, encodings, and cryptography) allowing the ZIP library to operate uniformly across environments.
Gets the alternate directory separator character (e.g. '/') used when normalizing archive entry paths.
Gets the default text encoding used for entry metadata when Unicode flags or overrides are absent.
Gets the primary directory separator character (e.g. '\\') used when constructing platform-specific temporary paths.
Creates a temporary stream used for intermediate buffering of compressed or encrypted data.
Stream will be used for temporary operations.
Disposes and removes a previously created temporary stream, releasing underlying resources.
Stream to delete.
Returns a crypto provider initialized with the specified encryption settings, ready to produce encryptor/decryptor transforms.
Encryption settings.
Crypto provider.
Specified crypto algorithm is not supported.
Creates a crypto stream wrapping using the provided encryption and compression settings in the specified operation mode.
Encryption settings.
Stream.
Stream operation mode.
Crypto provider.
Compression settings.
Crypto stream.
Specified crypto algorithm is not supported.
Determines whether the provided text is supported by the current platform implementation.
Common interface for the data structures defined in the ZIP File Format Specification.
Read data from the binary reader.
Binary reader to read data from.
true if success, otherwise false.
Write data to the binary writer.
Binary writer to write data to.
Operational stream. Base class for cryptographic and compression streams.
Initializes a new instance of the class class.
The base input/output stream.
Stream operational mode.
The compression settings.
Specified mode is not allowed for the given stream.
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
Gets a value indicating whether the current stream supports reading.
Gets a value indicating whether the current stream supports seeking.
Gets a value indicating whether the current stream supports writing.
Gets a value which indicates whether the final buffer block has been written/read to/from the underlying stream.
true if the final block has been flushed or end of underlying stream is reached; otherwise, false.
Gets the length in bytes of the stream.
Gets or sets the position within the current stream.
Gets value which specify total plain bytes count (not-compressed and not-encrypted).
Gets value which specify total transformed bytes count (compressed or encrypted).
Gets input stream.
Gets stream mode.
Gets or sets value which indicates whether this stream is disposed already.
Gets or sets block transformation is used for read/write operations.
Clears all buffers for this stream and causes any buffered data to be written to the underlying device.
Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
An array of bytes. When this method returns, the buffer contains the specified byte array with the
values between offset and (offset + count - 1) replaced by the bytes read from the current source.
The zero-based byte offset in buffer at which to begin storing the data read from the current stream.
The maximum number of bytes to be read from the current stream.
The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many
bytes are not currently available, or zero (0) if the end of the stream has been reached.
The associated with
current object does not match the underlying stream.
For example, this exception is thrown when using with an underlying stream that is write only.
The parameter is less than zero.-or- The parameter is less than zero.
The sum of the and parameters is larger than the length of the buffer.
Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
An array of bytes. When this method returns, the buffer contains the specified byte array with the
values between offset and (offset + count - 1) replaced by the bytes read from the current source.
The zero-based byte offset in buffer at which to begin storing the data read from the current stream.
The maximum number of bytes to be read from the current stream.
The cancellation token used to cancel the operation
The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many
bytes are not currently available, or zero (0) if the end of the stream has been reached.
The associated with
current object does not match the underlying stream.
For example, this exception is thrown when using with an underlying stream that is write only.
The parameter is less than zero.-or- The parameter is less than zero.
The sum of the and parameters is larger than the length of the buffer.
Sets the position within the current stream.
A byte offset relative to the origin parameter.
A value of type SeekOrigin indicating the reference point used to obtain the new position.
The new position within the current stream.
Sets the length of the current stream.
The desired length of the current stream in bytes.
Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
An array of bytes. This method copies count bytes from buffer to the current stream.
The zero-based byte offset in buffer at which to begin copying bytes to the current stream.
The number of bytes to be written to the current stream.
Validate read/write operation parameters.
Operation buffer.
Offset.
Count.
Indicates whether count can be zero.
Updates the underlying data source or repository with the current state of the buffer, then clears the buffer.
The current stream is not writable.-or- The final block has already been transformed.
Ensure that current stream is not disposed.
Releases the unmanaged resources used by the Stream and optionally releases the managed resources.
Value which indicates whether both managed and unmanaged resources (true) on only unmanaged resources (false) should be released.
Initialize internal buffers.
Initialize transformation.
Read transformation header.
Read transformation footer.
Write transformation header.
Exposes the current platform manager used by the ZIP library for path handling, temporary storage, encodings, and cryptographic services.
Gets or sets the active platform manager providing system-specific services; swap to customize temp storage or crypto behavior.
Indicates whether a transformation stream performs reading (decryption/decompression) or writing (encryption/compression) operations.
Stream consumes underlying data, producing decoded (decrypted/decompressed) output.
Stream accepts input to produce encoded (encrypted/compressed) data written to the base stream.
Holds trailing transformation metadata appended after transformed data (e.g. authentication codes or checksums) for compression or encryption stages.
Creates an empty footer ready to receive transformation trailer data.
Buffer that stores footer bytes read from or to be written to the stream.
Number of footer bytes remaining to read from the underlying stream.
Number of encrypted data bytes to skip before processing the footer contents.
Holds leading transformation metadata written before transformed data (e.g. IVs, salt, or algorithm identifiers) for compression or encryption stages.
Initializes a new instance of the TransformationHeader class.
Buffer that stores header bytes read from or to be written to the stream.
Number of header bytes remaining to read from the underlying stream.
Initialization data extracted from or required to construct the transformation header (e.g. salt, nonce, flags).
Total length in bytes of the header segment contributing to archive size calculations.
Flag indicating whether the header length should be included in the stored compressed size for the entry.
Extensions for the class.
Reads number of bytes from the current stream and advances the position within the stream.
The stream to read from.
An array of bytes. When this method returns, the buffer contains the specified byte array with the values
between and ( + - 1) replaced
by the bytes read from the current stream.
The byte offset in at which to begin storing the data read from the current stream.
The number of bytes to be read from the current stream.
is .
is outside the bounds of .
-or-
is negative.
-or-
The range specified by the combination of and exceeds the
length of .
The end of the stream is reached before reading number of bytes.
When is 0 (zero), this read operation will be completed without waiting for available data in the stream.
Reads the bytes from the current stream and writes them to another stream.
The stream from which the contents will be copied to another stream.
The stream to which the contents of the current stream will be copied.
The time period after which the operation will be cancelled.
Asynchronously reads the bytes from the current stream and writes them to another stream. Both streams positions are advanced by the number of bytes copied.
The stream to which the contents of the current stream will be copied.
The token to monitor for cancellation requests.
A task that represents the asynchronous copy operation.
Represents data descriptor record described in the
ZIP File Format Specification v6.3.3, #4.3.9.
Data descriptor header signature.
Read data from the binary reader.
Binary reader to read data from.
True if success, otherwise false.
Write data to the binary writer.
Binary writer to write data to.
Represents base fields of data descriptor record described in the
ZIP File Format Specification v6.3.3, #4.3.9.
Gets or sets crc-32.
Gets or sets compressed size.
Gets or sets uncompressed size.
Read data from the binary reader.
Binary reader to read data from.
Read data from the binary reader.
Binary reader to read data from.
Write data to the binary writer.
Binary writer to write data to.
Represents Zip64 end of central directory locator described in the
ZIP File Format Specification v6.3.3, #4.3.15.
Zip64 end of central directory locator signature.
Size of the data block without signature and variable size fields.
Gets or sets number of the disk with the
start of the zip64 end of
central directory.
Gets or sets relative offset of the zip64
end of central directory record.
Gets or sets number of disks.
Read data from the binary reader.
Binary reader to read data from.
True if success, otherwise false.
Write data to the binary writer.
Binary writer to write data to.
Represents Zip64 end of central directory record described in the
ZIP File Format Specification v6.3.3, #4.3.14.
Zip64 end of central directory record signature.
Gets or sets size of zip64 end of central
directory record.
Gets or sets byte which indicates the ZIP specification version
supported by the software used to encode the file.
Gets or sets byte which indicates the compatibility
of the file attribute information.
Gets or sets version needed to extract.
Gets or sets number of this disk.
Gets or sets number of the disk with the start of the central directory.
Gets or sets total number of entries in the central directory on this disk.
Gets or sets total number of entries in the central directory.
Gets or sets size of the central directory.
Gets or sets offset of start of central directory with respect to the starting disk number.
Read data from the binary reader.
Binary reader to read data from.
True if success, otherwise false.
Write data to the binary writer.
Binary writer to write data to.
Represents a package of compressed files in the zip archive format.
Value that describes the type of action the zip archive can perform on entries.
Binary reader is used to read from working stream.
Binary writer is used to write to working stream.
Track whether Dispose has been called.
Encoding of the entry name.
Original archive stream. If this stream doesn't support seeking then
temporary working stream will be created.
Working archive stream. If original stream doesn't support seeking then
temporary working stream will be created.
True to leave the stream open after the ZipArchive object is disposed; otherwise, false.
Indicates whether the central directory have been read.
ZIP Archive End of Central Directory.
ZIP64 End of Central Directory Locator.
ZIP64 End of Central Directory Record.
ZIP entries.
Initializes a new instance of the ZipArchive class from the specified stream.
Initializes a new instance of the ZipArchive class.
The stream that contains the archive to be read.
One of the enumeration values that indicates whether the zip archive is used to read, create, or update entries.
True to leave the stream open after the ZipArchive object is disposed; otherwise, false.
The encoding to use when reading or writing entry names in this archive. Specify a value for this parameter
only when an encoding is required for interoperability with zip archive tools and libraries that do not support UTF-8 encoding for entry names.
Initializes a new instance of the ZipArchive class.
The stream that contains the archive to be read.
One of the enumeration values that indicates whether the zip archive is used to read, create, or update entries.
True to leave the stream open after the ZipArchive object is disposed; otherwise, false.
The encoding to use when reading or writing entry names in this archive. Specify a value for this parameter
only when an encoding is required for interoperability with zip archive tools and libraries that do not support UTF-8 encoding for entry names.
Compression settings.
Encryption settings.
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
Occurs when a property value changes.
Gets the collection of entries that are currently in the zip archive.
The zip archive does not support reading.
The zip archive has been disposed.
The zip archive is corrupt, and its entries cannot be retrieved.
Gets entry name encoding.
Gets a value that describes the type of action the zip archive can perform on entries.
Gets compression settings.
Gets encryption settings.
Gets number of the disk.
Gets reader for the working stream.
Gets writer for the working stream.
Gets start of the central directory.
Opens an existing archive and returns a new instance of the class.
The stream that contains the archive to be read.
Opens an existing archive and returns a new instance of the class.
The stream that contains the archive to be read.
The encoding to use when reading or writing entry names in this archive. Specify a value for this parameter
only when an encoding is required for interoperability with zip archive tools and libraries that do not support UTF-8 encoding for entry names.
Opens an existing archive and returns a new instance of the class.
The stream that contains the archive to be read.
The encoding to use when reading or writing entry names in this archive. Specify a value for this parameter
only when an encoding is required for interoperability with zip archive tools and libraries that do not support UTF-8 encoding for entry names.
Compression settings.
Decryption settings.
A value indicating whether the paths of the entries will be verified to be limited to relative paths that cannot traverse upwards in the file system. True by default.
Creates a new instance of the class.
The stream that contains the archive.
Creates a new instance of the class.
The stream that contains the archive.
The encoding to use when reading or writing entry names in this archive. Specify a value for this parameter
only when an encoding is required for interoperability with zip archive tools and libraries that do not support UTF-8 encoding for entry names.
Creates a new instance of the class.
The stream that contains the archive.
The encoding to use when reading or writing entry names in this archive. Specify a value for this parameter
only when an encoding is required for interoperability with zip archive tools and libraries that do not support UTF-8 encoding for entry names.
Compression settings.
Encryption settings.
A value indicating whether the paths of the entries will be verified to be limited to relative paths that cannot traverse upwards in the file system. True by default.
Opens an existing archive for update and returns a new instance of the class.
The stream that contains the archive to be read.
Opens an existing archive for update and returns a new instance of the class.
The stream that contains the archive to be read.
The encoding to use when reading or writing entry names in this archive. Specify a value for this parameter
only when an encoding is required for interoperability with zip archive tools and libraries that do not support UTF-8 encoding for entry names.
Opens an existing archive for update and returns a new instance of the class.
The stream that contains the archive to be read.
The encoding to use when reading or writing entry names in this archive. Specify a value for this parameter
only when an encoding is required for interoperability with zip archive tools and libraries that do not support UTF-8 encoding for entry names.
Compression settings.
Decryption settings.
A value indicating whether the paths of the entries will be verified to be limited to relative paths that cannot traverse upwards in the file system. True by default.
Creates an empty entry that has the specified path and entry name in the zip archive.
A path, relative to the root of the archive, that specifies the name of the entry to be created.
An empty entry in the zip archive.
The entry name is empty.
The entry name is null.
The zip archive does not support writing.
The zip archive has been disposed.
Creates an empty entry that has the specified path and entry name in the zip archive.
A path, relative to the root of the archive, that specifies the name of the entry to be created.
Compression settings.
An empty entry in the zip archive.
The entry name is empty.
The entry name is null.
The zip archive does not support writing.
The zip archive has been disposed.
Releases the resources used by the current instance of the ZipArchive class.
Retrieves a wrapper for the specified entry in the zip archive.
A path, relative to the root of the archive, that identifies the entry to retrieve.
A wrapper for the specified entry in the archive; null if the entry does not exist in the archive.
The entry name is empty.
The entry name is null.
The zip archive does not support reading.
The zip archive has been disposed.
The zip archive is corrupt, and its entries cannot be retrieved.
Release the unmanaged resources used by the current instance of the ZipArchive class.
True to leave the stream open after the ZipArchive object is disposed; otherwise, false.
Called by the Dispose() and Finalize() methods to release the unmanaged
resources used by the current instance of the ZipArchive class, and optionally
finishes writing the archive and releases the managed resources.
True to finish writing the archive and release unmanaged and managed resources;
false to release only unmanaged resources.
Dispose streams.
Writes archive to the original stream.
Represents a compressed file within a zip archive.
Track whether Dispose has been called.
Initializes a new instance of the ZipArchiveEntry class.
Zip archive.
Central directory header correspondent to this entry.
Occurs when a property value changes.
The zip archive that the entry belongs to, or null if the entry has been deleted.
Gets compressed size of the entry in the zip archive.
Gets or sets external file attributes.
Gets the relative path of the entry in the zip archive.
Gets or sets the last time the entry in the zip archive was changed.
Gets the uncompressed size of the entry in the zip archive.
Gets the file name of the entry in the zip archive.
Gets or sets compression method.
Gets or sets offset of the compressed data.
Gets disk start number.
Gets or sets offset of the local header.
Gets temporary stream which contains uncompressed data for update.
Deletes the entry from the zip archive.
The entry is already open for reading or writing.
The zip archive for this entry was opened in a mode other than Update.
The zip archive for this entry has been disposed.
Releases the resources used by the current instance of the ZipArchiveEntry class.
Opens the entry from the zip archive.
The stream that represents the contents of the entry.
The resulting stream depends on the zip archive mode.
If zip archive mode is then read-only stream without seeking support is returned ().
If zip archive mode is then write-only stream without seeking support is returned ().
If zip archive mode is then read/write stream which supports seeking is returned.
The entry is already currently open for writing.
-or-
The entry has been deleted from the archive.
-or-
The archive for this entry was opened with the Create mode, and this entry has already been written to.
The entry is either missing from the archive or is corrupt and cannot be read.
-or-
The entry has been compressed by using a compression method that is not supported.
The zip archive for this entry has been disposed.
Checks entry integrity.
Message will be thrown if entry don't pass integrity check.
True - if entry is OK; false - otherwise.
Writes central directory header.
Called by the Dispose() and Finalize() methods to release the unmanaged
resources used by the current instance of the ZipArchive class, and optionally
finishes writing the archive and releases the managed resources.
True to finish writing the archive and release unmanaged and managed resources;
false to release only unmanaged resources.
Defines how a ZIP archive is accessed: creating new entries, reading existing ones, or updating content in place.
Allows only adding new entries to a new archive; existing content cannot be read or modified.
Permits read-only access to existing entries without modification.
Supports reading existing entries and creating, deleting, or overwriting entries within the archive.
Provides common internal static methods.
Copy specified number of bytes from one stream to another.
Input stream.
Output stream.
Number of bytes to copy.
Converts .NET DateTime structure to the MS-DOS date-time.
DateTime structure to convert.
Packed date-time.
Gets compression algorithm which corresponds to the given compression settings.
Compression settings to get algorithm for.
Compression algorithm.
Compression method is not supported.
Gets compression settings for the specified compression method.
Compression method to get settings for.
Base settings to copy parameters from.
Compression settings.
Compression method is not supported.
Detect whether the given path string ends with directory separator char (i.e. given path represents directory).
Path string.
True if path string ends with directory separator char; otherwise - false.
Gets value which indicates whether specified compression method is supported.
Compression method to check.
True - if compression method is supported; false - otherwise.
Converts MS-DOS date-time to the .NET DateTime structure.
Packed date-time to convert.
DataTime structure.
Read specified number of bytes from the given stream to the buffer.
Stream to read data from.
Buffer to write data to.
Number of bytes to read.
Seek given stream backward to the data signature.
Stream to seek.
Signature to find.
true if signature is found, otherwise false.
Represents central directory header record described in the
ZIP File Format Specification v6.3.3, #4.3.12.
Central directory header signature.
Size of the data block without signature and variable size fields.
Gets or sets byte which indicates the ZIP specification version
supported by the software used to encode the file.
Gets or sets byte which indicates the compatibility
of the file attribute information.
Gets or sets disk number start.
Gets or sets internal file attributes.
Gets or sets external file attributes.
Gets or sets relative offset of local header.
Gets or sets file comment.
Read data from the binary reader.
Binary reader to read data from.
True if success, otherwise false.
Write data to the binary writer.
Binary writer to write data to.
Represents data descriptor record described in the
ZIP File Format Specification v6.3.3, #4.3.9.
Data descriptor header signature.
Size of the data block without signature and variable size fields.
Gets or sets compressed size.
Gets or sets uncompressed size.
Read data from the binary reader.
Binary reader to read data from.
True if success, otherwise false.
Write data to the binary writer.
Binary writer to write data to.
Copy properties from the given file header to this object.
File header to copy properties from.
Represents base fields of data descriptor record described in the
ZIP File Format Specification v6.3.3, #4.3.9.
Gets or sets crc-32.
Gets or sets compressed size.
Gets or sets uncompressed size.
Read data from the binary reader.
Binary reader to read data from.
Read data from the binary reader.
Binary reader to read data from.
Write data to the binary writer.
Binary writer to write data to.
Represents general purpose bit flag for Methods 8 and 9 - Deflating
ZIP File Format Specification v6.3.3, #4.4.4.
Bit 2 Bit 1
0 0 Normal (-en) compression option was used.
Bit 2 Bit 1
0 1 Maximum (-exx/-ex) compression option was used.
Bit 2 Bit 1
1 0 Fast (-ef) compression option was used.
Bit 2 Bit 1
1 1 Super Fast (-es) compression option was used.
Represents end of central directory record described in the
ZIP File Format Specification v6.3.3, #4.3.16.
End of central directory signature.
Size of the data block without signature and variable size fields.
Gets or sets number of this disk.
Gets or sets number of the disk with the start of the central directory.
Gets or sets total number of entries in the central directory on this disk.
Gets or sets total number of entries in the central directory.
Gets or sets size of the central directory.
Gets or sets offset of start of central directory with respect to the starting disk number.
Gets or sets .ZIP file comment.
Read data from the binary reader.
Binary reader to read data from.
true if success, otherwise false.
Write data to the binary writer.
Binary writer to write data to.
Represents base class for extra field described in the
ZIP File Format Specification v6.3.3, #4.5.2.
Gets or sets vendor version for this record.
Gets or sets signature (AE).
Gets or sets bit length of encryption key.
1 - 128-bit , 2 - 192-bit , 3 - 256-bit.
Gets or sets method.
Gets extra field type (Header ID).
Gets extra field data.
Byte array of extra field data.
Implements parsing of extra field data.
Extra field data.
Represents base class for extra field described in the
ZIP File Format Specification v6.3.3, #4.5.2.
Gets known extra field type.
Gets extra field type (Header ID).
Gets extra field collection.
The header info.
IEnumerable of ExtraFieldBase instances.
Gets extra field data.
Extra field collection.
Extra field data.
Should implement parsing of extra field data.
Extra field data.
Gets extra field data.
Byte array of extra field data.
Represents extra field type (Header ID) described in the
ZIP File Format Specification v6.3.3, #4.5.2.
Unknown extra field type.
Zip64 extra field type.
Ntfs extra field type.
StrongEncryption extra field type.
UnixTime extra field type.
AesEncryption extra field type.
Represents strong encryption extra field described in the
ZIP File Format Specification v6.3.3, #4.5.12.
Gets or sets format definition for this record.
Gets or sets encryption algorithm identifier.
Gets or sets bit length of encryption key.
Gets or sets processing flags.
Gets extra field type (Header ID).
Gets extra field data.
Byte array of extra field data.
Implements parsing of extra field data.
Extra field data.
Represents base class for extra field described in the
ZIP File Format Specification v6.3.3, #4.5.2.
Initializes a new instance of the UnknownExtraField class.
Header Id.
Gets extra field type (Header ID).
Gets or sets extra field data.
Gets extra field data.
Byte array of extra field data.
Implements parsing of extra field data.
Extra field data.
Represents Zip64 Extended Information Extra Field described in the
ZIP File Format Specification v6.3.3, #4.5.3.
Gets or sets original uncompressed file size.
Gets or sets size of compressed data.
Gets or sets offset of local header record.
Gets or sets number of the disk on which this file starts.
Gets extra field type (Header ID).
Gets extra field data.
Byte array of extra field data.
Implements parsing of extra field data.
Extra field data.
Represents file header base class for
the local file header and central directory header
which are described in the ZIP File Format Specification v6.3.3, #4.3.7 and #4.3.12.
Gets or sets version needed to extract.
Gets or sets general purpose bit flag.
Gets or sets compression method.
Gets or sets last modification file date and time.
Gets or sets file name.
Gets or sets extra fields data.
The extra fields data.
Gets or sets list of extra fields.
Copy properties from the given file header to this object.
File header to copy properties from.
Read data from the binary reader.
Binary reader to read data from.
Read data from the binary reader.
Binary reader to read data from.
Write data to the binary writer.
Binary writer to write data to.
Write data to the binary writer.
Binary writer to write data to.
Represents general purpose bit flag in the
ZIP File Format Specification v6.3.3, #4.4.4.
Bit 0: If set, indicates that the file is encrypted.
Bit 3: If this bit is set, the fields crc-32, compressed
size and uncompressed size are set to zero in the
local header. The correct values are put in the
data descriptor immediately following the compressed
data.
Note: PKZIP version 2.04g for DOS only
recognizes this bit for method 8 compression, newer
versions of PKZIP recognize this bit for any
compression method.
Bit 4: Reserved for use with method 8, for enhanced
deflating.
Bit 5: If this bit is set, this indicates that the file is
compressed patched data.
Note: Requires PKZIP version 2.70 or greater.
Bit 6: Strong encryption. If this bit is set, you MUST
set the version needed to extract value to at least
50 and you MUST also set bit 0. If AES encryption
is used, the version needed to extract value MUST
be at least 51. See the section describing the Strong
Encryption Specification for details. Refer to the
section in this document entitled "Incorporating PKWARE
Proprietary Technology into Your Product" for more
information.
Bit 11: Language encoding flag (EFS). If this bit is set,
the filename and comment fields for this file
MUST be encoded using UTF-8 (see APPENDIX D).
Bit 13: Set when encrypting the Central Directory to indicate
selected data values in the Local Header are masked to
hide their actual values. See the section describing
the Strong Encryption Specification for details. Refer
to the section in this document entitled "Incorporating
PKWARE Proprietary Technology into Your Product" for
more information.
Represents general purpose bit flag for the Method 6 - Imploding
ZIP File Format Specification v6.3.3, #4.4.4.
For Method 6 - Imploding.
Bit 1: If the compression method used was type 6,
Imploding, then this bit, if set, indicates
an 8K sliding dictionary was used. If clear,
then a 4K sliding dictionary was used.
For Method 6 - Imploding.
Bit 2: If the compression method used was type 6,
Imploding, then this bit, if set, indicates
3 Shannon-Fano trees were used to encode the
sliding dictionary output. If clear, then 2
Shannon-Fano trees were used.
Represents local file header record described in the
ZIP File Format Specification v6.3.3, #4.3.7.
Local file header signature.
Size of the data block without signature and variable size fields.
Initializes a new instance of the LocalFileHeader class.
Initializes a new instance of the LocalFileHeader class.
File header to copy properties from.
Read data from the binary reader.
Binary reader to read data from.
True if success, otherwise false.
Write data to the binary writer.
Binary writer to write data to.
Represents general purpose bit flag for the Method 14 - LZMA
ZIP File Format Specification v6.3.3, #4.4.4.
Bit 1: If the compression method used was type 14,
LZMA, then this bit, if set, indicates
an end-of-stream (EOS) marker is used to
mark the end of the compressed data stream.
If clear, then an EOS marker is not present
and the compressed data size must be known
to extract.
Version needed to extract.