1 #ifndef CLIB_SQLITE3_PROTOS_H
2 #define CLIB_SQLITE3_PROTOS_H
6 ** $VER: sqlite3_protos.h 2539 (17.08.2008)
8 ** C prototypes. For use with 32 bit integers only.
10 ** Copyright © 2008 ©2006 The Scalos Team
11 ** All Rights Reserved
15 #include <exec/types.h>
21 LONG
SQLite3Close(sqlite3
* db
);
22 LONG
SQLite3Exec(sqlite3
* db
, CONST_STRPTR sql
, sqlite3_callback xCallback
, APTR pArg
,
24 LONG
SQLite3Changes(sqlite3
* db
);
25 LONG
SQLite3TotalChanges(sqlite3
* db
);
26 VOID
SQLite3Interrupt(sqlite3
* db
);
27 LONG
SQLite3Complete(CONST_STRPTR sql
);
28 LONG
SQLite3BusyHandler(sqlite3
* db
, LONG (*callback
)(APTR userdata
, LONG l
), APTR userdata
);
29 LONG
SQLite3BusyTimeout(sqlite3
* db
, LONG ms
);
30 LONG
SQLite3GetTable(sqlite3
* db
, CONST_STRPTR sql
, STRPTR
** presult
, LONG
* nrow
,
31 LONG
* ncolumn
, STRPTR
* errmsg
);
32 VOID
SQLite3FreeTable(STRPTR
* result
);
33 VOID
SQLite3Free(STRPTR z
);
34 APTR
SQLite3Trace(sqlite3
* db
, VOID (*xTrace
)(APTR p
, CONST_STRPTR z
), APTR parg
);
35 VOID
SQLite3ProgressHandler(sqlite3
* db
, LONG nOps
, LONG (*xProgress
)(APTR p
), APTR pArg
);
36 APTR
SQLite3CommitHook(sqlite3
* db
, LONG (*xCallback
)(APTR p
), APTR pArg
);
37 LONG
SQLite3Open(CONST_STRPTR filename
, sqlite3
** ppDb
);
38 LONG
SQLite3Errcode(sqlite3
* db
);
39 CONST_STRPTR
SQLite3Errmsg(sqlite3
* db
);
40 LONG
SQLite3Prepare(sqlite3
* db
, CONST_STRPTR zSql
, LONG nBytes
, sqlite3_stmt
** ppStmt
,
41 CONST_STRPTR
* pzTail
);
42 LONG
SQLite3BindBlob(sqlite3_stmt
* pStmt
, LONG i
, CONST_APTR zData
, LONG nData
,
43 VOID (*xDel
)(APTR p
));
44 LONG
SQLite3BindInt(sqlite3_stmt
* pStmt
, LONG i
, LONG iValue
);
45 LONG
SQLite3BindNull(sqlite3_stmt
* pStmt
, LONG i
);
46 LONG
SQLite3BindText(sqlite3_stmt
* pStmt
, LONG i
, CONST_STRPTR zData
, LONG nData
,
47 VOID (*xDel
)(APTR p
));
48 LONG
SQLite3BindValue(sqlite3_stmt
* pStmt
, LONG i
, CONST sqlite3_value
* pVal
);
49 LONG
SQLite3BindParameterCount(sqlite3_stmt
* pStmt
);
50 CONST_STRPTR
SQLite3BindParameterName(sqlite3_stmt
* pStmt
, LONG i
);
51 LONG
SQLite3BindParameterIndex(sqlite3_stmt
* pStmt
, CONST_STRPTR zName
);
52 LONG
SQLite3ClearBindings(sqlite3_stmt
* pStmt
);
53 LONG
SQLite3ColumnCount(sqlite3_stmt
* pStmt
);
54 CONST_STRPTR
SQLite3ColumnName(sqlite3_stmt
* pStmt
, LONG i
);
55 CONST_STRPTR
SQLite3ColumnDecltype(sqlite3_stmt
* pStmt
, LONG i
);
56 LONG
SQLite3Step(sqlite3_stmt
* pStmt
);
57 LONG
SQLite3DataCount(sqlite3_stmt
* pStmt
);
58 CONST_APTR
SQLite3ColumnBlob(sqlite3_stmt
* pStmt
, LONG iCol
);
59 LONG
SQLite3ColumnBytes(sqlite3_stmt
* pStmt
, LONG iCol
);
60 LONG
SQLite3ColumnInt(sqlite3_stmt
* pStmt
, LONG iCol
);
61 CONST_STRPTR
SQLite3ColumnText(sqlite3_stmt
* pStmt
, LONG iCol
);
62 LONG
SQLite3ColumnType(sqlite3_stmt
* pStmt
, LONG iCol
);
63 LONG
SQLite3Finalize(sqlite3_stmt
* pStmt
);
64 LONG
SQLite3Reset(sqlite3_stmt
* pStmt
);
65 LONG
SQLite3AggregateCount(sqlite3_context
* pCtx
);
66 CONST_APTR
SQLite3ValueBlob(sqlite3_value
* pVal
);
67 LONG
SQLite3ValueBytes(sqlite3_value
* pVal
);
68 LONG
SQLite3ValueInt(sqlite3_value
* pVal
);
69 CONST_STRPTR
SQLite3ValueText(sqlite3_value
* pVal
);
70 LONG
SQLite3ValueType(sqlite3_value
* pVal
);
71 APTR
SQLite3Aggregate_context(sqlite3_context
* pCtx
, LONG nBytes
);
72 APTR
SQLite3UserData(sqlite3_context
* pCtx
);
73 APTR
SQLite3GetAuxdata(sqlite3_context
* pCtx
, LONG iArg
);
74 VOID
SQLite3SetAuxdata(sqlite3_context
* pCtx
, LONG iARg
, APTR pAux
, VOID (*xDelete
)(APTR p
));
75 VOID
SQLite3ResultBlob(sqlite3_context
* pCtx
, CONST_APTR z
, LONG n
, VOID (*xDelete
)(APTR p
));
76 VOID
SQLite3ResultError(sqlite3_context
* pCtx
, CONST_STRPTR z
, LONG n
);
77 VOID
SQLite3ResultInt(sqlite3_context
* pCtx
, LONG iVal
);
78 VOID
SQLite3ResultNull(sqlite3_context
* pCtx
);
79 VOID
SQLite3ResultText(sqlite3_context
* pCtx
, CONST_STRPTR z
, LONG n
, VOID (*xDelete
)(APTR p
));
80 VOID
SQLite3ResultValue(sqlite3_context
* pCtx
, sqlite3_value
* pValue
);
81 LONG
SQLite3CreateCollation(sqlite3
* db
, CONST_STRPTR zName
, LONG eTextRep
, APTR pCtx
,
82 LONG (*xCompare
)(APTR p
, LONG i
, CONST_APTR p2
, LONG j
, CONST_APTR p3
));
83 LONG
SQLite3CollationNeeded(sqlite3
* db
, APTR pCollNeededArg
,
84 VOID (*xCollNeeded
)(APTR p
, sqlite3
*dv
, LONG eTextRep
, CONST_STRPTR z
));
85 LONG
SQLite3Sleep(LONG ms
);
86 LONG
SQLite3Expired(sqlite3_stmt
* pStmt
);
87 LONG
SQLite3TransferBindings(sqlite3_stmt
* pFromStmt
, sqlite3_stmt
* pToStmt
);
88 LONG
SQLite3GlobalRecover(void);
89 LONG
SQLite3GetAutocommit(sqlite3
* db
);
90 sqlite3
* SQLite3DbHandle(sqlite3_stmt
* pStmt
);
91 APTR
SQLite3RollbackHook(sqlite3
* db
, VOID (*callback
)(APTR pUserData
), APTR pUserData
);
92 LONG
SQLite3EnableSharedCache(LONG enable
);
93 LONG
SQLite3ReleaseMemory(LONG bytesCount
);
94 VOID
SQLite3SoftHeapLimit(LONG maxBytes
);
95 VOID
SQLite3ThreadCleanup(void);
96 LONG
SQLite3PrepareV2(sqlite3
* db
, CONST_STRPTR zSql
, LONG nBytes
, sqlite3_stmt
** ppStmt
,
97 CONST_STRPTR
* pzTail
);
98 LONG
SQLite3CreateFunction(sqlite3
* db
, CONST_STRPTR zFunctionName
, LONG nArg
, LONG eTextRep
,
100 VOID (*xFunc
)(sqlite3_context
*pCtx
, LONG i
, sqlite3_value
**pVal
),
101 VOID (*xStep
)(sqlite3_context
*pCtx
, LONG i
, sqlite3_value
**pVal
),
102 VOID (*xFinal
)(sqlite3_context
*pCtx
));
103 LONG
SQLite3CreateModule(sqlite3
* db
, CONST_STRPTR zName
, CONST sqlite3_module
* methods
,
105 LONG
SQLite3DeclareVtab(sqlite3
* db
, CONST_STRPTR zCreateTable
);
106 LONG
SQLite3OverloadFunction(sqlite3
* db
, CONST_STRPTR zFuncName
, LONG nArg
);
107 LONG
SQLite3BlobOpen(sqlite3
* db
, CONST_STRPTR zDb
, CONST_STRPTR zTable
,
108 CONST_STRPTR zColumn
, LONG iRow
, LONG flags
, sqlite3_blob
** ppBlob
);
109 LONG
SQLite3BlobClose(sqlite3_blob
* blob
);
110 LONG
SQLite3BlobBytes(sqlite3_blob
* blob
);
111 LONG
SQLite3BlobRead(sqlite3_blob
* blob
, APTR z
, LONG n
, LONG iOffset
);
112 LONG
SQLite3BlobWrite(sqlite3_blob
* blob
, CONST_APTR z
, LONG n
, LONG iOffset
);
113 LONG
SQLite3ExtendedResultCodes(sqlite3
* db
, LONG onoff
);
114 LONG
SQLite3BindZeroBlob(sqlite3_stmt
* pStmt
, LONG i
, LONG n
);
115 CONST_STRPTR
SQLite3ColumnDatabaseName(sqlite3_stmt
* stmt
, LONG n
);
116 CONST_STRPTR
SQLite3ColumnTableName(sqlite3_stmt
* stmt
, LONG n
);
117 CONST_STRPTR
SQLite3ColumnOriginName(sqlite3_stmt
* stmt
, LONG n
);
118 sqlite3_value
* SQLite3ColumnValue(sqlite3_stmt
* pStmt
, LONG iCol
);
119 LONG
SQLite3CreateCollationV2(sqlite3
* db
, CONST_STRPTR zName
, LONG eTextRep
, APTR pCtx
,
120 LONG (*xCompare
)(APTR p
, LONG i
, CONST_APTR p2
, LONG j
, CONST_APTR p3
),
121 VOID (*xDestroy
)(APTR
));
122 CONST_STRPTR
SQLite3LibVersion(void);
123 LONG
SQLite3LibversionNumber(void);
124 VOID
SQLite3ResultErrorToobig(sqlite3_context
* pCtx
);
125 VOID
SQLite3ResultZeroBlob(sqlite3_context
* pCtx
, LONG n
);
126 LONG
SQLite3ValueNumericType(sqlite3_value
* pVal
);
127 LONG
SQLite3ConfigV(LONG op
, APTR ap
);
128 LONG
SQLite3Config(LONG op
, ULONG ap
, ...);
129 LONG
SQLlite3DbConfigV(sqlite3
* db
, LONG op
, APTR ap
);
130 LONG
SQLlite3DbConfig(sqlite3
* db
, LONG op
, ULONG ap
, ...);
131 sqlite3_vfs
* SQLite3VfsFind(CONST_STRPTR zVfsName
);
132 LONG
SQLite3VfsRegister(sqlite3_vfs
* vfs
, LONG makeDflt
);
133 LONG
SQLite3VfsUnregister(sqlite3_vfs
* vfs
);
134 LONG
SQLite3FileControl(sqlite3
* db
, CONST_STRPTR zDbName
, LONG op
, void * arg
);
135 LONG
SQLite3Status(LONG op
, LONG
* pCurrent
, LONG
* pHighwater
, LONG resetFlag
);
136 LONG
SQLite3DbStatus(sqlite3
* db
, LONG op
, LONG
* pCur
, LONG
* pHiwtr
, LONG resetFlg
);
138 #endif /* CLIB_SQLITE3_PROTOS_H */