.\" generated by cd2nroff 0.1 from CURLOPT_HSTSWRITEDATA.md
.TH CURLOPT_HSTSWRITEDATA 3 "2025-06-27" libcurl
.SH NAME
CURLOPT_HSTSWRITEDATA \- pointer passed to the HSTS write callback
.SH SYNOPSIS
.nf
#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HSTSWRITEDATA, void *pointer);
.fi
.SH DESCRIPTION
Data \fIpointer\fP to pass to the HSTS write function. If you use the
\fICURLOPT_HSTSWRITEFUNCTION(3)\fP option, this is the pointer you get as
input in the fourth argument to the callback.

This option does not enable HSTS, you need to use \fICURLOPT_HSTS_CTRL(3)\fP to
do that.
.SH DEFAULT
NULL
.SH PROTOCOLS
This functionality affects http only
.SH EXAMPLE
.nf
struct MyData {
  void *custom;
};

int main(void)
{
  CURL *curl = curl_easy_init();
  struct MyData this;
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");

    /* pass pointer that gets passed in to the
       CURLOPT_HSTSWRITEFUNCTION callback */
    curl_easy_setopt(curl, CURLOPT_HSTSWRITEDATA, &this);

    curl_easy_perform(curl);
  }
}
.fi
.SH AVAILABILITY
Added in curl 7.74.0
.SH RETURN VALUE
This returns CURLE_OK.
.SH SEE ALSO
.BR CURLOPT_HSTS (3),
.BR CURLOPT_HSTSREADDATA (3),
.BR CURLOPT_HSTSREADFUNCTION (3),
.BR CURLOPT_HSTSWRITEFUNCTION (3)
