Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

CURLOPT_RESUME_FROM_LARGE (3)

Name

CURLOPT_RESUME_FROM_LARGE - offset to resume transfer from

Synopsis

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RESUME_FROM_LARGE,
curl_off_t from);

Description

curl_easy_setopt options                          CURLOPT_RESUME_FROM_LARGE(3)



NAME
       CURLOPT_RESUME_FROM_LARGE - offset to resume transfer from

SYNOPSIS
       #include <curl/curl.h>

       CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RESUME_FROM_LARGE,
                                 curl_off_t from);

DESCRIPTION
       Pass  a  curl_off_t  as  parameter. It contains the offset in number of
       bytes that you want the transfer to start from. Set this option to 0 to
       make  the  transfer  start  from  the  beginning (effectively disabling
       resume). For FTP, set this option to -1 to make the transfer start from
       the end of the target file (useful to continue an interrupted upload).

       When  doing  uploads  with  FTP,  the  resume  position is where in the
       local/source file libcurl should try to resume the upload from  and  it
       will then append the source file to the remote target file.

DEFAULT
       0, not used

PROTOCOLS
       HTTP, FTP, SFTP, FILE

EXAMPLE
       CURL *curl = curl_easy_init();
       if(curl) {
         curl_off_t resume_position = GET_IT_SOMEHOW;
         curl_off_t file_size = GET_IT_SOMEHOW_AS_WELL;

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

         /* resuming upload at this position, possibly beyond 2GB */
         curl_easy_setopt(curl, CURLOPT_RESUME_FROM_LARGE, resume_position);

         /* ask for upload */
         curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);

         /* set total data amount to expect */
         curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, file_size);

         /* Perform the request */
         curl_easy_perform(curl);
       }

AVAILABILITY
       Added in 7.11.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_RESUME_FROM(3), CURLOPT_RANGE(3), CURLOPT_INFILESIZE_LARGE(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                September 08, 2021
                                                  CURLOPT_RESUME_FROM_LARGE(3)