?? interop.c
字號:
{
return sqlite3_step(stmt);
}
__declspec(dllexport) int WINAPI sqlite3_data_count_interop(sqlite3_stmt *stmt)
{
return sqlite3_data_count(stmt);
}
__declspec(dllexport) const void * WINAPI sqlite3_column_blob_interop(sqlite3_stmt *stmt, int iCol)
{
return sqlite3_column_blob(stmt, iCol);
}
__declspec(dllexport) int WINAPI sqlite3_column_bytes_interop(sqlite3_stmt *stmt, int iCol)
{
return sqlite3_column_bytes(stmt, iCol);
}
__declspec(dllexport) int WINAPI sqlite3_column_bytes16_interop(sqlite3_stmt *stmt, int iCol)
{
return sqlite3_column_bytes16(stmt, iCol);
}
__declspec(dllexport) void WINAPI sqlite3_column_double_interop(sqlite3_stmt *stmt, int iCol, double *val)
{
*val = sqlite3_column_double(stmt,iCol);
}
__declspec(dllexport) int WINAPI sqlite3_column_int_interop(sqlite3_stmt *stmt, int iCol)
{
return sqlite3_column_int(stmt, iCol);
}
__declspec(dllexport) void WINAPI sqlite3_column_int64_interop(sqlite3_stmt *stmt, int iCol, sqlite_int64 *val)
{
*val = sqlite3_column_int64(stmt,iCol);
}
__declspec(dllexport) const unsigned char * WINAPI sqlite3_column_text_interop(sqlite3_stmt *stmt, int iCol, int *plen)
{
const unsigned char *pval = sqlite3_column_text(stmt, iCol);
*plen = (pval != 0) ? strlen((char *)pval) : 0;
return pval;
}
__declspec(dllexport) const void * WINAPI sqlite3_column_text16_interop(sqlite3_stmt *stmt, int iCol, int *plen)
{
const void *pval = sqlite3_column_text16(stmt, iCol);
*plen = (pval != 0) ? wcslen((wchar_t *)pval) * sizeof(wchar_t): 0;
return pval;
}
__declspec(dllexport) int WINAPI sqlite3_column_type_interop(sqlite3_stmt *stmt, int iCol)
{
return sqlite3_column_type(stmt, iCol);
}
__declspec(dllexport) int WINAPI sqlite3_finalize_interop(sqlite3_stmt *stmt)
{
return sqlite3_finalize(stmt);
}
__declspec(dllexport) int WINAPI sqlite3_reset_interop(sqlite3_stmt *stmt)
{
return sqlite3_reset(stmt);
}
__declspec(dllexport) int WINAPI sqlite3_create_function_interop(sqlite3 *psql, const char *zFunctionName, int nArg, int eTextRep, SQLITEUSERFUNC func, SQLITEUSERFUNC funcstep, SQLITEUSERFUNC funcfinal, void **ppCookie)
{
int n;
SQLITEUSERFUNC *p = (SQLITEUSERFUNC *)malloc(sizeof(SQLITEUSERFUNC) * 3);
p[0] = func;
p[1] = funcstep;
p[2] = funcfinal;
*ppCookie = 0;
n = sqlite3_create_function(psql, zFunctionName, nArg, eTextRep, p, (func != 0) ? sqlite3_interop_func : 0, (funcstep != 0) ? sqlite3_interop_step : 0, (funcfinal != 0) ? sqlite3_interop_final : 0);
if (n != 0)
free(p);
else
*ppCookie = p;
return n;
}
__declspec(dllexport) int WINAPI sqlite3_create_function16_interop(sqlite3 *psql, void *zFunctionName, int nArg, int eTextRep, SQLITEUSERFUNC func, SQLITEUSERFUNC funcstep, SQLITEUSERFUNC funcfinal, void **ppCookie)
{
int n;
SQLITEUSERFUNC *p = (SQLITEUSERFUNC *)malloc(sizeof(SQLITEUSERFUNC) * 3);
p[0] = func;
p[1] = funcstep;
p[2] = funcfinal;
*ppCookie = 0;
n = sqlite3_create_function16(psql, zFunctionName, nArg, eTextRep, p, (func != 0) ? sqlite3_interop_func : 0, (funcstep != 0) ? sqlite3_interop_step : 0, (funcfinal != 0) ? sqlite3_interop_final : 0);
if (n != 0)
free(p);
else
*ppCookie = p;
return n;
}
__declspec(dllexport) int WINAPI sqlite3_create_collation_interop(sqlite3* db, const char *zName, int eTextRep, void* pvUser, SQLITECOLLATION func, void **ppCookie)
{
int n;
SQLITECOLLATION *p = (SQLITECOLLATION *)malloc(sizeof(SQLITECOLLATION));
p[0] = func;
*ppCookie = 0;
n = sqlite3_create_collation(db, zName, eTextRep, p, sqlite3_interop_collationfunc);
if (n != 0)
free(p);
else
*ppCookie = p;
return n;
}
__declspec(dllexport) int WINAPI sqlite3_create_collation16_interop(sqlite3* db, const void *zName, int eTextRep, void* pvUser, SQLITECOLLATION func, void **ppCookie)
{
int n;
SQLITECOLLATION *p = (SQLITECOLLATION *)malloc(sizeof(SQLITECOLLATION));
p[0] = func;
*ppCookie = 0;
n = sqlite3_create_collation16(db, (const char *)zName, eTextRep, p, sqlite3_interop_collationfunc);
if (n != 0)
free(p);
else
*ppCookie = p;
return n;
}
__declspec(dllexport) int WINAPI sqlite3_aggregate_count_interop(sqlite3_context *pctx)
{
return sqlite3_aggregate_count(pctx);
}
__declspec(dllexport) const void * WINAPI sqlite3_value_blob_interop(sqlite3_value *val)
{
return sqlite3_value_blob(val);
}
__declspec(dllexport) int WINAPI sqlite3_value_bytes_interop(sqlite3_value *val)
{
return sqlite3_value_bytes(val);
}
__declspec(dllexport) int WINAPI sqlite3_value_bytes16_interop(sqlite3_value *val)
{
return sqlite3_value_bytes16(val);
}
__declspec(dllexport) void WINAPI sqlite3_value_double_interop(sqlite3_value *pval, double *val)
{
*val = sqlite3_value_double(pval);
}
__declspec(dllexport) int WINAPI sqlite3_value_int_interop(sqlite3_value *val)
{
return sqlite3_value_int(val);
}
__declspec(dllexport) void WINAPI sqlite3_value_int64_interop(sqlite3_value *pval, sqlite_int64 *val)
{
*val = sqlite3_value_int64(pval);
}
__declspec(dllexport) const unsigned char * WINAPI sqlite3_value_text_interop(sqlite3_value *val, int *plen)
{
const unsigned char *pval = sqlite3_value_text(val);
*plen = (pval != 0) ? strlen((char *)pval) : 0;
return pval;
}
__declspec(dllexport) const void * WINAPI sqlite3_value_text16_interop(sqlite3_value *val, int *plen)
{
const void *pval = sqlite3_value_text16(val);
*plen = (pval != 0) ? wcslen((wchar_t *)pval) * sizeof(wchar_t) : 0;
return pval;
}
__declspec(dllexport) int WINAPI sqlite3_value_type_interop(sqlite3_value *val)
{
return sqlite3_value_type(val);
}
__declspec(dllexport) void * WINAPI sqlite3_aggregate_context_interop(sqlite3_context *pctx, int n)
{
return sqlite3_aggregate_context(pctx, n);
}
__declspec(dllexport) void WINAPI sqlite3_result_blob_interop(sqlite3_context *ctx, const void *pv, int n, void(*cb)(void *))
{
sqlite3_result_blob(ctx, pv, n, cb);
}
__declspec(dllexport) void WINAPI sqlite3_result_double_interop(sqlite3_context *pctx, double *val)
{
sqlite3_result_double(pctx, *val);
}
__declspec(dllexport) void WINAPI sqlite3_result_int_interop(sqlite3_context *pctx, int val)
{
sqlite3_result_int(pctx, val);
}
__declspec(dllexport) void WINAPI sqlite3_result_int64_interop(sqlite3_context *pctx, sqlite_int64 *val)
{
sqlite3_result_int64(pctx, *val);
}
__declspec(dllexport) void WINAPI sqlite3_result_null_interop(sqlite3_context *pctx)
{
sqlite3_result_null(pctx);
}
__declspec(dllexport) void WINAPI sqlite3_result_error_interop(sqlite3_context *ctx, const char *pv, int n)
{
sqlite3_result_error(ctx, pv, n);
}
__declspec(dllexport) void WINAPI sqlite3_result_error16_interop(sqlite3_context *ctx, const void *pv, int n)
{
sqlite3_result_error16(ctx, pv, n);
}
__declspec(dllexport) void WINAPI sqlite3_result_text_interop(sqlite3_context *ctx, const char *pv, int n, void(*cb)(void *))
{
sqlite3_result_text(ctx, pv, n, cb);
}
__declspec(dllexport) void WINAPI sqlite3_result_text16_interop(sqlite3_context *ctx, const void *pv, int n, void(*cb)(void *))
{
sqlite3_result_text16(ctx, pv, n, cb);
}
__declspec(dllexport) const char * WINAPI sqlite3_column_database_name_interop(sqlite3_stmt *stmt, int iCol, int *plen)
{
const char *pval = sqlite3_column_database_name(stmt, iCol);
*plen = (pval != 0) ? strlen(pval) : 0;
return pval;
}
__declspec(dllexport) const void * WINAPI sqlite3_column_database_name16_interop(sqlite3_stmt *stmt, int iCol, int *plen)
{
const void *pval = sqlite3_column_database_name16(stmt, iCol);
*plen = (pval != 0) ? wcslen((wchar_t *)pval) * sizeof(wchar_t) : 0;
return pval;
}
__declspec(dllexport) const char * WINAPI sqlite3_column_table_name_interop(sqlite3_stmt *stmt, int iCol, int *plen)
{
const char *pval = sqlite3_column_table_name(stmt, iCol);
*plen = (pval != 0) ? strlen(pval) : 0;
return pval;
}
__declspec(dllexport) const void * WINAPI sqlite3_column_table_name16_interop(sqlite3_stmt *stmt, int iCol, int *plen)
{
const void *pval = sqlite3_column_table_name16(stmt, iCol);
*plen = (pval != 0) ? wcslen((wchar_t *)pval) * sizeof(wchar_t) : 0;
return pval;
}
__declspec(dllexport) const char * WINAPI sqlite3_column_origin_name_interop(sqlite3_stmt *stmt, int iCol, int *plen)
{
const char *pval = sqlite3_column_origin_name(stmt, iCol);
*plen = (pval != 0) ? strlen(pval) : 0;
return pval;
}
__declspec(dllexport) const void * WINAPI sqlite3_column_origin_name16_interop(sqlite3_stmt *stmt, int iCol, int *plen)
{
const void *pval = sqlite3_column_origin_name16(stmt, iCol);
*plen = (pval != 0) ? wcslen((wchar_t *)pval) * sizeof(wchar_t) : 0;
return pval;
}
__declspec(dllexport) int WINAPI sqlite3_table_column_metadata_interop(sqlite3 *db, const char *zDbName, const char *zTableName, const char *zColumnName, char **pzDataType, char **pzCollSeq, int *pNotNull, int *pPrimaryKey, int *pAutoinc, int *pdtLen, int *pcsLen)
{
int n = sqlite3_table_column_metadata(db, zDbName, zTableName, zColumnName, pzDataType, pzCollSeq, pNotNull, pPrimaryKey, pAutoinc);
*pdtLen = (*pzDataType != 0) ? strlen(*pzDataType) : 0;
*pcsLen = (*pzCollSeq != 0) ? strlen(*pzCollSeq) : 0;
return n;
}
void sqlite3_update_callback(void *pArg, int type, const char *pDatabase, const char *pTable, sqlite_int64 rowid)
{
SQLITEUPDATEHOOK func = (SQLITEUPDATEHOOK)pArg;
func(type, pDatabase, strlen(pDatabase), pTable, strlen(pTable), rowid);
}
int sqlite3_commit_callback(void *pArg)
{
return ((SQLITECOMMITHOOK)pArg)();
}
void sqlite3_rollback_callback(void *pArg)
{
((SQLITEROLLBACKHOOK)pArg)();
}
__declspec(dllexport) void * WINAPI sqlite3_update_hook_interop(sqlite3 *pDb, SQLITEUPDATEHOOK func)
{
return sqlite3_update_hook(pDb, sqlite3_update_callback, func);
}
__declspec(dllexport) void * WINAPI sqlite3_commit_hook_interop(sqlite3 *pDb, SQLITECOMMITHOOK func)
{
return sqlite3_commit_hook(pDb, sqlite3_commit_callback, func);
}
__declspec(dllexport) void * WINAPI sqlite3_rollback_hook_interop(sqlite3 *pDb, SQLITEROLLBACKHOOK func)
{
return sqlite3_rollback_hook(pDb, sqlite3_rollback_callback, func);
}
#endif // OS_WIN
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -