Annotation of embedaddon/curl/docs/libcurl/opts/CURLOPT_HEADERDATA.3, revision 1.1
1.1 ! misho 1: .\" **************************************************************************
! 2: .\" * _ _ ____ _
! 3: .\" * Project ___| | | | _ \| |
! 4: .\" * / __| | | | |_) | |
! 5: .\" * | (__| |_| | _ <| |___
! 6: .\" * \___|\___/|_| \_\_____|
! 7: .\" *
! 8: .\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
! 9: .\" *
! 10: .\" * This software is licensed as described in the file COPYING, which
! 11: .\" * you should have received as part of this distribution. The terms
! 12: .\" * are also available at https://curl.haxx.se/docs/copyright.html.
! 13: .\" *
! 14: .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
! 15: .\" * copies of the Software, and permit persons to whom the Software is
! 16: .\" * furnished to do so, under the terms of the COPYING file.
! 17: .\" *
! 18: .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
! 19: .\" * KIND, either express or implied.
! 20: .\" *
! 21: .\" **************************************************************************
! 22: .\"
! 23: .TH CURLOPT_HEADERDATA 3 "May 05, 2017" "libcurl 7.70.0" "curl_easy_setopt options"
! 24:
! 25: .SH NAME
! 26: CURLOPT_HEADERDATA \- pointer to pass to header callback
! 27: .SH SYNOPSIS
! 28: #include <curl/curl.h>
! 29:
! 30: CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADERDATA, void *pointer);
! 31: .SH DESCRIPTION
! 32: Pass a \fIpointer\fP to be used to write the header part of the received data
! 33: to.
! 34:
! 35: If \fICURLOPT_WRITEFUNCTION(3)\fP or \fICURLOPT_HEADERFUNCTION(3)\fP is used,
! 36: \fIpointer\fP will be passed in to the respective callback.
! 37:
! 38: If neither of those options are set, \fIpointer\fP must be a valid FILE * and
! 39: it will be used by a plain fwrite() to write headers to.
! 40: .SH DEFAULT
! 41: NULL
! 42: .SH PROTOCOLS
! 43: All
! 44: .SH EXAMPLE
! 45: .nf
! 46: struct my_info {
! 47: int shoesize;
! 48: char *secret;
! 49: };
! 50:
! 51: static size_t header_callback(char *buffer, size_t size,
! 52: size_t nitems, void *userdata)
! 53: {
! 54: struct my_info *i = (struct my_info *)userdata;
! 55:
! 56: /* now this callback can access the my_info struct */
! 57:
! 58: return nitems * size;
! 59: }
! 60:
! 61: CURL *curl = curl_easy_init();
! 62: if(curl) {
! 63: struct my_info my = { 10, "the cookies are in the cupboard" };
! 64: curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
! 65:
! 66: curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, header_callback);
! 67:
! 68: /* pass in custom data to the callback */
! 69: curl_easy_setopt(curl, CURLOPT_HEADERDATA, &my);
! 70:
! 71: curl_easy_perform(curl);
! 72: }
! 73: .fi
! 74: .SH AVAILABILITY
! 75: Always
! 76: .SH RETURN VALUE
! 77: Returns CURLE_OK
! 78: .SH "SEE ALSO"
! 79: .BR CURLOPT_HEADERFUNCTION "(3), " CURLOPT_WRITEFUNCTION "(3), "
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>