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

# CURLOPT\_TFTP\_NO\_OPTIONS(3)

send no TFTP options requests

## NAME

CURLOPT\_TFTP\_NO\_OPTIONS - send no TFTP options requests

## SYNOPSIS

```
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TFTP_NO_OPTIONS, long onoff);
```

## DESCRIPTION

Set *onoff* to 1L to exclude all TFTP options defined in RFC 2347, RFC 2348 and RFC 2349 from read and write requests.

This option improves interoperability with legacy servers that do not acknowledge or properly implement TFTP options. When this option is used *[CURLOPT\_TFTP\_BLKSIZE(3)](/CURLOPT_TFTP_BLKSIZE/3.md)* is ignored.

## DEFAULT

0

## PROTOCOLS

This functionality affects tftp only

## EXAMPLE

```
static size_t write_callback(char *ptr, size_t size, size_t nmemb, void *fp)
{
  return fwrite(ptr, size, nmemb, (FILE *)fp);
}
int main(void)
{
  CURL *curl = curl_easy_init();
  if(curl) {
    CURLcode result = CURLE_OK;
    FILE *fp = fopen("foo.bin", "wb");
    if(fp) {
      curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)fp);
      curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
      curl_easy_setopt(curl, CURLOPT_URL, "tftp://example.com/foo.bin");
      /* do not send TFTP options requests */
      curl_easy_setopt(curl, CURLOPT_TFTP_NO_OPTIONS, 1L);
      /* Perform the request */
      result = curl_easy_perform(curl);
      fclose(fp);
    }
    curl_easy_cleanup(curl);
  }
}
```

## AVAILABILITY

Added in curl 7.48.0

## RETURN VALUE

*[curl\_easy\_setopt(3)](/curl_easy_setopt/3.md)* returns a CURLcode indicating success or error.

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

## SEE ALSO

[**CURLOPT\_TFTP\_BLKSIZE**(3)](/CURLOPT_TFTP_BLKSIZE/3.md)
