GDAL
cpl_vsil_curl_priv.h
1/******************************************************************************
2 *
3 * Project: CPL - Common Portability Library
4 * Purpose: Private API for VSICurl
5 * Author: Even Rouault, even.rouault at spatialys.com
6 *
7 ******************************************************************************
8 * Copyright (c) 2012, Even Rouault <even dot rouault at spatialys.com>
9 *
10 * SPDX-License-Identifier: MIT
11 ****************************************************************************/
12
13#ifndef CPL_VSIL_CURL_PRIV_H_INCLUDED
14#define CPL_VSIL_CURL_PRIV_H_INCLUDED
15
16#include "cpl_vsi_virtual.h"
17
18/* NOTE: this is private API for GDAL internal use. */
19/* May change without notice. */
20/* Used by the MBTiles driver for now. */
21
22/* Return TRUE to go on downloading, FALSE to stop. */
23typedef int (*VSICurlReadCbkFunc)(VSILFILE *fp, void *pabyBuffer,
24 size_t nBufferSize, void *pfnUserData);
25
26/* fp must be a VSICurl file handle, otherwise bad things will happen. */
27/* bStopOnInterruptUntilUninstall must be set to TRUE if all downloads */
28/* must be canceled after a first one has been stopped by the callback */
29/* function. In that case, downloads will restart after uninstalling the */
30/* callback. */
31int VSICurlInstallReadCbk(VSILFILE *fp, VSICurlReadCbkFunc pfnReadCbk,
32 void *pfnUserData,
33 int bStopOnInterruptUntilUninstall);
34int VSICurlUninstallReadCbk(VSILFILE *fp);
35
36void VSICurlAuthParametersChanged();
37
38#endif // CPL_VSIL_CURL_PRIV_H_INCLUDED
struct VSIVirtualHandle VSILFILE
Opaque type for a FILE that implements the VSIVirtualHandle API.
Definition cpl_vsi.h:141