Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

CURLOPT_INFILESIZE (3)

Name

CURLOPT_INFILESIZE - size of the input file to send off

Synopsis

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INFILESIZE, long filesize);

Description

CURLOPT_INFILESIZE(3)      curl_easy_setopt options      CURLOPT_INFILESIZE(3)



NAME
       CURLOPT_INFILESIZE - size of the input file to send off

SYNOPSIS
       #include <curl/curl.h>

       CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INFILESIZE, long filesize);

DESCRIPTION
       When uploading a file to a remote site, filesize should be used to tell
       libcurl what the expected size of the input file is. This value must be
       passed  as  a  long.  See  also CURLOPT_INFILESIZE_LARGE(3) for sending
       files larger than 2GB.

       For uploading using SCP, this option or CURLOPT_INFILESIZE_LARGE(3)  is
       mandatory.

       To unset this value again, set it to -1.

       When sending emails using SMTP, this command can be used to specify the
       optional SIZE parameter for the MAIL FROM command.

       This option does not limit how much data libcurl will actually send, as
       that  is  controlled  entirely  by  what the read callback returns, but
       telling one value and sending a different amount may lead to errors.

DEFAULT
       Unset

PROTOCOLS
       Many

EXAMPLE
       CURL *curl = curl_easy_init();
       if(curl) {
         long uploadsize = FILE_SIZE;

         curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/destination.tar.gz");

         curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);

         curl_easy_setopt(curl, CURLOPT_INFILESIZE, uploadsize);

         curl_easy_perform(curl);
       }

AVAILABILITY
       SMTP support added in 7.23.0

RETURN VALUE
       Returns CURLE_OK if the option is supported,  and  CURLE_UNKNOWN_OPTION
       if not.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | web/curl         |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

SEE ALSO
       CURLOPT_INFILESIZE_LARGE(3), CURLOPT_UPLOAD(3),



NOTES
       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source       was       downloaded      from       https://curl.se/down-
       load/curl-7.83.1.tar.bz2.

       Further information about this software can be found on the open source
       community website at http://curl.haxx.se/.



libcurl 7.83.1                 November 26, 2021         CURLOPT_INFILESIZE(3)