1---
2c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
3SPDX-License-Identifier: curl
4Title: CURLINFO_SIZE_DOWNLOAD_T
5Section: 3
6Source: libcurl
7See-also:
8  - CURLINFO_SIZE_DOWNLOAD (3)
9  - CURLINFO_SIZE_UPLOAD_T (3)
10  - CURLOPT_MAXFILESIZE (3)
11  - curl_easy_getinfo (3)
12  - curl_easy_setopt (3)
13Protocol:
14  - All
15---
16
17# NAME
18
19CURLINFO_SIZE_DOWNLOAD_T - get the number of downloaded bytes
20
21# SYNOPSIS
22
23~~~c
24#include <curl/curl.h>
25
26CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_DOWNLOAD_T,
27                           curl_off_t *dlp);
28~~~
29
30# DESCRIPTION
31
32Pass a pointer to a *curl_off_t* to receive the total amount of bytes that
33were downloaded. The amount is only for the latest transfer and gets reset
34again for each new transfer. This counts actual payload data, what's also
35commonly called body. All meta and header data is excluded from this amount.
36
37# EXAMPLE
38
39~~~c
40int main(void)
41{
42  CURL *curl = curl_easy_init();
43  if(curl) {
44    CURLcode res;
45    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
46
47    /* Perform the request */
48    res = curl_easy_perform(curl);
49
50    if(!res) {
51      /* check the size */
52      curl_off_t dl;
53      res = curl_easy_getinfo(curl, CURLINFO_SIZE_DOWNLOAD_T, &dl);
54      if(!res) {
55        printf("Downloaded %" CURL_FORMAT_CURL_OFF_T " bytes\n", dl);
56      }
57    }
58  }
59}
60~~~
61
62# AVAILABILITY
63
64Added in 7.55.0
65
66# RETURN VALUE
67
68Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
69