     }
 
     /// adler32( adler: uLong, buf: UnsafePointer<Bytef>, len: uInt)
-    public static func toAdler32(adler:CUnsignedLong , buffer: Array<UInt8> ) -> CUnsignedLong {
+    public static func toAdler32(adler:UInt , buffer: Array<UInt8> ) -> CUnsignedLong {
         return adler32(adler, buffer, CUnsignedInt(buffer.count))
     }
 
     /// crc32( crc: uLong, buf: UnsafePointer<bytef>, len: uInt )
-    public static func toCrc32(crc:CUnsignedLong, buffer:Array<UInt8> ) -> CUnsignedLong {
+    public static func toCrc32(crc:UInt, buffer:Array<UInt8> ) -> CUnsignedLong {
         return crc32(crc, buffer, CUnsignedInt(buffer.count) )
     }
     

        }

        /// inflateMark( strm: z_streamp )
        func mark() -> CLong{
            return inflateMark(&stream)
        }

        /// inflatePrime( strm: z_streamp, bits: Int32, value: Int32 )
        func prime(bits:CInt, value:PossibleValues){
            let ret = inflatePrime(&stream, bits, value.rawValue)
        }


        /// zlib.h
        ///
        ///     inflateInit2_( strm: z_streamp, windowBits: Int32, version: UnsafePointer<Int8>, stream_size: Int32 )
        init(windowBits:Int32){
            stream = z_stream(next_in: nil, avail_in: 0, total_in: 0, next_out: nil, avail_out: 0, total_out: 0, msg: nil, state: nil, zalloc: nil, zfree: nil, opaque: nil, data_type: 0, adler: 0, reserved: 0)
            let ret = inflateInit2_(&stream, windowBits, ZLIB_VERSION, CInt(sizeof(z_stream)))
            if ret != Z_OK {
