GNU libmicrohttpd  1.0.1
postprocessor.h
Go to the documentation of this file.
1 /*
2  This file is part of libmicrohttpd
3  Copyright (C) 2007-2022 Daniel Pittman, Christian Grothoff, and Evgeny Grin
4 
5  This library is free software; you can redistribute it and/or
6  modify it under the terms of the GNU Lesser General Public
7  License as published by the Free Software Foundation; either
8  version 2.1 of the License, or (at your option) any later version.
9 
10  This library is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public
16  License along with this library; if not, write to the Free Software
17  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 */
19 
27 #ifndef MHD_POSTPROCESSOR_H
28 #define MHD_POSTPROCESSOR_H 1
29 #include "internal.h"
30 
35 {
36  /* general states */
41 
42  /* url encoding-states */
46 
47  /* post encoding-states */
52 
53  /* nested post-encoding states */
59 
60 };
61 
62 
64 {
69 
74  RN_OptN = 1,
75 
80  RN_Full = 2,
81 
86  RN_Dash = 3,
87 
91  RN_Dash2 = 4
92 };
93 
94 
101 {
102  NE_none = 0,
107 };
108 
109 
115 {
116 
122 
127 
131  void *cls;
132 
136  const char *encoding;
137 
141  const char *boundary;
142 
147 
152 
157 
162 
167 
171  char xbuf[2];
172 
176  size_t buffer_size;
177 
181  size_t buffer_pos;
182 
186  size_t xbuf_pos;
187 
191  uint64_t value_offset;
192 
196  size_t blen;
197 
201  size_t nlen;
202 
211  bool must_ikvi;
212 
218 
222  enum PP_State state;
223 
230  enum RN_State skip_rn;
231 
236  enum PP_State dash_state;
237 
242  enum NE_State have;
243 
244 };
245 
246 #endif /* ! MHD_POSTPROCESSOR_H */
MHD internal shared structures.
enum MHD_Result(* MHD_PostDataIterator)(void *cls, enum MHD_ValueKind kind, const char *key, const char *filename, const char *content_type, const char *transfer_encoding, const char *data, uint64_t off, size_t size)
Definition: microhttpd.h:2908
RN_State
Definition: postprocessor.h:64
@ RN_Dash
Definition: postprocessor.h:86
@ RN_Inactive
Definition: postprocessor.h:68
@ RN_Full
Definition: postprocessor.h:80
@ RN_OptN
Definition: postprocessor.h:74
@ RN_Dash2
Definition: postprocessor.h:91
NE_State
@ NE_content_name
@ NE_content_type
@ NE_content_transfer_encoding
@ NE_none
@ NE_content_filename
PP_State
Definition: postprocessor.h:35
@ PP_PerformCleanup
Definition: postprocessor.h:51
@ PP_Error
Definition: postprocessor.h:37
@ PP_Nested_PerformMarking
Definition: postprocessor.h:55
@ PP_ProcessKey
Definition: postprocessor.h:43
@ PP_Init
Definition: postprocessor.h:39
@ PP_PerformCheckMultipart
Definition: postprocessor.h:49
@ PP_Nested_Init
Definition: postprocessor.h:54
@ PP_ProcessValue
Definition: postprocessor.h:44
@ PP_Nested_ProcessEntryHeaders
Definition: postprocessor.h:56
@ PP_Nested_PerformCleanup
Definition: postprocessor.h:58
@ PP_NextBoundary
Definition: postprocessor.h:40
@ PP_ProcessEntryHeaders
Definition: postprocessor.h:48
@ PP_ProcessValueToBoundary
Definition: postprocessor.h:50
@ PP_Done
Definition: postprocessor.h:38
@ PP_Callback
Definition: postprocessor.h:45
@ PP_Nested_ProcessValueToBoundary
Definition: postprocessor.h:57
enum PP_State dash_state
MHD_PostDataIterator ikvi
struct MHD_Connection * connection
const char * boundary
char * content_transfer_encoding
enum NE_State have
enum RN_State skip_rn
enum PP_State state
const char * encoding