1 /*
2    Compressed HTPT request/response Handling
3    Copyright (C) 2001, Joe Orton <joe@manyfish.co.uk>
4 
5    This library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Library General Public
7    License as published by the Free Software Foundation; either
8    version 2 of the License, or (at your option) any later version.
9 
10    This library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Library General Public License for more details.
14 
15    You should have received a copy of the GNU Library General Public
16    License along with this library; if not, write to the Free
17    Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
18    MA 02111-1307, USA
19 
20 */
21 
22 #ifndef NE_COMPRESS_H
23 #define NE_COMPRESS_H
24 
25 #include "ne_request.h"
26 
27 typedef struct ne_decompress_s ne_decompress;
28 
29 /* Call this to register a 'reader' callback which will be passed
30  * blocks of response body (if the 'acceptance' callback is
31  * successful).  If the response body is returned compressed by the
32  * server, this reader will receive UNCOMPRESSED blocks.
33  *
34  * Returns pointer to context object which must be passed to
35  * ne_decompress_destroy after the request has been dispatched, to
36  * free any internal state.  */
37 ne_decompress *ne_decompress_reader(ne_request *req, ne_accept_response accpt,
38 				    ne_block_reader rdr, void *userdata);
39 
40 /* Free's up internal state. Returns non-zero if errors occured during
41  * decompression: the session error string will have the error. */
42 int ne_decompress_destroy(ne_decompress *ctx);
43 
44 #endif /* NE_COMPRESS_H */
45