blob: 00a4447aaed5231fd2656abf4fefe05559f970f4 [file] [log] [blame]
David Galeano85a09212013-01-09 18:21:33 +08001
2#include <zlib.h>
3
David Galeanoed3bc902013-01-10 10:24:32 +08004#define DEFLATE_FRAME_COMPRESSION_LEVEL_SERVER 1
5#define DEFLATE_FRAME_COMPRESSION_LEVEL_CLIENT Z_DEFAULT_COMPRESSION
David Galeano85a09212013-01-09 18:21:33 +08006
7struct lws_ext_deflate_frame_conn {
8 z_stream zs_in;
9 z_stream zs_out;
David Galeano1aad8812013-01-10 10:18:17 +080010 size_t buf_pre_used;
11 size_t buf_pre_length;
12 size_t buf_in_length;
13 size_t buf_out_length;
David Galeano85a09212013-01-09 18:21:33 +080014 int compressed_out;
David Galeano2605ffe2013-01-10 09:41:06 +080015 unsigned char *buf_pre;
David Galeano85a09212013-01-09 18:21:33 +080016 unsigned char *buf_in;
17 unsigned char *buf_out;
18};
19
20extern int lws_extension_callback_deflate_frame(
21 struct libwebsocket_context *context,
22 struct libwebsocket_extension *ext,
23 struct libwebsocket *wsi,
24 enum libwebsocket_extension_callback_reasons reason,
25 void *user, void *in, size_t len);