Coverage Report

Created: 2022-10-14 11:19

/src/php-src/main/rfc1867.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
  +----------------------------------------------------------------------+
3
  | Copyright (c) The PHP Group                                          |
4
  +----------------------------------------------------------------------+
5
  | This source file is subject to version 3.01 of the PHP license,      |
6
  | that is bundled with this package in the file LICENSE, and is        |
7
  | available through the world-wide-web at the following url:           |
8
  | http://www.php.net/license/3_01.txt                                  |
9
  | If you did not receive a copy of the PHP license and are unable to   |
10
  | obtain it through the world-wide-web, please send a note to          |
11
  | license@php.net so we can mail you a copy immediately.               |
12
  +----------------------------------------------------------------------+
13
  | Author:                                                              |
14
  +----------------------------------------------------------------------+
15
*/
16
17
#ifndef RFC1867_H
18
#define RFC1867_H
19
20
#include "SAPI.h"
21
22
#define MULTIPART_CONTENT_TYPE "multipart/form-data"
23
0
#define MULTIPART_EVENT_START   0
24
0
#define MULTIPART_EVENT_FORMDATA  1
25
0
#define MULTIPART_EVENT_FILE_START  2
26
0
#define MULTIPART_EVENT_FILE_DATA 3
27
0
#define MULTIPART_EVENT_FILE_END  4
28
0
#define MULTIPART_EVENT_END   5
29
30
typedef struct _multipart_event_start {
31
  size_t  content_length;
32
} multipart_event_start;
33
34
typedef struct _multipart_event_formdata {
35
  size_t  post_bytes_processed;
36
  char  *name;
37
  char  **value;
38
  size_t  length;
39
  size_t  *newlength;
40
} multipart_event_formdata;
41
42
typedef struct _multipart_event_file_start {
43
  size_t  post_bytes_processed;
44
  char  *name;
45
  char  **filename;
46
} multipart_event_file_start;
47
48
typedef struct _multipart_event_file_data {
49
  size_t  post_bytes_processed;
50
  zend_off_t  offset;
51
  char  *data;
52
  size_t  length;
53
  size_t  *newlength;
54
} multipart_event_file_data;
55
56
typedef struct _multipart_event_file_end {
57
  size_t  post_bytes_processed;
58
  char  *temp_filename;
59
  int cancel_upload;
60
} multipart_event_file_end;
61
62
typedef struct _multipart_event_end {
63
  size_t  post_bytes_processed;
64
} multipart_event_end;
65
66
typedef int (*php_rfc1867_encoding_translation_t)(void);
67
typedef void (*php_rfc1867_get_detect_order_t)(const zend_encoding ***list, size_t *list_size);
68
typedef void (*php_rfc1867_set_input_encoding_t)(const zend_encoding *encoding);
69
typedef char* (*php_rfc1867_getword_t)(const zend_encoding *encoding, char **line, char stop);
70
typedef char* (*php_rfc1867_getword_conf_t)(const zend_encoding *encoding, char *str);
71
typedef char* (*php_rfc1867_basename_t)(const zend_encoding *encoding, char *str);
72
73
SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler);
74
75
PHPAPI void destroy_uploaded_files_hash(void);
76
void php_rfc1867_register_constants(void);
77
extern PHPAPI int (*php_rfc1867_callback)(unsigned int event, void *event_data, void **extra);
78
79
SAPI_API void php_rfc1867_set_multibyte_callbacks(
80
          php_rfc1867_encoding_translation_t encoding_translation,
81
          php_rfc1867_get_detect_order_t get_detect_order,
82
          php_rfc1867_set_input_encoding_t set_input_encoding,
83
          php_rfc1867_getword_t getword,
84
          php_rfc1867_getword_conf_t getword_conf,
85
          php_rfc1867_basename_t basename);
86
87
#endif /* RFC1867_H */