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 */
 };
 
