added most parsing
This commit is contained in:
parent
9186c0b444
commit
cf1fc0e042
8 changed files with 1102 additions and 33 deletions
957
output
Normal file
957
output
Normal file
|
@ -0,0 +1,957 @@
|
||||||
|
[CLink]
|
||||||
|
public static extern void __va_start( va_list* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern void __security_init_cookie();
|
||||||
|
[CLink]
|
||||||
|
public static extern void __security_check_cookie( c_uintptr _StackCookie);
|
||||||
|
[CLink]
|
||||||
|
public static extern void __report_gsfailure( c_uintptr _StackCookie);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_libversion();
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_sourceid();
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_libversion_number();
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_compileoption_used( c_char* zOptName);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_compileoption_get( c_int N);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_threadsafe();
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_close( sqlite3* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_close_v2( sqlite3* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_exec( sqlite3* bf_arg0, c_char* sql, int(*)(void*,int,char**,char**) callback, void* bf_arg3, c_char** errmsg);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_initialize();
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_shutdown();
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_os_init();
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_os_end();
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_config( c_int bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_db_config( sqlite3* bf_arg0, c_int op);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_extended_result_codes( sqlite3* bf_arg0, c_int onoff);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3_int64 sqlite3_last_insert_rowid( sqlite3* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_set_last_insert_rowid( sqlite3* bf_arg0, sqlite3_int64 bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_changes( sqlite3* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3_int64 sqlite3_changes64( sqlite3* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_total_changes( sqlite3* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3_int64 sqlite3_total_changes64( sqlite3* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_interrupt( sqlite3* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_is_interrupted( sqlite3* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_complete( c_char* sql);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_complete16( void* sql);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_busy_handler( sqlite3* bf_arg0, int(*)(void*,int) bf_arg1, void* bf_arg2);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_busy_timeout( sqlite3* bf_arg0, c_int ms);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_get_table( sqlite3* db, c_char* zSql, c_char*** pazResult, c_int* pnRow, c_int* pnColumn, c_char** pzErrmsg);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_free_table( c_char** result);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_mprintf( c_char* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_vmprintf( c_char* bf_arg0, va_list bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_snprintf( c_int bf_arg0, c_char* bf_arg1, c_char* bf_arg2);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_vsnprintf( c_int bf_arg0, c_char* bf_arg1, c_char* bf_arg2, va_list bf_arg3);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_malloc( c_int bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_malloc64( sqlite3_uint64 bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_realloc( void* bf_arg0, c_int bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_realloc64( void* bf_arg0, sqlite3_uint64 bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_free( void* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3_uint64 sqlite3_msize( void* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3_int64 sqlite3_memory_used();
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3_int64 sqlite3_memory_highwater( c_int resetFlag);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_randomness( c_int N, void* P);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_set_authorizer( sqlite3* bf_arg0, int(*)(void*,int,char*,char*,char*,char*) xAuth, void* pUserData);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_trace( sqlite3* bf_arg0, void(*)(void*,char*) xTrace, void* bf_arg2);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_profile( sqlite3* bf_arg0, void(*)(void*,char*,sqlite3_uint64) xProfile, void* bf_arg2);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_trace_v2( sqlite3* bf_arg0, c_uint uMask, int(*)(unsignedint,void*,void*,void*) xCallback, void* pCtx);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_progress_handler( sqlite3* bf_arg0, c_int bf_arg1, int(*)(void*) bf_arg2, void* bf_arg3);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_open( c_char* filename, sqlite3** ppDb);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_open16( void* filename, sqlite3** ppDb);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_open_v2( c_char* filename, sqlite3** ppDb, c_int flags, c_char* zVfs);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_uri_parameter( sqlite3_filename z, c_char* zParam);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_uri_boolean( sqlite3_filename z, c_char* zParam, c_int bDefault);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3_int64 sqlite3_uri_int64( sqlite3_filename bf_arg0, c_char* bf_arg1, sqlite3_int64 bf_arg2);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_uri_key( sqlite3_filename z, c_int N);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_filename_database( sqlite3_filename bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_filename_journal( sqlite3_filename bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_filename_wal( sqlite3_filename bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3_file* sqlite3_database_file_object( c_char* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3_filename sqlite3_create_filename( c_char* zDatabase, c_char* zJournal, c_char* zWal, c_int nParam, c_char** azParam);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_free_filename( sqlite3_filename bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_errcode( sqlite3* db);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_extended_errcode( sqlite3* db);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_errmsg( sqlite3* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_errmsg16( sqlite3* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_errstr( c_int bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_error_offset( sqlite3* db);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_limit( sqlite3* bf_arg0, c_int id, c_int newVal);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_prepare( sqlite3* db, c_char* zSql, c_int nByte, sqlite3_stmt** ppStmt, c_char** pzTail);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_prepare_v2( sqlite3* db, c_char* zSql, c_int nByte, sqlite3_stmt** ppStmt, c_char** pzTail);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_prepare_v3( sqlite3* db, c_char* zSql, c_int nByte, c_uint prepFlags, sqlite3_stmt** ppStmt, c_char** pzTail);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_prepare16( sqlite3* db, void* zSql, c_int nByte, sqlite3_stmt** ppStmt, void** pzTail);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_prepare16_v2( sqlite3* db, void* zSql, c_int nByte, sqlite3_stmt** ppStmt, void** pzTail);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_prepare16_v3( sqlite3* db, void* zSql, c_int nByte, c_uint prepFlags, sqlite3_stmt** ppStmt, void** pzTail);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_sql( sqlite3_stmt* pStmt);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_expanded_sql( sqlite3_stmt* pStmt);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_stmt_readonly( sqlite3_stmt* pStmt);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_stmt_isexplain( sqlite3_stmt* pStmt);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_stmt_explain( sqlite3_stmt* pStmt, c_int eMode);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_stmt_busy( sqlite3_stmt* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_bind_blob( sqlite3_stmt* bf_arg0, c_int bf_arg1, void* bf_arg2, c_int n, void(*)(void*) bf_arg4);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_bind_blob64( sqlite3_stmt* bf_arg0, c_int bf_arg1, void* bf_arg2, sqlite3_uint64 bf_arg3, void(*)(void*) bf_arg4);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_bind_double( sqlite3_stmt* bf_arg0, c_int bf_arg1, double bf_arg2);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_bind_int( sqlite3_stmt* bf_arg0, c_int bf_arg1, c_int bf_arg2);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_bind_int64( sqlite3_stmt* bf_arg0, c_int bf_arg1, sqlite3_int64 bf_arg2);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_bind_null( sqlite3_stmt* bf_arg0, c_int bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_bind_text( sqlite3_stmt* bf_arg0, c_int bf_arg1, c_char* bf_arg2, c_int bf_arg3, void(*)(void*) bf_arg4);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_bind_text16( sqlite3_stmt* bf_arg0, c_int bf_arg1, void* bf_arg2, c_int bf_arg3, void(*)(void*) bf_arg4);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_bind_text64( sqlite3_stmt* bf_arg0, c_int bf_arg1, c_char* bf_arg2, sqlite3_uint64 bf_arg3, void(*)(void*) bf_arg4, c_uchar encoding);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_bind_value( sqlite3_stmt* bf_arg0, c_int bf_arg1, sqlite3_value* bf_arg2);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_bind_pointer( sqlite3_stmt* bf_arg0, c_int bf_arg1, void* bf_arg2, c_char* bf_arg3, void(*)(void*) bf_arg4);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_bind_zeroblob( sqlite3_stmt* bf_arg0, c_int bf_arg1, c_int n);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_bind_zeroblob64( sqlite3_stmt* bf_arg0, c_int bf_arg1, sqlite3_uint64 bf_arg2);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_bind_parameter_count( sqlite3_stmt* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_bind_parameter_name( sqlite3_stmt* bf_arg0, c_int bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_bind_parameter_index( sqlite3_stmt* bf_arg0, c_char* zName);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_clear_bindings( sqlite3_stmt* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_column_count( sqlite3_stmt* pStmt);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_column_name( sqlite3_stmt* bf_arg0, c_int N);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_column_name16( sqlite3_stmt* bf_arg0, c_int N);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_column_database_name( sqlite3_stmt* bf_arg0, c_int bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_column_database_name16( sqlite3_stmt* bf_arg0, c_int bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_column_table_name( sqlite3_stmt* bf_arg0, c_int bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_column_table_name16( sqlite3_stmt* bf_arg0, c_int bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_column_origin_name( sqlite3_stmt* bf_arg0, c_int bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_column_origin_name16( sqlite3_stmt* bf_arg0, c_int bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_column_decltype( sqlite3_stmt* bf_arg0, c_int bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_column_decltype16( sqlite3_stmt* bf_arg0, c_int bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_step( sqlite3_stmt* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_data_count( sqlite3_stmt* pStmt);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_column_blob( sqlite3_stmt* bf_arg0, c_int iCol);
|
||||||
|
[CLink]
|
||||||
|
public static extern double sqlite3_column_double( sqlite3_stmt* bf_arg0, c_int iCol);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_column_int( sqlite3_stmt* bf_arg0, c_int iCol);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3_int64 sqlite3_column_int64( sqlite3_stmt* bf_arg0, c_int iCol);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_uchar* sqlite3_column_text( sqlite3_stmt* bf_arg0, c_int iCol);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_column_text16( sqlite3_stmt* bf_arg0, c_int iCol);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3_value* sqlite3_column_value( sqlite3_stmt* bf_arg0, c_int iCol);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_column_bytes( sqlite3_stmt* bf_arg0, c_int iCol);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_column_bytes16( sqlite3_stmt* bf_arg0, c_int iCol);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_column_type( sqlite3_stmt* bf_arg0, c_int iCol);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_finalize( sqlite3_stmt* pStmt);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_reset( sqlite3_stmt* pStmt);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_create_function( sqlite3* db, c_char* zFunctionName, c_int nArg, c_int eTextRep, void* pApp, void(*)(sqlite3_context*,int,sqlite3_value**) xFunc, void(*)(sqlite3_context*,int,sqlite3_value**) xStep, void(*)(sqlite3_context*) xFinal);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_create_function16( sqlite3* db, void* zFunctionName, c_int nArg, c_int eTextRep, void* pApp, void(*)(sqlite3_context*,int,sqlite3_value**) xFunc, void(*)(sqlite3_context*,int,sqlite3_value**) xStep, void(*)(sqlite3_context*) xFinal);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_create_function_v2( sqlite3* db, c_char* zFunctionName, c_int nArg, c_int eTextRep, void* pApp, void(*)(sqlite3_context*,int,sqlite3_value**) xFunc, void(*)(sqlite3_context*,int,sqlite3_value**) xStep, void(*)(sqlite3_context*) xFinal, void(*)(void*) xDestroy);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_create_window_function( sqlite3* db, c_char* zFunctionName, c_int nArg, c_int eTextRep, void* pApp, void(*)(sqlite3_context*,int,sqlite3_value**) xStep, void(*)(sqlite3_context*) xFinal, void(*)(sqlite3_context*) xValue, void(*)(sqlite3_context*,int,sqlite3_value**) xInverse, void(*)(void*) xDestroy);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_aggregate_count( sqlite3_context* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_expired( sqlite3_stmt* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_transfer_bindings( sqlite3_stmt* bf_arg0, sqlite3_stmt* bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_global_recover();
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_thread_cleanup();
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_memory_alarm( void(*)(void*,sqlite3_int64,int) bf_arg0, void* bf_arg1, sqlite3_int64 bf_arg2);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_value_blob( sqlite3_value* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern double sqlite3_value_double( sqlite3_value* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_value_int( sqlite3_value* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3_int64 sqlite3_value_int64( sqlite3_value* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_value_pointer( sqlite3_value* bf_arg0, c_char* bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_uchar* sqlite3_value_text( sqlite3_value* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_value_text16( sqlite3_value* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_value_text16le( sqlite3_value* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_value_text16be( sqlite3_value* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_value_bytes( sqlite3_value* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_value_bytes16( sqlite3_value* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_value_type( sqlite3_value* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_value_numeric_type( sqlite3_value* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_value_nochange( sqlite3_value* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_value_frombind( sqlite3_value* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_value_encoding( sqlite3_value* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_uint sqlite3_value_subtype( sqlite3_value* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3_value* sqlite3_value_dup( sqlite3_value* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_value_free( sqlite3_value* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_aggregate_context( sqlite3_context* bf_arg0, c_int nBytes);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_user_data( sqlite3_context* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3* sqlite3_context_db_handle( sqlite3_context* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_get_auxdata( sqlite3_context* bf_arg0, c_int N);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_set_auxdata( sqlite3_context* bf_arg0, c_int N, void* bf_arg2, void(*)(void*) bf_arg3);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_get_clientdata( sqlite3* bf_arg0, c_char* bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_set_clientdata( sqlite3* bf_arg0, c_char* bf_arg1, void* bf_arg2, void(*)(void*) bf_arg3);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_result_blob( sqlite3_context* bf_arg0, void* bf_arg1, c_int bf_arg2, void(*)(void*) bf_arg3);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_result_blob64( sqlite3_context* bf_arg0, void* bf_arg1, sqlite3_uint64 bf_arg2, void(*)(void*) bf_arg3);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_result_double( sqlite3_context* bf_arg0, double bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_result_error( sqlite3_context* bf_arg0, c_char* bf_arg1, c_int bf_arg2);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_result_error16( sqlite3_context* bf_arg0, void* bf_arg1, c_int bf_arg2);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_result_error_toobig( sqlite3_context* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_result_error_nomem( sqlite3_context* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_result_error_code( sqlite3_context* bf_arg0, c_int bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_result_int( sqlite3_context* bf_arg0, c_int bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_result_int64( sqlite3_context* bf_arg0, sqlite3_int64 bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_result_null( sqlite3_context* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_result_text( sqlite3_context* bf_arg0, c_char* bf_arg1, c_int bf_arg2, void(*)(void*) bf_arg3);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_result_text64( sqlite3_context* bf_arg0, c_char* bf_arg1, sqlite3_uint64 bf_arg2, void(*)(void*) bf_arg3, c_uchar encoding);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_result_text16( sqlite3_context* bf_arg0, void* bf_arg1, c_int bf_arg2, void(*)(void*) bf_arg3);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_result_text16le( sqlite3_context* bf_arg0, void* bf_arg1, c_int bf_arg2, void(*)(void*) bf_arg3);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_result_text16be( sqlite3_context* bf_arg0, void* bf_arg1, c_int bf_arg2, void(*)(void*) bf_arg3);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_result_value( sqlite3_context* bf_arg0, sqlite3_value* bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_result_pointer( sqlite3_context* bf_arg0, void* bf_arg1, c_char* bf_arg2, void(*)(void*) bf_arg3);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_result_zeroblob( sqlite3_context* bf_arg0, c_int n);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_result_zeroblob64( sqlite3_context* bf_arg0, sqlite3_uint64 n);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_result_subtype( sqlite3_context* bf_arg0, c_uint bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_create_collation( sqlite3* bf_arg0, c_char* zName, c_int eTextRep, void* pArg, int(*)(void*,int,void*,int,void*) xCompare);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_create_collation_v2( sqlite3* bf_arg0, c_char* zName, c_int eTextRep, void* pArg, int(*)(void*,int,void*,int,void*) xCompare, void(*)(void*) xDestroy);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_create_collation16( sqlite3* bf_arg0, void* zName, c_int eTextRep, void* pArg, int(*)(void*,int,void*,int,void*) xCompare);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_collation_needed( sqlite3* bf_arg0, void* bf_arg1, void(*)(void*,sqlite3*,int,char*) bf_arg2);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_collation_needed16( sqlite3* bf_arg0, void* bf_arg1, void(*)(void*,sqlite3*,int,void*) bf_arg2);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_sleep( c_int bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_win32_set_directory( c_ulong type, void* zValue);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_win32_set_directory8( c_ulong type, c_char* zValue);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_win32_set_directory16( c_ulong type, void* zValue);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_get_autocommit( sqlite3* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3* sqlite3_db_handle( sqlite3_stmt* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_db_name( sqlite3* db, c_int N);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3_filename sqlite3_db_filename( sqlite3* db, c_char* zDbName);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_db_readonly( sqlite3* db, c_char* zDbName);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_txn_state( sqlite3* bf_arg0, c_char* zSchema);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3_stmt* sqlite3_next_stmt( sqlite3* pDb, sqlite3_stmt* pStmt);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_commit_hook( sqlite3* bf_arg0, int(*)(void*) bf_arg1, void* bf_arg2);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_rollback_hook( sqlite3* bf_arg0, void(*)(void*) bf_arg1, void* bf_arg2);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_autovacuum_pages( sqlite3* db, unsignedint(*)(void*,char*,unsignedint,unsignedint,unsignedint) bf_arg1, void* bf_arg2, void(*)(void*) bf_arg3);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_update_hook( sqlite3* bf_arg0, void(*)(void*,int,char*,char*,sqlite3_int64) bf_arg1, void* bf_arg2);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_enable_shared_cache( c_int bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_release_memory( c_int bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_db_release_memory( sqlite3* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3_int64 sqlite3_soft_heap_limit64( sqlite3_int64 N);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3_int64 sqlite3_hard_heap_limit64( sqlite3_int64 N);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_soft_heap_limit( c_int N);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_table_column_metadata( sqlite3* db, c_char* zDbName, c_char* zTableName, c_char* zColumnName, c_char** pzDataType, c_char** pzCollSeq, c_int* pNotNull, c_int* pPrimaryKey, c_int* pAutoinc);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_load_extension( sqlite3* db, c_char* zFile, c_char* zProc, c_char** pzErrMsg);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_enable_load_extension( sqlite3* db, c_int onoff);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_auto_extension( void(*)(void) xEntryPoint);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_cancel_auto_extension( void(*)(void) xEntryPoint);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_reset_auto_extension();
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_create_module( sqlite3* db, c_char* zName, sqlite3_module* p, void* pClientData);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_create_module_v2( sqlite3* db, c_char* zName, sqlite3_module* p, void* pClientData, void(*)(void*) xDestroy);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_drop_modules( sqlite3* db, c_char** azKeep);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_declare_vtab( sqlite3* bf_arg0, c_char* zSQL);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_overload_function( sqlite3* bf_arg0, c_char* zFuncName, c_int nArg);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_blob_open( sqlite3* bf_arg0, c_char* zDb, c_char* zTable, c_char* zColumn, sqlite3_int64 iRow, c_int flags, sqlite3_blob** ppBlob);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_blob_reopen( sqlite3_blob* bf_arg0, sqlite3_int64 bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_blob_close( sqlite3_blob* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_blob_bytes( sqlite3_blob* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_blob_read( sqlite3_blob* bf_arg0, void* Z, c_int N, c_int iOffset);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_blob_write( sqlite3_blob* bf_arg0, void* z, c_int n, c_int iOffset);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3_vfs* sqlite3_vfs_find( c_char* zVfsName);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_vfs_register( sqlite3_vfs* bf_arg0, c_int makeDflt);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_vfs_unregister( sqlite3_vfs* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3_mutex* sqlite3_mutex_alloc( c_int bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_mutex_free( sqlite3_mutex* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_mutex_enter( sqlite3_mutex* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_mutex_try( sqlite3_mutex* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_mutex_leave( sqlite3_mutex* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_mutex_held( sqlite3_mutex* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_mutex_notheld( sqlite3_mutex* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3_mutex* sqlite3_db_mutex( sqlite3* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_file_control( sqlite3* bf_arg0, c_char* zDbName, c_int op, void* bf_arg3);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_test_control( c_int op);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_keyword_count();
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_keyword_name( c_int bf_arg0, c_char** bf_arg1, c_int* bf_arg2);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_keyword_check( c_char* bf_arg0, c_int bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3_str* sqlite3_str_new( sqlite3* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_str_finish( sqlite3_str* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_str_appendf( sqlite3_str* bf_arg0, c_char* zFormat);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_str_vappendf( sqlite3_str* bf_arg0, c_char* zFormat, va_list bf_arg2);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_str_append( sqlite3_str* bf_arg0, c_char* zIn, c_int N);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_str_appendall( sqlite3_str* bf_arg0, c_char* zIn);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_str_appendchar( sqlite3_str* bf_arg0, c_int N, c_char C);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_str_reset( sqlite3_str* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_str_errcode( sqlite3_str* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_str_length( sqlite3_str* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_str_value( sqlite3_str* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_status( c_int op, c_int* pCurrent, c_int* pHighwater, c_int resetFlag);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_status64( c_int op, sqlite3_int64* pCurrent, sqlite3_int64* pHighwater, c_int resetFlag);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_db_status( sqlite3* bf_arg0, c_int op, c_int* pCur, c_int* pHiwtr, c_int resetFlg);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_stmt_status( sqlite3_stmt* bf_arg0, c_int op, c_int resetFlg);
|
||||||
|
[CLink]
|
||||||
|
public static extern sqlite3_backup* sqlite3_backup_init( sqlite3* pDest, c_char* zDestName, sqlite3* pSource, c_char* zSourceName);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_backup_step( sqlite3_backup* p, c_int nPage);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_backup_finish( sqlite3_backup* p);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_backup_remaining( sqlite3_backup* p);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_backup_pagecount( sqlite3_backup* p);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_unlock_notify( sqlite3* pBlocked, void(*)(void**,int) xNotify, void* pNotifyArg);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_stricmp( c_char* bf_arg0, c_char* bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_strnicmp( c_char* bf_arg0, c_char* bf_arg1, c_int bf_arg2);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_strglob( c_char* zGlob, c_char* zStr);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_strlike( c_char* zGlob, c_char* zStr, c_uint cEsc);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_log( c_int iErrCode, c_char* zFormat);
|
||||||
|
[CLink]
|
||||||
|
public static extern void* sqlite3_wal_hook( sqlite3* bf_arg0, int(*)(void*,sqlite3*,char*,int) bf_arg1, void* bf_arg2);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_wal_autocheckpoint( sqlite3* db, c_int N);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_wal_checkpoint( sqlite3* db, c_char* zDb);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_wal_checkpoint_v2( sqlite3* db, c_char* zDb, c_int eMode, c_int* pnLog, c_int* pnCkpt);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_vtab_config( sqlite3* bf_arg0, c_int op);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_vtab_on_conflict( sqlite3* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_vtab_nochange( sqlite3_context* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_char* sqlite3_vtab_collation( sqlite3_index_info* bf_arg0, c_int bf_arg1);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_vtab_distinct( sqlite3_index_info* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_vtab_in( sqlite3_index_info* bf_arg0, c_int iCons, c_int bHandle);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_vtab_in_first( sqlite3_value* pVal, sqlite3_value** ppOut);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_vtab_in_next( sqlite3_value* pVal, sqlite3_value** ppOut);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_vtab_rhs_value( sqlite3_index_info* bf_arg0, c_int bf_arg1, sqlite3_value** ppVal);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_stmt_scanstatus( sqlite3_stmt* pStmt, c_int idx, c_int iScanStatusOp, void* pOut);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_stmt_scanstatus_v2( sqlite3_stmt* pStmt, c_int idx, c_int iScanStatusOp, c_int flags, void* pOut);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_stmt_scanstatus_reset( sqlite3_stmt* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_db_cacheflush( sqlite3* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_system_errno( sqlite3* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_snapshot_get( sqlite3* db, c_char* zSchema, sqlite3_snapshot** ppSnapshot);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_snapshot_open( sqlite3* db, c_char* zSchema, sqlite3_snapshot* pSnapshot);
|
||||||
|
[CLink]
|
||||||
|
public static extern void sqlite3_snapshot_free( sqlite3_snapshot* bf_arg0);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_snapshot_cmp( sqlite3_snapshot* p1, sqlite3_snapshot* p2);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_snapshot_recover( sqlite3* db, c_char* zDb);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_uchar* sqlite3_serialize( sqlite3* db, c_char* zSchema, sqlite3_int64* piSize, c_uint mFlags);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_deserialize( sqlite3* db, c_char* zSchema, c_uchar* pData, sqlite3_int64 szDb, sqlite3_int64 szBuf, c_uint mFlags);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_rtree_geometry_callback( sqlite3* db, c_char* zGeom, int(*)(sqlite3_rtree_geometry*,int,sqlite3_rtree_dbl*,int*) xGeom, void* pContext);
|
||||||
|
[CLink]
|
||||||
|
public static extern c_int sqlite3_rtree_query_callback( sqlite3* db, c_char* zQueryFunc, int(*)(sqlite3_rtree_query_info*) xQueryFunc, void* pContext, void(*)(void*) xDestructor);
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_file
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_file
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_io_methods
|
||||||
|
{
|
||||||
|
public structsqlite3_io_methods* pMethods;
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_io_methods
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_mutex
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_api_routines
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_vfs
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_vfs
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_mem_methods
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_mem_methods
|
||||||
|
{
|
||||||
|
public void*(*)(int) xMalloc;
|
||||||
|
public void(*)(void*) xFree;
|
||||||
|
public void*(*)(void*,int) xRealloc;
|
||||||
|
public int(*)(void*) xSize;
|
||||||
|
public int(*)(int) xRoundup;
|
||||||
|
public int(*)(void*) xInit;
|
||||||
|
public void(*)(void*) xShutdown;
|
||||||
|
public void* pAppData;
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_stmt
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_value
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_context
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_vtab
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_index_info
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_vtab_cursor
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_module
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_module
|
||||||
|
{
|
||||||
|
public c_int iVersion;
|
||||||
|
public int(*)(sqlite3*,void*,int,char**,sqlite3_vtab**,char**) xCreate;
|
||||||
|
public int(*)(sqlite3*,void*,int,char**,sqlite3_vtab**,char**) xConnect;
|
||||||
|
public int(*)(sqlite3_vtab*,sqlite3_index_info*) xBestIndex;
|
||||||
|
public int(*)(sqlite3_vtab*) xDisconnect;
|
||||||
|
public int(*)(sqlite3_vtab*) xDestroy;
|
||||||
|
public int(*)(sqlite3_vtab*,sqlite3_vtab_cursor**) xOpen;
|
||||||
|
public int(*)(sqlite3_vtab_cursor*) xClose;
|
||||||
|
public int(*)(sqlite3_vtab_cursor*,int,char*,int,sqlite3_value**) xFilter;
|
||||||
|
public int(*)(sqlite3_vtab_cursor*) xNext;
|
||||||
|
public int(*)(sqlite3_vtab_cursor*) xEof;
|
||||||
|
public int(*)(sqlite3_vtab_cursor*,sqlite3_context*,int) xColumn;
|
||||||
|
public int(*)(sqlite3_vtab_cursor*,sqlite3_int64*) xRowid;
|
||||||
|
public int(*)(sqlite3_vtab*,int,sqlite3_value**,sqlite3_int64*) xUpdate;
|
||||||
|
public int(*)(sqlite3_vtab*) xBegin;
|
||||||
|
public int(*)(sqlite3_vtab*) xSync;
|
||||||
|
public int(*)(sqlite3_vtab*) xCommit;
|
||||||
|
public int(*)(sqlite3_vtab*) xRollback;
|
||||||
|
public int(*)(sqlite3_vtab*,int,char*,void(**)(sqlite3_context*,int,sqlite3_value**),void**) xFindFunction;
|
||||||
|
public int(*)(sqlite3_vtab*,char*) xRename;
|
||||||
|
public int(*)(sqlite3_vtab*,int) xSavepoint;
|
||||||
|
public int(*)(sqlite3_vtab*,int) xRelease;
|
||||||
|
public int(*)(sqlite3_vtab*,int) xRollbackTo;
|
||||||
|
public int(*)(char*) xShadowName;
|
||||||
|
public int(*)(sqlite3_vtab*,char*,char*,int,char**) xIntegrity;
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_index_info
|
||||||
|
{
|
||||||
|
public c_int nConstraint;
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_index_constraint
|
||||||
|
{
|
||||||
|
public c_int iColumn;
|
||||||
|
public c_uchar op;
|
||||||
|
public c_uchar usable;
|
||||||
|
public c_int iTermOffset;
|
||||||
|
public structsqlite3_index_raint* aConstraint;
|
||||||
|
public c_int nOrderBy;
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_index_orderby
|
||||||
|
{
|
||||||
|
public c_int iColumn;
|
||||||
|
public c_uchar desc;
|
||||||
|
public structsqlite3_index_orderby* aOrderBy;
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_index_orderby
|
||||||
|
{
|
||||||
|
public c_int iColumn;
|
||||||
|
public c_uchar desc;
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_index_constraint_usage
|
||||||
|
{
|
||||||
|
public c_int argvIndex;
|
||||||
|
public c_uchar omit;
|
||||||
|
public structsqlite3_index_raint_usage* aConstraintUsage;
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_index_constraint_usage
|
||||||
|
{
|
||||||
|
public c_int argvIndex;
|
||||||
|
public c_uchar omit;
|
||||||
|
public c_int idxNum;
|
||||||
|
public c_char* idxStr;
|
||||||
|
public c_int needToFreeIdxStr;
|
||||||
|
public c_int orderByConsumed;
|
||||||
|
public double estimatedCost;
|
||||||
|
public sqlite3_int64 estimatedRows;
|
||||||
|
public c_int idxFlags;
|
||||||
|
public sqlite3_uint64 colUsed;
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_vtab
|
||||||
|
{
|
||||||
|
public sqlite3_module* pModule;
|
||||||
|
public c_int nRef;
|
||||||
|
public c_char* zErrMsg;
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_vtab_cursor
|
||||||
|
{
|
||||||
|
public sqlite3_vtab* pVtab;
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_blob
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_mutex_methods
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_mutex_methods
|
||||||
|
{
|
||||||
|
public int(*)(void) xMutexInit;
|
||||||
|
public int(*)(void) xMutexEnd;
|
||||||
|
public sqlite3_mutex*(*)(int) xMutexAlloc;
|
||||||
|
public void(*)(sqlite3_mutex*) xMutexFree;
|
||||||
|
public void(*)(sqlite3_mutex*) xMutexEnter;
|
||||||
|
public int(*)(sqlite3_mutex*) xMutexTry;
|
||||||
|
public void(*)(sqlite3_mutex*) xMutexLeave;
|
||||||
|
public int(*)(sqlite3_mutex*) xMutexHeld;
|
||||||
|
public int(*)(sqlite3_mutex*) xMutexNotheld;
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_str
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_pcache
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_pcache_page
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_pcache_page
|
||||||
|
{
|
||||||
|
public void* pBuf;
|
||||||
|
public void* pExtra;
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_pcache_methods2
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_pcache_methods2
|
||||||
|
{
|
||||||
|
public c_int iVersion;
|
||||||
|
public void* pArg;
|
||||||
|
public int(*)(void*) xInit;
|
||||||
|
public void(*)(void*) xShutdown;
|
||||||
|
public sqlite3_pcache*(*)(int,int,int) xCreate;
|
||||||
|
public void(*)(sqlite3_pcache*,int) xCachesize;
|
||||||
|
public int(*)(sqlite3_pcache*) xPagecount;
|
||||||
|
public sqlite3_pcache_page*(*)(sqlite3_pcache*,unsignedint,int) xFetch;
|
||||||
|
public void(*)(sqlite3_pcache*,sqlite3_pcache_page*,int) xUnpin;
|
||||||
|
public void(*)(sqlite3_pcache*,sqlite3_pcache_page*,unsignedint,unsignedint) xRekey;
|
||||||
|
public void(*)(sqlite3_pcache*,unsignedint) xTruncate;
|
||||||
|
public void(*)(sqlite3_pcache*) xDestroy;
|
||||||
|
public void(*)(sqlite3_pcache*) xShrink;
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_pcache_methods
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_pcache_methods
|
||||||
|
{
|
||||||
|
public void* pArg;
|
||||||
|
public int(*)(void*) xInit;
|
||||||
|
public void(*)(void*) xShutdown;
|
||||||
|
public sqlite3_pcache*(*)(int,int) xCreate;
|
||||||
|
public void(*)(sqlite3_pcache*,int) xCachesize;
|
||||||
|
public int(*)(sqlite3_pcache*) xPagecount;
|
||||||
|
public void*(*)(sqlite3_pcache*,unsignedint,int) xFetch;
|
||||||
|
public void(*)(sqlite3_pcache*,void*,int) xUnpin;
|
||||||
|
public void(*)(sqlite3_pcache*,void*,unsignedint,unsignedint) xRekey;
|
||||||
|
public void(*)(sqlite3_pcache*,unsignedint) xTruncate;
|
||||||
|
public void(*)(sqlite3_pcache*) xDestroy;
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_backup
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_snapshot
|
||||||
|
{
|
||||||
|
public unsignedchar[48] hidden;
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_rtree_geometry
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_rtree_query_info
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_rtree_geometry
|
||||||
|
{
|
||||||
|
public void* pContext;
|
||||||
|
public c_int nParam;
|
||||||
|
public sqlite3_rtree_dbl* aParam;
|
||||||
|
public void* pUser;
|
||||||
|
public void(*)(void*) xDelUser;
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct sqlite3_rtree_query_info
|
||||||
|
{
|
||||||
|
public void* pContext;
|
||||||
|
public c_int nParam;
|
||||||
|
public sqlite3_rtree_dbl* aParam;
|
||||||
|
public void* pUser;
|
||||||
|
public void(*)(void*) xDelUser;
|
||||||
|
public sqlite3_rtree_dbl* aCoord;
|
||||||
|
public c_uint* anQueue;
|
||||||
|
public c_int nCoord;
|
||||||
|
public c_int iLevel;
|
||||||
|
public c_int mxLevel;
|
||||||
|
public sqlite3_int64 iRowid;
|
||||||
|
public sqlite3_rtree_dbl rParentScore;
|
||||||
|
public c_int eParentWithin;
|
||||||
|
public c_int eWithin;
|
||||||
|
public sqlite3_rtree_dbl rScore;
|
||||||
|
public sqlite3_value** apSqlParam;
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct Fts5ExtensionApi
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct Fts5Context
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct Fts5PhraseIter
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct Fts5PhraseIter
|
||||||
|
{
|
||||||
|
public c_uchar* a;
|
||||||
|
public c_uchar* b;
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct Fts5ExtensionApi
|
||||||
|
{
|
||||||
|
public c_int iVersion;
|
||||||
|
public void*(*)(Fts5Context*) xUserData;
|
||||||
|
public int(*)(Fts5Context*) xColumnCount;
|
||||||
|
public int(*)(Fts5Context*,sqlite3_int64*) xRowCount;
|
||||||
|
public int(*)(Fts5Context*,int,sqlite3_int64*) xColumnTotalSize;
|
||||||
|
public int(*)(Fts5Context*,char*,int,void*,int(*)(void*,int,char*,int,int,int)) xTokenize;
|
||||||
|
public int(*)(Fts5Context*) xPhraseCount;
|
||||||
|
public int(*)(Fts5Context*,int) xPhraseSize;
|
||||||
|
public int(*)(Fts5Context*,int*) xInstCount;
|
||||||
|
public int(*)(Fts5Context*,int,int*,int*,int*) xInst;
|
||||||
|
public sqlite3_int64(*)(Fts5Context*) xRowid;
|
||||||
|
public int(*)(Fts5Context*,int,char**,int*) xColumnText;
|
||||||
|
public int(*)(Fts5Context*,int,int*) xColumnSize;
|
||||||
|
public int(*)(Fts5Context*,int,void*,int(*)(Fts5ExtensionApi*,Fts5Context*,void*)) xQueryPhrase;
|
||||||
|
public int(*)(Fts5Context*,void*,void(*)(void*)) xSetAuxdata;
|
||||||
|
public void*(*)(Fts5Context*,int) xGetAuxdata;
|
||||||
|
public int(*)(Fts5Context*,int,Fts5PhraseIter*,int*,int*) xPhraseFirst;
|
||||||
|
public void(*)(Fts5Context*,Fts5PhraseIter*,int*,int*) xPhraseNext;
|
||||||
|
public int(*)(Fts5Context*,int,Fts5PhraseIter*,int*) xPhraseFirstColumn;
|
||||||
|
public void(*)(Fts5Context*,Fts5PhraseIter*,int*) xPhraseNextColumn;
|
||||||
|
public int(*)(Fts5Context*,int,int,char**,int*) xQueryToken;
|
||||||
|
public int(*)(Fts5Context*,int,int,char**,int*) xInstToken;
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct Fts5Tokenizer
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct fts5_tokenizer
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct fts5_tokenizer
|
||||||
|
{
|
||||||
|
public int(*)(void*,char**,int,Fts5Tokenizer**) xCreate;
|
||||||
|
public void(*)(Fts5Tokenizer*) xDelete;
|
||||||
|
public int(*)(Fts5Tokenizer*,void*,int,char*,int,int(*)(void*,int,char*,int,int,int)) xTokenize;
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct fts5_api
|
||||||
|
{
|
||||||
|
}
|
||||||
|
[CRepr]
|
||||||
|
public struct fts5_api
|
||||||
|
{
|
||||||
|
public c_int iVersion;
|
||||||
|
public int(*)(fts5_api*,char*,void*,fts5_tokenizer*,void(*)(void*)) xCreateTokenizer;
|
||||||
|
public int(*)(fts5_api*,char*,void**,fts5_tokenizer*) xFindTokenizer;
|
||||||
|
public int(*)(fts5_api*,char*,void*,fts5_extension_function,void(*)(void*)) xCreateFunction;
|
||||||
|
}
|
|
@ -9,9 +9,20 @@ class Binding
|
||||||
public static List<BindingFunction> Function = new .() ~ DeleteContainerAndItems!(_);
|
public static List<BindingFunction> Function = new .() ~ DeleteContainerAndItems!(_);
|
||||||
public static List<BindingEnum> Enums = new .() ~ DeleteContainerAndItems!(_);
|
public static List<BindingEnum> Enums = new .() ~ DeleteContainerAndItems!(_);
|
||||||
public static List<BindingStruct> Structs = new .() ~ DeleteContainerAndItems!(_);
|
public static List<BindingStruct> Structs = new .() ~ DeleteContainerAndItems!(_);
|
||||||
public static BindingOptions Options;
|
public static BindingOptions Options = new .() ~ delete _;
|
||||||
|
public static Dictionary<CXCursorKind, function void(CXCursor)> CursorHandlers = new .() {
|
||||||
|
(.CXCursor_FunctionDecl, => HandleFunctionDecl),
|
||||||
|
(.CXCursor_StructDecl, => HandleStructDecl),
|
||||||
|
(.CXCursor_FieldDecl, => HandleFieldDecl),
|
||||||
|
(.CXCursor_EnumDecl, => HandleEnumDecl),
|
||||||
|
(.CXCursor_EnumConstantDecl, => HandleEnumConstDecl),
|
||||||
|
(.CXCursor_ParmDecl, => DoNothing),
|
||||||
|
|
||||||
public static void Bind(ref String[] pArgs, BindingOptions pOptions)
|
|
||||||
|
|
||||||
|
} ~ delete _;
|
||||||
|
|
||||||
|
public static void Bind(ref String[] pArgs)
|
||||||
{
|
{
|
||||||
CXIndex index = clang_createIndex(0, 0);
|
CXIndex index = clang_createIndex(0, 0);
|
||||||
CXTranslationUnit* unit;
|
CXTranslationUnit* unit;
|
||||||
|
@ -28,7 +39,22 @@ class Binding
|
||||||
clang_visitChildren(
|
clang_visitChildren(
|
||||||
cursor,
|
cursor,
|
||||||
(cursor, parent, client_data) => {
|
(cursor, parent, client_data) => {
|
||||||
if(clang_getCursorKind(cursor) == .CXCursor_FunctionDecl)
|
|
||||||
|
if(CursorHandlers.ContainsKey(clang_getCursorKind(cursor)))
|
||||||
|
CursorHandlers[clang_getCursorKind(cursor)](cursor);
|
||||||
|
else
|
||||||
|
Console.WriteLine(scope $"{clang_getCursorKind(cursor)} {clang_getCursorSpelling(cursor).text}");
|
||||||
|
|
||||||
|
|
||||||
|
return CXChildVisitResult.CXChildVisit_Recurse;
|
||||||
|
}, null );
|
||||||
|
|
||||||
|
|
||||||
|
clang_disposeTranslationUnit(*unit);
|
||||||
|
clang_disposeIndex(index);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void HandleFunctionDecl(CXCursor cursor)
|
||||||
{
|
{
|
||||||
var name = clang_getCursorSpelling(cursor);
|
var name = clang_getCursorSpelling(cursor);
|
||||||
BindingFunction func = new .(name.text, clang_getCursorResultType(cursor));
|
BindingFunction func = new .(name.text, clang_getCursorResultType(cursor));
|
||||||
|
@ -43,35 +69,49 @@ class Binding
|
||||||
}
|
}
|
||||||
Function.Add(func);
|
Function.Add(func);
|
||||||
}
|
}
|
||||||
else if(clang_getCursorKind(cursor) == .CXCursor_StructDecl)
|
|
||||||
|
public static void HandleStructDecl(CXCursor cursor)
|
||||||
{
|
{
|
||||||
var name = clang_getCursorSpelling(cursor);
|
var name = clang_getCursorSpelling(cursor);
|
||||||
BindingStruct strct = new .(name.text);
|
BindingStruct strct = new .(name.text);
|
||||||
Structs.Add(strct);
|
Structs.Add(strct);
|
||||||
|
|
||||||
}
|
}
|
||||||
else if(clang_getCursorKind(cursor) == .CXCursor_FieldDecl)
|
|
||||||
|
public static void HandleFieldDecl(CXCursor cursor)
|
||||||
{
|
{
|
||||||
if(Structs.Count > 0)
|
if(Structs.Count > 0)
|
||||||
Structs[Structs.Count-1].Fields.Add(new .(clang_getCursorSpelling(cursor).text, clang_getCursorType(cursor)));
|
Structs[Structs.Count-1].Fields.Add(new .(clang_getCursorSpelling(cursor).text, clang_getCursorType(cursor)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void HandleEnumDecl(CXCursor cursor)
|
||||||
return CXChildVisitResult.CXChildVisit_Recurse;
|
{
|
||||||
}, null );
|
var name = clang_getCursorSpelling(cursor);
|
||||||
|
BindingEnum enm = new .(name.text);
|
||||||
|
Enums.Add(enm);
|
||||||
clang_disposeTranslationUnit(*unit);
|
|
||||||
clang_disposeIndex(index);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void HandleEnumConstDecl(CXCursor cursor)
|
||||||
|
{
|
||||||
|
if(Enums.Count > 0)
|
||||||
|
{
|
||||||
|
Enums[Enums.Count-1].Entries.Add(new .(clang_getCursorSpelling(cursor).text, (.)clang_getEnumConstantDeclValue(cursor)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void DoNothing(CXCursor cursor) {}
|
||||||
|
|
||||||
|
|
||||||
///Generate the actual file strings and try to write them according to the input parameter and the options
|
///Generate the actual file strings and try to write them according to the input parameter and the options
|
||||||
public static Result<void> Generate(StringView pOutputDir = "")
|
public static Result<void> Generate(StringView pOutputDir = "")
|
||||||
{
|
{
|
||||||
if(pOutputDir == "")
|
if(pOutputDir == "")
|
||||||
return .Err;
|
return .Err;
|
||||||
|
|
||||||
String toWrite = new .();
|
String toWrite = new .(scope $"""
|
||||||
|
namespace {Binding.Options.Namespace};
|
||||||
|
static
|
||||||
|
\{\n
|
||||||
|
""");
|
||||||
defer delete toWrite;
|
defer delete toWrite;
|
||||||
|
|
||||||
for(var i in Function)
|
for(var i in Function)
|
||||||
|
@ -80,6 +120,7 @@ class Binding
|
||||||
i.ToBeef(toWrite);
|
i.ToBeef(toWrite);
|
||||||
for(var i in Enums)
|
for(var i in Enums)
|
||||||
i.ToBeef(toWrite);
|
i.ToBeef(toWrite);
|
||||||
|
toWrite.Append("\n}");
|
||||||
|
|
||||||
return System.IO.File.WriteAllText(pOutputDir, toWrite);
|
return System.IO.File.WriteAllText(pOutputDir, toWrite);
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,23 +14,30 @@ class BindingEnum
|
||||||
public this(StringView pName, c_int pValue)
|
public this(StringView pName, c_int pValue)
|
||||||
{
|
{
|
||||||
Name = new .(pName);
|
Name = new .(pName);
|
||||||
|
if(Binding.Options.LowercaseEnums)
|
||||||
|
Name.ToLower();
|
||||||
Value = pValue;
|
Value = pValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public String Name ~ delete _;
|
public String Name ~ delete _;
|
||||||
public List<BindingEnumEntry> Entries = new .() ~ delete _;
|
public List<BindingEnumEntry> Entries = new .() ~ DeleteContainerAndItems!(_);
|
||||||
|
|
||||||
public this(StringView pName)
|
public this(StringView pName)
|
||||||
{
|
{
|
||||||
Name = new .(pName);
|
Name = new .(pName);
|
||||||
|
if(Name.StartsWith(Binding.Options.Namespace) && Name.Length > Binding.Options.Namespace.Length)
|
||||||
|
Name.Remove(0, Binding.Options.Namespace.Length);
|
||||||
}
|
}
|
||||||
|
|
||||||
///Generate the beef representation of an enum
|
///Generate the beef representation of an enum
|
||||||
public void ToBeef(String pBuffer)
|
public void ToBeef(String pBuffer)
|
||||||
{
|
{
|
||||||
|
if(Binding.Options.RemoveEnumStart)
|
||||||
|
CalcCommonDenominator();
|
||||||
|
|
||||||
pBuffer.Append(scope $"""
|
pBuffer.Append(scope $"""
|
||||||
[AllowDublicates]
|
[AllowDuplicates]
|
||||||
public enum {Name}
|
public enum {Name}
|
||||||
\{\n
|
\{\n
|
||||||
""");
|
""");
|
||||||
|
@ -38,4 +45,33 @@ class BindingEnum
|
||||||
pBuffer.Append(scope $"{i.Name} = {i.Value},\n");
|
pBuffer.Append(scope $"{i.Name} = {i.Value},\n");
|
||||||
pBuffer.Append("}\n");
|
pBuffer.Append("}\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void CalcCommonDenominator()
|
||||||
|
{
|
||||||
|
if(Entries.Count < 2)
|
||||||
|
return; //Otherwise we remove too much
|
||||||
|
|
||||||
|
StringView? denominator = null;
|
||||||
|
for(var i in Entries)
|
||||||
|
{
|
||||||
|
if(denominator == null)
|
||||||
|
denominator = i.Name;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for(int j = 0; j < i.Name.Length && j < denominator.Value.Length; j++)
|
||||||
|
{
|
||||||
|
if(denominator.Value[j] == i.Name[j])
|
||||||
|
continue;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
denominator = i.Name.Substring(0, j);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for(var i in Entries)
|
||||||
|
i.Name.Remove(0, denominator.Value.Length);
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -15,6 +15,9 @@ class BindingFunction
|
||||||
{
|
{
|
||||||
Name = new .(pName);
|
Name = new .(pName);
|
||||||
Type = new .(pType);
|
Type = new .(pType);
|
||||||
|
|
||||||
|
if(Name.StartsWith(Binding.Options.Namespace) && Name.Length > Binding.Options.Namespace.Length)
|
||||||
|
Name.Remove(0, Binding.Options.Namespace.Length);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,6 +29,9 @@ class BindingFunction
|
||||||
{
|
{
|
||||||
Name = new .(pName);
|
Name = new .(pName);
|
||||||
Output = new .(pOutput);
|
Output = new .(pOutput);
|
||||||
|
|
||||||
|
if(Name.StartsWith(Binding.Options.Namespace) && Name.Length > Binding.Options.Namespace.Length)
|
||||||
|
Name.Remove(0, Binding.Options.Namespace.Length);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ToBeef(String pBuffer)
|
public void ToBeef(String pBuffer)
|
||||||
|
|
|
@ -1,5 +1,24 @@
|
||||||
namespace Caa;
|
namespace Caa;
|
||||||
|
|
||||||
|
using System;
|
||||||
|
|
||||||
class BindingOptions
|
class BindingOptions
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
This handles the C way of namespacing
|
||||||
|
If something has the namespace infront of it we remove it and incase of functions, generate the linkname property
|
||||||
|
*/
|
||||||
|
private String _Namespace = new .("") ~ delete _;
|
||||||
|
public String Namespace
|
||||||
|
{
|
||||||
|
get => _Namespace;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
delete _Namespace;
|
||||||
|
_Namespace = new .(value);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public bool RemoveEnumStart = true;
|
||||||
|
public bool LowercaseEnums = false;
|
||||||
}
|
}
|
|
@ -15,6 +15,9 @@ class BindingStruct
|
||||||
{
|
{
|
||||||
Name = new .(pName);
|
Name = new .(pName);
|
||||||
Type = new .(pType);
|
Type = new .(pType);
|
||||||
|
|
||||||
|
if(Name.StartsWith(Binding.Options.Namespace) && Name.Length > Binding.Options.Namespace.Length)
|
||||||
|
Name.Remove(0, Binding.Options.Namespace.Length);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,6 +28,9 @@ class BindingStruct
|
||||||
public this(StringView pName)
|
public this(StringView pName)
|
||||||
{
|
{
|
||||||
Name = new .(pName);
|
Name = new .(pName);
|
||||||
|
|
||||||
|
if(Name.StartsWith(Binding.Options.Namespace) && Name.Length > Binding.Options.Namespace.Length)
|
||||||
|
Name.Remove(0, Binding.Options.Namespace.Length);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ToBeef(String pBuffer)
|
public void ToBeef(String pBuffer)
|
||||||
|
|
|
@ -42,5 +42,10 @@ class BindingType
|
||||||
|
|
||||||
TypeName.Replace(" ", "");
|
TypeName.Replace(" ", "");
|
||||||
//TODO: bools exist and we should really be able to autoparse those
|
//TODO: bools exist and we should really be able to autoparse those
|
||||||
|
|
||||||
|
if(TypeName.StartsWith(Binding.Options.Namespace) && TypeName.Length > Binding.Options.Namespace.Length)
|
||||||
|
TypeName.Remove(0, Binding.Options.Namespace.Length);
|
||||||
|
if(TypeName.Length > Binding.Options.Namespace.Length)
|
||||||
|
TypeName.Replace(Binding.Options.Namespace, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -44,8 +44,7 @@ class Program
|
||||||
arguments[i] = arg;
|
arguments[i] = arg;
|
||||||
}
|
}
|
||||||
|
|
||||||
BindingOptions options = scope .();
|
Binding.Bind(ref arguments);
|
||||||
Binding.Bind(ref arguments, options);
|
|
||||||
Console.WriteLine("Finished analyzing the file now please input your output directory/file");
|
Console.WriteLine("Finished analyzing the file now please input your output directory/file");
|
||||||
|
|
||||||
String output = scope .();
|
String output = scope .();
|
||||||
|
|
Loading…
Add table
Reference in a new issue