Add a value to a pointed integer in a thread and SMP-safe way
and return the resulting value of the operation.
Compares *ptr with oldval. If *ptr == oldval, then *ptr is assigned
newval and TRUE is returned. Otherwise nothing is done, and FALSE is
returned.
@cond Doxygen_Suppress
@cond Doxygen_Suppress
@cond Doxygen_Suppress
@cond Doxygen_Suppress
@endcond
@endcond
@cond Doxygen_Suppress
@endcond
@endcond
Contrary to what its name suggests, CPLGetPID() actually returns the thread
id
Return the size of a page of virtual memory.
CPLIsPowerOfTwo()
@param i - tested number
@return TRUE if i is power of two otherwise return FALSE
Return if virtual memory mapping of a file is available.
@endcond
@endcond
@cond Doxygen_Suppress
Declare that a thread will access a virtual memory mapping.
Create a new virtual memory mapping derived from an other virtual memory
mapping.
Create a new virtual memory mapping from a file.
Free a virtual memory mapping.
Return the access mode of the virtual memory mapping.
Return the pointer to the start of a virtual memory mapping.
Return the page size associated to a virtual memory mapping.
Return the size of the virtual memory mapping.
Return TRUE if this memory mapping can be accessed safely from concurrent
threads.
Return if the virtual memory mapping is a direct file mapping.
Cleanup any resource and handlers related to virtual memory.
Create a new virtual memory mapping.
Make sure that a region of virtual memory will be realized.
Declare that a thread will stop accessing a virtual memory mapping.
@endcond
@cond Doxygen_Suppress
\file cpl_string.h
@endcond
Return TRUE if GDAL library version at runtime matches
nVersionMajor.nVersionMinor.
@endcond
@endcond
@endcond
Sets the SQL query logger callback.
@brief Destroys a GDALSubdatasetInfo object.
@param hInfo Pointer to GDALSubdatasetInfo object
@since GDAL 3.8
@cond Doxygen_Suppress
@cond Doxygen_Suppress
@endcond
@brief Returns a new GDALSubdatasetInfo object with methods to extract
and manipulate subdataset information.
If the pszFileName argument is not recognized by any driver as
a subdataset descriptor, NULL is returned.
The returned object must be freed with GDALDestroySubdatasetInfo().
@param pszFileName File name with subdataset information
@note This method does not check if the subdataset actually exists.
@return Opaque pointer to a GDALSubdatasetInfo object or NULL if no drivers accepted the file name.
@since GDAL 3.8
@endcond
@cond Doxygen_Suppress
@cond Doxygen_Suppress
@brief Returns the file path component of a
subdataset descriptor effectively stripping the information about the subdataset
and returning the “parent” dataset descriptor.
The returned string must be freed with CPLFree().
@param hInfo Pointer to GDALSubdatasetInfo object
@note This method does not check if the subdataset actually exists.
@return The original string with the subdataset information removed.
@since GDAL 3.8
@brief Returns the subdataset component of a subdataset descriptor descriptor.
The returned string must be freed with CPLFree().
@param hInfo Pointer to GDALSubdatasetInfo object
@note This method does not check if the subdataset actually exists.
@return The subdataset name.
@since GDAL 3.8
@brief Replaces the path component of a subdataset descriptor.
The returned string must be freed with CPLFree().
@param hInfo Pointer to GDALSubdatasetInfo object
@param pszNewPath New path.
@note This method does not check if the subdataset actually exists.
@return The original subdataset descriptor with the old path component replaced by newPath.
@since GDAL 3.8
@endcond
Clean-up all drivers (including raster ones starting with GDAL 2.0.
See GDALDestroyDriverManager()
@endcond
@cond Doxygen_Suppress
@cond Doxygen_Suppress
@endcond
@cond Doxygen_Suppress
@cond Doxygen_Suppress
@endcond
Get style table
@cond Doxygen_Suppress
Set style table
Set style table (and take ownership)
@endcond /
/* Flush pending changes to disk. See GDALDataset::FlushCache()
Return style table
Set style table
Set style table and take ownership
Create a OGR geometry from a ESRI JSON geometry object
Create a OGR geometry from a GeoJSON geometry object
@endcond
@cond Doxygen_Suppress
@endcond
@cond Doxygen_Suppress
Get style table
@cond Doxygen_Suppress
Set style table
Set style table (and take ownership)
@endcond
Albers Conic Equal Area
Azimuthal Equidistant
Bonne
Cylindrical Equal Area
Cassini-Soldner
Equidistant Conic
Eckert I-VI
Eckert IV
Eckert VI
Equirectangular
Equirectangular generalized form
GEOS - Geostationary Satellite View
Goode Homolosine
Gall Stereograpic
Gauss Schreiber Transverse Mercator
Gnomonic
Hotine Oblique Mercator using azimuth angle
Hotine Oblique Mercator using two points on centerline
Interrupted Goode Homolosine
International Map of the World Polyconic
Krovak Oblique Conic Conformal
Lambert Azimuthal Equal-Area
Lambert Conformal Conic
Lambert Conformal Conic 1SP
Lambert Conformal Conic (Belgium)
Miller Cylindrical
Mercator
Mercator 2SP
Mollweide
New Zealand Map Grid
Oblique Stereographic
Orthographic
Polar Stereographic
Polyconic
Quadrilateralized Spherical Cube
Robinson
Spherical, Cross-track, Height
Swiss Oblique Cylindrical
Sinusoidal
Stereographic
Transverse Mercator
Tunesia Mining Grid
Transverse Mercator (South Oriented)
Transverse Mercator variant
TPED (Two Point Equi Distant)
VanDerGrinten
Vertical Perspective / Near-sided Perspective
Wagner I – VII
return a VSIFilesystemPluginCallbacksStruct to be populated at runtime with
handler callbacks
@since GDAL 3.0
VSICallocVerbose
@cond Doxygen_Suppress
@endcond
@cond Doxygen_Suppress
free resources allocated by VSIAllocFilesystemPluginCallbacksStruct
@since GDAL 3.0
@cond Doxygen_Suppress
register a handler on the given prefix. All IO on datasets opened with the
filename /prefix/xxxxxx will go through these callbacks. pszPrefix must begin
and end with a ‘/’
@since GDAL 3.0
@endcond
VSIMalloc2 allocates (nSize1 * nSize2) bytes.
In case of overflow of the multiplication, or if memory allocation fails, a
NULL pointer is returned and a CE_Failure error is raised with CPLError().
If nSize1 == 0 || nSize2 == 0, a NULL pointer will also be returned.
CPLFree() or VSIFree() can be used to free memory allocated by this function.
VSIMalloc3 allocates (nSize1 * nSize2 * nSize3) bytes.
In case of overflow of the multiplication, or if memory allocation fails, a
NULL pointer is returned and a CE_Failure error is raised with CPLError().
If nSize1 == 0 || nSize2 == 0 || nSize3 == 0, a NULL pointer will also be
returned. CPLFree() or VSIFree() can be used to free memory allocated by this
function.
VSIMalloc2Verbose
VSIMalloc3Verbose
VSIMallocVerbose
VSIReallocVerbose
Unregister a handler previously installed with VSIInstallPluginHandler() on
the given prefix.
Note: it is generally unsafe to remove a handler while there are still file
handles opened that are managed by that handler. It is the responsibility of
the caller to ensure that it calls this function in a situation where it is
safe to do so.
@since GDAL 3.9
VSIStrdupVerbose
@cond Doxygen_Suppress
Callback for a custom error handler
Error number
Callback for CPLPushFileFinder
Opaque type for a hash set
CPLHashSetEqualFunc
CPLHashSetFreeEltFunc
CPLHashSetHashFunc
CPLHashSetIterEltFunc
List element structure.
Opaque type for a quad tree
CPLQuadTreeDumpFeatureFunc
CPLQuadTreeForeachFunc
CPLQuadTreeGetBoundsExFunc
CPLQuadTreeGetBoundsFunc
Callback for CPLSubscribeToSetConfigOption()
Callback triggered when a still unmapped page of virtual memory is accessed.
The callback has the responsibility of filling the page with relevant values
Callback triggered when a virtual memory mapping is destroyed.
@param pUserData user data that was passed to CPLVirtualMemNew().
Callback triggered when a dirty mapped page is going to be freed.
(saturation of cache, or termination of the virtual memory mapping).
Type of a constant null-terminated list of nul terminated strings.
Seen as char** from C and const char* const* from C++
Unsigned byte type
Opaque type used for the C bindings of the C++ GDALAsyncReader class
Opaque type for C++ GDALAttribute
Opaque type used for the C bindings of the C++ GDALColorTable class
Contour generator opaque type
Contour writer callback type
Opaque type used for the C bindings of the C++ GDALDataset class
Type of functions to pass to GDALAddDerivedBandPixelFunc.
@since GDAL 2.2
Type of functions to pass to GDALAddDerivedBandPixelFuncWithArgs.
@since GDAL 3.4
Opaque type for C++ GDALDimension
Opaque type used for the C bindings of the C++ GDALDriver class
Opaque type for C++ GDALEDTComponent
Opaque type for C++ GDALExtendedDataType
Opaque type for C++ GDALGroup
Opaque type for C++ GDALMDArray
Opaque type used for the C bindings of the C++ GDALMajorObject class
@cond Doxygen_Suppress
Type of functions to pass to GDALDatasetSetQueryLoggerFunc
@since GDAL 3.7
Opaque type used for the C bindings of the C++ GDALRasterAttributeTable
class
Opaque type used for the C bindings of the C++ GDALRasterBand class
Opaque type used for the C bindings of the C++ GDALRelationship class
@since GDAL 3.6
Opaque type used for the C bindings of the C++ GDALSubdatasetInfo class
@since GDAL 3.8
Free function to pass to GDALVRTRegisterProcessedDatasetFunc.
Initialization function to pass to GDALVRTRegisterProcessedDatasetFunc.
Processing function to pass to GDALVRTRegisterProcessedDatasetFunc.
@param pszFuncName Function name. Must be unique and not null.
@param pUserData User data. May be nullptr. Must remain valid during the
lifetime of GDAL.
@param pWorkingData Value of the *ppWorkingData output parameter of
GDALVRTProcessedDatasetFuncInit.
@param papszFunctionArgs Function arguments as a list of key=value pairs.
@param nBufXSize Width in pixels of pInBuffer and pOutBuffer
@param nBufYSize Height in pixels of pInBuffer and pOutBuffer
@param pInBuffer Input buffer. It is pixel-interleaved
(i.e. R00,G00,B00,R01,G01,B01, etc.)
@param nInBufferSize Size in bytes of pInBuffer
@param eInDT Data type of pInBuffer
@param nInBands Number of bands in pInBuffer.
@param padfInNoData Input nodata values.
@param pOutBuffer Output buffer. It is pixel-interleaved
(i.e. R00,G00,B00,R01,G01,B01, etc.)
@param nOutBufferSize Size in bytes of pOutBuffer
@param eOutDT Data type of pOutBuffer
@param nOutBands Number of bands in pOutBuffer.
@param padfOutNoData Input nodata values.
@param dfSrcXOff Source X coordinate in pixel of the top-left of the region
@param dfSrcYOff Source Y coordinate in pixel of the top-left of the region
@param dfSrcXSize Width in pixels of the region
@param dfSrcYSize Height in pixels of the region
@param adfSrcGT Source geotransform
@param pszVRTPath Directory of the VRT
@param papszExtra Extra arguments (unused for now)
@since GDAL 3.9
Opaque type representing a GDALWarpOperation object
Int16 type
Int32 type
Signed 64 bit integer type
Large signed integer type (generally 64-bit integer type).
Use GInt64 when exactly 64 bit is needed
Integer type large enough to hold the difference between 2 addresses
Type to express pixel, line or band spacing. Signed 64 bit integer.
Unsigned int32 type
Unsigned 64 bit integer type
Large unsigned integer type (generally 64-bit unsigned integer type).
Use GUInt64 when exactly 64 bit is needed
Opaque type for a coordinate transformation object
Coordinate transformation options.
Opaque type for a OGR datasource (OGRDataSource)
Opaque type for a feature definition (OGRFeatureDefn)
Opaque type for a feature (OGRFeature)
Opaque type for a field definition (OGRFieldDefn)
Opaque type for a field domain definition (OGRFieldDomain)
Opaque type for OGRGeomCoordinatePrecision
Opaque type for a geometry field definition (OGRGeomFieldDefn)
Opaque type for a geometry transformer.
Opaque type for a geometry
Opaque type for a layer (OGRLayer)
Opaque type for a prepared geometry
Opaque type for a OGR driver (OGRSFDriver)
Opaque type for a spatial reference system
Style manager opaque type
Opaque type for a style table (OGRStyleTable)
Style tool opaque type
Generic pointer for the working structure of VRTProcessedDataset
function.
This optional method is called when code plans to access soon one or several
ranges in a file. Some file systems may be able to use this hint to
for example asynchronously start such requests.
Close file handle. Optional
@since GDAL 3.0
Has end of file been reached. Mandatory? for read handles.
@since GDAL 3.0
Sync written bytes. Optional
@since GDAL 3.0
Get empty ranges. Optional
@since GDAL 3.0
Create Directory. Optional
@since GDAL 3.0
Open a handle. Mandatory. Returns an opaque pointer that will be used in
subsequent file I/O calls. Should return null and/or set errno if the handle
does not exist or the access mode is incorrect.
@since GDAL 3.0
Read data from current position, returns the number of blocks correctly read.
Mandatory except for write only handles
@since GDAL 3.0
List directory content. Optional
@since GDAL 3.0
Read from multiple offsets. Optional, will be replaced by multiple calls to
Read() if not provided
@since GDAL 3.0
Rename handle. Optional
@since GDAL 3.0
Delete Directory. Optional
@since GDAL 3.0
Seek to position in handle. Mandatory except for write only handles
@since GDAL 3.0
List related files. Must return NULL if unknown, or a list of relative
filenames that can be opened along the main file. If no other file than
pszFilename needs to be opened, return static_cast<char**>
(CPLCalloc(1,sizeof(char*)));
Return information about a handle. Optional (driver dependent)
@since GDAL 3.0
Return current position in handle. Mandatory
@since GDAL 3.0
Truncate handle. Mandatory (driver dependent?) for write handles
Remove handle by name. Optional
@since GDAL 3.0
Write bytes at current offset. Mandatory for writable handles
@since GDAL 3.0
Opaque type for a FILE that implements the VSIVirtualHandle API
@cond Doxygen_Suppress
Type for VSIStatL()
Callback used by VSIStdoutSetRedirection()
Type for a file offset