amalgalite 0.10.2-x86-mingw32 → 0.11.0-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -30,7 +30,7 @@
30
30
  ** the version number) and changes its name to "sqlite3.h" as
31
31
  ** part of the build process.
32
32
  **
33
- ** @(#) $Id: sqlite.h.in,v 1.458 2009/06/19 22:50:31 drh Exp $
33
+ ** @(#) $Id: sqlite.h.in,v 1.462 2009/08/06 17:40:46 drh Exp $
34
34
  */
35
35
  #ifndef _SQLITE3_H_
36
36
  #define _SQLITE3_H_
@@ -51,6 +51,11 @@ extern "C" {
51
51
  # define SQLITE_EXTERN extern
52
52
  #endif
53
53
 
54
+ #ifndef SQLITE_API
55
+ # define SQLITE_API
56
+ #endif
57
+
58
+
54
59
  /*
55
60
  ** These no-op macros are used in front of interfaces to mark those
56
61
  ** interfaces as either deprecated or experimental. New applications
@@ -99,8 +104,8 @@ extern "C" {
99
104
  **
100
105
  ** Requirements: [H10011] [H10014]
101
106
  */
102
- #define SQLITE_VERSION "3.6.16"
103
- #define SQLITE_VERSION_NUMBER 3006016
107
+ #define SQLITE_VERSION "3.6.17"
108
+ #define SQLITE_VERSION_NUMBER 3006017
104
109
 
105
110
  /*
106
111
  ** CAPI3REF: Run-Time Library Version Numbers {H10020} <S60100>
@@ -120,9 +125,9 @@ extern "C" {
120
125
  **
121
126
  ** Requirements: [H10021] [H10022] [H10023]
122
127
  */
123
- SQLITE_EXTERN const char sqlite3_version[];
124
- const char *sqlite3_libversion(void);
125
- int sqlite3_libversion_number(void);
128
+ SQLITE_API SQLITE_EXTERN const char sqlite3_version[];
129
+ SQLITE_API const char *sqlite3_libversion(void);
130
+ SQLITE_API int sqlite3_libversion_number(void);
126
131
 
127
132
  /*
128
133
  ** CAPI3REF: Test To See If The Library Is Threadsafe {H10100} <S60100>
@@ -156,7 +161,7 @@ int sqlite3_libversion_number(void);
156
161
  **
157
162
  ** Requirements: [H10101] [H10102]
158
163
  */
159
- int sqlite3_threadsafe(void);
164
+ SQLITE_API int sqlite3_threadsafe(void);
160
165
 
161
166
  /*
162
167
  ** CAPI3REF: Database Connection Handle {H12000} <S40200>
@@ -237,7 +242,7 @@ typedef sqlite_uint64 sqlite3_uint64;
237
242
  ** Requirements:
238
243
  ** [H12011] [H12012] [H12013] [H12014] [H12015] [H12019]
239
244
  */
240
- int sqlite3_close(sqlite3 *);
245
+ SQLITE_API int sqlite3_close(sqlite3 *);
241
246
 
242
247
  /*
243
248
  ** The type for a callback function.
@@ -290,7 +295,7 @@ typedef int (*sqlite3_callback)(void*,int,char**, char**);
290
295
  ** [H12101] [H12102] [H12104] [H12105] [H12107] [H12110] [H12113] [H12116]
291
296
  ** [H12119] [H12122] [H12125] [H12131] [H12134] [H12137] [H12138]
292
297
  */
293
- int sqlite3_exec(
298
+ SQLITE_API int sqlite3_exec(
294
299
  sqlite3*, /* An open database */
295
300
  const char *sql, /* SQL to be evaluated */
296
301
  int (*callback)(void*,int,char**,char**), /* Callback function */
@@ -858,10 +863,10 @@ struct sqlite3_vfs {
858
863
  ** must return [SQLITE_OK] on success and some other [error code] upon
859
864
  ** failure.
860
865
  */
861
- int sqlite3_initialize(void);
862
- int sqlite3_shutdown(void);
863
- int sqlite3_os_init(void);
864
- int sqlite3_os_end(void);
866
+ SQLITE_API int sqlite3_initialize(void);
867
+ SQLITE_API int sqlite3_shutdown(void);
868
+ SQLITE_API int sqlite3_os_init(void);
869
+ SQLITE_API int sqlite3_os_end(void);
865
870
 
866
871
  /*
867
872
  ** CAPI3REF: Configuring The SQLite Library {H14100} <S20000><S30200>
@@ -896,7 +901,7 @@ int sqlite3_os_end(void);
896
901
  ** [H14138] [H14141] [H14144] [H14147] [H14150] [H14153] [H14156] [H14159]
897
902
  ** [H14162] [H14165] [H14168]
898
903
  */
899
- SQLITE_EXPERIMENTAL int sqlite3_config(int, ...);
904
+ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_config(int, ...);
900
905
 
901
906
  /*
902
907
  ** CAPI3REF: Configure database connections {H14200} <S20000>
@@ -920,7 +925,7 @@ SQLITE_EXPERIMENTAL int sqlite3_config(int, ...);
920
925
  ** Requirements:
921
926
  ** [H14203] [H14206] [H14209] [H14212] [H14215]
922
927
  */
923
- SQLITE_EXPERIMENTAL int sqlite3_db_config(sqlite3*, int op, ...);
928
+ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_db_config(sqlite3*, int op, ...);
924
929
 
925
930
  /*
926
931
  ** CAPI3REF: Memory Allocation Routines {H10155} <S20120>
@@ -1191,7 +1196,7 @@ struct sqlite3_mem_methods {
1191
1196
  ** Requirements:
1192
1197
  ** [H12201] [H12202]
1193
1198
  */
1194
- int sqlite3_extended_result_codes(sqlite3*, int onoff);
1199
+ SQLITE_API int sqlite3_extended_result_codes(sqlite3*, int onoff);
1195
1200
 
1196
1201
  /*
1197
1202
  ** CAPI3REF: Last Insert Rowid {H12220} <S10700>
@@ -1236,7 +1241,7 @@ int sqlite3_extended_result_codes(sqlite3*, int onoff);
1236
1241
  ** unpredictable and might not equal either the old or the new
1237
1242
  ** last insert [rowid].
1238
1243
  */
1239
- sqlite3_int64 sqlite3_last_insert_rowid(sqlite3*);
1244
+ SQLITE_API sqlite3_int64 sqlite3_last_insert_rowid(sqlite3*);
1240
1245
 
1241
1246
  /*
1242
1247
  ** CAPI3REF: Count The Number Of Rows Modified {H12240} <S10600>
@@ -1292,7 +1297,7 @@ sqlite3_int64 sqlite3_last_insert_rowid(sqlite3*);
1292
1297
  ** while [sqlite3_changes()] is running then the value returned
1293
1298
  ** is unpredictable and not meaningful.
1294
1299
  */
1295
- int sqlite3_changes(sqlite3*);
1300
+ SQLITE_API int sqlite3_changes(sqlite3*);
1296
1301
 
1297
1302
  /*
1298
1303
  ** CAPI3REF: Total Number Of Rows Modified {H12260} <S10600>
@@ -1320,7 +1325,7 @@ int sqlite3_changes(sqlite3*);
1320
1325
  ** while [sqlite3_total_changes()] is running then the value
1321
1326
  ** returned is unpredictable and not meaningful.
1322
1327
  */
1323
- int sqlite3_total_changes(sqlite3*);
1328
+ SQLITE_API int sqlite3_total_changes(sqlite3*);
1324
1329
 
1325
1330
  /*
1326
1331
  ** CAPI3REF: Interrupt A Long-Running Query {H12270} <S30500>
@@ -1362,7 +1367,7 @@ int sqlite3_total_changes(sqlite3*);
1362
1367
  ** If the database connection closes while [sqlite3_interrupt()]
1363
1368
  ** is running then bad things will likely happen.
1364
1369
  */
1365
- void sqlite3_interrupt(sqlite3*);
1370
+ SQLITE_API void sqlite3_interrupt(sqlite3*);
1366
1371
 
1367
1372
  /*
1368
1373
  ** CAPI3REF: Determine If An SQL Statement Is Complete {H10510} <S70200>
@@ -1399,8 +1404,8 @@ void sqlite3_interrupt(sqlite3*);
1399
1404
  ** The input to [sqlite3_complete16()] must be a zero-terminated
1400
1405
  ** UTF-16 string in native byte order.
1401
1406
  */
1402
- int sqlite3_complete(const char *sql);
1403
- int sqlite3_complete16(const void *sql);
1407
+ SQLITE_API int sqlite3_complete(const char *sql);
1408
+ SQLITE_API int sqlite3_complete16(const void *sql);
1404
1409
 
1405
1410
  /*
1406
1411
  ** CAPI3REF: Register A Callback To Handle SQLITE_BUSY Errors {H12310} <S40400>
@@ -1469,7 +1474,7 @@ int sqlite3_complete16(const void *sql);
1469
1474
  ** A busy handler must not close the database connection
1470
1475
  ** or [prepared statement] that invoked the busy handler.
1471
1476
  */
1472
- int sqlite3_busy_handler(sqlite3*, int(*)(void*,int), void*);
1477
+ SQLITE_API int sqlite3_busy_handler(sqlite3*, int(*)(void*,int), void*);
1473
1478
 
1474
1479
  /*
1475
1480
  ** CAPI3REF: Set A Busy Timeout {H12340} <S40410>
@@ -1492,7 +1497,7 @@ int sqlite3_busy_handler(sqlite3*, int(*)(void*,int), void*);
1492
1497
  ** Requirements:
1493
1498
  ** [H12341] [H12343] [H12344]
1494
1499
  */
1495
- int sqlite3_busy_timeout(sqlite3*, int ms);
1500
+ SQLITE_API int sqlite3_busy_timeout(sqlite3*, int ms);
1496
1501
 
1497
1502
  /*
1498
1503
  ** CAPI3REF: Convenience Routines For Running Queries {H12370} <S10000>
@@ -1565,7 +1570,7 @@ int sqlite3_busy_timeout(sqlite3*, int ms);
1565
1570
  ** Requirements:
1566
1571
  ** [H12371] [H12373] [H12374] [H12376] [H12379] [H12382]
1567
1572
  */
1568
- int sqlite3_get_table(
1573
+ SQLITE_API int sqlite3_get_table(
1569
1574
  sqlite3 *db, /* An open database */
1570
1575
  const char *zSql, /* SQL to be evaluated */
1571
1576
  char ***pazResult, /* Results of the query */
@@ -1573,7 +1578,7 @@ int sqlite3_get_table(
1573
1578
  int *pnColumn, /* Number of result columns written here */
1574
1579
  char **pzErrmsg /* Error msg written here */
1575
1580
  );
1576
- void sqlite3_free_table(char **result);
1581
+ SQLITE_API void sqlite3_free_table(char **result);
1577
1582
 
1578
1583
  /*
1579
1584
  ** CAPI3REF: Formatted String Printing Functions {H17400} <S70000><S20000>
@@ -1670,9 +1675,9 @@ void sqlite3_free_table(char **result);
1670
1675
  ** Requirements:
1671
1676
  ** [H17403] [H17406] [H17407]
1672
1677
  */
1673
- char *sqlite3_mprintf(const char*,...);
1674
- char *sqlite3_vmprintf(const char*, va_list);
1675
- char *sqlite3_snprintf(int,char*,const char*, ...);
1678
+ SQLITE_API char *sqlite3_mprintf(const char*,...);
1679
+ SQLITE_API char *sqlite3_vmprintf(const char*, va_list);
1680
+ SQLITE_API char *sqlite3_snprintf(int,char*,const char*, ...);
1676
1681
 
1677
1682
  /*
1678
1683
  ** CAPI3REF: Memory Allocation Subsystem {H17300} <S20000>
@@ -1755,9 +1760,9 @@ char *sqlite3_snprintf(int,char*,const char*, ...);
1755
1760
  ** a block of memory after it has been released using
1756
1761
  ** [sqlite3_free()] or [sqlite3_realloc()].
1757
1762
  */
1758
- void *sqlite3_malloc(int);
1759
- void *sqlite3_realloc(void*, int);
1760
- void sqlite3_free(void*);
1763
+ SQLITE_API void *sqlite3_malloc(int);
1764
+ SQLITE_API void *sqlite3_realloc(void*, int);
1765
+ SQLITE_API void sqlite3_free(void*);
1761
1766
 
1762
1767
  /*
1763
1768
  ** CAPI3REF: Memory Allocator Statistics {H17370} <S30210>
@@ -1769,8 +1774,8 @@ void sqlite3_free(void*);
1769
1774
  ** Requirements:
1770
1775
  ** [H17371] [H17373] [H17374] [H17375]
1771
1776
  */
1772
- sqlite3_int64 sqlite3_memory_used(void);
1773
- sqlite3_int64 sqlite3_memory_highwater(int resetFlag);
1777
+ SQLITE_API sqlite3_int64 sqlite3_memory_used(void);
1778
+ SQLITE_API sqlite3_int64 sqlite3_memory_highwater(int resetFlag);
1774
1779
 
1775
1780
  /*
1776
1781
  ** CAPI3REF: Pseudo-Random Number Generator {H17390} <S20000>
@@ -1793,7 +1798,7 @@ sqlite3_int64 sqlite3_memory_highwater(int resetFlag);
1793
1798
  ** Requirements:
1794
1799
  ** [H17392]
1795
1800
  */
1796
- void sqlite3_randomness(int N, void *P);
1801
+ SQLITE_API void sqlite3_randomness(int N, void *P);
1797
1802
 
1798
1803
  /*
1799
1804
  ** CAPI3REF: Compile-Time Authorization Callbacks {H12500} <S70100>
@@ -1879,7 +1884,7 @@ void sqlite3_randomness(int N, void *P);
1879
1884
  ** [H12501] [H12502] [H12503] [H12504] [H12505] [H12506] [H12507] [H12510]
1880
1885
  ** [H12511] [H12512] [H12520] [H12521] [H12522]
1881
1886
  */
1882
- int sqlite3_set_authorizer(
1887
+ SQLITE_API int sqlite3_set_authorizer(
1883
1888
  sqlite3*,
1884
1889
  int (*xAuth)(void*,int,const char*,const char*,const char*,const char*),
1885
1890
  void *pUserData
@@ -1977,8 +1982,8 @@ int sqlite3_set_authorizer(
1977
1982
  ** [H12281] [H12282] [H12283] [H12284] [H12285] [H12287] [H12288] [H12289]
1978
1983
  ** [H12290]
1979
1984
  */
1980
- SQLITE_EXPERIMENTAL void *sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*);
1981
- SQLITE_EXPERIMENTAL void *sqlite3_profile(sqlite3*,
1985
+ SQLITE_API SQLITE_EXPERIMENTAL void *sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*);
1986
+ SQLITE_API SQLITE_EXPERIMENTAL void *sqlite3_profile(sqlite3*,
1982
1987
  void(*xProfile)(void*,const char*,sqlite3_uint64), void*);
1983
1988
 
1984
1989
  /*
@@ -2003,7 +2008,7 @@ SQLITE_EXPERIMENTAL void *sqlite3_profile(sqlite3*,
2003
2008
  ** [H12911] [H12912] [H12913] [H12914] [H12915] [H12916] [H12917] [H12918]
2004
2009
  **
2005
2010
  */
2006
- void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);
2011
+ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);
2007
2012
 
2008
2013
  /*
2009
2014
  ** CAPI3REF: Opening A New Database Connection {H12700} <S40200>
@@ -2089,15 +2094,15 @@ void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);
2089
2094
  ** [H12701] [H12702] [H12703] [H12704] [H12706] [H12707] [H12709] [H12711]
2090
2095
  ** [H12712] [H12713] [H12714] [H12717] [H12719] [H12721] [H12723]
2091
2096
  */
2092
- int sqlite3_open(
2097
+ SQLITE_API int sqlite3_open(
2093
2098
  const char *filename, /* Database filename (UTF-8) */
2094
2099
  sqlite3 **ppDb /* OUT: SQLite db handle */
2095
2100
  );
2096
- int sqlite3_open16(
2101
+ SQLITE_API int sqlite3_open16(
2097
2102
  const void *filename, /* Database filename (UTF-16) */
2098
2103
  sqlite3 **ppDb /* OUT: SQLite db handle */
2099
2104
  );
2100
- int sqlite3_open_v2(
2105
+ SQLITE_API int sqlite3_open_v2(
2101
2106
  const char *filename, /* Database filename (UTF-8) */
2102
2107
  sqlite3 **ppDb, /* OUT: SQLite db handle */
2103
2108
  int flags, /* Flags */
@@ -2140,10 +2145,10 @@ int sqlite3_open_v2(
2140
2145
  ** Requirements:
2141
2146
  ** [H12801] [H12802] [H12803] [H12807] [H12808] [H12809]
2142
2147
  */
2143
- int sqlite3_errcode(sqlite3 *db);
2144
- int sqlite3_extended_errcode(sqlite3 *db);
2145
- const char *sqlite3_errmsg(sqlite3*);
2146
- const void *sqlite3_errmsg16(sqlite3*);
2148
+ SQLITE_API int sqlite3_errcode(sqlite3 *db);
2149
+ SQLITE_API int sqlite3_extended_errcode(sqlite3 *db);
2150
+ SQLITE_API const char *sqlite3_errmsg(sqlite3*);
2151
+ SQLITE_API const void *sqlite3_errmsg16(sqlite3*);
2147
2152
 
2148
2153
  /*
2149
2154
  ** CAPI3REF: SQL Statement Object {H13000} <H13010>
@@ -2208,7 +2213,7 @@ typedef struct sqlite3_stmt sqlite3_stmt;
2208
2213
  ** Requirements:
2209
2214
  ** [H12762] [H12766] [H12769]
2210
2215
  */
2211
- int sqlite3_limit(sqlite3*, int id, int newVal);
2216
+ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal);
2212
2217
 
2213
2218
  /*
2214
2219
  ** CAPI3REF: Run-Time Limit Categories {H12790} <H12760>
@@ -2342,28 +2347,28 @@ int sqlite3_limit(sqlite3*, int id, int newVal);
2342
2347
  ** [H13011] [H13012] [H13013] [H13014] [H13015] [H13016] [H13019] [H13021]
2343
2348
  **
2344
2349
  */
2345
- int sqlite3_prepare(
2350
+ SQLITE_API int sqlite3_prepare(
2346
2351
  sqlite3 *db, /* Database handle */
2347
2352
  const char *zSql, /* SQL statement, UTF-8 encoded */
2348
2353
  int nByte, /* Maximum length of zSql in bytes. */
2349
2354
  sqlite3_stmt **ppStmt, /* OUT: Statement handle */
2350
2355
  const char **pzTail /* OUT: Pointer to unused portion of zSql */
2351
2356
  );
2352
- int sqlite3_prepare_v2(
2357
+ SQLITE_API int sqlite3_prepare_v2(
2353
2358
  sqlite3 *db, /* Database handle */
2354
2359
  const char *zSql, /* SQL statement, UTF-8 encoded */
2355
2360
  int nByte, /* Maximum length of zSql in bytes. */
2356
2361
  sqlite3_stmt **ppStmt, /* OUT: Statement handle */
2357
2362
  const char **pzTail /* OUT: Pointer to unused portion of zSql */
2358
2363
  );
2359
- int sqlite3_prepare16(
2364
+ SQLITE_API int sqlite3_prepare16(
2360
2365
  sqlite3 *db, /* Database handle */
2361
2366
  const void *zSql, /* SQL statement, UTF-16 encoded */
2362
2367
  int nByte, /* Maximum length of zSql in bytes. */
2363
2368
  sqlite3_stmt **ppStmt, /* OUT: Statement handle */
2364
2369
  const void **pzTail /* OUT: Pointer to unused portion of zSql */
2365
2370
  );
2366
- int sqlite3_prepare16_v2(
2371
+ SQLITE_API int sqlite3_prepare16_v2(
2367
2372
  sqlite3 *db, /* Database handle */
2368
2373
  const void *zSql, /* SQL statement, UTF-16 encoded */
2369
2374
  int nByte, /* Maximum length of zSql in bytes. */
@@ -2381,7 +2386,7 @@ int sqlite3_prepare16_v2(
2381
2386
  ** Requirements:
2382
2387
  ** [H13101] [H13102] [H13103]
2383
2388
  */
2384
- const char *sqlite3_sql(sqlite3_stmt *pStmt);
2389
+ SQLITE_API const char *sqlite3_sql(sqlite3_stmt *pStmt);
2385
2390
 
2386
2391
  /*
2387
2392
  ** CAPI3REF: Dynamically Typed Value Object {H15000} <S20200>
@@ -2520,15 +2525,15 @@ typedef struct sqlite3_context sqlite3_context;
2520
2525
  ** [H13530] [H13533] [H13536] [H13539] [H13542] [H13545] [H13548] [H13551]
2521
2526
  **
2522
2527
  */
2523
- int sqlite3_bind_blob(sqlite3_stmt*, int, const void*, int n, void(*)(void*));
2524
- int sqlite3_bind_double(sqlite3_stmt*, int, double);
2525
- int sqlite3_bind_int(sqlite3_stmt*, int, int);
2526
- int sqlite3_bind_int64(sqlite3_stmt*, int, sqlite3_int64);
2527
- int sqlite3_bind_null(sqlite3_stmt*, int);
2528
- int sqlite3_bind_text(sqlite3_stmt*, int, const char*, int n, void(*)(void*));
2529
- int sqlite3_bind_text16(sqlite3_stmt*, int, const void*, int, void(*)(void*));
2530
- int sqlite3_bind_value(sqlite3_stmt*, int, const sqlite3_value*);
2531
- int sqlite3_bind_zeroblob(sqlite3_stmt*, int, int n);
2528
+ SQLITE_API int sqlite3_bind_blob(sqlite3_stmt*, int, const void*, int n, void(*)(void*));
2529
+ SQLITE_API int sqlite3_bind_double(sqlite3_stmt*, int, double);
2530
+ SQLITE_API int sqlite3_bind_int(sqlite3_stmt*, int, int);
2531
+ SQLITE_API int sqlite3_bind_int64(sqlite3_stmt*, int, sqlite3_int64);
2532
+ SQLITE_API int sqlite3_bind_null(sqlite3_stmt*, int);
2533
+ SQLITE_API int sqlite3_bind_text(sqlite3_stmt*, int, const char*, int n, void(*)(void*));
2534
+ SQLITE_API int sqlite3_bind_text16(sqlite3_stmt*, int, const void*, int, void(*)(void*));
2535
+ SQLITE_API int sqlite3_bind_value(sqlite3_stmt*, int, const sqlite3_value*);
2536
+ SQLITE_API int sqlite3_bind_zeroblob(sqlite3_stmt*, int, int n);
2532
2537
 
2533
2538
  /*
2534
2539
  ** CAPI3REF: Number Of SQL Parameters {H13600} <S70300>
@@ -2551,7 +2556,7 @@ int sqlite3_bind_zeroblob(sqlite3_stmt*, int, int n);
2551
2556
  ** Requirements:
2552
2557
  ** [H13601]
2553
2558
  */
2554
- int sqlite3_bind_parameter_count(sqlite3_stmt*);
2559
+ SQLITE_API int sqlite3_bind_parameter_count(sqlite3_stmt*);
2555
2560
 
2556
2561
  /*
2557
2562
  ** CAPI3REF: Name Of A Host Parameter {H13620} <S70300>
@@ -2581,7 +2586,7 @@ int sqlite3_bind_parameter_count(sqlite3_stmt*);
2581
2586
  ** Requirements:
2582
2587
  ** [H13621]
2583
2588
  */
2584
- const char *sqlite3_bind_parameter_name(sqlite3_stmt*, int);
2589
+ SQLITE_API const char *sqlite3_bind_parameter_name(sqlite3_stmt*, int);
2585
2590
 
2586
2591
  /*
2587
2592
  ** CAPI3REF: Index Of A Parameter With A Given Name {H13640} <S70300>
@@ -2600,7 +2605,7 @@ const char *sqlite3_bind_parameter_name(sqlite3_stmt*, int);
2600
2605
  ** Requirements:
2601
2606
  ** [H13641]
2602
2607
  */
2603
- int sqlite3_bind_parameter_index(sqlite3_stmt*, const char *zName);
2608
+ SQLITE_API int sqlite3_bind_parameter_index(sqlite3_stmt*, const char *zName);
2604
2609
 
2605
2610
  /*
2606
2611
  ** CAPI3REF: Reset All Bindings On A Prepared Statement {H13660} <S70300>
@@ -2612,7 +2617,7 @@ int sqlite3_bind_parameter_index(sqlite3_stmt*, const char *zName);
2612
2617
  ** Requirements:
2613
2618
  ** [H13661]
2614
2619
  */
2615
- int sqlite3_clear_bindings(sqlite3_stmt*);
2620
+ SQLITE_API int sqlite3_clear_bindings(sqlite3_stmt*);
2616
2621
 
2617
2622
  /*
2618
2623
  ** CAPI3REF: Number Of Columns In A Result Set {H13710} <S10700>
@@ -2624,7 +2629,7 @@ int sqlite3_clear_bindings(sqlite3_stmt*);
2624
2629
  ** Requirements:
2625
2630
  ** [H13711]
2626
2631
  */
2627
- int sqlite3_column_count(sqlite3_stmt *pStmt);
2632
+ SQLITE_API int sqlite3_column_count(sqlite3_stmt *pStmt);
2628
2633
 
2629
2634
  /*
2630
2635
  ** CAPI3REF: Column Names In A Result Set {H13720} <S10700>
@@ -2653,8 +2658,8 @@ int sqlite3_column_count(sqlite3_stmt *pStmt);
2653
2658
  ** Requirements:
2654
2659
  ** [H13721] [H13723] [H13724] [H13725] [H13726] [H13727]
2655
2660
  */
2656
- const char *sqlite3_column_name(sqlite3_stmt*, int N);
2657
- const void *sqlite3_column_name16(sqlite3_stmt*, int N);
2661
+ SQLITE_API const char *sqlite3_column_name(sqlite3_stmt*, int N);
2662
+ SQLITE_API const void *sqlite3_column_name16(sqlite3_stmt*, int N);
2658
2663
 
2659
2664
  /*
2660
2665
  ** CAPI3REF: Source Of Data In A Query Result {H13740} <S10700>
@@ -2701,12 +2706,12 @@ const void *sqlite3_column_name16(sqlite3_stmt*, int N);
2701
2706
  ** for the same [prepared statement] and result column
2702
2707
  ** at the same time then the results are undefined.
2703
2708
  */
2704
- const char *sqlite3_column_database_name(sqlite3_stmt*,int);
2705
- const void *sqlite3_column_database_name16(sqlite3_stmt*,int);
2706
- const char *sqlite3_column_table_name(sqlite3_stmt*,int);
2707
- const void *sqlite3_column_table_name16(sqlite3_stmt*,int);
2708
- const char *sqlite3_column_origin_name(sqlite3_stmt*,int);
2709
- const void *sqlite3_column_origin_name16(sqlite3_stmt*,int);
2709
+ SQLITE_API const char *sqlite3_column_database_name(sqlite3_stmt*,int);
2710
+ SQLITE_API const void *sqlite3_column_database_name16(sqlite3_stmt*,int);
2711
+ SQLITE_API const char *sqlite3_column_table_name(sqlite3_stmt*,int);
2712
+ SQLITE_API const void *sqlite3_column_table_name16(sqlite3_stmt*,int);
2713
+ SQLITE_API const char *sqlite3_column_origin_name(sqlite3_stmt*,int);
2714
+ SQLITE_API const void *sqlite3_column_origin_name16(sqlite3_stmt*,int);
2710
2715
 
2711
2716
  /*
2712
2717
  ** CAPI3REF: Declared Datatype Of A Query Result {H13760} <S10700>
@@ -2740,8 +2745,8 @@ const void *sqlite3_column_origin_name16(sqlite3_stmt*,int);
2740
2745
  ** Requirements:
2741
2746
  ** [H13761] [H13762] [H13763]
2742
2747
  */
2743
- const char *sqlite3_column_decltype(sqlite3_stmt*,int);
2744
- const void *sqlite3_column_decltype16(sqlite3_stmt*,int);
2748
+ SQLITE_API const char *sqlite3_column_decltype(sqlite3_stmt*,int);
2749
+ SQLITE_API const void *sqlite3_column_decltype16(sqlite3_stmt*,int);
2745
2750
 
2746
2751
  /*
2747
2752
  ** CAPI3REF: Evaluate An SQL Statement {H13200} <S10000>
@@ -2811,7 +2816,7 @@ const void *sqlite3_column_decltype16(sqlite3_stmt*,int);
2811
2816
  ** Requirements:
2812
2817
  ** [H13202] [H15304] [H15306] [H15308] [H15310]
2813
2818
  */
2814
- int sqlite3_step(sqlite3_stmt*);
2819
+ SQLITE_API int sqlite3_step(sqlite3_stmt*);
2815
2820
 
2816
2821
  /*
2817
2822
  ** CAPI3REF: Number of columns in a result set {H13770} <S10700>
@@ -2821,7 +2826,7 @@ int sqlite3_step(sqlite3_stmt*);
2821
2826
  ** Requirements:
2822
2827
  ** [H13771] [H13772]
2823
2828
  */
2824
- int sqlite3_data_count(sqlite3_stmt *pStmt);
2829
+ SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt);
2825
2830
 
2826
2831
  /*
2827
2832
  ** CAPI3REF: Fundamental Datatypes {H10265} <S10110><S10120>
@@ -3011,16 +3016,16 @@ int sqlite3_data_count(sqlite3_stmt *pStmt);
3011
3016
  ** [H13803] [H13806] [H13809] [H13812] [H13815] [H13818] [H13821] [H13824]
3012
3017
  ** [H13827] [H13830]
3013
3018
  */
3014
- const void *sqlite3_column_blob(sqlite3_stmt*, int iCol);
3015
- int sqlite3_column_bytes(sqlite3_stmt*, int iCol);
3016
- int sqlite3_column_bytes16(sqlite3_stmt*, int iCol);
3017
- double sqlite3_column_double(sqlite3_stmt*, int iCol);
3018
- int sqlite3_column_int(sqlite3_stmt*, int iCol);
3019
- sqlite3_int64 sqlite3_column_int64(sqlite3_stmt*, int iCol);
3020
- const unsigned char *sqlite3_column_text(sqlite3_stmt*, int iCol);
3021
- const void *sqlite3_column_text16(sqlite3_stmt*, int iCol);
3022
- int sqlite3_column_type(sqlite3_stmt*, int iCol);
3023
- sqlite3_value *sqlite3_column_value(sqlite3_stmt*, int iCol);
3019
+ SQLITE_API const void *sqlite3_column_blob(sqlite3_stmt*, int iCol);
3020
+ SQLITE_API int sqlite3_column_bytes(sqlite3_stmt*, int iCol);
3021
+ SQLITE_API int sqlite3_column_bytes16(sqlite3_stmt*, int iCol);
3022
+ SQLITE_API double sqlite3_column_double(sqlite3_stmt*, int iCol);
3023
+ SQLITE_API int sqlite3_column_int(sqlite3_stmt*, int iCol);
3024
+ SQLITE_API sqlite3_int64 sqlite3_column_int64(sqlite3_stmt*, int iCol);
3025
+ SQLITE_API const unsigned char *sqlite3_column_text(sqlite3_stmt*, int iCol);
3026
+ SQLITE_API const void *sqlite3_column_text16(sqlite3_stmt*, int iCol);
3027
+ SQLITE_API int sqlite3_column_type(sqlite3_stmt*, int iCol);
3028
+ SQLITE_API sqlite3_value *sqlite3_column_value(sqlite3_stmt*, int iCol);
3024
3029
 
3025
3030
  /*
3026
3031
  ** CAPI3REF: Destroy A Prepared Statement Object {H13300} <S70300><S30100>
@@ -3041,7 +3046,7 @@ sqlite3_value *sqlite3_column_value(sqlite3_stmt*, int iCol);
3041
3046
  ** Requirements:
3042
3047
  ** [H11302] [H11304]
3043
3048
  */
3044
- int sqlite3_finalize(sqlite3_stmt *pStmt);
3049
+ SQLITE_API int sqlite3_finalize(sqlite3_stmt *pStmt);
3045
3050
 
3046
3051
  /*
3047
3052
  ** CAPI3REF: Reset A Prepared Statement Object {H13330} <S70300>
@@ -3067,7 +3072,7 @@ int sqlite3_finalize(sqlite3_stmt *pStmt);
3067
3072
  ** {H11338} The [sqlite3_reset(S)] interface does not change the values
3068
3073
  ** of any [sqlite3_bind_blob|bindings] on the [prepared statement] S.
3069
3074
  */
3070
- int sqlite3_reset(sqlite3_stmt *pStmt);
3075
+ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt);
3071
3076
 
3072
3077
  /*
3073
3078
  ** CAPI3REF: Create Or Redefine SQL Functions {H16100} <S20200>
@@ -3153,7 +3158,7 @@ int sqlite3_reset(sqlite3_stmt *pStmt);
3153
3158
  ** [H16103] [H16106] [H16109] [H16112] [H16118] [H16121] [H16127]
3154
3159
  ** [H16130] [H16133] [H16136] [H16139] [H16142]
3155
3160
  */
3156
- int sqlite3_create_function(
3161
+ SQLITE_API int sqlite3_create_function(
3157
3162
  sqlite3 *db,
3158
3163
  const char *zFunctionName,
3159
3164
  int nArg,
@@ -3163,7 +3168,7 @@ int sqlite3_create_function(
3163
3168
  void (*xStep)(sqlite3_context*,int,sqlite3_value**),
3164
3169
  void (*xFinal)(sqlite3_context*)
3165
3170
  );
3166
- int sqlite3_create_function16(
3171
+ SQLITE_API int sqlite3_create_function16(
3167
3172
  sqlite3 *db,
3168
3173
  const void *zFunctionName,
3169
3174
  int nArg,
@@ -3198,12 +3203,12 @@ int sqlite3_create_function16(
3198
3203
  ** using these functions, we are not going to tell you what they do.
3199
3204
  */
3200
3205
  #ifndef SQLITE_OMIT_DEPRECATED
3201
- SQLITE_DEPRECATED int sqlite3_aggregate_count(sqlite3_context*);
3202
- SQLITE_DEPRECATED int sqlite3_expired(sqlite3_stmt*);
3203
- SQLITE_DEPRECATED int sqlite3_transfer_bindings(sqlite3_stmt*, sqlite3_stmt*);
3204
- SQLITE_DEPRECATED int sqlite3_global_recover(void);
3205
- SQLITE_DEPRECATED void sqlite3_thread_cleanup(void);
3206
- SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int64,int),void*,sqlite3_int64);
3206
+ SQLITE_API SQLITE_DEPRECATED int sqlite3_aggregate_count(sqlite3_context*);
3207
+ SQLITE_API SQLITE_DEPRECATED int sqlite3_expired(sqlite3_stmt*);
3208
+ SQLITE_API SQLITE_DEPRECATED int sqlite3_transfer_bindings(sqlite3_stmt*, sqlite3_stmt*);
3209
+ SQLITE_API SQLITE_DEPRECATED int sqlite3_global_recover(void);
3210
+ SQLITE_API SQLITE_DEPRECATED void sqlite3_thread_cleanup(void);
3211
+ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int64,int),void*,sqlite3_int64);
3207
3212
  #endif
3208
3213
 
3209
3214
  /*
@@ -3255,18 +3260,18 @@ SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int64,int),void
3255
3260
  ** [H15103] [H15106] [H15109] [H15112] [H15115] [H15118] [H15121] [H15124]
3256
3261
  ** [H15127] [H15130] [H15133] [H15136]
3257
3262
  */
3258
- const void *sqlite3_value_blob(sqlite3_value*);
3259
- int sqlite3_value_bytes(sqlite3_value*);
3260
- int sqlite3_value_bytes16(sqlite3_value*);
3261
- double sqlite3_value_double(sqlite3_value*);
3262
- int sqlite3_value_int(sqlite3_value*);
3263
- sqlite3_int64 sqlite3_value_int64(sqlite3_value*);
3264
- const unsigned char *sqlite3_value_text(sqlite3_value*);
3265
- const void *sqlite3_value_text16(sqlite3_value*);
3266
- const void *sqlite3_value_text16le(sqlite3_value*);
3267
- const void *sqlite3_value_text16be(sqlite3_value*);
3268
- int sqlite3_value_type(sqlite3_value*);
3269
- int sqlite3_value_numeric_type(sqlite3_value*);
3263
+ SQLITE_API const void *sqlite3_value_blob(sqlite3_value*);
3264
+ SQLITE_API int sqlite3_value_bytes(sqlite3_value*);
3265
+ SQLITE_API int sqlite3_value_bytes16(sqlite3_value*);
3266
+ SQLITE_API double sqlite3_value_double(sqlite3_value*);
3267
+ SQLITE_API int sqlite3_value_int(sqlite3_value*);
3268
+ SQLITE_API sqlite3_int64 sqlite3_value_int64(sqlite3_value*);
3269
+ SQLITE_API const unsigned char *sqlite3_value_text(sqlite3_value*);
3270
+ SQLITE_API const void *sqlite3_value_text16(sqlite3_value*);
3271
+ SQLITE_API const void *sqlite3_value_text16le(sqlite3_value*);
3272
+ SQLITE_API const void *sqlite3_value_text16be(sqlite3_value*);
3273
+ SQLITE_API int sqlite3_value_type(sqlite3_value*);
3274
+ SQLITE_API int sqlite3_value_numeric_type(sqlite3_value*);
3270
3275
 
3271
3276
  /*
3272
3277
  ** CAPI3REF: Obtain Aggregate Function Context {H16210} <S20200>
@@ -3294,7 +3299,7 @@ int sqlite3_value_numeric_type(sqlite3_value*);
3294
3299
  ** Requirements:
3295
3300
  ** [H16211] [H16213] [H16215] [H16217]
3296
3301
  */
3297
- void *sqlite3_aggregate_context(sqlite3_context*, int nBytes);
3302
+ SQLITE_API void *sqlite3_aggregate_context(sqlite3_context*, int nBytes);
3298
3303
 
3299
3304
  /*
3300
3305
  ** CAPI3REF: User Data For Functions {H16240} <S20200>
@@ -3311,7 +3316,7 @@ void *sqlite3_aggregate_context(sqlite3_context*, int nBytes);
3311
3316
  ** Requirements:
3312
3317
  ** [H16243]
3313
3318
  */
3314
- void *sqlite3_user_data(sqlite3_context*);
3319
+ SQLITE_API void *sqlite3_user_data(sqlite3_context*);
3315
3320
 
3316
3321
  /*
3317
3322
  ** CAPI3REF: Database Connection For Functions {H16250} <S60600><S20200>
@@ -3325,7 +3330,7 @@ void *sqlite3_user_data(sqlite3_context*);
3325
3330
  ** Requirements:
3326
3331
  ** [H16253]
3327
3332
  */
3328
- sqlite3 *sqlite3_context_db_handle(sqlite3_context*);
3333
+ SQLITE_API sqlite3 *sqlite3_context_db_handle(sqlite3_context*);
3329
3334
 
3330
3335
  /*
3331
3336
  ** CAPI3REF: Function Auxiliary Data {H16270} <S20200>
@@ -3372,8 +3377,8 @@ sqlite3 *sqlite3_context_db_handle(sqlite3_context*);
3372
3377
  ** Requirements:
3373
3378
  ** [H16272] [H16274] [H16276] [H16277] [H16278] [H16279]
3374
3379
  */
3375
- void *sqlite3_get_auxdata(sqlite3_context*, int N);
3376
- void sqlite3_set_auxdata(sqlite3_context*, int N, void*, void (*)(void*));
3380
+ SQLITE_API void *sqlite3_get_auxdata(sqlite3_context*, int N);
3381
+ SQLITE_API void sqlite3_set_auxdata(sqlite3_context*, int N, void*, void (*)(void*));
3377
3382
 
3378
3383
 
3379
3384
  /*
@@ -3503,22 +3508,22 @@ typedef void (*sqlite3_destructor_type)(void*);
3503
3508
  ** [H16427] [H16430] [H16433] [H16436] [H16439] [H16442] [H16445] [H16448]
3504
3509
  ** [H16451] [H16454] [H16457] [H16460] [H16463]
3505
3510
  */
3506
- void sqlite3_result_blob(sqlite3_context*, const void*, int, void(*)(void*));
3507
- void sqlite3_result_double(sqlite3_context*, double);
3508
- void sqlite3_result_error(sqlite3_context*, const char*, int);
3509
- void sqlite3_result_error16(sqlite3_context*, const void*, int);
3510
- void sqlite3_result_error_toobig(sqlite3_context*);
3511
- void sqlite3_result_error_nomem(sqlite3_context*);
3512
- void sqlite3_result_error_code(sqlite3_context*, int);
3513
- void sqlite3_result_int(sqlite3_context*, int);
3514
- void sqlite3_result_int64(sqlite3_context*, sqlite3_int64);
3515
- void sqlite3_result_null(sqlite3_context*);
3516
- void sqlite3_result_text(sqlite3_context*, const char*, int, void(*)(void*));
3517
- void sqlite3_result_text16(sqlite3_context*, const void*, int, void(*)(void*));
3518
- void sqlite3_result_text16le(sqlite3_context*, const void*, int,void(*)(void*));
3519
- void sqlite3_result_text16be(sqlite3_context*, const void*, int,void(*)(void*));
3520
- void sqlite3_result_value(sqlite3_context*, sqlite3_value*);
3521
- void sqlite3_result_zeroblob(sqlite3_context*, int n);
3511
+ SQLITE_API void sqlite3_result_blob(sqlite3_context*, const void*, int, void(*)(void*));
3512
+ SQLITE_API void sqlite3_result_double(sqlite3_context*, double);
3513
+ SQLITE_API void sqlite3_result_error(sqlite3_context*, const char*, int);
3514
+ SQLITE_API void sqlite3_result_error16(sqlite3_context*, const void*, int);
3515
+ SQLITE_API void sqlite3_result_error_toobig(sqlite3_context*);
3516
+ SQLITE_API void sqlite3_result_error_nomem(sqlite3_context*);
3517
+ SQLITE_API void sqlite3_result_error_code(sqlite3_context*, int);
3518
+ SQLITE_API void sqlite3_result_int(sqlite3_context*, int);
3519
+ SQLITE_API void sqlite3_result_int64(sqlite3_context*, sqlite3_int64);
3520
+ SQLITE_API void sqlite3_result_null(sqlite3_context*);
3521
+ SQLITE_API void sqlite3_result_text(sqlite3_context*, const char*, int, void(*)(void*));
3522
+ SQLITE_API void sqlite3_result_text16(sqlite3_context*, const void*, int, void(*)(void*));
3523
+ SQLITE_API void sqlite3_result_text16le(sqlite3_context*, const void*, int,void(*)(void*));
3524
+ SQLITE_API void sqlite3_result_text16be(sqlite3_context*, const void*, int,void(*)(void*));
3525
+ SQLITE_API void sqlite3_result_value(sqlite3_context*, sqlite3_value*);
3526
+ SQLITE_API void sqlite3_result_zeroblob(sqlite3_context*, int n);
3522
3527
 
3523
3528
  /*
3524
3529
  ** CAPI3REF: Define New Collating Sequences {H16600} <S20300>
@@ -3570,14 +3575,14 @@ void sqlite3_result_zeroblob(sqlite3_context*, int n);
3570
3575
  ** [H16603] [H16604] [H16606] [H16609] [H16612] [H16615] [H16618] [H16621]
3571
3576
  ** [H16624] [H16627] [H16630]
3572
3577
  */
3573
- int sqlite3_create_collation(
3578
+ SQLITE_API int sqlite3_create_collation(
3574
3579
  sqlite3*,
3575
3580
  const char *zName,
3576
3581
  int eTextRep,
3577
3582
  void*,
3578
3583
  int(*xCompare)(void*,int,const void*,int,const void*)
3579
3584
  );
3580
- int sqlite3_create_collation_v2(
3585
+ SQLITE_API int sqlite3_create_collation_v2(
3581
3586
  sqlite3*,
3582
3587
  const char *zName,
3583
3588
  int eTextRep,
@@ -3585,7 +3590,7 @@ int sqlite3_create_collation_v2(
3585
3590
  int(*xCompare)(void*,int,const void*,int,const void*),
3586
3591
  void(*xDestroy)(void*)
3587
3592
  );
3588
- int sqlite3_create_collation16(
3593
+ SQLITE_API int sqlite3_create_collation16(
3589
3594
  sqlite3*,
3590
3595
  const void *zName,
3591
3596
  int eTextRep,
@@ -3622,12 +3627,12 @@ int sqlite3_create_collation16(
3622
3627
  ** Requirements:
3623
3628
  ** [H16702] [H16704] [H16706]
3624
3629
  */
3625
- int sqlite3_collation_needed(
3630
+ SQLITE_API int sqlite3_collation_needed(
3626
3631
  sqlite3*,
3627
3632
  void*,
3628
3633
  void(*)(void*,sqlite3*,int eTextRep,const char*)
3629
3634
  );
3630
- int sqlite3_collation_needed16(
3635
+ SQLITE_API int sqlite3_collation_needed16(
3631
3636
  sqlite3*,
3632
3637
  void*,
3633
3638
  void(*)(void*,sqlite3*,int eTextRep,const void*)
@@ -3640,7 +3645,7 @@ int sqlite3_collation_needed16(
3640
3645
  ** The code to implement this API is not available in the public release
3641
3646
  ** of SQLite.
3642
3647
  */
3643
- int sqlite3_key(
3648
+ SQLITE_API int sqlite3_key(
3644
3649
  sqlite3 *db, /* Database to be rekeyed */
3645
3650
  const void *pKey, int nKey /* The key */
3646
3651
  );
@@ -3653,7 +3658,7 @@ int sqlite3_key(
3653
3658
  ** The code to implement this API is not available in the public release
3654
3659
  ** of SQLite.
3655
3660
  */
3656
- int sqlite3_rekey(
3661
+ SQLITE_API int sqlite3_rekey(
3657
3662
  sqlite3 *db, /* Database to be rekeyed */
3658
3663
  const void *pKey, int nKey /* The new key */
3659
3664
  );
@@ -3674,7 +3679,7 @@ int sqlite3_rekey(
3674
3679
  **
3675
3680
  ** Requirements: [H10533] [H10536]
3676
3681
  */
3677
- int sqlite3_sleep(int);
3682
+ SQLITE_API int sqlite3_sleep(int);
3678
3683
 
3679
3684
  /*
3680
3685
  ** CAPI3REF: Name Of The Folder Holding Temporary Files {H10310} <S20000>
@@ -3704,7 +3709,7 @@ int sqlite3_sleep(int);
3704
3709
  ** made NULL or made to point to memory obtained from [sqlite3_malloc]
3705
3710
  ** or else the use of the [temp_store_directory pragma] should be avoided.
3706
3711
  */
3707
- SQLITE_EXTERN char *sqlite3_temp_directory;
3712
+ SQLITE_API SQLITE_EXTERN char *sqlite3_temp_directory;
3708
3713
 
3709
3714
  /*
3710
3715
  ** CAPI3REF: Test For Auto-Commit Mode {H12930} <S60200>
@@ -3729,7 +3734,7 @@ SQLITE_EXTERN char *sqlite3_temp_directory;
3729
3734
  **
3730
3735
  ** Requirements: [H12931] [H12932] [H12933] [H12934]
3731
3736
  */
3732
- int sqlite3_get_autocommit(sqlite3*);
3737
+ SQLITE_API int sqlite3_get_autocommit(sqlite3*);
3733
3738
 
3734
3739
  /*
3735
3740
  ** CAPI3REF: Find The Database Handle Of A Prepared Statement {H13120} <S60600>
@@ -3742,7 +3747,7 @@ int sqlite3_get_autocommit(sqlite3*);
3742
3747
  **
3743
3748
  ** Requirements: [H13123]
3744
3749
  */
3745
- sqlite3 *sqlite3_db_handle(sqlite3_stmt*);
3750
+ SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt*);
3746
3751
 
3747
3752
  /*
3748
3753
  ** CAPI3REF: Find the next prepared statement {H13140} <S60600>
@@ -3759,7 +3764,7 @@ sqlite3 *sqlite3_db_handle(sqlite3_stmt*);
3759
3764
  **
3760
3765
  ** Requirements: [H13143] [H13146] [H13149] [H13152]
3761
3766
  */
3762
- sqlite3_stmt *sqlite3_next_stmt(sqlite3 *pDb, sqlite3_stmt *pStmt);
3767
+ SQLITE_API sqlite3_stmt *sqlite3_next_stmt(sqlite3 *pDb, sqlite3_stmt *pStmt);
3763
3768
 
3764
3769
  /*
3765
3770
  ** CAPI3REF: Commit And Rollback Notification Callbacks {H12950} <S60400>
@@ -3810,8 +3815,8 @@ sqlite3_stmt *sqlite3_next_stmt(sqlite3 *pDb, sqlite3_stmt *pStmt);
3810
3815
  ** [H12951] [H12952] [H12953] [H12954] [H12955]
3811
3816
  ** [H12961] [H12962] [H12963] [H12964]
3812
3817
  */
3813
- void *sqlite3_commit_hook(sqlite3*, int(*)(void*), void*);
3814
- void *sqlite3_rollback_hook(sqlite3*, void(*)(void *), void*);
3818
+ SQLITE_API void *sqlite3_commit_hook(sqlite3*, int(*)(void*), void*);
3819
+ SQLITE_API void *sqlite3_rollback_hook(sqlite3*, void(*)(void *), void*);
3815
3820
 
3816
3821
  /*
3817
3822
  ** CAPI3REF: Data Change Notification Callbacks {H12970} <S60400>
@@ -3860,7 +3865,7 @@ void *sqlite3_rollback_hook(sqlite3*, void(*)(void *), void*);
3860
3865
  ** Requirements:
3861
3866
  ** [H12971] [H12973] [H12975] [H12977] [H12979] [H12981] [H12983] [H12986]
3862
3867
  */
3863
- void *sqlite3_update_hook(
3868
+ SQLITE_API void *sqlite3_update_hook(
3864
3869
  sqlite3*,
3865
3870
  void(*)(void *,int ,char const *,char const *,sqlite3_int64),
3866
3871
  void*
@@ -3868,7 +3873,7 @@ void *sqlite3_update_hook(
3868
3873
 
3869
3874
  /*
3870
3875
  ** CAPI3REF: Enable Or Disable Shared Pager Cache {H10330} <S30900>
3871
- ** KEYWORDS: {shared cache} {shared cache mode}
3876
+ ** KEYWORDS: {shared cache}
3872
3877
  **
3873
3878
  ** This routine enables or disables the sharing of the database cache
3874
3879
  ** and schema data structures between [database connection | connections]
@@ -3899,7 +3904,7 @@ void *sqlite3_update_hook(
3899
3904
  **
3900
3905
  ** Requirements: [H10331] [H10336] [H10337] [H10339]
3901
3906
  */
3902
- int sqlite3_enable_shared_cache(int);
3907
+ SQLITE_API int sqlite3_enable_shared_cache(int);
3903
3908
 
3904
3909
  /*
3905
3910
  ** CAPI3REF: Attempt To Free Heap Memory {H17340} <S30220>
@@ -3913,7 +3918,7 @@ int sqlite3_enable_shared_cache(int);
3913
3918
  **
3914
3919
  ** Requirements: [H17341] [H17342]
3915
3920
  */
3916
- int sqlite3_release_memory(int);
3921
+ SQLITE_API int sqlite3_release_memory(int);
3917
3922
 
3918
3923
  /*
3919
3924
  ** CAPI3REF: Impose A Limit On Heap Size {H17350} <S30220>
@@ -3948,7 +3953,7 @@ int sqlite3_release_memory(int);
3948
3953
  ** Requirements:
3949
3954
  ** [H16351] [H16352] [H16353] [H16354] [H16355] [H16358]
3950
3955
  */
3951
- void sqlite3_soft_heap_limit(int);
3956
+ SQLITE_API void sqlite3_soft_heap_limit(int);
3952
3957
 
3953
3958
  /*
3954
3959
  ** CAPI3REF: Extract Metadata About A Column Of A Table {H12850} <S60300>
@@ -4012,7 +4017,7 @@ void sqlite3_soft_heap_limit(int);
4012
4017
  ** This API is only available if the library was compiled with the
4013
4018
  ** [SQLITE_ENABLE_COLUMN_METADATA] C-preprocessor symbol defined.
4014
4019
  */
4015
- int sqlite3_table_column_metadata(
4020
+ SQLITE_API int sqlite3_table_column_metadata(
4016
4021
  sqlite3 *db, /* Connection handle */
4017
4022
  const char *zDbName, /* Database name or NULL */
4018
4023
  const char *zTableName, /* Table name */
@@ -4050,7 +4055,7 @@ int sqlite3_table_column_metadata(
4050
4055
  ** [sqlite3_enable_load_extension()] prior to calling this API,
4051
4056
  ** otherwise an error will be returned.
4052
4057
  */
4053
- int sqlite3_load_extension(
4058
+ SQLITE_API int sqlite3_load_extension(
4054
4059
  sqlite3 *db, /* Load the extension into this database connection */
4055
4060
  const char *zFile, /* Name of the shared library containing extension */
4056
4061
  const char *zProc, /* Entry point. Derived from zFile if 0 */
@@ -4073,7 +4078,7 @@ int sqlite3_load_extension(
4073
4078
  **
4074
4079
  ** {H12622} Extension loading is off by default.
4075
4080
  */
4076
- int sqlite3_enable_load_extension(sqlite3 *db, int onoff);
4081
+ SQLITE_API int sqlite3_enable_load_extension(sqlite3 *db, int onoff);
4077
4082
 
4078
4083
  /*
4079
4084
  ** CAPI3REF: Automatically Load An Extensions {H12640} <S20500>
@@ -4100,7 +4105,7 @@ int sqlite3_enable_load_extension(sqlite3 *db, int onoff);
4100
4105
  **
4101
4106
  ** {H12644} Automatic extensions apply across all threads.
4102
4107
  */
4103
- int sqlite3_auto_extension(void (*xEntryPoint)(void));
4108
+ SQLITE_API int sqlite3_auto_extension(void (*xEntryPoint)(void));
4104
4109
 
4105
4110
  /*
4106
4111
  ** CAPI3REF: Reset Automatic Extension Loading {H12660} <S20500>
@@ -4114,7 +4119,7 @@ int sqlite3_auto_extension(void (*xEntryPoint)(void));
4114
4119
  **
4115
4120
  ** {H12662} This function disables automatic extensions in all threads.
4116
4121
  */
4117
- void sqlite3_reset_auto_extension(void);
4122
+ SQLITE_API void sqlite3_reset_auto_extension(void);
4118
4123
 
4119
4124
  /*
4120
4125
  ****** EXPERIMENTAL - subject to change without notice **************
@@ -4285,7 +4290,7 @@ struct sqlite3_index_info {
4285
4290
  ** This interface has exactly the same effect as calling
4286
4291
  ** [sqlite3_create_module_v2()] with a NULL client data destructor.
4287
4292
  */
4288
- SQLITE_EXPERIMENTAL int sqlite3_create_module(
4293
+ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_create_module(
4289
4294
  sqlite3 *db, /* SQLite connection to register module with */
4290
4295
  const char *zName, /* Name of the module */
4291
4296
  const sqlite3_module *p, /* Methods for the module */
@@ -4302,7 +4307,7 @@ SQLITE_EXPERIMENTAL int sqlite3_create_module(
4302
4307
  ** invoke the destructor function (if it is not NULL) when SQLite
4303
4308
  ** no longer needs the pClientData pointer.
4304
4309
  */
4305
- SQLITE_EXPERIMENTAL int sqlite3_create_module_v2(
4310
+ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_create_module_v2(
4306
4311
  sqlite3 *db, /* SQLite connection to register module with */
4307
4312
  const char *zName, /* Name of the module */
4308
4313
  const sqlite3_module *p, /* Methods for the module */
@@ -4331,7 +4336,7 @@ SQLITE_EXPERIMENTAL int sqlite3_create_module_v2(
4331
4336
  */
4332
4337
  struct sqlite3_vtab {
4333
4338
  const sqlite3_module *pModule; /* The module for this virtual table */
4334
- int nRef; /* Used internally */
4339
+ int nRef; /* NO LONGER USED */
4335
4340
  char *zErrMsg; /* Error message from sqlite3_mprintf() */
4336
4341
  /* Virtual table implementations will typically add additional fields */
4337
4342
  };
@@ -4368,7 +4373,7 @@ struct sqlite3_vtab_cursor {
4368
4373
  ** to declare the format (the names and datatypes of the columns) of
4369
4374
  ** the virtual tables they implement.
4370
4375
  */
4371
- SQLITE_EXPERIMENTAL int sqlite3_declare_vtab(sqlite3*, const char *zSQL);
4376
+ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_declare_vtab(sqlite3*, const char *zSQL);
4372
4377
 
4373
4378
  /*
4374
4379
  ** CAPI3REF: Overload A Function For A Virtual Table {H18300} <S20400>
@@ -4387,7 +4392,7 @@ SQLITE_EXPERIMENTAL int sqlite3_declare_vtab(sqlite3*, const char *zSQL);
4387
4392
  ** purpose is to be a placeholder function that can be overloaded
4388
4393
  ** by a [virtual table].
4389
4394
  */
4390
- SQLITE_EXPERIMENTAL int sqlite3_overload_function(sqlite3*, const char *zFuncName, int nArg);
4395
+ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_overload_function(sqlite3*, const char *zFuncName, int nArg);
4391
4396
 
4392
4397
  /*
4393
4398
  ** The interface to the virtual-table mechanism defined above (back up
@@ -4471,7 +4476,7 @@ typedef struct sqlite3_blob sqlite3_blob;
4471
4476
  ** Requirements:
4472
4477
  ** [H17813] [H17814] [H17816] [H17819] [H17821] [H17824]
4473
4478
  */
4474
- int sqlite3_blob_open(
4479
+ SQLITE_API int sqlite3_blob_open(
4475
4480
  sqlite3*,
4476
4481
  const char *zDb,
4477
4482
  const char *zTable,
@@ -4506,7 +4511,7 @@ int sqlite3_blob_open(
4506
4511
  ** Requirements:
4507
4512
  ** [H17833] [H17836] [H17839]
4508
4513
  */
4509
- int sqlite3_blob_close(sqlite3_blob *);
4514
+ SQLITE_API int sqlite3_blob_close(sqlite3_blob *);
4510
4515
 
4511
4516
  /*
4512
4517
  ** CAPI3REF: Return The Size Of An Open BLOB {H17840} <S30230>
@@ -4524,7 +4529,7 @@ int sqlite3_blob_close(sqlite3_blob *);
4524
4529
  ** Requirements:
4525
4530
  ** [H17843]
4526
4531
  */
4527
- int sqlite3_blob_bytes(sqlite3_blob *);
4532
+ SQLITE_API int sqlite3_blob_bytes(sqlite3_blob *);
4528
4533
 
4529
4534
  /*
4530
4535
  ** CAPI3REF: Read Data From A BLOB Incrementally {H17850} <S30230>
@@ -4555,7 +4560,7 @@ int sqlite3_blob_bytes(sqlite3_blob *);
4555
4560
  ** Requirements:
4556
4561
  ** [H17853] [H17856] [H17859] [H17862] [H17863] [H17865] [H17868]
4557
4562
  */
4558
- int sqlite3_blob_read(sqlite3_blob *, void *Z, int N, int iOffset);
4563
+ SQLITE_API int sqlite3_blob_read(sqlite3_blob *, void *Z, int N, int iOffset);
4559
4564
 
4560
4565
  /*
4561
4566
  ** CAPI3REF: Write Data Into A BLOB Incrementally {H17870} <S30230>
@@ -4597,7 +4602,7 @@ int sqlite3_blob_read(sqlite3_blob *, void *Z, int N, int iOffset);
4597
4602
  ** [H17873] [H17874] [H17875] [H17876] [H17877] [H17879] [H17882] [H17885]
4598
4603
  ** [H17888]
4599
4604
  */
4600
- int sqlite3_blob_write(sqlite3_blob *, const void *z, int n, int iOffset);
4605
+ SQLITE_API int sqlite3_blob_write(sqlite3_blob *, const void *z, int n, int iOffset);
4601
4606
 
4602
4607
  /*
4603
4608
  ** CAPI3REF: Virtual File System Objects {H11200} <S20100>
@@ -4631,9 +4636,9 @@ int sqlite3_blob_write(sqlite3_blob *, const void *z, int n, int iOffset);
4631
4636
  ** Requirements:
4632
4637
  ** [H11203] [H11206] [H11209] [H11212] [H11215] [H11218]
4633
4638
  */
4634
- sqlite3_vfs *sqlite3_vfs_find(const char *zVfsName);
4635
- int sqlite3_vfs_register(sqlite3_vfs*, int makeDflt);
4636
- int sqlite3_vfs_unregister(sqlite3_vfs*);
4639
+ SQLITE_API sqlite3_vfs *sqlite3_vfs_find(const char *zVfsName);
4640
+ SQLITE_API int sqlite3_vfs_register(sqlite3_vfs*, int makeDflt);
4641
+ SQLITE_API int sqlite3_vfs_unregister(sqlite3_vfs*);
4637
4642
 
4638
4643
  /*
4639
4644
  ** CAPI3REF: Mutexes {H17000} <S20000>
@@ -4747,11 +4752,11 @@ int sqlite3_vfs_unregister(sqlite3_vfs*);
4747
4752
  **
4748
4753
  ** See also: [sqlite3_mutex_held()] and [sqlite3_mutex_notheld()].
4749
4754
  */
4750
- sqlite3_mutex *sqlite3_mutex_alloc(int);
4751
- void sqlite3_mutex_free(sqlite3_mutex*);
4752
- void sqlite3_mutex_enter(sqlite3_mutex*);
4753
- int sqlite3_mutex_try(sqlite3_mutex*);
4754
- void sqlite3_mutex_leave(sqlite3_mutex*);
4755
+ SQLITE_API sqlite3_mutex *sqlite3_mutex_alloc(int);
4756
+ SQLITE_API void sqlite3_mutex_free(sqlite3_mutex*);
4757
+ SQLITE_API void sqlite3_mutex_enter(sqlite3_mutex*);
4758
+ SQLITE_API int sqlite3_mutex_try(sqlite3_mutex*);
4759
+ SQLITE_API void sqlite3_mutex_leave(sqlite3_mutex*);
4755
4760
 
4756
4761
  /*
4757
4762
  ** CAPI3REF: Mutex Methods Object {H17120} <S20130>
@@ -4846,8 +4851,8 @@ struct sqlite3_mutex_methods {
4846
4851
  ** the appropriate thing to do. {H17086} The sqlite3_mutex_notheld()
4847
4852
  ** interface should also return 1 when given a NULL pointer.
4848
4853
  */
4849
- int sqlite3_mutex_held(sqlite3_mutex*);
4850
- int sqlite3_mutex_notheld(sqlite3_mutex*);
4854
+ SQLITE_API int sqlite3_mutex_held(sqlite3_mutex*);
4855
+ SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex*);
4851
4856
 
4852
4857
  /*
4853
4858
  ** CAPI3REF: Mutex Types {H17001} <H17000>
@@ -4878,7 +4883,7 @@ int sqlite3_mutex_notheld(sqlite3_mutex*);
4878
4883
  ** If the [threading mode] is Single-thread or Multi-thread then this
4879
4884
  ** routine returns a NULL pointer.
4880
4885
  */
4881
- sqlite3_mutex *sqlite3_db_mutex(sqlite3*);
4886
+ SQLITE_API sqlite3_mutex *sqlite3_db_mutex(sqlite3*);
4882
4887
 
4883
4888
  /*
4884
4889
  ** CAPI3REF: Low-Level Control Of Database Files {H11300} <S30800>
@@ -4904,7 +4909,7 @@ sqlite3_mutex *sqlite3_db_mutex(sqlite3*);
4904
4909
  **
4905
4910
  ** See also: [SQLITE_FCNTL_LOCKSTATE]
4906
4911
  */
4907
- int sqlite3_file_control(sqlite3*, const char *zDbName, int op, void*);
4912
+ SQLITE_API int sqlite3_file_control(sqlite3*, const char *zDbName, int op, void*);
4908
4913
 
4909
4914
  /*
4910
4915
  ** CAPI3REF: Testing Interface {H11400} <S30800>
@@ -4923,7 +4928,7 @@ int sqlite3_file_control(sqlite3*, const char *zDbName, int op, void*);
4923
4928
  ** Unlike most of the SQLite API, this function is not guaranteed to
4924
4929
  ** operate consistently from one release to the next.
4925
4930
  */
4926
- int sqlite3_test_control(int op, ...);
4931
+ SQLITE_API int sqlite3_test_control(int op, ...);
4927
4932
 
4928
4933
  /*
4929
4934
  ** CAPI3REF: Testing Interface Operation Codes {H11410} <H11400>
@@ -4945,6 +4950,7 @@ int sqlite3_test_control(int op, ...);
4945
4950
  #define SQLITE_TESTCTRL_PENDING_BYTE 11
4946
4951
  #define SQLITE_TESTCTRL_ASSERT 12
4947
4952
  #define SQLITE_TESTCTRL_ALWAYS 13
4953
+ #define SQLITE_TESTCTRL_RESERVE 14
4948
4954
 
4949
4955
  /*
4950
4956
  ** CAPI3REF: SQLite Runtime Status {H17200} <S60200>
@@ -4976,7 +4982,7 @@ int sqlite3_test_control(int op, ...);
4976
4982
  **
4977
4983
  ** See also: [sqlite3_db_status()]
4978
4984
  */
4979
- SQLITE_EXPERIMENTAL int sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag);
4985
+ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag);
4980
4986
 
4981
4987
 
4982
4988
  /*
@@ -5084,7 +5090,7 @@ SQLITE_EXPERIMENTAL int sqlite3_status(int op, int *pCurrent, int *pHighwater, i
5084
5090
  **
5085
5091
  ** See also: [sqlite3_status()] and [sqlite3_stmt_status()].
5086
5092
  */
5087
- SQLITE_EXPERIMENTAL int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int resetFlg);
5093
+ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int resetFlg);
5088
5094
 
5089
5095
  /*
5090
5096
  ** CAPI3REF: Status Parameters for database connections {H17520} <H17500>
@@ -5125,7 +5131,7 @@ SQLITE_EXPERIMENTAL int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiw
5125
5131
  **
5126
5132
  ** See also: [sqlite3_status()] and [sqlite3_db_status()].
5127
5133
  */
5128
- SQLITE_EXPERIMENTAL int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg);
5134
+ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg);
5129
5135
 
5130
5136
  /*
5131
5137
  ** CAPI3REF: Status Parameters for prepared statements {H17570} <H17550>
@@ -5480,16 +5486,16 @@ typedef struct sqlite3_backup sqlite3_backup;
5480
5486
  ** same time as another thread is invoking sqlite3_backup_step() it is
5481
5487
  ** possible that they return invalid values.
5482
5488
  */
5483
- sqlite3_backup *sqlite3_backup_init(
5489
+ SQLITE_API sqlite3_backup *sqlite3_backup_init(
5484
5490
  sqlite3 *pDest, /* Destination database handle */
5485
5491
  const char *zDestName, /* Destination database name */
5486
5492
  sqlite3 *pSource, /* Source database handle */
5487
5493
  const char *zSourceName /* Source database name */
5488
5494
  );
5489
- int sqlite3_backup_step(sqlite3_backup *p, int nPage);
5490
- int sqlite3_backup_finish(sqlite3_backup *p);
5491
- int sqlite3_backup_remaining(sqlite3_backup *p);
5492
- int sqlite3_backup_pagecount(sqlite3_backup *p);
5495
+ SQLITE_API int sqlite3_backup_step(sqlite3_backup *p, int nPage);
5496
+ SQLITE_API int sqlite3_backup_finish(sqlite3_backup *p);
5497
+ SQLITE_API int sqlite3_backup_remaining(sqlite3_backup *p);
5498
+ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p);
5493
5499
 
5494
5500
  /*
5495
5501
  ** CAPI3REF: Unlock Notification
@@ -5606,12 +5612,24 @@ int sqlite3_backup_pagecount(sqlite3_backup *p);
5606
5612
  ** the special "DROP TABLE/INDEX" case, the extended error code is just
5607
5613
  ** SQLITE_LOCKED.
5608
5614
  */
5609
- int sqlite3_unlock_notify(
5615
+ SQLITE_API int sqlite3_unlock_notify(
5610
5616
  sqlite3 *pBlocked, /* Waiting connection */
5611
5617
  void (*xNotify)(void **apArg, int nArg), /* Callback function to invoke */
5612
5618
  void *pNotifyArg /* Argument to pass to xNotify */
5613
5619
  );
5614
5620
 
5621
+
5622
+ /*
5623
+ ** CAPI3REF: String Comparison
5624
+ ** EXPERIMENTAL
5625
+ **
5626
+ ** The [sqlite3_strnicmp()] API allows applications and extensions to
5627
+ ** compare the contents of two buffers containing UTF-8 strings in a
5628
+ ** case-indendent fashion, using the same definition of case independence
5629
+ ** that SQLite uses internally when comparing identifiers.
5630
+ */
5631
+ SQLITE_API int sqlite3_strnicmp(const char *, const char *, int);
5632
+
5615
5633
  /*
5616
5634
  ** Undo the hack that converts floating point types to integer for
5617
5635
  ** builds on processors without floating point support.
@@ -5624,3 +5642,4 @@ int sqlite3_unlock_notify(
5624
5642
  } /* End of the 'extern "C"' block */
5625
5643
  #endif
5626
5644
  #endif
5645
+