Imported Upstream version 7.40.0
[platform/upstream/curl.git] / docs / libcurl / opts / CURLOPT_CHUNK_BGN_FUNCTION.3
1 .\" **************************************************************************
2 .\" *                                  _   _ ____  _
3 .\" *  Project                     ___| | | |  _ \| |
4 .\" *                             / __| | | | |_) | |
5 .\" *                            | (__| |_| |  _ <| |___
6 .\" *                             \___|\___/|_| \_\_____|
7 .\" *
8 .\" * Copyright (C) 1998 - 2014, 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 http://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_CHUNK_BGN_FUNCTION 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
24 .SH NAME
25 CURLOPT_CHUNK_BGN_FUNCTION \- callback before a transfer with FTP wildcardmatch
26 .SH SYNOPSIS
27 .nf
28 #include <curl/curl.h>
29
30 long chunk_bgn_callback(const void *transfer_info, void *ptr,
31                         int remains);
32
33 CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CHUNK_BGN_FUNCTION,
34                           chunk_bgn_callback);
35 .SH DESCRIPTION
36 Pass a pointer to your callback function, which should match the prototype
37 shown above.
38
39 This callback function gets called by libcurl before a part of the stream is
40 going to be transferred (if the transfer supports chunks).
41
42 The \fItransfer_info\fP pointer will point to a struct curl_fileinfo with
43 details about the file that is about to get transferred.
44
45 This callback makes sense only when using the \fICURLOPT_WILDCARDMATCH(3)\fP
46 option for now.
47
48 The target of transfer_info parameter is a "feature depended" structure. For
49 the FTP wildcard download, the target is curl_fileinfo structure (see
50 \fIcurl/curl.h\fP).  The parameter \fIptr\fP is a pointer given by
51 \fICURLOPT_CHUNK_DATA(3)\fP. The parameter remains contains number of chunks
52 remaining per the transfer. If the feature is not available, the parameter has
53 zero value.
54
55 Return \fICURL_CHUNK_BGN_FUNC_OK\fP if everything is fine,
56 \fICURL_CHUNK_BGN_FUNC_SKIP\fP if you want to skip the concrete chunk or
57 \fICURL_CHUNK_BGN_FUNC_FAIL\fP to tell libcurl to stop if some error occurred.
58 .SH DEFAULT
59 NULL
60 .SH PROTOCOLS
61 FTP
62 .SH EXAMPLE
63 TODO
64 .SH AVAILABILITY
65 This was added in 7.21.0
66 .SH RETURN VALUE
67 Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
68 .SH "SEE ALSO"
69 .BR CURLOPT_CHUNK_END_FUNCTION "(3), " CURLOPT_WILDCARDMATCH "(3), "