CURLOPT_HSTSREADDATA(3) Library Functions Manual CURLOPT_HSTSREADDATA(3) NAME CURLOPT_HSTSREADDATA - pointer passed to the HSTS read callback SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HSTSREADDATA, void *pointer); DESCRIPTION Data pointer to pass to the HSTS read function. If you use the CURLOPT_HSTSREADFUNCTION(3) option, this is the pointer you get as input in the 3rd argument to the callback. This option does not enable HSTS, you need to use CURLOPT_HSTS_CTRL(3) to do that. DEFAULT NULL PROTOCOLS This functionality affects http only EXAMPLE struct MyData { void *custom; }; static CURLSTScode hsts_cb(CURL *easy, struct curl_hstsentry *sts, void *clientp) { /* populate the struct as documented */ return CURLSTS_OK; } int main(void) { CURL *curl = curl_easy_init(); struct MyData my_data; if(curl) { CURLcode result; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* pass pointer that gets passed in to the CURLOPT_HSTSREADFUNCTION callback */ curl_easy_setopt(curl, CURLOPT_HSTSREADDATA, &my_data); /* set HSTS read callback */ curl_easy_setopt(curl, CURLOPT_HSTSREADFUNCTION, hsts_cb); result = curl_easy_perform(curl); curl_easy_cleanup(curl); } } AVAILABILITY Added in curl 7.74.0 RETURN VALUE This returns CURLE_OK. SEE ALSO CURLOPT_HSTS(3), CURLOPT_HSTSREADFUNCTION(3), CURLOPT_HSTSWRITEDATA(3), CURLOPT_HSTSWRITEFUNCTION(3) libcurl 2026-09-02 CURLOPT_HSTSREADDATA(3)