gaiageo.h   gaiageo.h 
/* /*
gaiageo.h -- Gaia common support for geometries gaiageo.h -- Gaia common support for geometries
version 1.0, 2008 May 6 version 2.2, 2008 September 13
Author: Sandro Furieri a-furieri@lqt.it Author: Sandro Furieri a-furieri@lqt.it
Copyright (C) 2008 Alessandro Furieri -------------------------------------------------------------------------- ----
This library is free software; you can redistribute it and/or Version: MPL 1.1/GPL 2.0/LGPL 2.1
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, The contents of this file are subject to the Mozilla Public License Versio
but WITHOUT ANY WARRANTY; without even the implied warranty of n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1.1 (the "License"); you may not use this file except in compliance with
Lesser General Public License for more details. the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/
You should have received a copy of the GNU Lesser General Public Software distributed under the License is distributed on an "AS IS" basis,
License along with this library; if not, write to the Free Software WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 for the specific language governing rights and limitations under the
USA License.
The Original Code is the SpatiaLite library
The Initial Developer of the Original Code is Alessandro Furieri
Portions created by the Initial Developer are Copyright (C) 2008
the Initial Developer. All Rights Reserved.
Contributor(s):
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
in which case the provisions of the GPL or the LGPL are applicable instead
of those above. If you wish to allow use of your version of this file only
under the terms of either the GPL or the LGPL, and not to allow others to
use your version of this file under the terms of the MPL, indicate your
decision by deleting the provisions above and replace them with the notice
and other provisions required by the GPL or the LGPL. If you do not delete
the provisions above, a recipient may use your version of this file under
the terms of any one of the MPL, the GPL or the LGPL.
*/ */
#ifdef DLL_EXPORT #ifdef DLL_EXPORT
#define GAIAGEO_DECLARE __declspec(dllexport) #define GAIAGEO_DECLARE __declspec(dllexport)
#else #else
#define GAIAGEO_DECLARE extern #define GAIAGEO_DECLARE extern
#endif #endif
#ifndef _GAIAGEO_H #ifndef _GAIAGEO_H
skipping to change at line 93 skipping to change at line 112
/* constants that defines MBRs spatial relationships */ /* constants that defines MBRs spatial relationships */
#define GAIA_MBR_CONTAINS 1 #define GAIA_MBR_CONTAINS 1
#define GAIA_MBR_DISJOINT 2 #define GAIA_MBR_DISJOINT 2
#define GAIA_MBR_EQUAL 3 #define GAIA_MBR_EQUAL 3
#define GAIA_MBR_INTERSECTS 4 #define GAIA_MBR_INTERSECTS 4
#define GAIA_MBR_OVERLAPS 5 #define GAIA_MBR_OVERLAPS 5
#define GAIA_MBR_TOUCHES 6 #define GAIA_MBR_TOUCHES 6
#define GAIA_MBR_WITHIN 7 #define GAIA_MBR_WITHIN 7
/* constants used for FilterMBR */
#define GAIA_FILTER_MBR_WITHIN 74
#define GAIA_FILTER_MBR_CONTAINS 77
#define GAIA_FILTER_MBR_INTERSECTS 79
#define GAIA_FILTER_MBR_DECLARE 89
/* macros */ /* macros */
#define gaiaGetPoint(xy,v,x,y) {*x = *(xy + (v * 2)); \ #define gaiaGetPoint(xy,v,x,y) {*x = *(xy + (v * 2)); \
*y = *(xy + ((v * 2) + 1));} *y = *(xy + ((v * 2) + 1));}
#define gaiaSetPoint(xy,v,x,y) {*(xy + (v * 2)) = x; \ #define gaiaSetPoint(xy,v,x,y) {*(xy + (v * 2)) = x; \
*(xy + ((v * 2) + 1)) = y;} *(xy + ((v * 2) + 1)) = y;}
typedef struct gaiaPointStruct typedef struct gaiaPointStruct
{ {
/* an OpenGis POINT */ /* an OpenGis POINT */
skipping to change at line 241 skipping to change at line 266
int DbfSize; /* current DBF size */ int DbfSize; /* current DBF size */
int DbfRecno; /* current DBF record number */ int DbfRecno; /* current DBF record number */
unsigned char *BufShp; /* the SHP I/O buffer */ unsigned char *BufShp; /* the SHP I/O buffer */
int ShpBfsz; /* the SHP buffer current size */ int ShpBfsz; /* the SHP buffer current size */
int ShpSize; /* current SHP size */ int ShpSize; /* current SHP size */
int ShxSize; /* current SHX size */ int ShxSize; /* current SHX size */
double MinX; /* the MBR/BBOX for the whole shapefile */ double MinX; /* the MBR/BBOX for the whole shapefile */
double MinY; double MinY;
double MaxX; double MaxX;
double MaxY; double MaxY;
void *IconvObj; /* opaque reference to ICONV converter */
char *LastError; /* last error message */ char *LastError; /* last error message */
} gaiaShapefile; } gaiaShapefile;
typedef gaiaShapefile *gaiaShapefilePtr; typedef gaiaShapefile *gaiaShapefilePtr;
/* function prototipes */ /* function prototipes */
GAIAGEO_DECLARE int gaiaEndianArch (void); GAIAGEO_DECLARE int gaiaEndianArch (void);
GAIAGEO_DECLARE int gaiaImport16 (const unsigned char *p, int little_en GAIAGEO_DECLARE short gaiaImport16 (const unsigned char *p,
dian, int little_endian,
int little_endian_arch); int little_endian_arch);
GAIAGEO_DECLARE int gaiaImport32 (const unsigned char *p, int little_en dian, GAIAGEO_DECLARE int gaiaImport32 (const unsigned char *p, int little_en dian,
int little_endian_arch); int little_endian_arch);
GAIAGEO_DECLARE double gaiaImport64 (const unsigned char *p, GAIAGEO_DECLARE double gaiaImport64 (const unsigned char *p,
int little_endian, int little_endian,
int little_endian_arch); int little_endian_arch);
GAIAGEO_DECLARE void gaiaExport16 (unsigned char *p, short value, GAIAGEO_DECLARE void gaiaExport16 (unsigned char *p, short value,
int little_endian, int little_endian,
int little_endian_arch); int little_endian_arch);
GAIAGEO_DECLARE void gaiaExport32 (unsigned char *p, int value, GAIAGEO_DECLARE void gaiaExport32 (unsigned char *p, int value,
int little_endian, int little_endian,
skipping to change at line 381 skipping to change at line 408
GAIAGEO_DECLARE void gaiaSetIntValue (gaiaDbfFieldPtr field, int value) ; GAIAGEO_DECLARE void gaiaSetIntValue (gaiaDbfFieldPtr field, int value) ;
GAIAGEO_DECLARE void gaiaSetDoubleValue (gaiaDbfFieldPtr field, GAIAGEO_DECLARE void gaiaSetDoubleValue (gaiaDbfFieldPtr field,
double value); double value);
GAIAGEO_DECLARE void gaiaSetStrValue (gaiaDbfFieldPtr field, char *str) ; GAIAGEO_DECLARE void gaiaSetStrValue (gaiaDbfFieldPtr field, char *str) ;
GAIAGEO_DECLARE gaiaDbfFieldPtr gaiaAllocDbfField (char *name, GAIAGEO_DECLARE gaiaDbfFieldPtr gaiaAllocDbfField (char *name,
unsigned char type, unsigned char type,
int offset, int offset,
unsigned char length, unsigned char length,
unsigned char decimal s); unsigned char decimal s);
GAIAGEO_DECLARE void gaiaFreeDbfField (gaiaDbfFieldPtr p); GAIAGEO_DECLARE void gaiaFreeDbfField (gaiaDbfFieldPtr p);
GAIAGEO_DECLARE gaiaDbfFieldPtr gaiaCloneDbfField (gaiaDbfFieldPtr org) ;
GAIAGEO_DECLARE gaiaDbfListPtr gaiaAllocDbfList (void); GAIAGEO_DECLARE gaiaDbfListPtr gaiaAllocDbfList (void);
GAIAGEO_DECLARE void gaiaFreeDbfList (gaiaDbfListPtr list); GAIAGEO_DECLARE void gaiaFreeDbfList (gaiaDbfListPtr list);
GAIAGEO_DECLARE gaiaDbfFieldPtr gaiaAddDbfField (gaiaDbfListPtr list, GAIAGEO_DECLARE gaiaDbfFieldPtr gaiaAddDbfField (gaiaDbfListPtr list,
char *name, char *name,
unsigned char type, unsigned char type,
int offset, int offset,
unsigned char length, unsigned char length,
unsigned char decimals) ; unsigned char decimals) ;
GAIAGEO_DECLARE void gaiaResetDbfEntity (gaiaDbfListPtr list); GAIAGEO_DECLARE void gaiaResetDbfEntity (gaiaDbfListPtr list);
GAIAGEO_DECLARE gaiaValuePtr gaiaCloneValue (gaiaValuePtr org); GAIAGEO_DECLARE gaiaValuePtr gaiaCloneValue (gaiaValuePtr org);
GAIAGEO_DECLARE gaiaDbfListPtr gaiaCloneDbfEntity (gaiaDbfListPtr org); GAIAGEO_DECLARE gaiaDbfListPtr gaiaCloneDbfEntity (gaiaDbfListPtr org);
GAIAGEO_DECLARE gaiaShapefilePtr gaiaAllocShapefile (void); GAIAGEO_DECLARE gaiaShapefilePtr gaiaAllocShapefile (void);
GAIAGEO_DECLARE void gaiaFreeShapefile (gaiaShapefilePtr shp); GAIAGEO_DECLARE void gaiaFreeShapefile (gaiaShapefilePtr shp);
GAIAGEO_DECLARE void gaiaOpenShpRead (gaiaShapefilePtr shp, GAIAGEO_DECLARE void gaiaOpenShpRead (gaiaShapefilePtr shp,
const char *path); const char *path,
const char *charFrom,
const char *charTo);
GAIAGEO_DECLARE void gaiaOpenShpWrite (gaiaShapefilePtr shp, GAIAGEO_DECLARE void gaiaOpenShpWrite (gaiaShapefilePtr shp,
const char *path, int shape, const char *path, int shape,
gaiaDbfListPtr list); gaiaDbfListPtr list,
const char *charFrom,
const char *charTo);
GAIAGEO_DECLARE int gaiaReadShpEntity (gaiaShapefilePtr shp, GAIAGEO_DECLARE int gaiaReadShpEntity (gaiaShapefilePtr shp,
int current_row); int current_row, int srid);
GAIAGEO_DECLARE int gaiaWriteShpEntity (gaiaShapefilePtr shp, GAIAGEO_DECLARE int gaiaWriteShpEntity (gaiaShapefilePtr shp,
gaiaDbfListPtr entity); gaiaDbfListPtr entity);
GAIAGEO_DECLARE void gaiaFlushShpHeaders (gaiaShapefilePtr shp); GAIAGEO_DECLARE void gaiaFlushShpHeaders (gaiaShapefilePtr shp);
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaParseWkt (const unsigned char GAIAGEO_DECLARE gaiaGeomCollPtr gaiaParseWkt (const unsigned char
*dirty_buffer, short type) ; *dirty_buffer, short type) ;
GAIAGEO_DECLARE void gaiaOutWkt (gaiaGeomCollPtr geom, char **result); GAIAGEO_DECLARE void gaiaOutWkt (gaiaGeomCollPtr geom, char **result);
GAIAGEO_DECLARE int gaiaDimension (gaiaGeomCollPtr geom); GAIAGEO_DECLARE int gaiaDimension (gaiaGeomCollPtr geom);
GAIAGEO_DECLARE void gaiaGeometryType (gaiaGeomCollPtr geom, char **buf GAIAGEO_DECLARE int gaiaGeometryType (gaiaGeomCollPtr geom);
); GAIAGEO_DECLARE int gaiaGeometryAliasType (gaiaGeomCollPtr geom);
GAIAGEO_DECLARE void gaiaGeometryAliasType (gaiaGeomCollPtr geom,
char **buf);
GAIAGEO_DECLARE int gaiaIsEmpty (gaiaGeomCollPtr geom); GAIAGEO_DECLARE int gaiaIsEmpty (gaiaGeomCollPtr geom);
GAIAGEO_DECLARE int gaiaMbrsContains (gaiaGeomCollPtr mbr1, GAIAGEO_DECLARE int gaiaMbrsContains (gaiaGeomCollPtr mbr1,
gaiaGeomCollPtr mbr2); gaiaGeomCollPtr mbr2);
GAIAGEO_DECLARE int gaiaMbrsDisjoint (gaiaGeomCollPtr mbr1, GAIAGEO_DECLARE int gaiaMbrsDisjoint (gaiaGeomCollPtr mbr1,
gaiaGeomCollPtr mbr2); gaiaGeomCollPtr mbr2);
GAIAGEO_DECLARE int gaiaMbrsEqual (gaiaGeomCollPtr mbr1, GAIAGEO_DECLARE int gaiaMbrsEqual (gaiaGeomCollPtr mbr1,
gaiaGeomCollPtr mbr2); gaiaGeomCollPtr mbr2);
GAIAGEO_DECLARE int gaiaMbrsIntersects (gaiaGeomCollPtr mbr1, GAIAGEO_DECLARE int gaiaMbrsIntersects (gaiaGeomCollPtr mbr1,
gaiaGeomCollPtr mbr2); gaiaGeomCollPtr mbr2);
GAIAGEO_DECLARE int gaiaMbrsOverlaps (gaiaGeomCollPtr mbr1, GAIAGEO_DECLARE int gaiaMbrsOverlaps (gaiaGeomCollPtr mbr1,
skipping to change at line 443 skipping to change at line 474
GAIAGEO_DECLARE void gaiaSwapCoords (gaiaGeomCollPtr geom); GAIAGEO_DECLARE void gaiaSwapCoords (gaiaGeomCollPtr geom);
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaCloneGeomColl (gaiaGeomCollPtr geom ); GAIAGEO_DECLARE gaiaGeomCollPtr gaiaCloneGeomColl (gaiaGeomCollPtr geom );
GAIAGEO_DECLARE gaiaLinestringPtr gaiaCloneLinestring (gaiaLinestringPt r GAIAGEO_DECLARE gaiaLinestringPtr gaiaCloneLinestring (gaiaLinestringPt r
line); line);
GAIAGEO_DECLARE gaiaRingPtr gaiaCloneRing (gaiaRingPtr ring); GAIAGEO_DECLARE gaiaRingPtr gaiaCloneRing (gaiaRingPtr ring);
GAIAGEO_DECLARE gaiaPolygonPtr gaiaClonePolygon (gaiaPolygonPtr polyg); GAIAGEO_DECLARE gaiaPolygonPtr gaiaClonePolygon (gaiaPolygonPtr polyg);
GAIAGEO_DECLARE int gaiaLinestringEquals (gaiaLinestringPtr line1, GAIAGEO_DECLARE int gaiaLinestringEquals (gaiaLinestringPtr line1,
gaiaLinestringPtr line2); gaiaLinestringPtr line2);
GAIAGEO_DECLARE int gaiaPolygonEquals (gaiaPolygonPtr geom1, GAIAGEO_DECLARE int gaiaPolygonEquals (gaiaPolygonPtr geom1,
gaiaPolygonPtr geom2); gaiaPolygonPtr geom2);
GAIAGEO_DECLARE void gaiaMakePoint (double x, double y, int srid,
unsigned char **result, int *size);
GAIAGEO_DECLARE void gaiaBuildMbr (double x1, double y1, double x2, GAIAGEO_DECLARE void gaiaBuildMbr (double x1, double y1, double x2,
double y2, unsigned char **result, double y2, int srid,
int *size); unsigned char **result, int *size);
GAIAGEO_DECLARE void gaiaBuildCircleMbr (double x, double y, double rad GAIAGEO_DECLARE void gaiaBuildFilterMbr (double x1, double y1, double x
ius, 2,
double y2, int mode,
unsigned char **result, int *si ze); unsigned char **result, int *si ze);
GAIAGEO_DECLARE int gaiaParseFilterMbr (unsigned char *result, int size
,
double *minx, double *miny,
double *maxx, double *maxy,
int *mode);
GAIAGEO_DECLARE void gaiaBuildCircleMbr (double x, double y, double rad
ius,
int srid, unsigned char **resul
t,
int *size);
GAIAGEO_DECLARE int gaiaGetMbrMinX (const unsigned char *blob, GAIAGEO_DECLARE int gaiaGetMbrMinX (const unsigned char *blob,
unsigned int size, double *minx); unsigned int size, double *minx);
GAIAGEO_DECLARE int gaiaGetMbrMaxX (const unsigned char *blob, GAIAGEO_DECLARE int gaiaGetMbrMaxX (const unsigned char *blob,
unsigned int size, double *maxx); unsigned int size, double *maxx);
GAIAGEO_DECLARE int gaiaGetMbrMinY (const unsigned char *blob, GAIAGEO_DECLARE int gaiaGetMbrMinY (const unsigned char *blob,
unsigned int size, double *miny); unsigned int size, double *miny);
GAIAGEO_DECLARE int gaiaGetMbrMaxY (const unsigned char *blob, GAIAGEO_DECLARE int gaiaGetMbrMaxY (const unsigned char *blob,
unsigned int size, double *maxy); unsigned int size, double *maxy);
GAIAGEO_DECLARE const char *gaiaGetLocaleCharset ();
GAIAGEO_DECLARE int gaiaConvertCharset (char **buf, const char *fromCs,
const char *toCs);
GAIAGEO_DECLARE int gaiaToUTF8 (char **buf, const char *fromCs,
const char *toCs);
GAIAGEO_DECLARE void *gaiaCreateUTF8Converter (const char *fromCS);
GAIAGEO_DECLARE void gaiaFreeUTF8Converter (void *cvtCS);
GAIAGEO_DECLARE char *gaiaConvertToUTF8 (void *cvtCS, const char *buf,
int len, int *err);
GAIAGEO_DECLARE int gaiaIsReservedSqliteName (const char *name);
GAIAGEO_DECLARE int gaiaIsReservedSqlName (const char *name);
GAIAGEO_DECLARE int gaiaIllegalSqlName (const char *name);
GAIAGEO_DECLARE void gaiaCleanSqlString (char *value);
#if OMIT_PROJ == 0 /* including PROJ.4 */ #if OMIT_PROJ == 0 /* including PROJ.4 */
GAIAGEO_DECLARE double gaiaRadsToDegs (double rads); GAIAGEO_DECLARE double gaiaRadsToDegs (double rads);
GAIAGEO_DECLARE double gaiaDegsToRads (double degs); GAIAGEO_DECLARE double gaiaDegsToRads (double degs);
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaTransform (gaiaGeomCollPtr org, GAIAGEO_DECLARE gaiaGeomCollPtr gaiaTransform (gaiaGeomCollPtr org,
char *proj_from, char *proj_from,
char *proj_to); char *proj_to);
#endif /* end including PROJ.4 */ #endif /* end including PROJ.4 */
 End of changes. 17 change blocks. 
28 lines changed or deleted 83 lines changed or added


 spatialite.h   spatialite.h 
/* /*
spatialite.h -- Gaia spatial support for SQLite spatialite.h -- Gaia spatial support for SQLite
version 1.0, 2008 May 6 version 2.2, 2008 September 13
Author: Sandro Furieri a-furieri@lqt.it Author: Sandro Furieri a-furieri@lqt.it
Copyright (C) 2008 Alessandro Furieri -------------------------------------------------------------------------- ----
This library is free software; you can redistribute it and/or Version: MPL 1.1/GPL 2.0/LGPL 2.1
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, The contents of this file are subject to the Mozilla Public License Versio
but WITHOUT ANY WARRANTY; without even the implied warranty of n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1.1 (the "License"); you may not use this file except in compliance with
Lesser General Public License for more details. the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/
You should have received a copy of the GNU Lesser General Public Software distributed under the License is distributed on an "AS IS" basis,
License along with this library; if not, write to the Free Software WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 for the specific language governing rights and limitations under the
USA License.
The Original Code is the SpatiaLite library
The Initial Developer of the Original Code is Alessandro Furieri
Portions created by the Initial Developer are Copyright (C) 2008
the Initial Developer. All Rights Reserved.
Contributor(s):
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
in which case the provisions of the GPL or the LGPL are applicable instead
of those above. If you wish to allow use of your version of this file only
under the terms of either the GPL or the LGPL, and not to allow others to
use your version of this file under the terms of the MPL, indicate your
decision by deleting the provisions above and replace them with the notice
and other provisions required by the GPL or the LGPL. If you do not delete
the provisions above, a recipient may use your version of this file under
the terms of any one of the MPL, the GPL or the LGPL.
*/ */
#ifdef DLL_EXPORT #ifdef DLL_EXPORT
#define SPATIALITE_DECLARE __declspec(dllexport) #define SPATIALITE_DECLARE __declspec(dllexport)
#else #else
#define SPATIALITE_DECLARE extern #define SPATIALITE_DECLARE extern
#endif #endif
#ifndef _SPATIALITE_H #ifndef _SPATIALITE_H
#define _SPATIALITE_H #define _SPATIALITE_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C"
{ {
#endif #endif
#define SPATIALITE_VERSION "2.0"
SPATIALITE_DECLARE const char *spatialite_version (void); SPATIALITE_DECLARE const char *spatialite_version (void);
SPATIALITE_DECLARE void spatialite_init (void); SPATIALITE_DECLARE void spatialite_init (int verbose);
SPATIALITE_DECLARE void dump_shapefile (sqlite3 * sqlite, char *table,
char *column, char *charset,
char *shp_path, char *geom_type)
;
SPATIALITE_DECLARE void load_shapefile (sqlite3 * sqlite, char *shp_pat
h,
char *table, char *charset,
int srid, char *column);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* _SPATIALITE_H */ #endif /* _SPATIALITE_H */
 End of changes. 7 change blocks. 
17 lines changed or deleted 42 lines changed or added


 sqlite3ext.h   sqlite3ext.h 
skipping to change at line 18 skipping to change at line 18
** May you find forgiveness for yourself and forgive others. ** May you find forgiveness for yourself and forgive others.
** May you share freely, never taking more than you give. ** May you share freely, never taking more than you give.
** **
************************************************************************* *************************************************************************
** This header file defines the SQLite interface for use by ** This header file defines the SQLite interface for use by
** shared libraries that want to be imported as extensions into ** shared libraries that want to be imported as extensions into
** an SQLite instance. Shared libraries that intend to be loaded ** an SQLite instance. Shared libraries that intend to be loaded
** as extensions by SQLite should #include this file instead of ** as extensions by SQLite should #include this file instead of
** sqlite3.h. ** sqlite3.h.
** **
** @(#) $Id: sqlite3ext.h,v 1.21 2008/03/19 21:45:51 drh Exp $ ** @(#) $Id: sqlite3ext.h,v 1.24 2008/06/30 15:09:29 danielk1977 Exp $
*/ */
#ifndef _SQLITE3EXT_H_ #ifndef _SQLITE3EXT_H_
#define _SQLITE3EXT_H_ #define _SQLITE3EXT_H_
#include "sqlite3.h" #include "sqlite3.h"
typedef struct sqlite3_api_routines sqlite3_api_routines; typedef struct sqlite3_api_routines sqlite3_api_routines;
/* /*
** The following structure holds pointers to all of the SQLite API ** The following structure holds pointers to all of the SQLite API
** routines. ** routines.
skipping to change at line 81 skipping to change at line 81
const char * (*column_table_name)(sqlite3_stmt*,int); const char * (*column_table_name)(sqlite3_stmt*,int);
const void * (*column_table_name16)(sqlite3_stmt*,int); const void * (*column_table_name16)(sqlite3_stmt*,int);
const unsigned char * (*column_text)(sqlite3_stmt*,int iCol); const unsigned char * (*column_text)(sqlite3_stmt*,int iCol);
const void * (*column_text16)(sqlite3_stmt*,int iCol); const void * (*column_text16)(sqlite3_stmt*,int iCol);
int (*column_type)(sqlite3_stmt*,int iCol); int (*column_type)(sqlite3_stmt*,int iCol);
sqlite3_value* (*column_value)(sqlite3_stmt*,int iCol); sqlite3_value* (*column_value)(sqlite3_stmt*,int iCol);
void * (*commit_hook)(sqlite3*,int(*)(void*),void*); void * (*commit_hook)(sqlite3*,int(*)(void*),void*);
int (*complete)(const char*sql); int (*complete)(const char*sql);
int (*complete16)(const void*sql); int (*complete16)(const void*sql);
int (*create_collation)(sqlite3*,const char*,int,void*,int(*)(void*,int, const void*,int,const void*)); int (*create_collation)(sqlite3*,const char*,int,void*,int(*)(void*,int, const void*,int,const void*));
int (*create_collation16)(sqlite3*,const char*,int,void*,int(*)(void*,in t,const void*,int,const void*)); int (*create_collation16)(sqlite3*,const void*,int,void*,int(*)(void*,in t,const void*,int,const void*));
int (*create_function)(sqlite3*,const char*,int,int,void*,void (*xFunc)( sqlite3_context*,int,sqlite3_value**),void (*xStep)(sqlite3_context*,int,sq lite3_value**),void (*xFinal)(sqlite3_context*)); int (*create_function)(sqlite3*,const char*,int,int,void*,void (*xFunc)( sqlite3_context*,int,sqlite3_value**),void (*xStep)(sqlite3_context*,int,sq lite3_value**),void (*xFinal)(sqlite3_context*));
int (*create_function16)(sqlite3*,const void*,int,int,void*,void (*xFunc )(sqlite3_context*,int,sqlite3_value**),void (*xStep)(sqlite3_context*,int, sqlite3_value**),void (*xFinal)(sqlite3_context*)); int (*create_function16)(sqlite3*,const void*,int,int,void*,void (*xFunc )(sqlite3_context*,int,sqlite3_value**),void (*xStep)(sqlite3_context*,int, sqlite3_value**),void (*xFinal)(sqlite3_context*));
int (*create_module)(sqlite3*,const char*,const sqlite3_module*,void*); int (*create_module)(sqlite3*,const char*,const sqlite3_module*,void*);
int (*data_count)(sqlite3_stmt*pStmt); int (*data_count)(sqlite3_stmt*pStmt);
sqlite3 * (*db_handle)(sqlite3_stmt*); sqlite3 * (*db_handle)(sqlite3_stmt*);
int (*declare_vtab)(sqlite3*,const char*); int (*declare_vtab)(sqlite3*,const char*);
int (*enable_shared_cache)(int); int (*enable_shared_cache)(int);
int (*errcode)(sqlite3*db); int (*errcode)(sqlite3*db);
const char * (*errmsg)(sqlite3*); const char * (*errmsg)(sqlite3*);
const void * (*errmsg16)(sqlite3*); const void * (*errmsg16)(sqlite3*);
skipping to change at line 191 skipping to change at line 191
void (*soft_heap_limit)(int); void (*soft_heap_limit)(int);
sqlite3_vfs *(*vfs_find)(const char*); sqlite3_vfs *(*vfs_find)(const char*);
int (*vfs_register)(sqlite3_vfs*,int); int (*vfs_register)(sqlite3_vfs*,int);
int (*vfs_unregister)(sqlite3_vfs*); int (*vfs_unregister)(sqlite3_vfs*);
int (*xthreadsafe)(void); int (*xthreadsafe)(void);
void (*result_zeroblob)(sqlite3_context*,int); void (*result_zeroblob)(sqlite3_context*,int);
void (*result_error_code)(sqlite3_context*,int); void (*result_error_code)(sqlite3_context*,int);
int (*test_control)(int, ...); int (*test_control)(int, ...);
void (*randomness)(int,void*); void (*randomness)(int,void*);
sqlite3 *(*context_db_handle)(sqlite3_context*); sqlite3 *(*context_db_handle)(sqlite3_context*);
int (*extended_result_codes)(sqlite3*,int);
int (*limit)(sqlite3*,int,int);
sqlite3_stmt *(*next_stmt)(sqlite3*,sqlite3_stmt*);
const char *(*sql)(sqlite3_stmt*);
int (*status)(int,int*,int*,int);
}; };
/* /*
** The following macros redefine the API routines so that they are ** The following macros redefine the API routines so that they are
** redirected throught the global sqlite3_api structure. ** redirected throught the global sqlite3_api structure.
** **
** This header file is also used by the loadext.c source file ** This header file is also used by the loadext.c source file
** (part of the main SQLite library - not an extension) so that ** (part of the main SQLite library - not an extension) so that
** it can get access to the sqlite3_api_routines structure ** it can get access to the sqlite3_api_routines structure
** definition. But the main library does not want to redefine ** definition. But the main library does not want to redefine
skipping to change at line 357 skipping to change at line 362
#define sqlite3_soft_heap_limit sqlite3_api->soft_heap_limit #define sqlite3_soft_heap_limit sqlite3_api->soft_heap_limit
#define sqlite3_vfs_find sqlite3_api->vfs_find #define sqlite3_vfs_find sqlite3_api->vfs_find
#define sqlite3_vfs_register sqlite3_api->vfs_register #define sqlite3_vfs_register sqlite3_api->vfs_register
#define sqlite3_vfs_unregister sqlite3_api->vfs_unregister #define sqlite3_vfs_unregister sqlite3_api->vfs_unregister
#define sqlite3_threadsafe sqlite3_api->xthreadsafe #define sqlite3_threadsafe sqlite3_api->xthreadsafe
#define sqlite3_result_zeroblob sqlite3_api->result_zeroblob #define sqlite3_result_zeroblob sqlite3_api->result_zeroblob
#define sqlite3_result_error_code sqlite3_api->result_error_code #define sqlite3_result_error_code sqlite3_api->result_error_code
#define sqlite3_test_control sqlite3_api->test_control #define sqlite3_test_control sqlite3_api->test_control
#define sqlite3_randomness sqlite3_api->randomness #define sqlite3_randomness sqlite3_api->randomness
#define sqlite3_context_db_handle sqlite3_api->context_db_handle #define sqlite3_context_db_handle sqlite3_api->context_db_handle
#define sqlite3_extended_result_codes sqlite3_api->extended_result_codes
#define sqlite3_limit sqlite3_api->limit
#define sqlite3_next_stmt sqlite3_api->next_stmt
#define sqlite3_sql sqlite3_api->sql
#define sqlite3_status sqlite3_api->status
#endif /* SQLITE_CORE */ #endif /* SQLITE_CORE */
#define SQLITE_EXTENSION_INIT1 const sqlite3_api_routines *sqlite3_api; #define SQLITE_EXTENSION_INIT1 const sqlite3_api_routines *sqlite3_api = 0;
#define SQLITE_EXTENSION_INIT2(v) sqlite3_api = v; #define SQLITE_EXTENSION_INIT2(v) sqlite3_api = v;
#endif /* _SQLITE3EXT_H_ */ #endif /* _SQLITE3EXT_H_ */
 End of changes. 5 change blocks. 
3 lines changed or deleted 13 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/