#ifndef _APACHE_MULTIPART_BUFFER_H #define _APACHE_MULTIPART_BUFFER_H #include "apache_request.h" /*#define DEBUG 1*/ #define FILLUNIT (1024 * 5) #define MPB_ERROR APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, self->r #ifdef __cplusplus extern "C" { #endif typedef struct { /* request info */ request_rec *r; long request_length; /* read buffer */ char *buffer; char *buf_begin; int bufsize; int bytes_in_buffer; /* boundary info */ char *boundary; char *boundary_next; char *boundary_end; } multipart_buffer; multipart_buffer * multipart_buffer_new(char *boundary, long length, request_rec *r); table *multipart_buffer_headers(multipart_buffer *self); int multipart_buffer_read(multipart_buffer *self, char *buf, int bytes); char *multipart_buffer_read_body(multipart_buffer *self); int multipart_buffer_eof(multipart_buffer *self); #ifdef __cplusplus } #endif #endif