#ifndef DOXYGEN_SHOULD_SKIP_THIS
#ifdef _WIN32
#ifdef DLL_EXPORT
#define GEOPACKAGE_DECLARE __declspec(dllexport)
#define GEOPACKAGE_PRIVATE
#else
#define GEOPACKAGE_DECLARE extern
#define GEOPACKAGE_PRIVATE
#endif
#else
#define GEOPACKAGE_DECLARE __attribute__ ((visibility("default")))
#define GEOPACKAGE_PRIVATE __attribute__ ((visibility("hidden")))
#endif
#endif
#ifndef _GEOPACKAGE_H
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define _GEOPACKAGE_H
#endif
#include "sqlite.h"
#ifdef __cplusplus
extern "C"
{
#endif
#include <spatialite/gaiageo.h>
GEOPACKAGE_PRIVATE void fnct_gpkgCreateBaseTables (sqlite3_context *
context, int argc,
sqlite3_value ** argv);
GEOPACKAGE_PRIVATE void fnct_gpkgCreateTilesTable (sqlite3_context *
context, int argc,
sqlite3_value ** argv);
GEOPACKAGE_PRIVATE void fnct_gpkgCreateTilesZoomLevel (sqlite3_context *
context, int argc,
sqlite3_value **
argv);
GEOPACKAGE_PRIVATE void fnct_gpkgInsertEpsgSRID (sqlite3_context *
context, int argc,
sqlite3_value ** argv);
GEOPACKAGE_PRIVATE void fnct_gpkgAddTileTriggers (sqlite3_context * context,
int argc,
sqlite3_value ** argv);
GEOPACKAGE_PRIVATE void fnct_gpkgGetNormalRow (sqlite3_context * context,
int argc,
sqlite3_value ** argv);
GEOPACKAGE_PRIVATE void fnct_gpkgGetNormalZoom (sqlite3_context * context,
int argc,
sqlite3_value ** argv);
GEOPACKAGE_PRIVATE void fnct_gpkgGetImageType (sqlite3_context * context,
int argc,
sqlite3_value ** argv);
GEOPACKAGE_PRIVATE void fnct_gpkgAddGeometryColumn (sqlite3_context *
context, int argc,
sqlite3_value ** argv);
GEOPACKAGE_PRIVATE void fnct_gpkgMakePoint (sqlite3_context *
context, int argc,
sqlite3_value ** argv);
GEOPACKAGE_PRIVATE void fnct_gpkgMakePointWithSRID (sqlite3_context *
context, int argc,
sqlite3_value ** argv);
GEOPACKAGE_PRIVATE void fnct_gpkgMakePointZ (sqlite3_context *
context, int argc,
sqlite3_value ** argv);
GEOPACKAGE_PRIVATE void fnct_gpkgMakePointZWithSRID (sqlite3_context *
context, int argc,
sqlite3_value ** argv);
GEOPACKAGE_PRIVATE void fnct_gpkgMakePointM (sqlite3_context *
context, int argc,
sqlite3_value ** argv);
GEOPACKAGE_PRIVATE void fnct_gpkgMakePointMWithSRID (sqlite3_context *
context, int argc,
sqlite3_value ** argv);
GEOPACKAGE_PRIVATE void fnct_gpkgMakePointZM (sqlite3_context *
context, int argc,
sqlite3_value ** argv);
GEOPACKAGE_PRIVATE void fnct_gpkgMakePointZMWithSRID (sqlite3_context *
context, int argc,
sqlite3_value **
argv);
GEOPACKAGE_PRIVATE void fnct_ToGPB (sqlite3_context * context, int argc,
sqlite3_value ** argv);
GEOPACKAGE_PRIVATE void fnct_GeomFromGPB (sqlite3_context * context,
int argc, sqlite3_value ** argv);
GEOPACKAGE_DECLARE gaiaGeomCollPtr gaiaFromGeoPackageGeometryBlob (const
unsigned
char
*gpb,
unsigned
int
gpb_len);
GEOPACKAGE_DECLARE int gaiaIsValidGPB (const unsigned char *gpb,
int gpb_len);
GEOPACKAGE_DECLARE int gaiaGetSridFromGPB (const unsigned char *gpb,
int gpb_len);
GEOPACKAGE_DECLARE int gaiaIsEmptyGPB (const unsigned char *gpb,
int gpb_len);
GEOPACKAGE_DECLARE int gaiaGetEnvelopeFromGPB (const unsigned char *gpb,
int gpb_len, double *min_x,
double *max_x, double *min_y,
double *max_y, int *has_z,
double *min_z, double *max_z,
int *has_m, double *min_m,
double *max_m);
GEOPACKAGE_DECLARE char *gaiaGetGeometryTypeFromGPB (const unsigned char
*gpb, int gpb_len);
GEOPACKAGE_PRIVATE void fnct_IsValidGPB (sqlite3_context * context,
int argc, sqlite3_value ** argv);
GEOPACKAGE_PRIVATE void fnct_GPKG_IsAssignable (sqlite3_context * context,
int argc,
sqlite3_value ** argv);
GEOPACKAGE_PRIVATE void fnct_gpkgAddGeometryTriggers (sqlite3_context *
context, int argc,
sqlite3_value **
argv);
GEOPACKAGE_PRIVATE void fnct_gpkgAddGeometryTriggers (sqlite3_context *
context, int argc,
sqlite3_value **
argv);
GEOPACKAGE_PRIVATE void fnct_gpkgAddSpatialIndex (sqlite3_context * context,
int argc,
sqlite3_value ** argv);
GEOPACKAGE_DECLARE void
gaiaToGPB (gaiaGeomCollPtr geom, unsigned char **result, int *size);
#if __GNUC__
#define UNUSED __attribute__ ((__unused__))
#else
#define UNUSED
#endif
#ifdef __cplusplus
}
#endif
#endif