CLEANUP: use struct comp_ctx instead of union

Replace union comp_ctx by struct comp_ctx.

Use struct comp_ctx * in the init/add_data/flush/reset/end prototypes of
compression.h functions.
diff --git a/include/proto/compression.h b/include/proto/compression.h
index 6f1a26a..fa4c7b7 100644
--- a/include/proto/compression.h
+++ b/include/proto/compression.h
@@ -33,26 +33,26 @@
 int http_compression_buffer_add_data(struct session *s, struct buffer *in, struct buffer *out);
 int http_compression_buffer_end(struct session *s, struct buffer **in, struct buffer **out, int end);
 
-int identity_init(void *v, int level);
-int identity_add_data(void *v, const char *in_data, int in_len, char *out_data, int out_len);
-int identity_flush(void *comp_ctx, struct buffer *out, int flag);
-int identity_reset(void *comp_ctx);
-int identity_end(void *comp_ctx);
+int identity_init(struct comp_ctx *comp_ctx, int level);
+int identity_add_data(struct comp_ctx *comp_ctx, const char *in_data, int in_len, char *out_data, int out_len);
+int identity_flush(struct comp_ctx *comp_ctx, struct buffer *out, int flag);
+int identity_reset(struct comp_ctx *comp_ctx);
+int identity_end(struct comp_ctx *comp_ctx);
 
 
 #ifdef USE_ZLIB
 
-int deflate_init(void *comp_ctx, int level);
-int deflate_add_data(void *v, const char *in_data, int in_len, char *out_data, int out_len);
-int deflate_flush(void *comp_ctx, struct buffer *out, int flag);
-int deflate_reset(void *comp_ctx);
-int deflate_end(void *comp_ctx);
+int deflate_init(struct comp_ctx *comp_ctx, int level);
+int deflate_add_data(struct comp_ctx *comp_ctx, const char *in_data, int in_len, char *out_data, int out_len);
+int deflate_flush(struct comp_ctx *comp_ctx, struct buffer *out, int flag);
+int deflate_reset(struct comp_ctx *comp_ctx);
+int deflate_end(struct comp_ctx *comp_ctx);
 
-int gzip_init(void *comp_ctx, int level);
-int gzip_add_data(void *v, const char *in_data, int in_len, char *out_data, int out_len);
-int gzip_flush(void *comp_ctx, struct buffer *out, int flag);
-int gzip_reset(void *comp_ctx);
-int gzip_end(void *comp_ctx);
+int gzip_init(struct comp_ctx *comp_ctx, int level);
+int gzip_add_data(struct comp_ctx *comp_ctx, const char *in_data, int in_len, char *out_data, int out_len);
+int gzip_flush(struct comp_ctx *comp_ctx, struct buffer *out, int flag);
+int gzip_reset(struct comp_ctx *comp_ctx);
+int gzip_end(struct comp_ctx *comp_ctx);
 
 #endif /* USE_ZLIB */
 
diff --git a/include/types/compression.h b/include/types/compression.h
index 10ac4b1..dfff2f9 100644
--- a/include/types/compression.h
+++ b/include/types/compression.h
@@ -31,21 +31,21 @@
 	unsigned int offload;
 };
 
+struct comp_ctx {
+	z_stream strm; /* zlib stream */
+};
+
 struct comp_algo {
 	char *name;
 	int name_len;
-	int (*init)(void *, int);
-	int (*add_data)(void *v, const char *in_data, int in_len, char *out_data, int out_len);
-	int (*flush)(void *v, struct buffer *out, int flag);
-	int (*reset)(void *v);
-	int (*end)(void *v);
+	int (*init)(struct comp_ctx *comp_ctx, int);
+	int (*add_data)(struct comp_ctx *comp_ctx, const char *in_data, int in_len, char *out_data, int out_len);
+	int (*flush)(struct comp_ctx *comp_ctx, struct buffer *out, int flag);
+	int (*reset)(struct comp_ctx *comp_ctx);
+	int (*end)(struct comp_ctx *comp_ctx);
 	struct comp_algo *next;
 };
 
-union comp_ctx {
-	z_stream strm; /* zlib */
-};
-
 struct comp_type {
 	char *name;
 	int name_len;
diff --git a/include/types/session.h b/include/types/session.h
index 4726a19..5546be8 100644
--- a/include/types/session.h
+++ b/include/types/session.h
@@ -156,8 +156,8 @@
 	void (*srv_error)(struct session *s,	/* the function to call upon unrecoverable server errors (or NULL) */
 			  struct stream_interface *si);
 	unsigned int uniq_id;			/* unique ID used for the traces */
+	struct comp_ctx comp_ctx;		/* HTTP compression context */
 	struct comp_algo *comp_algo;		/* HTTP compression algorithm if not NULL */
-	union comp_ctx comp_ctx;		/* HTTP compression context */
 	char *unique_id;			/* custom unique ID */
 };