]> mj.ucw.cz Git - libucw.git/blobdiff - lib/lizard.h
Updated all users of the timer interface to pass an explicit timer context.
[libucw.git] / lib / lizard.h
index fc3631ac1103f829263fced390c8281a3cffba8b..aa616515b21ad0d418a1d66de3015b5b104d346e 100644 (file)
@@ -7,6 +7,9 @@
  *     of the GNU Lesser General Public License.
  */
 
  *     of the GNU Lesser General Public License.
  */
 
+#ifndef _UCW_LIZARD_H
+#define _UCW_LIZARD_H
+
 #define        LIZARD_NEEDS_CHARS      8
   /* The compression routine needs input buffer 8 characters longer, because it
    * does not check the input bounds all the time.  */
 #define        LIZARD_NEEDS_CHARS      8
   /* The compression routine needs input buffer 8 characters longer, because it
    * does not check the input bounds all the time.  */
@@ -20,7 +23,7 @@
    * The multiplicative constant comes from 19-byte incompressible string
    * followed by a 3-sequence that can be compressed into 2-byte link.  This
    * breaks the copy-mode and it needs to be restarted with a new header.  The
    * The multiplicative constant comes from 19-byte incompressible string
    * followed by a 3-sequence that can be compressed into 2-byte link.  This
    * breaks the copy-mode and it needs to be restarted with a new header.  The
-   * total length is 2(header) + 2(link) + 19(string) = 23.
+   * total length is 2(header) + 19(string) + 2(link) = 23.
    */
 
 /* lizard.c */
    */
 
 /* lizard.c */
@@ -28,13 +31,19 @@ int lizard_compress(byte *in, uns in_len, byte *out);
 int lizard_decompress(byte *in, byte *out);
 
 /* lizard-safe.c */
 int lizard_decompress(byte *in, byte *out);
 
 /* lizard-safe.c */
-struct sigaction;
-struct lizard_buffer {
-  uns len;
-  void *start, *ptr;
-  struct sigaction *old_sigsegv_handler;
-};
-
-struct lizard_buffer *lizard_alloc(uns max_len);
+struct lizard_buffer;
+
+struct lizard_buffer *lizard_alloc(void);
 void lizard_free(struct lizard_buffer *buf);
 void lizard_free(struct lizard_buffer *buf);
-int lizard_decompress_safe(byte *in, struct lizard_buffer *buf, uns expected_length);
+byte *lizard_decompress_safe(byte *in, struct lizard_buffer *buf, uns expected_length);
+
+/* adler32.c */
+uns update_adler32(uns adler, byte *ptr, uns len);
+
+static inline uns
+adler32(byte *buf, uns len)
+{
+  return update_adler32(1, buf, len);
+}
+
+#endif