diff options
author | Daniel Stenberg <daniel@haxx.se> | 2014-06-17 16:48:16 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2014-06-17 16:48:16 +0200 |
commit | 00425575983c75f373aa7650b06360fbc03367ce (patch) | |
tree | 36f4fbdd22f48aad745c3b7ea731b4ffc1945e9b /docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3 | |
parent | d865376c1d262d7f0ce68a9aea1581275230c53b (diff) | |
download | curl-00425575983c75f373aa7650b06360fbc03367ce.tar.gz |
opts: 3 more options as man pages
Diffstat (limited to 'docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3')
-rw-r--r-- | docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3 | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3 b/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3 new file mode 100644 index 000000000..cad81182e --- /dev/null +++ b/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3 @@ -0,0 +1,81 @@ +.\" ************************************************************************** +.\" * _ _ ____ _ +.\" * Project ___| | | | _ \| | +.\" * / __| | | | |_) | | +.\" * | (__| |_| | _ <| |___ +.\" * \___|\___/|_| \_\_____| +.\" * +.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al. +.\" * +.\" * This software is licensed as described in the file COPYING, which +.\" * you should have received as part of this distribution. The terms +.\" * are also available at http://curl.haxx.se/docs/copyright.html. +.\" * +.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell +.\" * copies of the Software, and permit persons to whom the Software is +.\" * furnished to do so, under the terms of the COPYING file. +.\" * +.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY +.\" * KIND, either express or implied. +.\" * +.\" ************************************************************************** +.\" +.TH CURLOPT_XFERINFOFUNCTION 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" +.SH NAME +CURLOPT_XFERINFOFUNCTION \- callback to progress meter function +.SH SYNOPSIS +#include <curl/curl.h> + +int progress_callback(void *clientp, + curl_off_t dltotal, + curl_off_t dlnow, + curl_off_t ultotal, + curl_off_t ulnow); + +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_XFERINFOFUNCTION, progress_callback); +.SH DESCRIPTION +Pass a pointer to your callback function, which should match the prototype +shown above. + +This function gets called by libcurl instead of its internal equivalent with a +frequent interval. While data is being transferred it will be called very +frequently, and during slow periods like when nothing is being transferred it +can slow down to about one call per second. + +\fIclientp\fP is the pointer set with \fICURLOPT_XFERINFODATA(3)\fP, it is not +used by libcurl but is only passed along from the application to the callback. + +The callback gets told how much data libcurl will transfer and has +transferred, in number of bytes. \fIdltotal\fP is the total number of bytes +libcurl expects to download in this transfer. \fIdlnow\fP is the number of +bytes downloaded so far. \fIultotal\fP is the total number of bytes libcurl +expects to upload in this transfer. \fIulnow\fP is the number of bytes +uploaded so far. + +Unknown/unused argument values passed to the callback will be set to zero +(like if you only download data, the upload size will remain 0). Many times +the callback will be called one or more times first, before it knows the data +sizes so a program must be made to handle that. + +Returning a non-zero value from this callback will cause libcurl to abort the +transfer and return \fICURLE_ABORTED_BY_CALLBACK\fP. + +If you transfer data with the multi interface, this function will not be +called during periods of idleness unless you call the appropriate libcurl +function that performs transfers. + +\fICURLOPT_NOPROGRESS(3)\fP must be set to 0 to make this function actually +get called. +.SH DEFAULT +By default, libcurl has an internal progress meter. That's rarely wanted by +users. +.SH PROTOCOLS +All +.SH EXAMPLE +http://curl.haxx.se/libcurl/c/progressfunc.html +.SH AVAILABILITY +Added in 7.32.0. This callback replaces \fICURLOPT_PROGRESSFUNCTION(3)\fP +.SH RETURN VALUE +Returns CURLE_OK. +.SH "SEE ALSO" +.BR CURLOPT_XFERINFODATA "(3), " CURLOPT_NOPROGRESS "(3), " |