Provided by: libcurl4-doc_8.5.0-2ubuntu10.1_all bug

NAME

       curl_formget - serialize a previously built multipart form POST chain

SYNOPSIS

       #include <curl/curl.h>

       int curl_formget(struct curl_httppost * form, void *userp,
                        curl_formget_callback append);

DESCRIPTION

       curl_formget()  is  used to serialize data previously built/appended with curl_formadd(3).
       Accepts a void pointer as second argument  named  userp  which  is  passed  as  the  first
       argument to the curl_formget_callback function.

       typedef size_t (*curl_formget_callback)(void *userp, const char *buf,  size_t len);

       The  curl_formget_callback  is invoked for each part of the HTTP POST chain. The character
       buffer passed to the callback must not be freed. The callback  should  return  the  buffer
       length passed to it on success.

       If  the  CURLFORM_STREAM  option is used in the formpost, it prevents curl_formget(3) from
       working until you have performed the actual HTTP request. This, because  first  then  does
       libcurl known which actual read callback to use!

EXAMPLE

       size_t print_httppost_callback(void *arg, const char *buf, size_t len)
       {
         fwrite(buf, len, 1, stdout);
         (*(size_t *) arg) += len;
         return len;
       }

       size_t print_httppost(struct curl_httppost *post)
       {
         size_t total_size = 0;
         if(curl_formget(post, &total_size, print_httppost_callback)) {
           return (size_t) -1;
         }
         return total_size;
       }

AVAILABILITY

       This function was added in libcurl 7.15.5. The form API is deprecated in libcurl 7.56.0.

RETURN VALUE

       0 means everything was OK, non-zero means an error occurred

SEE ALSO

       curl_formadd(3), curl_mime_init(3)