blob: c404312134df1c9f9e73fca52740bf8eb18683c6 [file] [log] [blame]
#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