Example #1
0
 /// <summary>
 /// Ends an inflation session. 
 /// </summary>
 /// <remarks>
 /// Call this after successively calling Inflate().  This will cause all buffers to be flushed. 
 /// After calling this you cannot call Inflate() without a intervening call to one of the
 /// InitializeInflate() overloads.
 /// </remarks>
 /// <returns>Z_OK if everything goes well.</returns>
 internal int EndInflate()
 {
     if (istate == null)
         throw new ZlibException("No Inflate State!");
     int ret = istate.End();
     istate = null;
     return ret;
 }
Example #2
0
 /// <summary>
 /// Initialize the inflation state with an explicit flag to govern the handling of
 /// RFC1950 header bytes. 
 /// </summary>
 ///
 /// <remarks>
 /// If you want to read a zlib stream you should specify true for
 /// expectRfc1950Header. In this case, the library will expect to find a ZLIB
 /// header, as defined in <see href="http://www.ietf.org/rfc/rfc1950.txt">RFC
 /// 1950</see>, in the compressed stream.  If you will be reading a DEFLATE or
 /// GZIP stream, which does not have such a header, you will want to specify
 /// false.
 /// </remarks>
 ///
 /// <param name="expectRfc1950Header">whether to expect an RFC1950 header byte pair when reading 
 /// the stream of data to be inflated.</param>
 /// <param name="windowBits">The number of window bits to use. If you need to ask what that is, 
 /// then you shouldn't be calling this initializer.</param>
 /// <returns>Z_OK if everything goes well.</returns>
 internal int InitializeInflate(int windowBits, bool expectRfc1950Header)
 {
     this.WindowBits = windowBits;
     if (dstate != null) throw new ZlibException("You may not call InitializeInflate() after calling InitializeDeflate().");
     istate = new InflateManager(expectRfc1950Header);
     return istate.Initialize(this, windowBits);
 }