         }
 
         /// deflate( strm: z_streamp, flush: Int32 )
-        private func doDeflate( flush: FlushVariation = .NoFlush) -> CInt {
+        private func doDeflate( flush: FlushVariation = .NoFlush) -> Int32 {
             return deflate(&stream, flush.rawValue)
         }
         
         /// deflateBound( strm: z_streamp, sourceLen: uLong )
-        func Bound() -> CUnsignedLong{
+        func Bound() -> UInt{
 //            return deflateBound(&stream, <#T##sourceLen: uLong##uLong#>)
             return 0
         }

        /// zlib.h
        ///
        ///     inflateInit2_( strm: z_streamp, windowBits: Int32, version: UnsafePointer<Int8>, stream_size: Int32 )
        init(windowBits:CInt){
            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 {

        }

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

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

