---
name: "CURLOPT_ALTSVC"
section: "3"
platform: "macos"
package: "curl"
version: "166.0.0.0.1"
release: "macOS 26.5"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/CURLOPT_ALTSVC"
---

# CURLOPT\_ALTSVC(3)

alt-svc cache file name

## NAME

CURLOPT\_ALTSVC - alt-svc cache file name

## SYNOPSIS

```
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ALTSVC, char *filename);
```

## DESCRIPTION

Pass in a pointer to a *filename* to instruct libcurl to use that file as the Alt-Svc cache to read existing cache contents from and possibly also write it back to after a transfer, unless **CURLALTSVC\_READONLYFILE** is set in *[CURLOPT\_ALTSVC\_CTRL(3)](/CURLOPT_ALTSVC_CTRL/3.md)*.

Specify a blank filename ("") to make libcurl not load from a file at all.

## DEFAULT

NULL. The alt-svc cache is not read nor written to file.

## PROTOCOLS

HTTPS

## EXAMPLE

```
int main(void)
{
  CURL *curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_ALTSVC_CTRL, CURLALTSVC_H1);
    curl_easy_setopt(curl, CURLOPT_ALTSVC, "altsvc-cache.txt");
    curl_easy_perform(curl);
  }
}
```

## FILE FORMAT

A text based file with one line per alt-svc entry and each line consists of nine space-separated fields.

An example line could look like

```
h2 www.example.com 8443 h3 second.example.com 443 "20190808 06:18:37" 1 0
```

The fields of that line are:

- h2

  ALPN id for the source origin

- www.example.comp

  Hostname for the source origin

- 8443

  Port number for the source origin

- h3

  ALPN id for the destination host

- second.example.com

  Hostname for the destination host

- 443

  Port number for the destination host

- 2019\*

  Expiration date and time of this entry within double quotes. The date format is "YYYYMMDD HH:MM:SS" and the time zone is GMT.

- 1

  Boolean (1 or 0) if "persist" was set for this entry

- 0

  Integer priority value (not currently used)

## AVAILABILITY

Added in 7.64.1

## RETURN VALUE

Returns CURLE\_OK if the option is supported, and CURLE\_UNKNOWN\_OPTION if not.

## SEE ALSO

[**CURLOPT\_ALTSVC\_CTRL**(3)](/CURLOPT_ALTSVC_CTRL/3.md), [**CURLOPT\_CONNECT\_TO**(3)](/CURLOPT_CONNECT_TO/3.md), [**CURLOPT\_COOKIEFILE**(3)](/CURLOPT_COOKIEFILE/3.md), [**CURLOPT\_RESOLVE**(3)](/CURLOPT_RESOLVE/3.md)
