00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXUTIL_HTTP_CHUNKED_STREAM_H
00020 #define AXUTIL_HTTP_CHUNKED_STREAM_H
00021
00034 #include <axutil_env.h>
00035 #include <axutil_stream.h>
00036
00037 #ifdef __cplusplus
00038 extern "C"
00039 {
00040 #endif
00041
00043 typedef struct axutil_http_chunked_stream axutil_http_chunked_stream_t;
00044
00045 struct axis2_callback_info
00046 {
00047 const axutil_env_t *env;
00048 void *in_stream;
00049 int content_length;
00050 int unread_len;
00051 axutil_http_chunked_stream_t *chunked_stream;
00052 };
00053 typedef struct axis2_callback_info axis2_callback_info_t;
00054
00055
00062 AXIS2_EXTERN int AXIS2_CALL
00063 axutil_http_chunked_stream_read(
00064 axutil_http_chunked_stream_t * chunked_stream,
00065 const axutil_env_t * env,
00066 void *buffer,
00067 size_t count);
00068
00074 AXIS2_EXTERN int AXIS2_CALL
00075 axutil_http_chunked_stream_write(
00076 axutil_http_chunked_stream_t * chunked_stream,
00077 const axutil_env_t * env,
00078 const void *buffer,
00079 size_t count);
00080
00085 AXIS2_EXTERN int AXIS2_CALL
00086
00087 axutil_http_chunked_stream_get_current_chunk_size(
00088 const axutil_http_chunked_stream_t * chunked_stream,
00089 const axutil_env_t * env);
00090
00096 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00097
00098 axutil_http_chunked_stream_write_last_chunk(
00099 axutil_http_chunked_stream_t * chunked_stream,
00100 const axutil_env_t * env);
00101
00107 AXIS2_EXTERN void AXIS2_CALL
00108 axutil_http_chunked_stream_free(
00109 axutil_http_chunked_stream_t * chunked_stream,
00110 const axutil_env_t * env);
00111
00116 AXIS2_EXTERN axutil_http_chunked_stream_t *AXIS2_CALL
00117
00118 axutil_http_chunked_stream_create(
00119 const axutil_env_t * env,
00120 axutil_stream_t * stream);
00121
00122 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00123 axutil_http_chunked_stream_get_end_of_chunks(
00124 axutil_http_chunked_stream_t * chunked_stream,
00125 const axutil_env_t * env);
00126
00127
00129 #ifdef __cplusplus
00130 }
00131 #endif
00132 #endif