---
name: "curl_multi_get_offt"
section: "3"
platform: "linux"
package: "curl"
version: "8.23.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/curl_multi_get_offt"
---

# curl\_multi\_get\_offt(3)

extract information from a multi handle

## NAME

curl\_multi\_get\_offt - extract information from a multi handle

## SYNOPSIS

```
#include <curl/curl.h>
CURLMcode curl_multi_get_offt(CURLM *multi_handle,
                              CURLMinfo_offt info,
                              curl_off_t *pvalue);
```

## DESCRIPTION

Get the *info* kept in the *multi* handle. If the *info* is not applicable, this function returns CURLM\_UNKNOWN\_OPTION.

## OPTIONS

The following information can be extracted:

- CURLMINFO\_XFERS\_CURRENT

  See *[CURLMINFO\_XFERS\_CURRENT(3)](/CURLMINFO_XFERS_CURRENT/3.md)*.

- CURLMINFO\_XFERS\_RUNNING

  See *[CURLMINFO\_XFERS\_RUNNING(3)](/CURLMINFO_XFERS_RUNNING/3.md)*.

- CURLMINFO\_XFERS\_PENDING

  See *[CURLMINFO\_XFERS\_PENDING(3)](/CURLMINFO_XFERS_PENDING/3.md)*.

- CURLMINFO\_XFERS\_DONE

  See *[CURLMINFO\_XFERS\_DONE(3)](/CURLMINFO_XFERS_DONE/3.md)*.

- CURLMINFO\_XFERS\_ADDED

  See *[CURLMINFO\_XFERS\_ADDED(3)](/CURLMINFO_XFERS_ADDED/3.md)*.

## PROTOCOLS

This functionality affects all supported protocols

## EXAMPLE

```
int main(void)
{
  /* init a multi stack */
  CURLM *multi = curl_multi_init();
  CURL *curl = curl_easy_init();
  curl_off_t n;
  if(curl) {
    /* add the transfer */
    curl_multi_add_handle(multi, curl);
    curl_multi_get_offt(multi, CURLMINFO_XFERS_ADDED, &n);
    /* on successful add, n is 1 */
  }
}
```

## AVAILABILITY

Added in curl 8.16.0

## RETURN VALUE

This function returns a CURLMcode indicating success or error.

CURLM\_OK (0) means everything was OK, non-zero means an error occurred, see *[libcurl-errors(3)](/libcurl-errors/3.md)*.

## SEE ALSO

[**curl\_multi\_add\_handle**(3)](/curl_multi_add_handle/3.md), [**curl\_multi\_remove\_handle**(3)](/curl_multi_remove_handle/3.md)
