/// <summary>
        /// Decompresses array of bytes.
        /// </summary>
        /// <param name="dest">destination bytes array</param>
        /// <param name="source">original bytes array</param>
        /// <param name="quality"><see cref="ZLibQuality"/> of compression.</param>
        /// <returns>Has the operation been successfull?</returns>
        public static ZLibError Zip(byte[] dest, byte[] source, ZLibQuality quality = ZLibQuality.Default)
        {
            // get the size of the destination array
            int destLength = dest.Length;

            // execute the decompress
            return(Zip(dest, ref destLength, source, source.Length, quality));
        }
Example #2
0
 public static unsafe ZLibError Pack(Span <byte> dest, ref ulong destLength, ReadOnlySpan <byte> source, ulong sourceLength,
                                     ZLibQuality quality)
 {
     fixed(byte *dPtr = &MemoryMarshal.GetReference(dest), sPtr = &MemoryMarshal.GetReference(source))
     {
         return(Compressor.Compress(Unsafe.AsRef <int>(dPtr), ref destLength, Unsafe.AsRef <int>(sPtr), sourceLength, quality));
     }
 }
Example #3
0
            public ZLibError Compress
                (byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality)
            {
                long      destLengthLong = destLength;
                ZLibError z = SafeNativeMethods.compress2(dest, ref destLengthLong, source, sourceLength, quality);

                destLength = (int)destLengthLong;

                return(z);
            }
Example #4
0
        public static unsafe ZLibError Pack(Span <byte> dest, ref int destLength, ReadOnlySpan <byte> source, int sourceLength,
                                            ZLibQuality quality)
        {
            var destLengthLong = (ulong)destLength;

            fixed(byte *dPtr = &MemoryMarshal.GetReference(dest), sPtr = &MemoryMarshal.GetReference(source))
            {
                var e = Compressor.Compress(Unsafe.AsRef <int>(dPtr), ref destLengthLong, Unsafe.AsRef <int>(sPtr),
                                            (ulong)sourceLength, quality);

                destLength = (int)destLengthLong;
                return(e);
            }
        }
Example #5
0
        public ZLibError Compress(Stream inStream, Stream outStream, ref int outLength, ZLibQuality quality)
        {
            ZOutputStream outZStream = new ZOutputStream(outStream, (int)quality);

            outZStream.FlushMode = zlibConst.Z_FULL_FLUSH;

            try
            {
                CopyStream(inStream, outZStream);
                outZStream.Flush();
                outStream.Flush();
                outLength = (int)outStream.Position;
            }
            // TODO: Catch exceptions, return error codes
            //catch (ZStreamException)
            //{
            //    return ZLibError.StreamError;
            //}
            finally
            {
                outZStream.Close();
                inStream.Close();
            }

            return(ZLibError.Okay);
        }
Example #6
0
 public ZLibError Compress(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality)
 {
     using (MemoryStream msOut = new MemoryStream(dest, true))
         using (MemoryStream msIn = new MemoryStream(source, 0, sourceLength, false))
             return(Compress(msIn, msOut, ref destLength, quality));
 }
Example #7
0
 public ZLibError Compress(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality)
 {
     ulong destLengthLong = (ulong)destLength;
     ZLibError z = compress2(dest, ref destLengthLong, source, sourceLength, quality);
     destLength = (int)destLengthLong;
     return z;
 }
Example #8
0
 public static ZLibError Pack(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality)
 {
     return Compressor.Compress(dest, ref destLength, source, sourceLength, quality);
 }
Example #9
0
 public ZLibError Compress(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality)
 {
     return(compress2(dest, ref destLength, source, sourceLength, quality));
 }
Example #10
0
        public ZLibError Compress(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality)
        {
            ulong     destLengthLong = (ulong)destLength;
            ZLibError z = compress2(dest, ref destLengthLong, source, sourceLength, quality);

            destLength = (int)destLengthLong;
            return(z);
        }
Example #11
0
        /// <summary>
        /// Compresses array of bytes.
        /// </summary>
        /// <param name="dest">Destination byte array.</param>
        /// <param name="destLength">Destination length (Sets it).</param>
        /// <param name="source">Source byte array.</param>
        /// <param name="sourceLength">Source length.</param>
        /// <param name="quality"><see cref="ZLibQuality"/> of compression.</param>
        /// <returns><see cref="ZLibError.Okay"/> if okay.</returns>
        public static ZLibError Compress(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality)
        {
            if (Environment.Is64BitProcess)
            {
                try
                {
                    return(compress64(dest, ref destLength, source, sourceLength, quality));
                }
                catch
                {
                    throw new ArgumentException("DLLNotFoundException: Move Zlib32.dll and Zlib64.dll to output directory (same folder as UoFiddler application) after you compile.");
                }
            }

            return(compress(dest, ref destLength, source, sourceLength, quality));
        }
 /// <summary>
 /// Compresses array of bytes.
 /// </summary>
 /// <param name="dest">Destination byte array.</param>
 /// <param name="destLength">Destination length (Sets it).</param>
 /// <param name="source">Source byte array.</param>
 /// <param name="sourceLength">Source length.</param>
 /// <param name="quality"><see cref="ZLibQuality"/> of compression.</param>
 /// <returns><see cref="ZLibError.Okay"/> if okay.</returns>
 public static ZLibError Zip(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality = ZLibQuality.Default)
 {
     // is the compress request at default quality?
     if (quality == ZLibQuality.Default)
     {
         // use the 32/64bit dll to compress
         return(Environment.Is64BitProcess
             ? Compress64(dest, ref destLength, source, sourceLength)
             : Compress(dest, ref destLength, source, sourceLength));
     }
     else // quality specified?
     {
         // use the 32/64bit dll to compress
         return(Environment.Is64BitProcess
             ? Compress64(dest, ref destLength, source, sourceLength, quality)
             : Compress(dest, ref destLength, source, sourceLength, quality));
     }
 }
 /// <summary>
 /// Decompresses array of bytes.
 /// </summary>
 /// <param name="dest">destination bytes array</param>
 /// /// <param name="destLength">Destination length (Sets it).</param>
 /// <param name="source">original bytes array</param>
 /// <param name="quality"><see cref="ZLibQuality"/> of compression.</param>
 /// <returns>Has the operation been successfull?</returns>
 public static ZLibError Zip(byte[] dest, ref int destLength, byte[] source, ZLibQuality quality = ZLibQuality.Default)
 {
     // execute the decompress
     return(Zip(dest, ref destLength, source, source.Length, quality));
 }
 private static extern ZLibError Compress64(byte[] dest, ref int destLen, byte[] source, int sourceLen, ZLibQuality quality);
Example #15
0
			internal static extern ZLibError compress2(
				byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality);
Example #16
0
 internal static extern ZLibError compress2(byte[] dest, ref long destLength, byte[] source, long sourceLength, ZLibQuality quality);
Example #17
0
 private static extern unsafe ZLibError _Compress64(byte[] dest, ref Int32 destLenght, byte[] source, Int32 sourceLenght, ZLibQuality quality);
Example #18
0
 public static ZLibError Pack(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality)
 {
     return(Compressor.Compress(dest, ref destLength, source, sourceLength, quality));
 }
Example #19
0
        /// <summary>
        /// Compresses array of bytes.
        /// </summary>
        /// <param name="dest">Destination byte array.</param>
        /// <param name="destLength">Destination length (Sets it).</param>
        /// <param name="source">Source byte array.</param>
        /// <param name="sourceLength">Source length.</param>
        /// <param name="quality"><see cref="ZLibQuality"/> of compression.</param>
        /// <returns><see cref="ZLibError.Okay"/> if okay.</returns>
        public static ZLibError Compress(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality)
        {
            if (Environment.Is64BitProcess)
            {
                return(compress64(dest, ref destLength, source, sourceLength, quality));
            }

            return(compress(dest, ref destLength, source, sourceLength, quality));
        }
Example #20
0
 private static extern ZLibError compress2(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality);
Example #21
0
 public ZLibError Compress(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality)
 {
     return SafeNativeMethods.compress2(dest, ref destLength, source, sourceLength, quality);
 }
Example #22
0
 public ZLibError Compress(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality)
 {
     return compress2(dest, ref destLength, source, sourceLength, quality);
 }
Example #23
0
        /// <summary>
        /// Compresses array of bytes.
        /// </summary>
        /// <param name="dest">Destination byte array.</param>
        /// <param name="destLength">Destination length (Sets it).</param>
        /// <param name="source">Source byte array.</param>
        /// <param name="sourceLength">Source length.</param>
        /// <param name="quality"><see cref="ZLibQuality"/> of compression.</param>
        /// <returns><see cref="ZLibError.Okay"/> if okay.</returns>
        public static ZLibError Compress(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibQuality quality)
        {
            if (SystemInfo.IsX64)
            {
                return(compress64(dest, ref destLength, source, sourceLength, quality));
            }

            return(compress(dest, ref destLength, source, sourceLength, quality));
        }
Example #24
0
 private static extern ZLibError compress2(byte[] dest, ref ulong destLength, byte[] source, int sourceLength, ZLibQuality quality);
Example #25
0
 private static extern unsafe ZLibError _Compress64(byte[] dest, ref Int32 destLenght, byte[] source, Int32 sourceLenght, ZLibQuality quality);