CURLOPT_DEBUGDATA(3)

CURLOPT_DEBUGDATA3

Pointer passed to the debug callback

Usage

#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DEBUGDATA, void *pointer);

Overview

Pass a pointer to whatever you want passed in to your CURLOPT_DEBUGFUNCTION(3) in the last void * argument. This pointer is not used by libcurl, it is only passed to the callback.

Default

NULL

Protocols

All

Examples

struct data {
  void *custom;
};
static int my_trace(CURL *handle, curl_infotype type,
                    char *data, size_t size,
                    void *clientp)
{
  struct data *mine = clientp;
  printf("our ptr: %p\n", mine->custom);
  /* output debug info */
}
int main(void)
{
  CURL *curl;
  CURLcode res;
  struct data my_tracedata;
  curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION, my_trace);
    curl_easy_setopt(curl, CURLOPT_DEBUGDATA, &my_tracedata);
    /* the DEBUGFUNCTION has no effect until we enable VERBOSE */
    curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
    res = curl_easy_perform(curl);
    /* always cleanup */
    curl_easy_cleanup(curl);
  }
  return 0;
}

Return value

Returns CURLE_OK

Releases

79 releases since OS X 10.10; the text changed 13 times.

  1. 10.10–10.11.6
  2. 10.12–10.12.5
  3. 10.12.6–10.14.6
  4. 10.15–11.5
  5. 12.0.1–12.2
  6. 12.3–12.5
  7. 13.0
  8. 13.1
  9. 13.2
  10. 13.3
  11. 13.4
  12. 13.5–14.1
  13. 14.2–14.4
  14. 14.5–26.5

Availability

Always

From curl 166.0.0.0.1 in macOS 26.5. Parsed by carta from the page's man source.