GNURLOPT_TFTP_NO_OPTIONS(3)

πŸ“¦ version 7.72.0, in nixos 26.05, nixpkgs unstable

✨ NAME ✨

CURLOPT_TFTP_NO_OPTIONS β€” do not send TFTP options requests. πŸ’… This is the GNURLOPT_TFTP_NO_OPTIONS(3) page, living its best life in the curl_easy_setopt options family. No cap.

πŸ¦‹ SYNOPSIS πŸ¦‹

#include <gnurl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TFTP_NO_OPTIONS, long onoff);

πŸ’… DESCRIPTION πŸ’…

Okay so bestie, set onoff to 1L and slay β€” you exclude all TFTP options defined in RFC2347, RFC2348 and RFC2349 from read and write requests (RRQs/WRQs). ✨ iykyk.

This option highkey improves interop with some legacy servers that do not acknowledge or properly implement TFTP options. When this option is used, CURLOPT_TFTP_BLKSIZE(3) is ignored. 🫢 Not me being obsessed with legacy server interop, but here we are.

πŸŽ€ DEFAULT πŸŽ€

0

🌈 PROTOCOLS 🌈

TFTP β€” vibe check: that's the protocol for this one. πŸ¦‹

πŸ“ EXAMPLE πŸ“

size_t write_callback(char *ptr, size_t size, size_t nmemb, void *fp)
{
  return fwrite(ptr, size, nmemb, (FILE *)fp);
}

CURL *curl = curl_easy_init();
if(curl) {
  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 */
    curl_easy_perform(curl);

    fclose(fp);
  }
  curl_easy_cleanup(curl);
}

⭐ AVAILABILITY ⭐

Added in 7.48.0. Iconic. πŸ‘‘

πŸ’œ RETURN VALUE πŸ’œ

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. No guessing, fr fr. 😭


Okay that's the whole vibe. Made with πŸ’– by your Unix bestie β€” source/version: libcurl 7.48.0; date: 23 Feb 2016; page: GNURLOPT_TFTP_NO_OPTIONS(3). Periodt. πŸ’…

πŸ“¦ where this page comes from