curl/docs/libcurl/opts/CURLOPT_RESOLVER_START_DATA.md
Daniel Stenberg e3fe020089
docs/libcurl: generate PROTOCOLS from meta-data
Remove the PROTOCOLS section from the source files completely and
instead generate them based on the header data in the curldown files.

It also generates TLS backend information for options marked for TLS as
protocol.

Closes #13175
2024-03-23 18:13:03 +01:00

1.3 KiB

c SPDX-License-Identifier Title Section Source See-also Protocol
Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. curl CURLOPT_RESOLVER_START_DATA 3 libcurl
CURLOPT_PREREQFUNCTION (3)
CURLOPT_RESOLVER_START_FUNCTION (3)
All

NAME

CURLOPT_RESOLVER_START_DATA - pointer passed to the resolver start callback

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RESOLVER_START_DATA,
                          void *pointer);

DESCRIPTION

Pass a pointer is be untouched by libcurl and passed as the third argument in the resolver start callback set with CURLOPT_RESOLVER_START_FUNCTION(3).

DEFAULT

NULL

EXAMPLE

static int resolver_start_cb(void *resolver_state, void *reserved,
                             void *userdata)
{
  (void)reserved;
  printf("Received resolver_state=%p userdata=%p\n",
         resolver_state, userdata);
  return 0;
}

int main(void)
{
  CURL *curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_RESOLVER_START_FUNCTION, resolver_start_cb);
    curl_easy_setopt(curl, CURLOPT_RESOLVER_START_DATA, curl);
    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
    curl_easy_perform(curl);
    curl_easy_cleanup(curl);
  }
}

AVAILABILITY

Added in 7.59.0

RETURN VALUE

Returns CURLE_OK