diff options
author | Stefan Metzmacher <metze@samba.org> | 2008-07-29 20:01:23 +0000 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2008-08-07 19:15:59 +0200 |
commit | 05235802f7ae8fb1df952d28629dea26af5f1436 (patch) | |
tree | 68000e8b17e2d5e590616d26d71dc6f26108ccfc /source4/lib/zlib/contrib/ada/zlib-thin.adb | |
parent | 8275d511bc3ea79a14a4704b7d914222adc2d321 (diff) | |
download | samba-05235802f7ae8fb1df952d28629dea26af5f1436.tar.gz samba-05235802f7ae8fb1df952d28629dea26af5f1436.tar.bz2 samba-05235802f7ae8fb1df952d28629dea26af5f1436.zip |
import of zlib-1.2.3
We want to use zlib for the mszip ndr (de)compression
later, we'll need to add some new functions to zlib.
metze
(This used to be commit 65c9e91a1bb24851a030a304d011558562cc50d6)
Diffstat (limited to 'source4/lib/zlib/contrib/ada/zlib-thin.adb')
-rw-r--r-- | source4/lib/zlib/contrib/ada/zlib-thin.adb | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/source4/lib/zlib/contrib/ada/zlib-thin.adb b/source4/lib/zlib/contrib/ada/zlib-thin.adb new file mode 100644 index 0000000000..0ca4a71204 --- /dev/null +++ b/source4/lib/zlib/contrib/ada/zlib-thin.adb @@ -0,0 +1,141 @@ +---------------------------------------------------------------- +-- ZLib for Ada thick binding. -- +-- -- +-- Copyright (C) 2002-2003 Dmitriy Anisimkov -- +-- -- +-- Open source license information is in the zlib.ads file. -- +---------------------------------------------------------------- + +-- $Id: zlib-thin.adb,v 1.8 2003/12/14 18:27:31 vagul Exp $ + +package body ZLib.Thin is + + ZLIB_VERSION : constant Chars_Ptr := zlibVersion; + + Z_Stream_Size : constant Int := Z_Stream'Size / System.Storage_Unit; + + -------------- + -- Avail_In -- + -------------- + + function Avail_In (Strm : in Z_Stream) return UInt is + begin + return Strm.Avail_In; + end Avail_In; + + --------------- + -- Avail_Out -- + --------------- + + function Avail_Out (Strm : in Z_Stream) return UInt is + begin + return Strm.Avail_Out; + end Avail_Out; + + ------------------ + -- Deflate_Init -- + ------------------ + + function Deflate_Init + (strm : Z_Streamp; + level : Int; + method : Int; + windowBits : Int; + memLevel : Int; + strategy : Int) + return Int is + begin + return deflateInit2 + (strm, + level, + method, + windowBits, + memLevel, + strategy, + ZLIB_VERSION, + Z_Stream_Size); + end Deflate_Init; + + ------------------ + -- Inflate_Init -- + ------------------ + + function Inflate_Init (strm : Z_Streamp; windowBits : Int) return Int is + begin + return inflateInit2 (strm, windowBits, ZLIB_VERSION, Z_Stream_Size); + end Inflate_Init; + + ------------------------ + -- Last_Error_Message -- + ------------------------ + + function Last_Error_Message (Strm : in Z_Stream) return String is + use Interfaces.C.Strings; + begin + if Strm.msg = Null_Ptr then + return ""; + else + return Value (Strm.msg); + end if; + end Last_Error_Message; + + ------------ + -- Set_In -- + ------------ + + procedure Set_In + (Strm : in out Z_Stream; + Buffer : in Voidp; + Size : in UInt) is + begin + Strm.Next_In := Buffer; + Strm.Avail_In := Size; + end Set_In; + + ------------------ + -- Set_Mem_Func -- + ------------------ + + procedure Set_Mem_Func + (Strm : in out Z_Stream; + Opaque : in Voidp; + Alloc : in alloc_func; + Free : in free_func) is + begin + Strm.opaque := Opaque; + Strm.zalloc := Alloc; + Strm.zfree := Free; + end Set_Mem_Func; + + ------------- + -- Set_Out -- + ------------- + + procedure Set_Out + (Strm : in out Z_Stream; + Buffer : in Voidp; + Size : in UInt) is + begin + Strm.Next_Out := Buffer; + Strm.Avail_Out := Size; + end Set_Out; + + -------------- + -- Total_In -- + -------------- + + function Total_In (Strm : in Z_Stream) return ULong is + begin + return Strm.Total_In; + end Total_In; + + --------------- + -- Total_Out -- + --------------- + + function Total_Out (Strm : in Z_Stream) return ULong is + begin + return Strm.Total_Out; + end Total_Out; + +end ZLib.Thin; |