diff options
Diffstat (limited to 'plugins/FTPFileYM/curl/lib/formdata.h')
| -rw-r--r-- | plugins/FTPFileYM/curl/lib/formdata.h | 98 | 
1 files changed, 98 insertions, 0 deletions
diff --git a/plugins/FTPFileYM/curl/lib/formdata.h b/plugins/FTPFileYM/curl/lib/formdata.h new file mode 100644 index 0000000000..22f504bb3d --- /dev/null +++ b/plugins/FTPFileYM/curl/lib/formdata.h @@ -0,0 +1,98 @@ +#ifndef HEADER_CURL_FORMDATA_H +#define HEADER_CURL_FORMDATA_H +/*************************************************************************** + *                                  _   _ ____  _ + *  Project                     ___| | | |  _ \| | + *                             / __| | | | |_) | | + *                            | (__| |_| |  _ <| |___ + *                             \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ + +enum formtype { +  FORM_DATA,    /* form metadata (convert to network encoding if necessary) */ +  FORM_CONTENT, /* form content  (never convert) */ +  FORM_CALLBACK, /* 'line' points to the custom pointer we pass to the callback +                  */ +  FORM_FILE     /* 'line' points to a file name we should read from +                   to create the form data (never convert) */ +}; + +/* plain and simple linked list with lines to send */ +struct FormData { +  struct FormData *next; +  enum formtype type; +  char *line; +  size_t length; +}; + +struct Form { +  struct FormData *data; /* current form line to send */ +  size_t sent;           /* number of bytes of the current line that has +                            already been sent in a previous invoke */ +  FILE *fp;              /* file to read from */ +  curl_read_callback fread_func; /* fread callback pointer */ +}; + +/* used by FormAdd for temporary storage */ +typedef struct FormInfo { +  char *name; +  bool name_alloc; +  size_t namelength; +  char *value; +  bool value_alloc; +  size_t contentslength; +  char *contenttype; +  bool contenttype_alloc; +  long flags; +  char *buffer;      /* pointer to existing buffer used for file upload */ +  size_t bufferlength; +  char *showfilename; /* The file name to show. If not set, the actual +                         file name will be used */ +  bool showfilename_alloc; +  char *userp;        /* pointer for the read callback */ +  struct curl_slist* contentheader; +  struct FormInfo *more; +} FormInfo; + +int Curl_FormInit(struct Form *form, struct FormData *formdata ); + +CURLcode Curl_getformdata(struct SessionHandle *data, +                          struct FormData **, +                          struct curl_httppost *post, +                          const char *custom_contenttype, +                          curl_off_t *size); + +/* fread() emulation */ +size_t Curl_FormReader(char *buffer, +                       size_t size, +                       size_t nitems, +                       FILE *mydata); + +/* + * Curl_formpostheader() returns the first line of the formpost, the + * request-header part (which is not part of the request-body like the rest of + * the post). + */ +char *Curl_formpostheader(void *formp, size_t *len); + +char *Curl_FormBoundary(void); + +void Curl_formclean(struct FormData **); + +CURLcode Curl_formconvert(struct SessionHandle *, struct FormData *); + +#endif /* HEADER_CURL_FORMDATA_H */  | 
