Define COMP method function prototypes properly.
authorRichard Levitte <levitte@openssl.org>
Fri, 21 Mar 2003 00:05:14 +0000 (00:05 +0000)
committerRichard Levitte <levitte@openssl.org>
Fri, 21 Mar 2003 00:05:14 +0000 (00:05 +0000)
crypto/comp/comp.h

index ab48b78..5d59354 100644 (file)
@@ -8,19 +8,26 @@
 extern "C" {
 #endif
 
+typedef struct comp_ctx_st COMP_CTX;
+
 typedef struct comp_method_st
        {
        int type;               /* NID for compression library */
        const char *name;       /* A text string to identify the library */
-       int (*init)();
-       void (*finish)();
-       int (*compress)();
-       int (*expand)();
-       long (*ctrl)();
-       long (*callback_ctrl)();
+       int (*init)(COMP_CTX *ctx);
+       void (*finish)(COMP_CTX *ctx);
+       int (*compress)(COMP_CTX *ctx,
+                       unsigned char *out, unsigned int olen,
+                       unsigned char *in, unsigned int ilen);
+       int (*expand)(COMP_CTX *ctx,
+                     unsigned char *out, unsigned int olen,
+                     unsigned char *in, unsigned int ilen);
+       /* The following two do NOTHING, but are kept for backward compatibility */
+       long (*ctrl)(void);
+       long (*callback_ctrl)(void);
        } COMP_METHOD;
 
-typedef struct comp_ctx_st
+struct comp_ctx_st
        {
        COMP_METHOD *meth;
        unsigned long compress_in;
@@ -29,7 +36,7 @@ typedef struct comp_ctx_st
        unsigned long expand_out;
 
        CRYPTO_EX_DATA  ex_data;
-       } COMP_CTX;
+       };
 
 
 COMP_CTX *COMP_CTX_new(COMP_METHOD *meth);