.\" generated by cd2nroff 0.1 from CURLOPT_PREQUOTE.md
.TH CURLOPT_PREQUOTE 3 "March 12 2024" libcurl
.SH NAME
CURLOPT_PREQUOTE \- commands to run before an FTP transfer
.SH SYNOPSIS
.nf
#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PREQUOTE,
                          struct curl_slist *cmds);
.fi
.SH DESCRIPTION
Pass a pointer to a linked list of FTP commands to pass to the server after
the transfer type is set. The linked list should be a fully valid list of
struct curl_slist structs properly filled in as described for
\fICURLOPT_QUOTE(3)\fP. Disable this operation again by setting a NULL to this
option.

These commands are not performed when a directory listing is performed, only
for file transfers.

While \fICURLOPT_QUOTE(3)\fP and \fICURLOPT_POSTQUOTE(3)\fP work for SFTP,
this option does not.
.SH DEFAULT
NULL
.SH PROTOCOLS
FTP
.SH EXAMPLE
.nf
int main(void)
{
  struct curl_slist *cmdlist = NULL;
  cmdlist = curl_slist_append(cmdlist, "SYST");

  CURL *curl = curl_easy_init();
  if(curl) {
    CURLcode res;
    curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/foo.bin");

    /* pass in the FTP commands to run */
    curl_easy_setopt(curl, CURLOPT_PREQUOTE, cmdlist);

    res = curl_easy_perform(curl);

    curl_easy_cleanup(curl);
  }
}
.fi
.SH AVAILABILITY
Along with the protocol support
.SH RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
.SH SEE ALSO
.BR CURLOPT_POSTQUOTE (3),
.BR CURLOPT_QUOTE (3)
