summaryrefslogtreecommitdiff
path: root/main/rfc1867.h
diff options
context:
space:
mode:
Diffstat (limited to 'main/rfc1867.h')
-rw-r--r--main/rfc1867.h91
1 files changed, 91 insertions, 0 deletions
diff --git a/main/rfc1867.h b/main/rfc1867.h
new file mode 100644
index 0000000..8a502c4
--- /dev/null
+++ b/main/rfc1867.h
@@ -0,0 +1,91 @@
+/*
+ +----------------------------------------------------------------------+
+ | PHP Version 5 |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 1997-2013 The PHP Group |
+ +----------------------------------------------------------------------+
+ | This source file is subject to version 3.01 of the PHP license, |
+ | that is bundled with this package in the file LICENSE, and is |
+ | available through the world-wide-web at the following url: |
+ | http://www.php.net/license/3_01.txt |
+ | If you did not receive a copy of the PHP license and are unable to |
+ | obtain it through the world-wide-web, please send a note to |
+ | license@php.net so we can mail you a copy immediately. |
+ +----------------------------------------------------------------------+
+ | Author: |
+ +----------------------------------------------------------------------+
+*/
+
+/* $Id$ */
+
+#ifndef RFC1867_H
+#define RFC1867_H
+
+#include "SAPI.h"
+
+#define MULTIPART_CONTENT_TYPE "multipart/form-data"
+#define MULTIPART_EVENT_START 0
+#define MULTIPART_EVENT_FORMDATA 1
+#define MULTIPART_EVENT_FILE_START 2
+#define MULTIPART_EVENT_FILE_DATA 3
+#define MULTIPART_EVENT_FILE_END 4
+#define MULTIPART_EVENT_END 5
+
+typedef struct _multipart_event_start {
+ size_t content_length;
+} multipart_event_start;
+
+typedef struct _multipart_event_formdata {
+ size_t post_bytes_processed;
+ char *name;
+ char **value;
+ size_t length;
+ size_t *newlength;
+} multipart_event_formdata;
+
+typedef struct _multipart_event_file_start {
+ size_t post_bytes_processed;
+ char *name;
+ char **filename;
+} multipart_event_file_start;
+
+typedef struct _multipart_event_file_data {
+ size_t post_bytes_processed;
+ off_t offset;
+ char *data;
+ size_t length;
+ size_t *newlength;
+} multipart_event_file_data;
+
+typedef struct _multipart_event_file_end {
+ size_t post_bytes_processed;
+ char *temp_filename;
+ int cancel_upload;
+} multipart_event_file_end;
+
+typedef struct _multipart_event_end {
+ size_t post_bytes_processed;
+} multipart_event_end;
+
+typedef int (*php_rfc1867_encoding_translation_t)(TSRMLS_D);
+typedef void (*php_rfc1867_get_detect_order_t)(const zend_encoding ***list, size_t *list_size TSRMLS_DC);
+typedef void (*php_rfc1867_set_input_encoding_t)(const zend_encoding *encoding TSRMLS_DC);
+typedef char* (*php_rfc1867_getword_t)(const zend_encoding *encoding, char **line, char stop TSRMLS_DC);
+typedef char* (*php_rfc1867_getword_conf_t)(const zend_encoding *encoding, char *str TSRMLS_DC);
+typedef char* (*php_rfc1867_basename_t)(const zend_encoding *encoding, char *str TSRMLS_DC);
+
+SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler);
+
+void destroy_uploaded_files_hash(TSRMLS_D);
+void php_rfc1867_register_constants(TSRMLS_D);
+extern PHPAPI int (*php_rfc1867_callback)(unsigned int event, void *event_data, void **extra TSRMLS_DC);
+
+SAPI_API void php_rfc1867_set_multibyte_callbacks(
+ php_rfc1867_encoding_translation_t encoding_translation,
+ php_rfc1867_get_detect_order_t get_detect_order,
+ php_rfc1867_set_input_encoding_t set_input_encoding,
+ php_rfc1867_getword_t getword,
+ php_rfc1867_getword_conf_t getword_conf,
+ php_rfc1867_basename_t basename);
+
+#endif /* RFC1867_H */