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