gitlab.com/CoiaPrant/sqlite3@v1.19.1/internal/mptest/main_netbsd_amd64.go (about)

     1  // Code generated by 'ccgo -export-defines "" -ignore-unsupported-alignment -o internal/mptest/main_netbsd_amd64.go -trace-translation-units testdata/sqlite-src-3390300/mptest/mptest.c -Itestdata/sqlite-amalgamation-3390300 -l gitlab.com/CoiaPrant/sqlite3/lib -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1 -D__libc_cond_broadcast=pthread_cond_broadcast -D__libc_cond_destroy=pthread_cond_destroy -D__libc_cond_init=pthread_cond_init -D__libc_cond_signal=pthread_cond_signal -D__libc_cond_wait=pthread_cond_wait -D__libc_mutex_destroy=pthread_mutex_destroy -D__libc_mutex_init=pthread_mutex_init -D__libc_mutex_lock=pthread_mutex_lock -D__libc_mutex_trylock=pthread_mutex_trylock -D__libc_mutex_unlock=pthread_mutex_unlock -D__libc_mutexattr_destroy=pthread_mutexattr_destroy -D__libc_mutexattr_init=pthread_mutexattr_init -D__libc_mutexattr_settype=pthread_mutexattr_settype -D__libc_thr_yield=sched_yield', DO NOT EDIT.
     2  
     3  package main
     4  
     5  import (
     6  	"math"
     7  	"reflect"
     8  	"sync/atomic"
     9  	"unsafe"
    10  
    11  	"modernc.org/libc"
    12  	"modernc.org/libc/sys/types"
    13  	"gitlab.com/CoiaPrant/sqlite3/lib"
    14  )
    15  
    16  var _ = math.Pi
    17  var _ reflect.Kind
    18  var _ atomic.Value
    19  var _ unsafe.Pointer
    20  var _ *libc.TLS
    21  var _ types.Size_t
    22  
    23  func main() { libc.Start(main1) }
    24  
    25  const (
    26  	BIG_ENDIAN                            = 4321
    27  	BUFSIZ                                = 1024
    28  	BYTE_ORDER                            = 1234
    29  	DEFAULT_TIMEOUT                       = 10000
    30  	E2BIG                                 = 7
    31  	EACCES                                = 13
    32  	EADDRINUSE                            = 48
    33  	EADDRNOTAVAIL                         = 49
    34  	EAFNOSUPPORT                          = 47
    35  	EAGAIN                                = 35
    36  	EALREADY                              = 37
    37  	EAUTH                                 = 80
    38  	EBADF                                 = 9
    39  	EBADMSG                               = 88
    40  	EBADRPC                               = 72
    41  	EBUSY                                 = 16
    42  	ECANCELED                             = 87
    43  	ECHILD                                = 10
    44  	ECONNABORTED                          = 53
    45  	ECONNREFUSED                          = 61
    46  	ECONNRESET                            = 54
    47  	EDEADLK                               = 11
    48  	EDESTADDRREQ                          = 39
    49  	EDOM                                  = 33
    50  	EDQUOT                                = 69
    51  	EEXIST                                = 17
    52  	EFAULT                                = 14
    53  	EFBIG                                 = 27
    54  	EFTYPE                                = 79
    55  	EHOSTDOWN                             = 64
    56  	EHOSTUNREACH                          = 65
    57  	EIDRM                                 = 82
    58  	EILSEQ                                = 85
    59  	EINPROGRESS                           = 36
    60  	EINTR                                 = 4
    61  	EINVAL                                = 22
    62  	EIO                                   = 5
    63  	EISCONN                               = 56
    64  	EISDIR                                = 21
    65  	ELAST                                 = 96
    66  	ELOOP                                 = 62
    67  	EMFILE                                = 24
    68  	EMLINK                                = 31
    69  	EMSGSIZE                              = 40
    70  	EMULTIHOP                             = 94
    71  	ENAMETOOLONG                          = 63
    72  	ENEEDAUTH                             = 81
    73  	ENETDOWN                              = 50
    74  	ENETRESET                             = 52
    75  	ENETUNREACH                           = 51
    76  	ENFILE                                = 23
    77  	ENOATTR                               = 93
    78  	ENOBUFS                               = 55
    79  	ENODATA                               = 89
    80  	ENODEV                                = 19
    81  	ENOENT                                = 2
    82  	ENOEXEC                               = 8
    83  	ENOLCK                                = 77
    84  	ENOLINK                               = 95
    85  	ENOMEM                                = 12
    86  	ENOMSG                                = 83
    87  	ENOPROTOOPT                           = 42
    88  	ENOSPC                                = 28
    89  	ENOSR                                 = 90
    90  	ENOSTR                                = 91
    91  	ENOSYS                                = 78
    92  	ENOTBLK                               = 15
    93  	ENOTCONN                              = 57
    94  	ENOTDIR                               = 20
    95  	ENOTEMPTY                             = 66
    96  	ENOTSOCK                              = 38
    97  	ENOTSUP                               = 86
    98  	ENOTTY                                = 25
    99  	ENXIO                                 = 6
   100  	EOF                                   = -1
   101  	EOPNOTSUPP                            = 45
   102  	EOVERFLOW                             = 84
   103  	EPERM                                 = 1
   104  	EPFNOSUPPORT                          = 46
   105  	EPIPE                                 = 32
   106  	EPROCLIM                              = 67
   107  	EPROCUNAVAIL                          = 76
   108  	EPROGMISMATCH                         = 75
   109  	EPROGUNAVAIL                          = 74
   110  	EPROTO                                = 96
   111  	EPROTONOSUPPORT                       = 43
   112  	EPROTOTYPE                            = 41
   113  	ERANGE                                = 34
   114  	EREMOTE                               = 71
   115  	EROFS                                 = 30
   116  	ERPCMISMATCH                          = 73
   117  	ESHUTDOWN                             = 58
   118  	ESOCKTNOSUPPORT                       = 44
   119  	ESPIPE                                = 29
   120  	ESRCH                                 = 3
   121  	ESTALE                                = 70
   122  	ETIME                                 = 92
   123  	ETIMEDOUT                             = 60
   124  	ETOOMANYREFS                          = 59
   125  	ETXTBSY                               = 26
   126  	EUSERS                                = 68
   127  	EWOULDBLOCK                           = 35
   128  	EXDEV                                 = 18
   129  	EXIT_FAILURE                          = 1
   130  	EXIT_SUCCESS                          = 0
   131  	FDATASYNC                             = 0x0010
   132  	FDISKSYNC                             = 0x0040
   133  	FD_SETSIZE                            = 256
   134  	FFILESYNC                             = 0x0020
   135  	FILENAME_MAX                          = 1024
   136  	FOPEN_MAX                             = 20
   137  	FPARSELN_UNESCALL                     = 0x0f
   138  	FPARSELN_UNESCCOMM                    = 0x04
   139  	FPARSELN_UNESCCONT                    = 0x02
   140  	FPARSELN_UNESCESC                     = 0x01
   141  	FPARSELN_UNESCREST                    = 0x08
   142  	FTS5_TOKENIZE_AUX                     = 0x0008
   143  	FTS5_TOKENIZE_DOCUMENT                = 0x0004
   144  	FTS5_TOKENIZE_PREFIX                  = 0x0002
   145  	FTS5_TOKENIZE_QUERY                   = 0x0001
   146  	FTS5_TOKEN_COLOCATED                  = 0x0001
   147  	FULLY_WITHIN                          = 2
   148  	F_LOCK                                = 1
   149  	F_OK                                  = 0
   150  	F_TEST                                = 3
   151  	F_TLOCK                               = 2
   152  	F_ULOCK                               = 0
   153  	GETPASS_7BIT                          = 0x080
   154  	GETPASS_BUF_LIMIT                     = 0x004
   155  	GETPASS_ECHO                          = 0x020
   156  	GETPASS_ECHO_NL                       = 0x400
   157  	GETPASS_ECHO_STAR                     = 0x040
   158  	GETPASS_FAIL_EOF                      = 0x002
   159  	GETPASS_FORCE_LOWER                   = 0x100
   160  	GETPASS_FORCE_UPPER                   = 0x200
   161  	GETPASS_NEED_TTY                      = 0x001
   162  	GETPASS_NO_BEEP                       = 0x010
   163  	GETPASS_NO_SIGNAL                     = 0x008
   164  	HAVE_USLEEP                           = 1
   165  	HN_AUTOSCALE                          = 0x20
   166  	HN_B                                  = 0x04
   167  	HN_DECIMAL                            = 0x01
   168  	HN_DIVISOR_1000                       = 0x08
   169  	HN_GETSCALE                           = 0x10
   170  	HN_NOSPACE                            = 0x02
   171  	INT16_MAX                             = 32767
   172  	INT16_MIN                             = -32768
   173  	INT32_MAX                             = 2147483647
   174  	INT32_MIN                             = -2147483648
   175  	INT64_MAX                             = 9223372036854775807
   176  	INT64_MIN                             = -9223372036854775808
   177  	INT8_MAX                              = 127
   178  	INT8_MIN                              = -128
   179  	INTMAX_MAX                            = 9223372036854775807
   180  	INTMAX_MIN                            = -9223372036854775808
   181  	INTPTR_MAX                            = 9223372036854775807
   182  	INTPTR_MIN                            = -9223372036854775808
   183  	INT_FAST16_MAX                        = 2147483647
   184  	INT_FAST16_MIN                        = -2147483648
   185  	INT_FAST32_MAX                        = 2147483647
   186  	INT_FAST32_MIN                        = -2147483648
   187  	INT_FAST64_MAX                        = 9223372036854775807
   188  	INT_FAST64_MIN                        = -9223372036854775808
   189  	INT_FAST8_MAX                         = 2147483647
   190  	INT_FAST8_MIN                         = -2147483648
   191  	INT_LEAST16_MAX                       = 32767
   192  	INT_LEAST16_MIN                       = -32768
   193  	INT_LEAST32_MAX                       = 2147483647
   194  	INT_LEAST32_MIN                       = -2147483648
   195  	INT_LEAST64_MAX                       = 9223372036854775807
   196  	INT_LEAST64_MIN                       = -9223372036854775808
   197  	INT_LEAST8_MAX                        = 127
   198  	INT_LEAST8_MIN                        = -128
   199  	LITTLE_ENDIAN                         = 1234
   200  	L_INCR                                = 1
   201  	L_SET                                 = 0
   202  	L_XTND                                = 2
   203  	L_ctermid                             = 1024
   204  	L_cuserid                             = 9
   205  	L_tmpnam                              = 1024
   206  	MX_ARG                                = 2
   207  	NBBY                                  = 8
   208  	NDEBUG                                = 1
   209  	NFDBITS                               = 32
   210  	NODEVMAJOR                            = -1
   211  	NOT_WITHIN                            = 0
   212  	PARTLY_WITHIN                         = 1
   213  	PDP_ENDIAN                            = 3412
   214  	PTRDIFF_MAX                           = 9223372036854775807
   215  	PTRDIFF_MIN                           = -9223372036854775808
   216  	P_tmpdir                              = "/tmp/"
   217  	RANDOM_MAX                            = 0x7fffffff
   218  	RAND_MAX                              = 0x7fffffff
   219  	R_OK                                  = 0x04
   220  	SEEK_CUR                              = 1
   221  	SEEK_END                              = 2
   222  	SEEK_SET                              = 0
   223  	SIG_ATOMIC_MAX                        = 2147483647
   224  	SIG_ATOMIC_MIN                        = -2147483648
   225  	SIZE_MAX                              = 18446744073709551615
   226  	SQLITE3_H                             = 0
   227  	SQLITE3_TEXT                          = 3
   228  	SQLITE_ABORT                          = 4
   229  	SQLITE_ABORT_ROLLBACK                 = 516
   230  	SQLITE_ACCESS_EXISTS                  = 0
   231  	SQLITE_ACCESS_READ                    = 2
   232  	SQLITE_ACCESS_READWRITE               = 1
   233  	SQLITE_ALTER_TABLE                    = 26
   234  	SQLITE_ANALYZE                        = 28
   235  	SQLITE_ANY                            = 5
   236  	SQLITE_API                            = 0
   237  	SQLITE_APICALL                        = 0
   238  	SQLITE_ATTACH                         = 24
   239  	SQLITE_AUTH                           = 23
   240  	SQLITE_AUTH_USER                      = 279
   241  	SQLITE_BLOB                           = 4
   242  	SQLITE_BUSY                           = 5
   243  	SQLITE_BUSY_RECOVERY                  = 261
   244  	SQLITE_BUSY_SNAPSHOT                  = 517
   245  	SQLITE_BUSY_TIMEOUT                   = 773
   246  	SQLITE_CALLBACK                       = 0
   247  	SQLITE_CANTOPEN                       = 14
   248  	SQLITE_CANTOPEN_CONVPATH              = 1038
   249  	SQLITE_CANTOPEN_DIRTYWAL              = 1294
   250  	SQLITE_CANTOPEN_FULLPATH              = 782
   251  	SQLITE_CANTOPEN_ISDIR                 = 526
   252  	SQLITE_CANTOPEN_NOTEMPDIR             = 270
   253  	SQLITE_CANTOPEN_SYMLINK               = 1550
   254  	SQLITE_CDECL                          = 0
   255  	SQLITE_CHANGESETAPPLY_INVERT          = 0x0002
   256  	SQLITE_CHANGESETAPPLY_NOSAVEPOINT     = 0x0001
   257  	SQLITE_CHANGESETSTART_INVERT          = 0x0002
   258  	SQLITE_CHANGESET_ABORT                = 2
   259  	SQLITE_CHANGESET_CONFLICT             = 3
   260  	SQLITE_CHANGESET_CONSTRAINT           = 4
   261  	SQLITE_CHANGESET_DATA                 = 1
   262  	SQLITE_CHANGESET_FOREIGN_KEY          = 5
   263  	SQLITE_CHANGESET_NOTFOUND             = 2
   264  	SQLITE_CHANGESET_OMIT                 = 0
   265  	SQLITE_CHANGESET_REPLACE              = 1
   266  	SQLITE_CHECKPOINT_FULL                = 1
   267  	SQLITE_CHECKPOINT_PASSIVE             = 0
   268  	SQLITE_CHECKPOINT_RESTART             = 2
   269  	SQLITE_CHECKPOINT_TRUNCATE            = 3
   270  	SQLITE_CONFIG_COVERING_INDEX_SCAN     = 20
   271  	SQLITE_CONFIG_GETMALLOC               = 5
   272  	SQLITE_CONFIG_GETMUTEX                = 11
   273  	SQLITE_CONFIG_GETPCACHE               = 15
   274  	SQLITE_CONFIG_GETPCACHE2              = 19
   275  	SQLITE_CONFIG_HEAP                    = 8
   276  	SQLITE_CONFIG_LOG                     = 16
   277  	SQLITE_CONFIG_LOOKASIDE               = 13
   278  	SQLITE_CONFIG_MALLOC                  = 4
   279  	SQLITE_CONFIG_MEMDB_MAXSIZE           = 29
   280  	SQLITE_CONFIG_MEMSTATUS               = 9
   281  	SQLITE_CONFIG_MMAP_SIZE               = 22
   282  	SQLITE_CONFIG_MULTITHREAD             = 2
   283  	SQLITE_CONFIG_MUTEX                   = 10
   284  	SQLITE_CONFIG_PAGECACHE               = 7
   285  	SQLITE_CONFIG_PCACHE                  = 14
   286  	SQLITE_CONFIG_PCACHE2                 = 18
   287  	SQLITE_CONFIG_PCACHE_HDRSZ            = 24
   288  	SQLITE_CONFIG_PMASZ                   = 25
   289  	SQLITE_CONFIG_SCRATCH                 = 6
   290  	SQLITE_CONFIG_SERIALIZED              = 3
   291  	SQLITE_CONFIG_SINGLETHREAD            = 1
   292  	SQLITE_CONFIG_SMALL_MALLOC            = 27
   293  	SQLITE_CONFIG_SORTERREF_SIZE          = 28
   294  	SQLITE_CONFIG_SQLLOG                  = 21
   295  	SQLITE_CONFIG_STMTJRNL_SPILL          = 26
   296  	SQLITE_CONFIG_URI                     = 17
   297  	SQLITE_CONFIG_WIN32_HEAPSIZE          = 23
   298  	SQLITE_CONSTRAINT                     = 19
   299  	SQLITE_CONSTRAINT_CHECK               = 275
   300  	SQLITE_CONSTRAINT_COMMITHOOK          = 531
   301  	SQLITE_CONSTRAINT_DATATYPE            = 3091
   302  	SQLITE_CONSTRAINT_FOREIGNKEY          = 787
   303  	SQLITE_CONSTRAINT_FUNCTION            = 1043
   304  	SQLITE_CONSTRAINT_NOTNULL             = 1299
   305  	SQLITE_CONSTRAINT_PINNED              = 2835
   306  	SQLITE_CONSTRAINT_PRIMARYKEY          = 1555
   307  	SQLITE_CONSTRAINT_ROWID               = 2579
   308  	SQLITE_CONSTRAINT_TRIGGER             = 1811
   309  	SQLITE_CONSTRAINT_UNIQUE              = 2067
   310  	SQLITE_CONSTRAINT_VTAB                = 2323
   311  	SQLITE_COPY                           = 0
   312  	SQLITE_CORE                           = 1
   313  	SQLITE_CORRUPT                        = 11
   314  	SQLITE_CORRUPT_INDEX                  = 779
   315  	SQLITE_CORRUPT_SEQUENCE               = 523
   316  	SQLITE_CORRUPT_VTAB                   = 267
   317  	SQLITE_CREATE_INDEX                   = 1
   318  	SQLITE_CREATE_TABLE                   = 2
   319  	SQLITE_CREATE_TEMP_INDEX              = 3
   320  	SQLITE_CREATE_TEMP_TABLE              = 4
   321  	SQLITE_CREATE_TEMP_TRIGGER            = 5
   322  	SQLITE_CREATE_TEMP_VIEW               = 6
   323  	SQLITE_CREATE_TRIGGER                 = 7
   324  	SQLITE_CREATE_VIEW                    = 8
   325  	SQLITE_CREATE_VTABLE                  = 29
   326  	SQLITE_DBCONFIG_DEFENSIVE             = 1010
   327  	SQLITE_DBCONFIG_DQS_DDL               = 1014
   328  	SQLITE_DBCONFIG_DQS_DML               = 1013
   329  	SQLITE_DBCONFIG_ENABLE_FKEY           = 1002
   330  	SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER = 1004
   331  	SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION = 1005
   332  	SQLITE_DBCONFIG_ENABLE_QPSG           = 1007
   333  	SQLITE_DBCONFIG_ENABLE_TRIGGER        = 1003
   334  	SQLITE_DBCONFIG_ENABLE_VIEW           = 1015
   335  	SQLITE_DBCONFIG_LEGACY_ALTER_TABLE    = 1012
   336  	SQLITE_DBCONFIG_LEGACY_FILE_FORMAT    = 1016
   337  	SQLITE_DBCONFIG_LOOKASIDE             = 1001
   338  	SQLITE_DBCONFIG_MAINDBNAME            = 1000
   339  	SQLITE_DBCONFIG_MAX                   = 1017
   340  	SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE      = 1006
   341  	SQLITE_DBCONFIG_RESET_DATABASE        = 1009
   342  	SQLITE_DBCONFIG_TRIGGER_EQP           = 1008
   343  	SQLITE_DBCONFIG_TRUSTED_SCHEMA        = 1017
   344  	SQLITE_DBCONFIG_WRITABLE_SCHEMA       = 1011
   345  	SQLITE_DBSTATUS_CACHE_HIT             = 7
   346  	SQLITE_DBSTATUS_CACHE_MISS            = 8
   347  	SQLITE_DBSTATUS_CACHE_SPILL           = 12
   348  	SQLITE_DBSTATUS_CACHE_USED            = 1
   349  	SQLITE_DBSTATUS_CACHE_USED_SHARED     = 11
   350  	SQLITE_DBSTATUS_CACHE_WRITE           = 9
   351  	SQLITE_DBSTATUS_DEFERRED_FKS          = 10
   352  	SQLITE_DBSTATUS_LOOKASIDE_HIT         = 4
   353  	SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL   = 6
   354  	SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE   = 5
   355  	SQLITE_DBSTATUS_LOOKASIDE_USED        = 0
   356  	SQLITE_DBSTATUS_MAX                   = 12
   357  	SQLITE_DBSTATUS_SCHEMA_USED           = 2
   358  	SQLITE_DBSTATUS_STMT_USED             = 3
   359  	SQLITE_DELETE                         = 9
   360  	SQLITE_DENY                           = 1
   361  	SQLITE_DEPRECATED                     = 0
   362  	SQLITE_DESERIALIZE_FREEONCLOSE        = 1
   363  	SQLITE_DESERIALIZE_READONLY           = 4
   364  	SQLITE_DESERIALIZE_RESIZEABLE         = 2
   365  	SQLITE_DETACH                         = 25
   366  	SQLITE_DETERMINISTIC                  = 0x000000800
   367  	SQLITE_DIRECTONLY                     = 0x000080000
   368  	SQLITE_DONE                           = 101
   369  	SQLITE_DROP_INDEX                     = 10
   370  	SQLITE_DROP_TABLE                     = 11
   371  	SQLITE_DROP_TEMP_INDEX                = 12
   372  	SQLITE_DROP_TEMP_TABLE                = 13
   373  	SQLITE_DROP_TEMP_TRIGGER              = 14
   374  	SQLITE_DROP_TEMP_VIEW                 = 15
   375  	SQLITE_DROP_TRIGGER                   = 16
   376  	SQLITE_DROP_VIEW                      = 17
   377  	SQLITE_DROP_VTABLE                    = 30
   378  	SQLITE_EMPTY                          = 16
   379  	SQLITE_ENABLE_COLUMN_METADATA         = 1
   380  	SQLITE_ENABLE_FTS5                    = 1
   381  	SQLITE_ENABLE_GEOPOLY                 = 1
   382  	SQLITE_ENABLE_MATH_FUNCTIONS          = 1
   383  	SQLITE_ENABLE_MEMORY_MANAGEMENT       = 1
   384  	SQLITE_ENABLE_OFFSET_SQL_FUNC         = 1
   385  	SQLITE_ENABLE_PREUPDATE_HOOK          = 1
   386  	SQLITE_ENABLE_RBU                     = 1
   387  	SQLITE_ENABLE_RTREE                   = 1
   388  	SQLITE_ENABLE_SESSION                 = 1
   389  	SQLITE_ENABLE_SNAPSHOT                = 1
   390  	SQLITE_ENABLE_STAT4                   = 1
   391  	SQLITE_ENABLE_UNLOCK_NOTIFY           = 1
   392  	SQLITE_ERROR                          = 1
   393  	SQLITE_ERROR_MISSING_COLLSEQ          = 257
   394  	SQLITE_ERROR_RETRY                    = 513
   395  	SQLITE_ERROR_SNAPSHOT                 = 769
   396  	SQLITE_EXPERIMENTAL                   = 0
   397  	SQLITE_FAIL                           = 3
   398  	SQLITE_FCNTL_BEGIN_ATOMIC_WRITE       = 31
   399  	SQLITE_FCNTL_BUSYHANDLER              = 15
   400  	SQLITE_FCNTL_CHUNK_SIZE               = 6
   401  	SQLITE_FCNTL_CKPT_DONE                = 37
   402  	SQLITE_FCNTL_CKPT_START               = 39
   403  	SQLITE_FCNTL_CKSM_FILE                = 41
   404  	SQLITE_FCNTL_COMMIT_ATOMIC_WRITE      = 32
   405  	SQLITE_FCNTL_COMMIT_PHASETWO          = 22
   406  	SQLITE_FCNTL_DATA_VERSION             = 35
   407  	SQLITE_FCNTL_EXTERNAL_READER          = 40
   408  	SQLITE_FCNTL_FILE_POINTER             = 7
   409  	SQLITE_FCNTL_GET_LOCKPROXYFILE        = 2
   410  	SQLITE_FCNTL_HAS_MOVED                = 20
   411  	SQLITE_FCNTL_JOURNAL_POINTER          = 28
   412  	SQLITE_FCNTL_LAST_ERRNO               = 4
   413  	SQLITE_FCNTL_LOCKSTATE                = 1
   414  	SQLITE_FCNTL_LOCK_TIMEOUT             = 34
   415  	SQLITE_FCNTL_MMAP_SIZE                = 18
   416  	SQLITE_FCNTL_OVERWRITE                = 11
   417  	SQLITE_FCNTL_PDB                      = 30
   418  	SQLITE_FCNTL_PERSIST_WAL              = 10
   419  	SQLITE_FCNTL_POWERSAFE_OVERWRITE      = 13
   420  	SQLITE_FCNTL_PRAGMA                   = 14
   421  	SQLITE_FCNTL_RBU                      = 26
   422  	SQLITE_FCNTL_RESERVE_BYTES            = 38
   423  	SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE    = 33
   424  	SQLITE_FCNTL_SET_LOCKPROXYFILE        = 3
   425  	SQLITE_FCNTL_SIZE_HINT                = 5
   426  	SQLITE_FCNTL_SIZE_LIMIT               = 36
   427  	SQLITE_FCNTL_SYNC                     = 21
   428  	SQLITE_FCNTL_SYNC_OMITTED             = 8
   429  	SQLITE_FCNTL_TEMPFILENAME             = 16
   430  	SQLITE_FCNTL_TRACE                    = 19
   431  	SQLITE_FCNTL_VFSNAME                  = 12
   432  	SQLITE_FCNTL_VFS_POINTER              = 27
   433  	SQLITE_FCNTL_WAL_BLOCK                = 24
   434  	SQLITE_FCNTL_WIN32_AV_RETRY           = 9
   435  	SQLITE_FCNTL_WIN32_GET_HANDLE         = 29
   436  	SQLITE_FCNTL_WIN32_SET_HANDLE         = 23
   437  	SQLITE_FCNTL_ZIPVFS                   = 25
   438  	SQLITE_FLOAT                          = 2
   439  	SQLITE_FORMAT                         = 24
   440  	SQLITE_FULL                           = 13
   441  	SQLITE_FUNCTION                       = 31
   442  	SQLITE_GET_LOCKPROXYFILE              = 2
   443  	SQLITE_IGNORE                         = 2
   444  	SQLITE_INDEX_CONSTRAINT_EQ            = 2
   445  	SQLITE_INDEX_CONSTRAINT_FUNCTION      = 150
   446  	SQLITE_INDEX_CONSTRAINT_GE            = 32
   447  	SQLITE_INDEX_CONSTRAINT_GLOB          = 66
   448  	SQLITE_INDEX_CONSTRAINT_GT            = 4
   449  	SQLITE_INDEX_CONSTRAINT_IS            = 72
   450  	SQLITE_INDEX_CONSTRAINT_ISNOT         = 69
   451  	SQLITE_INDEX_CONSTRAINT_ISNOTNULL     = 70
   452  	SQLITE_INDEX_CONSTRAINT_ISNULL        = 71
   453  	SQLITE_INDEX_CONSTRAINT_LE            = 8
   454  	SQLITE_INDEX_CONSTRAINT_LIKE          = 65
   455  	SQLITE_INDEX_CONSTRAINT_LIMIT         = 73
   456  	SQLITE_INDEX_CONSTRAINT_LT            = 16
   457  	SQLITE_INDEX_CONSTRAINT_MATCH         = 64
   458  	SQLITE_INDEX_CONSTRAINT_NE            = 68
   459  	SQLITE_INDEX_CONSTRAINT_OFFSET        = 74
   460  	SQLITE_INDEX_CONSTRAINT_REGEXP        = 67
   461  	SQLITE_INDEX_SCAN_UNIQUE              = 1
   462  	SQLITE_INNOCUOUS                      = 0x000200000
   463  	SQLITE_INSERT                         = 18
   464  	SQLITE_INTEGER                        = 1
   465  	SQLITE_INTERNAL                       = 2
   466  	SQLITE_INTERRUPT                      = 9
   467  	SQLITE_IOCAP_ATOMIC                   = 0x00000001
   468  	SQLITE_IOCAP_ATOMIC16K                = 0x00000040
   469  	SQLITE_IOCAP_ATOMIC1K                 = 0x00000004
   470  	SQLITE_IOCAP_ATOMIC2K                 = 0x00000008
   471  	SQLITE_IOCAP_ATOMIC32K                = 0x00000080
   472  	SQLITE_IOCAP_ATOMIC4K                 = 0x00000010
   473  	SQLITE_IOCAP_ATOMIC512                = 0x00000002
   474  	SQLITE_IOCAP_ATOMIC64K                = 0x00000100
   475  	SQLITE_IOCAP_ATOMIC8K                 = 0x00000020
   476  	SQLITE_IOCAP_BATCH_ATOMIC             = 0x00004000
   477  	SQLITE_IOCAP_IMMUTABLE                = 0x00002000
   478  	SQLITE_IOCAP_POWERSAFE_OVERWRITE      = 0x00001000
   479  	SQLITE_IOCAP_SAFE_APPEND              = 0x00000200
   480  	SQLITE_IOCAP_SEQUENTIAL               = 0x00000400
   481  	SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN    = 0x00000800
   482  	SQLITE_IOERR                          = 10
   483  	SQLITE_IOERR_ACCESS                   = 3338
   484  	SQLITE_IOERR_AUTH                     = 7178
   485  	SQLITE_IOERR_BEGIN_ATOMIC             = 7434
   486  	SQLITE_IOERR_BLOCKED                  = 2826
   487  	SQLITE_IOERR_CHECKRESERVEDLOCK        = 3594
   488  	SQLITE_IOERR_CLOSE                    = 4106
   489  	SQLITE_IOERR_COMMIT_ATOMIC            = 7690
   490  	SQLITE_IOERR_CONVPATH                 = 6666
   491  	SQLITE_IOERR_CORRUPTFS                = 8458
   492  	SQLITE_IOERR_DATA                     = 8202
   493  	SQLITE_IOERR_DELETE                   = 2570
   494  	SQLITE_IOERR_DELETE_NOENT             = 5898
   495  	SQLITE_IOERR_DIR_CLOSE                = 4362
   496  	SQLITE_IOERR_DIR_FSYNC                = 1290
   497  	SQLITE_IOERR_FSTAT                    = 1802
   498  	SQLITE_IOERR_FSYNC                    = 1034
   499  	SQLITE_IOERR_GETTEMPPATH              = 6410
   500  	SQLITE_IOERR_LOCK                     = 3850
   501  	SQLITE_IOERR_MMAP                     = 6154
   502  	SQLITE_IOERR_NOMEM                    = 3082
   503  	SQLITE_IOERR_RDLOCK                   = 2314
   504  	SQLITE_IOERR_READ                     = 266
   505  	SQLITE_IOERR_ROLLBACK_ATOMIC          = 7946
   506  	SQLITE_IOERR_SEEK                     = 5642
   507  	SQLITE_IOERR_SHMLOCK                  = 5130
   508  	SQLITE_IOERR_SHMMAP                   = 5386
   509  	SQLITE_IOERR_SHMOPEN                  = 4618
   510  	SQLITE_IOERR_SHMSIZE                  = 4874
   511  	SQLITE_IOERR_SHORT_READ               = 522
   512  	SQLITE_IOERR_TRUNCATE                 = 1546
   513  	SQLITE_IOERR_UNLOCK                   = 2058
   514  	SQLITE_IOERR_VNODE                    = 6922
   515  	SQLITE_IOERR_WRITE                    = 778
   516  	SQLITE_LAST_ERRNO                     = 4
   517  	SQLITE_LIKE_DOESNT_MATCH_BLOBS        = 1
   518  	SQLITE_LIMIT_ATTACHED                 = 7
   519  	SQLITE_LIMIT_COLUMN                   = 2
   520  	SQLITE_LIMIT_COMPOUND_SELECT          = 4
   521  	SQLITE_LIMIT_EXPR_DEPTH               = 3
   522  	SQLITE_LIMIT_FUNCTION_ARG             = 6
   523  	SQLITE_LIMIT_LENGTH                   = 0
   524  	SQLITE_LIMIT_LIKE_PATTERN_LENGTH      = 8
   525  	SQLITE_LIMIT_SQL_LENGTH               = 1
   526  	SQLITE_LIMIT_TRIGGER_DEPTH            = 10
   527  	SQLITE_LIMIT_VARIABLE_NUMBER          = 9
   528  	SQLITE_LIMIT_VDBE_OP                  = 5
   529  	SQLITE_LIMIT_WORKER_THREADS           = 11
   530  	SQLITE_LOCKED                         = 6
   531  	SQLITE_LOCKED_SHAREDCACHE             = 262
   532  	SQLITE_LOCKED_VTAB                    = 518
   533  	SQLITE_LOCK_EXCLUSIVE                 = 4
   534  	SQLITE_LOCK_NONE                      = 0
   535  	SQLITE_LOCK_PENDING                   = 3
   536  	SQLITE_LOCK_RESERVED                  = 2
   537  	SQLITE_LOCK_SHARED                    = 1
   538  	SQLITE_MISMATCH                       = 20
   539  	SQLITE_MISUSE                         = 21
   540  	SQLITE_MUTEX_APPDEF                   = 1
   541  	SQLITE_MUTEX_FAST                     = 0
   542  	SQLITE_MUTEX_NOOP                     = 1
   543  	SQLITE_MUTEX_RECURSIVE                = 1
   544  	SQLITE_MUTEX_STATIC_APP1              = 8
   545  	SQLITE_MUTEX_STATIC_APP2              = 9
   546  	SQLITE_MUTEX_STATIC_APP3              = 10
   547  	SQLITE_MUTEX_STATIC_LRU               = 6
   548  	SQLITE_MUTEX_STATIC_LRU2              = 7
   549  	SQLITE_MUTEX_STATIC_MAIN              = 2
   550  	SQLITE_MUTEX_STATIC_MASTER            = 2
   551  	SQLITE_MUTEX_STATIC_MEM               = 3
   552  	SQLITE_MUTEX_STATIC_MEM2              = 4
   553  	SQLITE_MUTEX_STATIC_OPEN              = 4
   554  	SQLITE_MUTEX_STATIC_PMEM              = 7
   555  	SQLITE_MUTEX_STATIC_PRNG              = 5
   556  	SQLITE_MUTEX_STATIC_VFS1              = 11
   557  	SQLITE_MUTEX_STATIC_VFS2              = 12
   558  	SQLITE_MUTEX_STATIC_VFS3              = 13
   559  	SQLITE_NOLFS                          = 22
   560  	SQLITE_NOMEM                          = 7
   561  	SQLITE_NOTADB                         = 26
   562  	SQLITE_NOTFOUND                       = 12
   563  	SQLITE_NOTICE                         = 27
   564  	SQLITE_NOTICE_RECOVER_ROLLBACK        = 539
   565  	SQLITE_NOTICE_RECOVER_WAL             = 283
   566  	SQLITE_NULL                           = 5
   567  	SQLITE_OK                             = 0
   568  	SQLITE_OK_LOAD_PERMANENTLY            = 256
   569  	SQLITE_OK_SYMLINK                     = 512
   570  	SQLITE_OPEN_AUTOPROXY                 = 0x00000020
   571  	SQLITE_OPEN_CREATE                    = 0x00000004
   572  	SQLITE_OPEN_DELETEONCLOSE             = 0x00000008
   573  	SQLITE_OPEN_EXCLUSIVE                 = 0x00000010
   574  	SQLITE_OPEN_EXRESCODE                 = 0x02000000
   575  	SQLITE_OPEN_FULLMUTEX                 = 0x00010000
   576  	SQLITE_OPEN_MAIN_DB                   = 0x00000100
   577  	SQLITE_OPEN_MAIN_JOURNAL              = 0x00000800
   578  	SQLITE_OPEN_MASTER_JOURNAL            = 0x00004000
   579  	SQLITE_OPEN_MEMORY                    = 0x00000080
   580  	SQLITE_OPEN_NOFOLLOW                  = 0x01000000
   581  	SQLITE_OPEN_NOMUTEX                   = 0x00008000
   582  	SQLITE_OPEN_PRIVATECACHE              = 0x00040000
   583  	SQLITE_OPEN_READONLY                  = 0x00000001
   584  	SQLITE_OPEN_READWRITE                 = 0x00000002
   585  	SQLITE_OPEN_SHAREDCACHE               = 0x00020000
   586  	SQLITE_OPEN_SUBJOURNAL                = 0x00002000
   587  	SQLITE_OPEN_SUPER_JOURNAL             = 0x00004000
   588  	SQLITE_OPEN_TEMP_DB                   = 0x00000200
   589  	SQLITE_OPEN_TEMP_JOURNAL              = 0x00001000
   590  	SQLITE_OPEN_TRANSIENT_DB              = 0x00000400
   591  	SQLITE_OPEN_URI                       = 0x00000040
   592  	SQLITE_OPEN_WAL                       = 0x00080000
   593  	SQLITE_OS_UNIX                        = 1
   594  	SQLITE_PERM                           = 3
   595  	SQLITE_PRAGMA                         = 19
   596  	SQLITE_PREPARE_NORMALIZE              = 0x02
   597  	SQLITE_PREPARE_NO_VTAB                = 0x04
   598  	SQLITE_PREPARE_PERSISTENT             = 0x01
   599  	SQLITE_PROTOCOL                       = 15
   600  	SQLITE_RANGE                          = 25
   601  	SQLITE_READ                           = 20
   602  	SQLITE_READONLY                       = 8
   603  	SQLITE_READONLY_CANTINIT              = 1288
   604  	SQLITE_READONLY_CANTLOCK              = 520
   605  	SQLITE_READONLY_DBMOVED               = 1032
   606  	SQLITE_READONLY_DIRECTORY             = 1544
   607  	SQLITE_READONLY_RECOVERY              = 264
   608  	SQLITE_READONLY_ROLLBACK              = 776
   609  	SQLITE_RECURSIVE                      = 33
   610  	SQLITE_REINDEX                        = 27
   611  	SQLITE_REPLACE                        = 5
   612  	SQLITE_ROLLBACK                       = 1
   613  	SQLITE_ROW                            = 100
   614  	SQLITE_SAVEPOINT                      = 32
   615  	SQLITE_SCANSTAT_EST                   = 2
   616  	SQLITE_SCANSTAT_EXPLAIN               = 4
   617  	SQLITE_SCANSTAT_NAME                  = 3
   618  	SQLITE_SCANSTAT_NLOOP                 = 0
   619  	SQLITE_SCANSTAT_NVISIT                = 1
   620  	SQLITE_SCANSTAT_SELECTID              = 5
   621  	SQLITE_SCHEMA                         = 17
   622  	SQLITE_SELECT                         = 21
   623  	SQLITE_SERIALIZE_NOCOPY               = 0x001
   624  	SQLITE_SESSION_CONFIG_STRMSIZE        = 1
   625  	SQLITE_SESSION_OBJCONFIG_SIZE         = 1
   626  	SQLITE_SET_LOCKPROXYFILE              = 3
   627  	SQLITE_SHM_EXCLUSIVE                  = 8
   628  	SQLITE_SHM_LOCK                       = 2
   629  	SQLITE_SHM_NLOCK                      = 8
   630  	SQLITE_SHM_SHARED                     = 4
   631  	SQLITE_SHM_UNLOCK                     = 1
   632  	SQLITE_SOUNDEX                        = 1
   633  	SQLITE_SOURCE_ID                      = "2022-09-05 11:02:23 4635f4a69c8c2a8df242b384a992aea71224e39a2ccab42d8c0b0602f1e826e8"
   634  	SQLITE_STATUS_MALLOC_COUNT            = 9
   635  	SQLITE_STATUS_MALLOC_SIZE             = 5
   636  	SQLITE_STATUS_MEMORY_USED             = 0
   637  	SQLITE_STATUS_PAGECACHE_OVERFLOW      = 2
   638  	SQLITE_STATUS_PAGECACHE_SIZE          = 7
   639  	SQLITE_STATUS_PAGECACHE_USED          = 1
   640  	SQLITE_STATUS_PARSER_STACK            = 6
   641  	SQLITE_STATUS_SCRATCH_OVERFLOW        = 4
   642  	SQLITE_STATUS_SCRATCH_SIZE            = 8
   643  	SQLITE_STATUS_SCRATCH_USED            = 3
   644  	SQLITE_STDCALL                        = 0
   645  	SQLITE_STMTSTATUS_AUTOINDEX           = 3
   646  	SQLITE_STMTSTATUS_FILTER_HIT          = 8
   647  	SQLITE_STMTSTATUS_FILTER_MISS         = 7
   648  	SQLITE_STMTSTATUS_FULLSCAN_STEP       = 1
   649  	SQLITE_STMTSTATUS_MEMUSED             = 99
   650  	SQLITE_STMTSTATUS_REPREPARE           = 5
   651  	SQLITE_STMTSTATUS_RUN                 = 6
   652  	SQLITE_STMTSTATUS_SORT                = 2
   653  	SQLITE_STMTSTATUS_VM_STEP             = 4
   654  	SQLITE_SUBTYPE                        = 0x000100000
   655  	SQLITE_SYNC_DATAONLY                  = 0x00010
   656  	SQLITE_SYNC_FULL                      = 0x00003
   657  	SQLITE_SYNC_NORMAL                    = 0x00002
   658  	SQLITE_SYSAPI                         = 0
   659  	SQLITE_TESTCTRL_ALWAYS                = 13
   660  	SQLITE_TESTCTRL_ASSERT                = 12
   661  	SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS   = 10
   662  	SQLITE_TESTCTRL_BITVEC_TEST           = 8
   663  	SQLITE_TESTCTRL_BYTEORDER             = 22
   664  	SQLITE_TESTCTRL_EXPLAIN_STMT          = 19
   665  	SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS   = 29
   666  	SQLITE_TESTCTRL_FAULT_INSTALL         = 9
   667  	SQLITE_TESTCTRL_FIRST                 = 5
   668  	SQLITE_TESTCTRL_IMPOSTER              = 25
   669  	SQLITE_TESTCTRL_INTERNAL_FUNCTIONS    = 17
   670  	SQLITE_TESTCTRL_ISINIT                = 23
   671  	SQLITE_TESTCTRL_ISKEYWORD             = 16
   672  	SQLITE_TESTCTRL_LAST                  = 33
   673  	SQLITE_TESTCTRL_LOCALTIME_FAULT       = 18
   674  	SQLITE_TESTCTRL_LOGEST                = 33
   675  	SQLITE_TESTCTRL_NEVER_CORRUPT         = 20
   676  	SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD  = 19
   677  	SQLITE_TESTCTRL_OPTIMIZATIONS         = 15
   678  	SQLITE_TESTCTRL_PARSER_COVERAGE       = 26
   679  	SQLITE_TESTCTRL_PENDING_BYTE          = 11
   680  	SQLITE_TESTCTRL_PRNG_RESET            = 7
   681  	SQLITE_TESTCTRL_PRNG_RESTORE          = 6
   682  	SQLITE_TESTCTRL_PRNG_SAVE             = 5
   683  	SQLITE_TESTCTRL_PRNG_SEED             = 28
   684  	SQLITE_TESTCTRL_RESERVE               = 14
   685  	SQLITE_TESTCTRL_RESULT_INTREAL        = 27
   686  	SQLITE_TESTCTRL_SCRATCHMALLOC         = 17
   687  	SQLITE_TESTCTRL_SEEK_COUNT            = 30
   688  	SQLITE_TESTCTRL_SORTER_MMAP           = 24
   689  	SQLITE_TESTCTRL_TRACEFLAGS            = 31
   690  	SQLITE_TESTCTRL_TUNE                  = 32
   691  	SQLITE_TESTCTRL_VDBE_COVERAGE         = 21
   692  	SQLITE_TEXT                           = 3
   693  	SQLITE_THREADSAFE                     = 1
   694  	SQLITE_TOOBIG                         = 18
   695  	SQLITE_TRACE_CLOSE                    = 0x08
   696  	SQLITE_TRACE_PROFILE                  = 0x02
   697  	SQLITE_TRACE_ROW                      = 0x04
   698  	SQLITE_TRACE_STMT                     = 0x01
   699  	SQLITE_TRANSACTION                    = 22
   700  	SQLITE_TXN_NONE                       = 0
   701  	SQLITE_TXN_READ                       = 1
   702  	SQLITE_TXN_WRITE                      = 2
   703  	SQLITE_UPDATE                         = 23
   704  	SQLITE_UTF16                          = 4
   705  	SQLITE_UTF16BE                        = 3
   706  	SQLITE_UTF16LE                        = 2
   707  	SQLITE_UTF16_ALIGNED                  = 8
   708  	SQLITE_UTF8                           = 1
   709  	SQLITE_VERSION                        = "3.39.3"
   710  	SQLITE_VERSION_NUMBER                 = 3039003
   711  	SQLITE_VTAB_CONSTRAINT_SUPPORT        = 1
   712  	SQLITE_VTAB_DIRECTONLY                = 3
   713  	SQLITE_VTAB_INNOCUOUS                 = 2
   714  	SQLITE_WARNING                        = 28
   715  	SQLITE_WARNING_AUTOINDEX              = 284
   716  	SQLITE_WIN32_DATA_DIRECTORY_TYPE      = 1
   717  	SQLITE_WIN32_TEMP_DIRECTORY_TYPE      = 2
   718  	STDERR_FILENO                         = 2
   719  	STDIN_FILENO                          = 0
   720  	STDOUT_FILENO                         = 1
   721  	TMP_MAX                               = 308915776
   722  	UINT16_MAX                            = 65535
   723  	UINT32_MAX                            = 4294967295
   724  	UINT64_MAX                            = 18446744073709551615
   725  	UINT8_MAX                             = 255
   726  	UINTMAX_MAX                           = 18446744073709551615
   727  	UINTPTR_MAX                           = 18446744073709551615
   728  	UINT_FAST16_MAX                       = 4294967295
   729  	UINT_FAST32_MAX                       = 4294967295
   730  	UINT_FAST64_MAX                       = 18446744073709551615
   731  	UINT_FAST8_MAX                        = 4294967295
   732  	UINT_LEAST16_MAX                      = 65535
   733  	UINT_LEAST32_MAX                      = 4294967295
   734  	UINT_LEAST64_MAX                      = 18446744073709551615
   735  	UINT_LEAST8_MAX                       = 255
   736  	WCHAR_MAX                             = 0x7fffffff
   737  	WCHAR_MIN                             = -2147483648
   738  	WINT_MAX                              = 0x7fffffff
   739  	WINT_MIN                              = -2147483648
   740  	W_OK                                  = 0x02
   741  	X_OK                                  = 0x01
   742  	X_AMD64_BYTE_SWAP_H_                  = 0
   743  	X_AMD64_INT_CONST_H_                  = 0
   744  	X_AMD64_INT_LIMITS_H_                 = 0
   745  	X_AMD64_INT_MWGWTYPES_H_              = 0
   746  	X_AMD64_INT_TYPES_H_                  = 0
   747  	X_AMD64_WCHAR_LIMITS_H_               = 0
   748  	X_BIG_ENDIAN                          = 4321
   749  	X_BSD_INT16_T_                        = 0
   750  	X_BSD_INT32_T_                        = 0
   751  	X_BSD_INT64_T_                        = 0
   752  	X_BSD_INT8_T_                         = 0
   753  	X_BSD_INTPTR_T_                       = 0
   754  	X_BSD_UINT16_T_                       = 0
   755  	X_BSD_UINT32_T_                       = 0
   756  	X_BSD_UINT64_T_                       = 0
   757  	X_BSD_UINT8_T_                        = 0
   758  	X_BSD_UINTPTR_T_                      = 0
   759  	X_BYTE_ORDER                          = 1234
   760  	X_CS_PATH                             = 1
   761  	X_CTYPE_A                             = 0x0001
   762  	X_CTYPE_BL                            = 0x0200
   763  	X_CTYPE_C                             = 0x0002
   764  	X_CTYPE_D                             = 0x0004
   765  	X_CTYPE_G                             = 0x0008
   766  	X_CTYPE_H_                            = 0
   767  	X_CTYPE_I                             = 0x0800
   768  	X_CTYPE_INLINE_H_                     = 0
   769  	X_CTYPE_L                             = 0x0010
   770  	X_CTYPE_P                             = 0x0020
   771  	X_CTYPE_Q                             = 0x2000
   772  	X_CTYPE_R                             = 0x0400
   773  	X_CTYPE_S                             = 0x0040
   774  	X_CTYPE_T                             = 0x1000
   775  	X_CTYPE_U                             = 0x0080
   776  	X_CTYPE_X                             = 0x0100
   777  	X_ERRNO_H_                            = 0
   778  	X_FILE_OFFSET_BITS                    = 64
   779  	X_FSTDIO                              = 0
   780  	X_FTS5_H                              = 0
   781  	X_IOFBF                               = 0
   782  	X_IOLBF                               = 1
   783  	X_IONBF                               = 2
   784  	X_LIB_PTHREAD_TYPES_H                 = 0
   785  	X_LITTLE_ENDIAN                       = 1234
   786  	X_LP64                                = 1
   787  	X_NETBSD_SOURCE                       = 1
   788  	X_O_SC_CLK_TCK                        = 3
   789  	X_PC_2_SYMLINKS                       = 13
   790  	X_PC_ACL_EXTENDED                     = 14
   791  	X_PC_CHOWN_RESTRICTED                 = 7
   792  	X_PC_FILESIZEBITS                     = 11
   793  	X_PC_LINK_MAX                         = 1
   794  	X_PC_MAX_CANON                        = 2
   795  	X_PC_MAX_INPUT                        = 3
   796  	X_PC_MIN_HOLE_SIZE                    = 15
   797  	X_PC_NAME_MAX                         = 4
   798  	X_PC_NO_TRUNC                         = 8
   799  	X_PC_PATH_MAX                         = 5
   800  	X_PC_PIPE_BUF                         = 6
   801  	X_PC_SYMLINK_MAX                      = 12
   802  	X_PC_SYNC_IO                          = 10
   803  	X_PC_VDISABLE                         = 9
   804  	X_PDP_ENDIAN                          = 3412
   805  	X_POSIX2_C_BIND                       = 200112
   806  	X_POSIX2_VERSION                      = 200112
   807  	X_POSIX_ASYNCHRONOUS_IO               = 200112
   808  	X_POSIX_BARRIERS                      = 200112
   809  	X_POSIX_CHOWN_RESTRICTED              = 1
   810  	X_POSIX_CLOCK_SELECTION               = -1
   811  	X_POSIX_CPUTIME                       = 200112
   812  	X_POSIX_FSYNC                         = 1
   813  	X_POSIX_IPV6                          = 0
   814  	X_POSIX_JOB_CONTROL                   = 1
   815  	X_POSIX_MAPPED_FILES                  = 1
   816  	X_POSIX_MEMLOCK                       = 1
   817  	X_POSIX_MEMLOCK_RANGE                 = 1
   818  	X_POSIX_MEMORY_PROTECTION             = 1
   819  	X_POSIX_MESSAGE_PASSING               = 200112
   820  	X_POSIX_MONOTONIC_CLOCK               = 200112
   821  	X_POSIX_NO_TRUNC                      = 1
   822  	X_POSIX_PRIORITIZED_IO                = -1
   823  	X_POSIX_PRIORITY_SCHEDULING           = 200112
   824  	X_POSIX_RAW_SOCKETS                   = 200112
   825  	X_POSIX_READER_WRITER_LOCKS           = 200112
   826  	X_POSIX_REGEXP                        = 1
   827  	X_POSIX_SEMAPHORES                    = 0
   828  	X_POSIX_SHARED_MEMORY_OBJECTS         = 0
   829  	X_POSIX_SHELL                         = 1
   830  	X_POSIX_SPAWN                         = 200809
   831  	X_POSIX_SPIN_LOCKS                    = 200112
   832  	X_POSIX_SYNCHRONIZED_IO               = 1
   833  	X_POSIX_THREADS                       = 200112
   834  	X_POSIX_THREAD_ATTR_STACKADDR         = 200112
   835  	X_POSIX_THREAD_ATTR_STACKSIZE         = 200112
   836  	X_POSIX_THREAD_CPUTIME                = 200112
   837  	X_POSIX_THREAD_PRIO_PROTECT           = 200112
   838  	X_POSIX_THREAD_SAFE_FUNCTIONS         = 200112
   839  	X_POSIX_TIMERS                        = 200112
   840  	X_POSIX_VERSION                       = 200112
   841  	X_PT_BARRIERATTR_DEAD                 = 0xDEAD0808
   842  	X_PT_BARRIERATTR_MAGIC                = 0x88880808
   843  	X_PT_BARRIER_DEAD                     = 0xDEAD0008
   844  	X_PT_BARRIER_MAGIC                    = 0x88880008
   845  	X_PT_CONDATTR_DEAD                    = 0xDEAD0006
   846  	X_PT_CONDATTR_MAGIC                   = 0x66660006
   847  	X_PT_COND_DEAD                        = 0xDEAD0005
   848  	X_PT_COND_MAGIC                       = 0x55550005
   849  	X_PT_MUTEXATTR_DEAD                   = 0xDEAD0004
   850  	X_PT_MUTEXATTR_MAGIC                  = 0x44440004
   851  	X_PT_MUTEX_DEAD                       = 0xDEAD0003
   852  	X_PT_MUTEX_MAGIC                      = 0x33330003
   853  	X_PT_RWLOCKATTR_DEAD                  = 0xDEAD0909
   854  	X_PT_RWLOCKATTR_MAGIC                 = 0x99990909
   855  	X_PT_RWLOCK_DEAD                      = 0xDEAD0009
   856  	X_PT_RWLOCK_MAGIC                     = 0x99990009
   857  	X_PT_SPINLOCK_DEAD                    = 0xDEAD0007
   858  	X_PT_SPINLOCK_MAGIC                   = 0x77770007
   859  	X_PT_SPINLOCK_PSHARED                 = 0x00000001
   860  	X_QUAD_HIGHWORD                       = 1
   861  	X_QUAD_LOWWORD                        = 0
   862  	X_SC_2_CHAR_TERM                      = 20
   863  	X_SC_2_C_BIND                         = 18
   864  	X_SC_2_C_DEV                          = 19
   865  	X_SC_2_FORT_DEV                       = 21
   866  	X_SC_2_FORT_RUN                       = 22
   867  	X_SC_2_LOCALEDEF                      = 23
   868  	X_SC_2_PBS                            = 80
   869  	X_SC_2_PBS_ACCOUNTING                 = 81
   870  	X_SC_2_PBS_CHECKPOINT                 = 82
   871  	X_SC_2_PBS_LOCATE                     = 83
   872  	X_SC_2_PBS_MESSAGE                    = 84
   873  	X_SC_2_PBS_TRACK                      = 85
   874  	X_SC_2_SW_DEV                         = 24
   875  	X_SC_2_UPE                            = 25
   876  	X_SC_2_VERSION                        = 17
   877  	X_SC_AIO_LISTIO_MAX                   = 51
   878  	X_SC_AIO_MAX                          = 52
   879  	X_SC_ARG_MAX                          = 1
   880  	X_SC_ASYNCHRONOUS_IO                  = 50
   881  	X_SC_ATEXIT_MAX                       = 40
   882  	X_SC_BARRIERS                         = 43
   883  	X_SC_BC_BASE_MAX                      = 9
   884  	X_SC_BC_DIM_MAX                       = 10
   885  	X_SC_BC_SCALE_MAX                     = 11
   886  	X_SC_BC_STRING_MAX                    = 12
   887  	X_SC_CHILD_MAX                        = 2
   888  	X_SC_CLK_TCK                          = 39
   889  	X_SC_CLOCK_SELECTION                  = 49
   890  	X_SC_COLL_WEIGHTS_MAX                 = 13
   891  	X_SC_CPUTIME                          = 90
   892  	X_SC_DELAYTIMER_MAX                   = 92
   893  	X_SC_EXPR_NEST_MAX                    = 14
   894  	X_SC_FSYNC                            = 29
   895  	X_SC_GETGR_R_SIZE_MAX                 = 47
   896  	X_SC_GETPW_R_SIZE_MAX                 = 48
   897  	X_SC_HOST_NAME_MAX                    = 69
   898  	X_SC_IOV_MAX                          = 32
   899  	X_SC_JOB_CONTROL                      = 6
   900  	X_SC_LINE_MAX                         = 15
   901  	X_SC_LOGIN_NAME_MAX                   = 37
   902  	X_SC_MAPPED_FILES                     = 33
   903  	X_SC_MEMLOCK                          = 34
   904  	X_SC_MEMLOCK_RANGE                    = 35
   905  	X_SC_MEMORY_PROTECTION                = 36
   906  	X_SC_MESSAGE_PASSING                  = 53
   907  	X_SC_MONOTONIC_CLOCK                  = 38
   908  	X_SC_MQ_OPEN_MAX                      = 54
   909  	X_SC_MQ_PRIO_MAX                      = 55
   910  	X_SC_NGROUPS_MAX                      = 4
   911  	X_SC_NPROCESSORS_CONF                 = 1001
   912  	X_SC_NPROCESSORS_ONLN                 = 1002
   913  	X_SC_OPEN_MAX                         = 5
   914  	X_SC_PAGESIZE                         = 28
   915  	X_SC_PAGE_SIZE                        = 28
   916  	X_SC_PASS_MAX                         = 70
   917  	X_SC_PHYS_PAGES                       = 121
   918  	X_SC_PRIORITY_SCHEDULING              = 56
   919  	X_SC_READER_WRITER_LOCKS              = 46
   920  	X_SC_REALTIME_SIGNALS                 = 94
   921  	X_SC_REGEXP                           = 71
   922  	X_SC_RE_DUP_MAX                       = 16
   923  	X_SC_SAVED_IDS                        = 7
   924  	X_SC_SCHED_PRI_MAX                    = 2003
   925  	X_SC_SCHED_PRI_MIN                    = 2002
   926  	X_SC_SCHED_RT_TS                      = 2001
   927  	X_SC_SEMAPHORES                       = 42
   928  	X_SC_SEM_NSEMS_MAX                    = 89
   929  	X_SC_SHARED_MEMORY_OBJECTS            = 87
   930  	X_SC_SHELL                            = 72
   931  	X_SC_SIGQUEUE_MAX                     = 93
   932  	X_SC_SPAWN                            = 86
   933  	X_SC_SPIN_LOCKS                       = 45
   934  	X_SC_STREAM_MAX                       = 26
   935  	X_SC_SYMLOOP_MAX                      = 73
   936  	X_SC_SYNCHRONIZED_IO                  = 31
   937  	X_SC_THREADS                          = 41
   938  	X_SC_THREAD_ATTR_STACKADDR            = 61
   939  	X_SC_THREAD_ATTR_STACKSIZE            = 62
   940  	X_SC_THREAD_CPUTIME                   = 91
   941  	X_SC_THREAD_DESTRUCTOR_ITERATIONS     = 57
   942  	X_SC_THREAD_KEYS_MAX                  = 58
   943  	X_SC_THREAD_PRIORITY_SCHEDULING       = 63
   944  	X_SC_THREAD_PRIO_INHERIT              = 64
   945  	X_SC_THREAD_PRIO_PROTECT              = 65
   946  	X_SC_THREAD_PROCESS_SHARED            = 66
   947  	X_SC_THREAD_SAFE_FUNCTIONS            = 67
   948  	X_SC_THREAD_STACK_MIN                 = 59
   949  	X_SC_THREAD_THREADS_MAX               = 60
   950  	X_SC_TIMERS                           = 44
   951  	X_SC_TIMER_MAX                        = 88
   952  	X_SC_TTY_NAME_MAX                     = 68
   953  	X_SC_TZNAME_MAX                       = 27
   954  	X_SC_V6_ILP32_OFF32                   = 74
   955  	X_SC_V6_ILP32_OFFBIG                  = 75
   956  	X_SC_V6_LP64_OFF64                    = 76
   957  	X_SC_V6_LPBIG_OFFBIG                  = 77
   958  	X_SC_VERSION                          = 8
   959  	X_SC_XOPEN_SHM                        = 30
   960  	X_SQLITE3RTREE_H_                     = 0
   961  	X_STDIO_H_                            = 0
   962  	X_STDLIB_H_                           = 0
   963  	X_STRINGS_H_                          = 0
   964  	X_STRING_H_                           = 0
   965  	X_SYS_ANSI_H_                         = 0
   966  	X_SYS_BSWAP_H_                        = 0
   967  	X_SYS_CDEFS_ELF_H_                    = 0
   968  	X_SYS_CDEFS_H_                        = 0
   969  	X_SYS_COMMON_ANSI_H_                  = 0
   970  	X_SYS_COMMON_INT_LIMITS_H_            = 0
   971  	X_SYS_COMMON_INT_MWGWTYPES_H_         = 0
   972  	X_SYS_COMMON_INT_TYPES_H_             = 0
   973  	X_SYS_CTYPE_BITS_H_                   = 0
   974  	X_SYS_ENDIAN_H_                       = 0
   975  	X_SYS_ERRNO_H_                        = 0
   976  	X_SYS_FD_SET_H_                       = 0
   977  	X_SYS_NULL_H_                         = 0
   978  	X_SYS_STDARG_H_                       = 0
   979  	X_SYS_STDINT_H_                       = 0
   980  	X_SYS_TYPES_H_                        = 0
   981  	X_SYS_UNISTD_H_                       = 0
   982  	X_UNISTD_H_                           = 0
   983  	X_X86_64_BSWAP_H_                     = 0
   984  	X_X86_64_CDEFS_H_                     = 0
   985  	X_X86_64_TYPES_H_                     = 0
   986  	X_XOPEN_SHM                           = 0
   987  )
   988  
   989  type ptrdiff_t = int64
   990  
   991  type size_t = uint64
   992  
   993  type wchar_t = int32
   994  
   995  type va_list = uintptr
   996  
   997  type sqlite_int64 = int64
   998  type sqlite_uint64 = uint64
   999  type sqlite3_int64 = sqlite_int64
  1000  type sqlite3_uint64 = sqlite_uint64
  1001  
  1002  type sqlite3_callback = uintptr
  1003  
  1004  type sqlite3_file1 = struct{ pMethods uintptr }
  1005  
  1006  type sqlite3_file = sqlite3_file1
  1007  type sqlite3_io_methods1 = struct {
  1008  	iVersion               int32
  1009  	_                      [4]byte
  1010  	xClose                 uintptr
  1011  	xRead                  uintptr
  1012  	xWrite                 uintptr
  1013  	xTruncate              uintptr
  1014  	xSync                  uintptr
  1015  	xFileSize              uintptr
  1016  	xLock                  uintptr
  1017  	xUnlock                uintptr
  1018  	xCheckReservedLock     uintptr
  1019  	xFileControl           uintptr
  1020  	xSectorSize            uintptr
  1021  	xDeviceCharacteristics uintptr
  1022  	xShmMap                uintptr
  1023  	xShmLock               uintptr
  1024  	xShmBarrier            uintptr
  1025  	xShmUnmap              uintptr
  1026  	xFetch                 uintptr
  1027  	xUnfetch               uintptr
  1028  }
  1029  
  1030  type sqlite3_io_methods = sqlite3_io_methods1
  1031  
  1032  type sqlite3_vfs1 = struct {
  1033  	iVersion          int32
  1034  	szOsFile          int32
  1035  	mxPathname        int32
  1036  	_                 [4]byte
  1037  	pNext             uintptr
  1038  	zName             uintptr
  1039  	pAppData          uintptr
  1040  	xOpen             uintptr
  1041  	xDelete           uintptr
  1042  	xAccess           uintptr
  1043  	xFullPathname     uintptr
  1044  	xDlOpen           uintptr
  1045  	xDlError          uintptr
  1046  	xDlSym            uintptr
  1047  	xDlClose          uintptr
  1048  	xRandomness       uintptr
  1049  	xSleep            uintptr
  1050  	xCurrentTime      uintptr
  1051  	xGetLastError     uintptr
  1052  	xCurrentTimeInt64 uintptr
  1053  	xSetSystemCall    uintptr
  1054  	xGetSystemCall    uintptr
  1055  	xNextSystemCall   uintptr
  1056  }
  1057  
  1058  type sqlite3_vfs = sqlite3_vfs1
  1059  type sqlite3_syscall_ptr = uintptr
  1060  
  1061  type sqlite3_mem_methods1 = struct {
  1062  	xMalloc   uintptr
  1063  	xFree     uintptr
  1064  	xRealloc  uintptr
  1065  	xSize     uintptr
  1066  	xRoundup  uintptr
  1067  	xInit     uintptr
  1068  	xShutdown uintptr
  1069  	pAppData  uintptr
  1070  }
  1071  
  1072  type sqlite3_mem_methods = sqlite3_mem_methods1
  1073  
  1074  type sqlite3_destructor_type = uintptr
  1075  
  1076  type sqlite3_vtab1 = struct {
  1077  	pModule uintptr
  1078  	nRef    int32
  1079  	_       [4]byte
  1080  	zErrMsg uintptr
  1081  }
  1082  
  1083  type sqlite3_vtab = sqlite3_vtab1
  1084  type sqlite3_index_info1 = struct {
  1085  	nConstraint      int32
  1086  	_                [4]byte
  1087  	aConstraint      uintptr
  1088  	nOrderBy         int32
  1089  	_                [4]byte
  1090  	aOrderBy         uintptr
  1091  	aConstraintUsage uintptr
  1092  	idxNum           int32
  1093  	_                [4]byte
  1094  	idxStr           uintptr
  1095  	needToFreeIdxStr int32
  1096  	orderByConsumed  int32
  1097  	estimatedCost    float64
  1098  	estimatedRows    sqlite3_int64
  1099  	idxFlags         int32
  1100  	_                [4]byte
  1101  	colUsed          sqlite3_uint64
  1102  }
  1103  
  1104  type sqlite3_index_info = sqlite3_index_info1
  1105  type sqlite3_vtab_cursor1 = struct{ pVtab uintptr }
  1106  
  1107  type sqlite3_vtab_cursor = sqlite3_vtab_cursor1
  1108  type sqlite3_module1 = struct {
  1109  	iVersion      int32
  1110  	_             [4]byte
  1111  	xCreate       uintptr
  1112  	xConnect      uintptr
  1113  	xBestIndex    uintptr
  1114  	xDisconnect   uintptr
  1115  	xDestroy      uintptr
  1116  	xOpen         uintptr
  1117  	xClose        uintptr
  1118  	xFilter       uintptr
  1119  	xNext         uintptr
  1120  	xEof          uintptr
  1121  	xColumn       uintptr
  1122  	xRowid        uintptr
  1123  	xUpdate       uintptr
  1124  	xBegin        uintptr
  1125  	xSync         uintptr
  1126  	xCommit       uintptr
  1127  	xRollback     uintptr
  1128  	xFindFunction uintptr
  1129  	xRename       uintptr
  1130  	xSavepoint    uintptr
  1131  	xRelease      uintptr
  1132  	xRollbackTo   uintptr
  1133  	xShadowName   uintptr
  1134  }
  1135  
  1136  type sqlite3_module = sqlite3_module1
  1137  
  1138  type sqlite3_index_constraint = struct {
  1139  	iColumn     int32
  1140  	op          uint8
  1141  	usable      uint8
  1142  	_           [2]byte
  1143  	iTermOffset int32
  1144  }
  1145  
  1146  type sqlite3_index_orderby = struct {
  1147  	iColumn int32
  1148  	desc    uint8
  1149  	_       [3]byte
  1150  }
  1151  
  1152  type sqlite3_index_constraint_usage = struct {
  1153  	argvIndex int32
  1154  	omit      uint8
  1155  	_         [3]byte
  1156  }
  1157  
  1158  type sqlite3_mutex_methods1 = struct {
  1159  	xMutexInit    uintptr
  1160  	xMutexEnd     uintptr
  1161  	xMutexAlloc   uintptr
  1162  	xMutexFree    uintptr
  1163  	xMutexEnter   uintptr
  1164  	xMutexTry     uintptr
  1165  	xMutexLeave   uintptr
  1166  	xMutexHeld    uintptr
  1167  	xMutexNotheld uintptr
  1168  }
  1169  
  1170  type sqlite3_mutex_methods = sqlite3_mutex_methods1
  1171  
  1172  type sqlite3_pcache_page1 = struct {
  1173  	pBuf   uintptr
  1174  	pExtra uintptr
  1175  }
  1176  
  1177  type sqlite3_pcache_page = sqlite3_pcache_page1
  1178  
  1179  type sqlite3_pcache_methods21 = struct {
  1180  	iVersion   int32
  1181  	_          [4]byte
  1182  	pArg       uintptr
  1183  	xInit      uintptr
  1184  	xShutdown  uintptr
  1185  	xCreate    uintptr
  1186  	xCachesize uintptr
  1187  	xPagecount uintptr
  1188  	xFetch     uintptr
  1189  	xUnpin     uintptr
  1190  	xRekey     uintptr
  1191  	xTruncate  uintptr
  1192  	xDestroy   uintptr
  1193  	xShrink    uintptr
  1194  }
  1195  
  1196  type sqlite3_pcache_methods2 = sqlite3_pcache_methods21
  1197  
  1198  type sqlite3_pcache_methods1 = struct {
  1199  	pArg       uintptr
  1200  	xInit      uintptr
  1201  	xShutdown  uintptr
  1202  	xCreate    uintptr
  1203  	xCachesize uintptr
  1204  	xPagecount uintptr
  1205  	xFetch     uintptr
  1206  	xUnpin     uintptr
  1207  	xRekey     uintptr
  1208  	xTruncate  uintptr
  1209  	xDestroy   uintptr
  1210  }
  1211  
  1212  type sqlite3_pcache_methods = sqlite3_pcache_methods1
  1213  
  1214  type sqlite3_snapshot1 = struct{ hidden [48]uint8 }
  1215  
  1216  type sqlite3_snapshot = sqlite3_snapshot1
  1217  
  1218  type sqlite3_rtree_geometry1 = struct {
  1219  	pContext uintptr
  1220  	nParam   int32
  1221  	_        [4]byte
  1222  	aParam   uintptr
  1223  	pUser    uintptr
  1224  	xDelUser uintptr
  1225  }
  1226  
  1227  type sqlite3_rtree_geometry = sqlite3_rtree_geometry1
  1228  type sqlite3_rtree_query_info1 = struct {
  1229  	pContext      uintptr
  1230  	nParam        int32
  1231  	_             [4]byte
  1232  	aParam        uintptr
  1233  	pUser         uintptr
  1234  	xDelUser      uintptr
  1235  	aCoord        uintptr
  1236  	anQueue       uintptr
  1237  	nCoord        int32
  1238  	iLevel        int32
  1239  	mxLevel       int32
  1240  	_             [4]byte
  1241  	iRowid        sqlite3_int64
  1242  	rParentScore  sqlite3_rtree_dbl
  1243  	eParentWithin int32
  1244  	eWithin       int32
  1245  	rScore        sqlite3_rtree_dbl
  1246  	apSqlParam    uintptr
  1247  }
  1248  
  1249  type sqlite3_rtree_query_info = sqlite3_rtree_query_info1
  1250  
  1251  type sqlite3_rtree_dbl = float64
  1252  
  1253  type Fts5ExtensionApi1 = struct {
  1254  	iVersion           int32
  1255  	_                  [4]byte
  1256  	xUserData          uintptr
  1257  	xColumnCount       uintptr
  1258  	xRowCount          uintptr
  1259  	xColumnTotalSize   uintptr
  1260  	xTokenize          uintptr
  1261  	xPhraseCount       uintptr
  1262  	xPhraseSize        uintptr
  1263  	xInstCount         uintptr
  1264  	xInst              uintptr
  1265  	xRowid             uintptr
  1266  	xColumnText        uintptr
  1267  	xColumnSize        uintptr
  1268  	xQueryPhrase       uintptr
  1269  	xSetAuxdata        uintptr
  1270  	xGetAuxdata        uintptr
  1271  	xPhraseFirst       uintptr
  1272  	xPhraseNext        uintptr
  1273  	xPhraseFirstColumn uintptr
  1274  	xPhraseNextColumn  uintptr
  1275  }
  1276  
  1277  type Fts5ExtensionApi = Fts5ExtensionApi1
  1278  type Fts5PhraseIter1 = struct {
  1279  	a uintptr
  1280  	b uintptr
  1281  }
  1282  
  1283  type Fts5PhraseIter = Fts5PhraseIter1
  1284  
  1285  type fts5_extension_function = uintptr
  1286  type fts5_tokenizer1 = struct {
  1287  	xCreate   uintptr
  1288  	xDelete   uintptr
  1289  	xTokenize uintptr
  1290  }
  1291  
  1292  type fts5_tokenizer = fts5_tokenizer1
  1293  
  1294  type fts5_api1 = struct {
  1295  	iVersion         int32
  1296  	_                [4]byte
  1297  	xCreateTokenizer uintptr
  1298  	xFindTokenizer   uintptr
  1299  	xCreateFunction  uintptr
  1300  }
  1301  
  1302  type fts5_api = fts5_api1
  1303  type ssize_t = int64
  1304  
  1305  type __sfpos = struct {
  1306  	_pos        int64
  1307  	_mbstate_in struct {
  1308  		__mbstateL int64
  1309  		_          [120]byte
  1310  	}
  1311  	_mbstate_out struct {
  1312  		__mbstateL int64
  1313  		_          [120]byte
  1314  	}
  1315  }
  1316  
  1317  type fpos_t = __sfpos
  1318  
  1319  type __sbuf = struct {
  1320  	_base uintptr
  1321  	_size int32
  1322  	_     [4]byte
  1323  }
  1324  
  1325  type __sFILE = struct {
  1326  	_p     uintptr
  1327  	_r     int32
  1328  	_w     int32
  1329  	_flags uint16
  1330  	_file  int16
  1331  	_      [4]byte
  1332  	_bf    struct {
  1333  		_base uintptr
  1334  		_size int32
  1335  		_     [4]byte
  1336  	}
  1337  	_lbfsize int32
  1338  	_        [4]byte
  1339  	_cookie  uintptr
  1340  	_close   uintptr
  1341  	_read    uintptr
  1342  	_seek    uintptr
  1343  	_write   uintptr
  1344  	_ext     struct {
  1345  		_base uintptr
  1346  		_size int32
  1347  		_     [4]byte
  1348  	}
  1349  	_up        uintptr
  1350  	_ur        int32
  1351  	_ubuf      [3]uint8
  1352  	_nbuf      [1]uint8
  1353  	_flush     uintptr
  1354  	_lb_unused [8]int8
  1355  	_blksize   int32
  1356  	_          [4]byte
  1357  	_offset    int64
  1358  }
  1359  
  1360  type FILE = __sFILE
  1361  
  1362  type off_t = int64
  1363  
  1364  type locale_t = uintptr
  1365  
  1366  type int8_t = int8
  1367  
  1368  type uint8_t = uint8
  1369  
  1370  type int16_t = int16
  1371  
  1372  type uint16_t = uint16
  1373  
  1374  type int32_t = int32
  1375  
  1376  type uint32_t = uint32
  1377  
  1378  type int64_t = int64
  1379  
  1380  type uint64_t = uint64
  1381  
  1382  type u_int8_t = uint8_t
  1383  type u_int16_t = uint16_t
  1384  type u_int32_t = uint32_t
  1385  type u_int64_t = uint64_t
  1386  
  1387  type in_addr_t = uint32
  1388  
  1389  type in_port_t = uint16
  1390  
  1391  func __byte_swap_u64_variable(tls *libc.TLS, x uint64_t) uint64_t {
  1392  	panic(`/usr/include/machine/byte_swap.h:50:2: assembler statements not supported`)
  1393  	return x
  1394  }
  1395  
  1396  func __byte_swap_u32_variable(tls *libc.TLS, x uint32_t) uint32_t {
  1397  	panic(`/usr/include/machine/byte_swap.h:59:2: assembler statements not supported`)
  1398  	return x
  1399  }
  1400  
  1401  func __byte_swap_u16_variable(tls *libc.TLS, x uint16_t) uint16_t {
  1402  	panic(`/usr/include/machine/byte_swap.h:68:2: assembler statements not supported`)
  1403  	return x
  1404  }
  1405  
  1406  type intptr_t = int64
  1407  
  1408  type uintptr_t = uint64
  1409  
  1410  type int_least8_t = int8
  1411  type uint_least8_t = uint8
  1412  type int_least16_t = int16
  1413  type uint_least16_t = uint16
  1414  type int_least32_t = int32
  1415  type uint_least32_t = uint32
  1416  type int_least64_t = int64
  1417  type uint_least64_t = uint64
  1418  
  1419  type int_fast8_t = int32
  1420  type uint_fast8_t = uint32
  1421  type int_fast16_t = int32
  1422  type uint_fast16_t = uint32
  1423  type int_fast32_t = int32
  1424  type uint_fast32_t = uint32
  1425  type int_fast64_t = int64
  1426  type uint_fast64_t = uint64
  1427  
  1428  type intmax_t = int64
  1429  type uintmax_t = uint64
  1430  
  1431  type u_char = uint8
  1432  type u_short = uint16
  1433  type u_int = uint32
  1434  type u_long = uint64
  1435  
  1436  type unchar = uint8
  1437  type ushort = uint16
  1438  type uint = uint32
  1439  type ulong = uint64
  1440  
  1441  type u_quad_t = uint64_t
  1442  type quad_t = int64_t
  1443  type qaddr_t = uintptr
  1444  
  1445  type longlong_t = int64_t
  1446  type u_longlong_t = uint64_t
  1447  
  1448  type blkcnt_t = int64_t
  1449  type blksize_t = int32_t
  1450  
  1451  type fsblkcnt_t = uint64
  1452  
  1453  type fsfilcnt_t = uint64
  1454  
  1455  type caddr_t = uintptr
  1456  
  1457  type daddr_t = int64_t
  1458  
  1459  type dev_t = uint64_t
  1460  type fixpt_t = uint32_t
  1461  
  1462  type gid_t = uint32
  1463  
  1464  type id_t = uint32_t
  1465  type ino_t = uint64_t
  1466  type key_t = int64
  1467  
  1468  type mode_t = uint32
  1469  
  1470  type nlink_t = uint32_t
  1471  
  1472  type pid_t = int32
  1473  type lwpid_t = int32_t
  1474  type rlim_t = uint64_t
  1475  type segsz_t = int32_t
  1476  type swblk_t = int32_t
  1477  
  1478  type uid_t = uint32
  1479  
  1480  type mqd_t = int32
  1481  
  1482  type cpuid_t = uint64
  1483  
  1484  type psetid_t = int32
  1485  
  1486  type clock_t = uint32
  1487  
  1488  type time_t = int64
  1489  
  1490  type clockid_t = int32
  1491  
  1492  type timer_t = int32
  1493  
  1494  type suseconds_t = int32
  1495  
  1496  type useconds_t = uint32
  1497  
  1498  type fd_set1 = struct{ fds_bits [8]uint32 }
  1499  
  1500  type fd_set = fd_set1
  1501  
  1502  type kauth_cred_t = uintptr
  1503  
  1504  type pri_t = int32
  1505  
  1506  type pthread_spin_t = uint8
  1507  
  1508  type pthread_queue_struct_t = struct {
  1509  	ptqh_first uintptr
  1510  	ptqh_last  uintptr
  1511  }
  1512  
  1513  type pthread_queue_t = pthread_queue_struct_t
  1514  type __pthread_attr_st = struct {
  1515  	pta_magic   uint32
  1516  	pta_flags   int32
  1517  	pta_private uintptr
  1518  }
  1519  
  1520  type __pthread_mutex_st = struct {
  1521  	ptm_magic      uint32
  1522  	ptm_errorcheck uint8
  1523  	ptm_pad1       [3]uint8_t
  1524  	__8            struct{ ptm_ceiling uint8 }
  1525  	ptm_pad2       [3]uint8_t
  1526  	_              [4]byte
  1527  	ptm_owner      pthread_t
  1528  	ptm_waiters    uintptr
  1529  	ptm_recursed   uint32
  1530  	_              [4]byte
  1531  	ptm_spare2     uintptr
  1532  }
  1533  
  1534  type __pthread_mutexattr_st = struct {
  1535  	ptma_magic   uint32
  1536  	_            [4]byte
  1537  	ptma_private uintptr
  1538  }
  1539  
  1540  type __pthread_cond_st = struct {
  1541  	ptc_magic   uint32
  1542  	ptc_lock    uint8
  1543  	_           [3]byte
  1544  	ptc_waiters pthread_queue_t
  1545  	ptc_mutex   uintptr
  1546  	ptc_private uintptr
  1547  }
  1548  
  1549  type __pthread_condattr_st = struct {
  1550  	ptca_magic   uint32
  1551  	_            [4]byte
  1552  	ptca_private uintptr
  1553  }
  1554  
  1555  type __pthread_rwlock_st = struct {
  1556  	ptr_magic     uint32
  1557  	ptr_interlock uint8
  1558  	_             [3]byte
  1559  	ptr_rblocked  pthread_queue_t
  1560  	ptr_wblocked  pthread_queue_t
  1561  	ptr_nreaders  uint32
  1562  	_             [4]byte
  1563  	ptr_owner     pthread_t
  1564  	ptr_private   uintptr
  1565  }
  1566  
  1567  type __pthread_rwlockattr_st = struct {
  1568  	ptra_magic   uint32
  1569  	_            [4]byte
  1570  	ptra_private uintptr
  1571  }
  1572  
  1573  type __pthread_barrier_st = struct {
  1574  	ptb_magic      uint32
  1575  	ptb_lock       pthread_spin_t
  1576  	_              [3]byte
  1577  	ptb_waiters    pthread_queue_t
  1578  	ptb_initcount  uint32
  1579  	ptb_curcount   uint32
  1580  	ptb_generation uint32
  1581  	_              [4]byte
  1582  	ptb_private    uintptr
  1583  }
  1584  
  1585  type __pthread_barrierattr_st = struct {
  1586  	ptba_magic   uint32
  1587  	_            [4]byte
  1588  	ptba_private uintptr
  1589  }
  1590  
  1591  type pthread_t = uintptr
  1592  type pthread_attr_t = __pthread_attr_st
  1593  type pthread_mutex_t = __pthread_mutex_st
  1594  type pthread_mutexattr_t = __pthread_mutexattr_st
  1595  type pthread_cond_t = __pthread_cond_st
  1596  type pthread_condattr_t = __pthread_condattr_st
  1597  type __pthread_once_st = struct {
  1598  	pto_mutex pthread_mutex_t
  1599  	pto_done  int32
  1600  	_         [4]byte
  1601  }
  1602  
  1603  type pthread_once_t = __pthread_once_st
  1604  type __pthread_spinlock_st = struct {
  1605  	pts_magic uint32
  1606  	pts_spin  uint8
  1607  	_         [3]byte
  1608  	pts_flags int32
  1609  }
  1610  
  1611  type pthread_spinlock_t = __pthread_spinlock_st
  1612  type pthread_rwlock_t = __pthread_rwlock_st
  1613  type pthread_rwlockattr_t = __pthread_rwlockattr_st
  1614  type pthread_barrier_t = __pthread_barrier_st
  1615  type pthread_barrierattr_t = __pthread_barrierattr_st
  1616  type pthread_key_t = int32
  1617  
  1618  type div_t = struct {
  1619  	quot int32
  1620  	rem  int32
  1621  }
  1622  
  1623  type ldiv_t = struct {
  1624  	quot int64
  1625  	rem  int64
  1626  }
  1627  
  1628  type lldiv_t = struct {
  1629  	quot int64
  1630  	rem  int64
  1631  }
  1632  
  1633  type qdiv_t = struct {
  1634  	quot quad_t
  1635  	rem  quad_t
  1636  }
  1637  
  1638  type Global = struct {
  1639  	argv0            uintptr
  1640  	zVfs             uintptr
  1641  	zDbFile          uintptr
  1642  	db               uintptr
  1643  	zErrLog          uintptr
  1644  	pErrLog          uintptr
  1645  	zLog             uintptr
  1646  	pLog             uintptr
  1647  	zName            [32]int8
  1648  	taskId           int32
  1649  	iTrace           int32
  1650  	bSqlTrace        int32
  1651  	bIgnoreSqlErrors int32
  1652  	nError           int32
  1653  	nTest            int32
  1654  	iTimeout         int32
  1655  	bSync            int32
  1656  }
  1657  
  1658  var g Global
  1659  
  1660  func printWithPrefix(tls *libc.TLS, pOut uintptr, zPrefix uintptr, zMsg uintptr) {
  1661  	bp := tls.Alloc(24)
  1662  	defer tls.Free(24)
  1663  
  1664  	for zMsg != 0 && *(*int8)(unsafe.Pointer(zMsg)) != 0 {
  1665  		var i int32
  1666  		for i = 0; *(*int8)(unsafe.Pointer(zMsg + uintptr(i))) != 0 && int32(*(*int8)(unsafe.Pointer(zMsg + uintptr(i)))) != '\n' && int32(*(*int8)(unsafe.Pointer(zMsg + uintptr(i)))) != '\r'; i++ {
  1667  		}
  1668  		libc.Xfprintf(tls, pOut, ts, libc.VaList(bp, zPrefix, i, zMsg))
  1669  		zMsg += uintptr(i)
  1670  		for int32(*(*int8)(unsafe.Pointer(zMsg))) == '\n' || int32(*(*int8)(unsafe.Pointer(zMsg))) == '\r' {
  1671  			zMsg++
  1672  		}
  1673  	}
  1674  }
  1675  
  1676  func safe_strcmp(tls *libc.TLS, a uintptr, b uintptr) int32 {
  1677  	if a == b {
  1678  		return 0
  1679  	}
  1680  	if a == uintptr(0) {
  1681  		return -1
  1682  	}
  1683  	if b == uintptr(0) {
  1684  		return 1
  1685  	}
  1686  	return libc.Xstrcmp(tls, a, b)
  1687  }
  1688  
  1689  func strglob(tls *libc.TLS, zGlob uintptr, z uintptr) int32 {
  1690  	var c int32
  1691  	var c2 int32
  1692  	var invert int32
  1693  	var seen int32
  1694  
  1695  	for libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))) != 0 {
  1696  		if c == '*' {
  1697  			for libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))) == '*' || c == '?' {
  1698  				if c == '?' && int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) == 0 {
  1699  					return 0
  1700  				}
  1701  			}
  1702  			if c == 0 {
  1703  				return 1
  1704  			} else if c == '[' {
  1705  				for *(*int8)(unsafe.Pointer(z)) != 0 && strglob(tls, zGlob-uintptr(1), z) != 0 {
  1706  					z++
  1707  				}
  1708  				return libc.Bool32(int32(*(*int8)(unsafe.Pointer(z))) != 0)
  1709  			}
  1710  			for libc.AssignInt32(&c2, int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))) != 0 {
  1711  				for c2 != c {
  1712  					c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))
  1713  					if c2 == 0 {
  1714  						return 0
  1715  					}
  1716  				}
  1717  				if strglob(tls, zGlob, z) != 0 {
  1718  					return 1
  1719  				}
  1720  			}
  1721  			return 0
  1722  		} else if c == '?' {
  1723  			if int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) == 0 {
  1724  				return 0
  1725  			}
  1726  		} else if c == '[' {
  1727  			var prior_c int32 = 0
  1728  			seen = 0
  1729  			invert = 0
  1730  			c = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))
  1731  			if c == 0 {
  1732  				return 0
  1733  			}
  1734  			c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
  1735  			if c2 == '^' {
  1736  				invert = 1
  1737  				c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
  1738  			}
  1739  			if c2 == ']' {
  1740  				if c == ']' {
  1741  					seen = 1
  1742  				}
  1743  				c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
  1744  			}
  1745  			for c2 != 0 && c2 != ']' {
  1746  				if c2 == '-' && int32(*(*int8)(unsafe.Pointer(zGlob))) != ']' && int32(*(*int8)(unsafe.Pointer(zGlob))) != 0 && prior_c > 0 {
  1747  					c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
  1748  					if c >= prior_c && c <= c2 {
  1749  						seen = 1
  1750  					}
  1751  					prior_c = 0
  1752  				} else {
  1753  					if c == c2 {
  1754  						seen = 1
  1755  					}
  1756  					prior_c = c2
  1757  				}
  1758  				c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
  1759  			}
  1760  			if c2 == 0 || seen^invert == 0 {
  1761  				return 0
  1762  			}
  1763  		} else if c == '#' {
  1764  			if (int32(*(*int8)(unsafe.Pointer(z))) == '-' || int32(*(*int8)(unsafe.Pointer(z))) == '+') && int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(uint8(*(*int8)(unsafe.Pointer(z + 1))))*2)))&X_CTYPE_D != 0 {
  1765  				z++
  1766  			}
  1767  			if !(int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(uint8(*(*int8)(unsafe.Pointer(z))))*2)))&X_CTYPE_D != 0) {
  1768  				return 0
  1769  			}
  1770  			z++
  1771  			for int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(uint8(*(*int8)(unsafe.Pointer(z))))*2)))&X_CTYPE_D != 0 {
  1772  				z++
  1773  			}
  1774  		} else {
  1775  			if c != int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) {
  1776  				return 0
  1777  			}
  1778  		}
  1779  	}
  1780  	return libc.Bool32(int32(*(*int8)(unsafe.Pointer(z))) == 0)
  1781  }
  1782  
  1783  func maybeClose(tls *libc.TLS, pOut uintptr) {
  1784  	if pOut != uintptr(unsafe.Pointer(&libc.X__sF))+1*152 && pOut != uintptr(unsafe.Pointer(&libc.X__sF))+2*152 {
  1785  		libc.Xfclose(tls, pOut)
  1786  	}
  1787  }
  1788  
  1789  func errorMessage(tls *libc.TLS, zFormat uintptr, va uintptr) {
  1790  	bp := tls.Alloc(38)
  1791  	defer tls.Free(38)
  1792  
  1793  	var ap va_list
  1794  	_ = ap
  1795  	var zMsg uintptr
  1796  
  1797  	ap = va
  1798  	zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  1799  	_ = ap
  1800  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8, ts+8, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+64))
  1801  	if g.pLog != 0 {
  1802  		printWithPrefix(tls, g.pLog, bp+8, zMsg)
  1803  		libc.Xfflush(tls, g.pLog)
  1804  	}
  1805  	if g.pErrLog != 0 && safe_strcmp(tls, g.zErrLog, g.zLog) != 0 {
  1806  		printWithPrefix(tls, g.pErrLog, bp+8, zMsg)
  1807  		libc.Xfflush(tls, g.pErrLog)
  1808  	}
  1809  	sqlite3.Xsqlite3_free(tls, zMsg)
  1810  	g.nError++
  1811  }
  1812  
  1813  func fatalError(tls *libc.TLS, zFormat uintptr, va uintptr) {
  1814  	bp := tls.Alloc(38)
  1815  	defer tls.Free(38)
  1816  
  1817  	var ap va_list
  1818  	_ = ap
  1819  	var zMsg uintptr
  1820  
  1821  	ap = va
  1822  	zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  1823  	_ = ap
  1824  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8, ts+19, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+64))
  1825  	if g.pLog != 0 {
  1826  		printWithPrefix(tls, g.pLog, bp+8, zMsg)
  1827  		libc.Xfflush(tls, g.pLog)
  1828  		maybeClose(tls, g.pLog)
  1829  	}
  1830  	if g.pErrLog != 0 && safe_strcmp(tls, g.zErrLog, g.zLog) != 0 {
  1831  		printWithPrefix(tls, g.pErrLog, bp+8, zMsg)
  1832  		libc.Xfflush(tls, g.pErrLog)
  1833  		maybeClose(tls, g.pErrLog)
  1834  	}
  1835  	sqlite3.Xsqlite3_free(tls, zMsg)
  1836  	if g.db != 0 {
  1837  		var nTry int32 = 0
  1838  		g.iTimeout = 0
  1839  		for trySql(tls, ts+30, 0) == SQLITE_BUSY &&
  1840  			libc.PostIncInt32(&nTry, 1) < 100 {
  1841  			sqlite3.Xsqlite3_sleep(tls, 10)
  1842  		}
  1843  	}
  1844  	sqlite3.Xsqlite3_close(tls, g.db)
  1845  	libc.Xexit(tls, 1)
  1846  }
  1847  
  1848  func logMessage(tls *libc.TLS, zFormat uintptr, va uintptr) {
  1849  	bp := tls.Alloc(38)
  1850  	defer tls.Free(38)
  1851  
  1852  	var ap va_list
  1853  	_ = ap
  1854  	var zMsg uintptr
  1855  
  1856  	ap = va
  1857  	zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  1858  	_ = ap
  1859  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8, ts+60, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+64))
  1860  	if g.pLog != 0 {
  1861  		printWithPrefix(tls, g.pLog, bp+8, zMsg)
  1862  		libc.Xfflush(tls, g.pLog)
  1863  	}
  1864  	sqlite3.Xsqlite3_free(tls, zMsg)
  1865  }
  1866  
  1867  func clipLength(tls *libc.TLS, z uintptr) int32 {
  1868  	var n int32 = int32(libc.Xstrlen(tls, z))
  1869  	for n > 0 && int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(uint8(*(*int8)(unsafe.Pointer(z + uintptr(n-1)))))*2)))&X_CTYPE_S != 0 {
  1870  		n--
  1871  	}
  1872  	return n
  1873  }
  1874  
  1875  func vfsNameFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
  1876  	bp := tls.Alloc(8)
  1877  	defer tls.Free(8)
  1878  
  1879  	var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, context)
  1880  	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
  1881  	_ = argc
  1882  	_ = argv
  1883  	sqlite3.Xsqlite3_file_control(tls, db, ts+65, SQLITE_FCNTL_VFSNAME, bp)
  1884  	if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  1885  		sqlite3.Xsqlite3_result_text(tls, context, *(*uintptr)(unsafe.Pointer(bp)), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free})))
  1886  	}
  1887  }
  1888  
  1889  func busyHandler(tls *libc.TLS, pCD uintptr, count int32) int32 {
  1890  	bp := tls.Alloc(8)
  1891  	defer tls.Free(8)
  1892  
  1893  	_ = pCD
  1894  	if count*10 > g.iTimeout {
  1895  		if g.iTimeout > 0 {
  1896  			errorMessage(tls, ts+70, libc.VaList(bp, g.iTimeout))
  1897  		}
  1898  		return 0
  1899  	}
  1900  	sqlite3.Xsqlite3_sleep(tls, 10)
  1901  	return 1
  1902  }
  1903  
  1904  func sqlTraceCallback(tls *libc.TLS, NotUsed1 uintptr, zSql uintptr) {
  1905  	bp := tls.Alloc(16)
  1906  	defer tls.Free(16)
  1907  
  1908  	_ = NotUsed1
  1909  	logMessage(tls, ts+89, libc.VaList(bp, clipLength(tls, zSql), zSql))
  1910  }
  1911  
  1912  func sqlErrorCallback(tls *libc.TLS, pArg uintptr, iErrCode int32, zMsg uintptr) {
  1913  	bp := tls.Alloc(24)
  1914  	defer tls.Free(24)
  1915  
  1916  	_ = pArg
  1917  	if iErrCode == SQLITE_ERROR && g.bIgnoreSqlErrors != 0 {
  1918  		return
  1919  	}
  1920  	if iErrCode&0xff == SQLITE_SCHEMA && g.iTrace < 3 {
  1921  		return
  1922  	}
  1923  	if g.iTimeout == 0 && iErrCode&0xff == SQLITE_BUSY && g.iTrace < 3 {
  1924  		return
  1925  	}
  1926  	if iErrCode&0xff == SQLITE_NOTICE {
  1927  		logMessage(tls, ts+96, libc.VaList(bp, zMsg))
  1928  	} else {
  1929  		errorMessage(tls, ts+106, libc.VaList(bp+8, iErrCode, zMsg))
  1930  	}
  1931  }
  1932  
  1933  func prepareSql(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr {
  1934  	bp := tls.Alloc(24)
  1935  	defer tls.Free(24)
  1936  
  1937  	var ap va_list
  1938  	_ = ap
  1939  	var zSql uintptr
  1940  	var rc int32
  1941  	*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
  1942  	ap = va
  1943  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  1944  	_ = ap
  1945  	rc = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, bp+16, uintptr(0))
  1946  	if rc != SQLITE_OK {
  1947  		sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  1948  		fatalError(tls, ts+122, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db), zSql))
  1949  	}
  1950  	sqlite3.Xsqlite3_free(tls, zSql)
  1951  	return *(*uintptr)(unsafe.Pointer(bp + 16))
  1952  }
  1953  
  1954  func runSql(tls *libc.TLS, zFormat uintptr, va uintptr) {
  1955  	bp := tls.Alloc(16)
  1956  	defer tls.Free(16)
  1957  
  1958  	var ap va_list
  1959  	_ = ap
  1960  	var zSql uintptr
  1961  	var rc int32
  1962  	ap = va
  1963  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  1964  	_ = ap
  1965  	rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), uintptr(0))
  1966  	if rc != SQLITE_OK {
  1967  		fatalError(tls, ts+122, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db), zSql))
  1968  	}
  1969  	sqlite3.Xsqlite3_free(tls, zSql)
  1970  }
  1971  
  1972  func trySql(tls *libc.TLS, zFormat uintptr, va uintptr) int32 {
  1973  	var ap va_list
  1974  	_ = ap
  1975  	var zSql uintptr
  1976  	var rc int32
  1977  	ap = va
  1978  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  1979  	_ = ap
  1980  	rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), uintptr(0))
  1981  	sqlite3.Xsqlite3_free(tls, zSql)
  1982  	return rc
  1983  }
  1984  
  1985  type String1 = struct {
  1986  	z      uintptr
  1987  	n      int32
  1988  	nAlloc int32
  1989  }
  1990  
  1991  type String = String1
  1992  
  1993  func stringFree(tls *libc.TLS, p uintptr) {
  1994  	if (*String)(unsafe.Pointer(p)).z != 0 {
  1995  		sqlite3.Xsqlite3_free(tls, (*String)(unsafe.Pointer(p)).z)
  1996  	}
  1997  	libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(String{})))
  1998  }
  1999  
  2000  func stringAppend(tls *libc.TLS, p uintptr, z uintptr, n int32) {
  2001  	if n < 0 {
  2002  		n = int32(libc.Xstrlen(tls, z))
  2003  	}
  2004  	if (*String)(unsafe.Pointer(p)).n+n >= (*String)(unsafe.Pointer(p)).nAlloc {
  2005  		var nAlloc int32 = (*String)(unsafe.Pointer(p)).nAlloc*2 + n + 100
  2006  		var zNew uintptr = sqlite3.Xsqlite3_realloc(tls, (*String)(unsafe.Pointer(p)).z, nAlloc)
  2007  		if zNew == uintptr(0) {
  2008  			fatalError(tls, ts+129, 0)
  2009  		}
  2010  		(*String)(unsafe.Pointer(p)).z = zNew
  2011  		(*String)(unsafe.Pointer(p)).nAlloc = nAlloc
  2012  	}
  2013  	libc.Xmemcpy(tls, (*String)(unsafe.Pointer(p)).z+uintptr((*String)(unsafe.Pointer(p)).n), z, uint64(n))
  2014  	*(*int32)(unsafe.Pointer(p + 8)) += n
  2015  	*(*int8)(unsafe.Pointer((*String)(unsafe.Pointer(p)).z + uintptr((*String)(unsafe.Pointer(p)).n))) = int8(0)
  2016  }
  2017  
  2018  func stringReset(tls *libc.TLS, p uintptr) {
  2019  	if (*String)(unsafe.Pointer(p)).z == uintptr(0) {
  2020  		stringAppend(tls, p, ts+143, 1)
  2021  	}
  2022  	(*String)(unsafe.Pointer(p)).n = 0
  2023  	*(*int8)(unsafe.Pointer((*String)(unsafe.Pointer(p)).z)) = int8(0)
  2024  }
  2025  
  2026  func stringAppendTerm(tls *libc.TLS, p uintptr, z uintptr) {
  2027  	var i int32
  2028  	if (*String)(unsafe.Pointer(p)).n != 0 {
  2029  		stringAppend(tls, p, ts+143, 1)
  2030  	}
  2031  	if z == uintptr(0) {
  2032  		stringAppend(tls, p, ts+145, 3)
  2033  		return
  2034  	}
  2035  	for i = 0; *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0 && !(int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(uint8(*(*int8)(unsafe.Pointer(z + uintptr(i)))))*2)))&X_CTYPE_S != 0); i++ {
  2036  	}
  2037  	if i > 0 && int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == 0 {
  2038  		stringAppend(tls, p, z, i)
  2039  		return
  2040  	}
  2041  	stringAppend(tls, p, ts+149, 1)
  2042  	for *(*int8)(unsafe.Pointer(z)) != 0 {
  2043  		for i = 0; *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0 && int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) != '\''; i++ {
  2044  		}
  2045  		if *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0 {
  2046  			stringAppend(tls, p, z, i+1)
  2047  			stringAppend(tls, p, ts+149, 1)
  2048  			z += uintptr(i + 1)
  2049  		} else {
  2050  			stringAppend(tls, p, z, i)
  2051  			break
  2052  		}
  2053  	}
  2054  	stringAppend(tls, p, ts+149, 1)
  2055  }
  2056  
  2057  func evalCallback(tls *libc.TLS, pCData uintptr, argc int32, argv uintptr, azCol uintptr) int32 {
  2058  	var p uintptr = pCData
  2059  	var i int32
  2060  	_ = azCol
  2061  	for i = 0; i < argc; i++ {
  2062  		stringAppendTerm(tls, p, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
  2063  	}
  2064  	return 0
  2065  }
  2066  
  2067  func evalSql(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) int32 {
  2068  	bp := tls.Alloc(46)
  2069  	defer tls.Free(46)
  2070  
  2071  	var ap va_list
  2072  	_ = ap
  2073  	var zSql uintptr
  2074  	var rc int32
  2075  	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
  2076  	ap = va
  2077  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  2078  	_ = ap
  2079  
  2080  	rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, *(*uintptr)(unsafe.Pointer(&struct {
  2081  		f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
  2082  	}{evalCallback})), p, bp+8)
  2083  	sqlite3.Xsqlite3_free(tls, zSql)
  2084  	if rc != 0 {
  2085  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+16, ts+151, libc.VaList(bp, rc))
  2086  		stringAppendTerm(tls, p, bp+16)
  2087  		if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  2088  			stringAppendTerm(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8)))
  2089  			sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  2090  		}
  2091  	}
  2092  	return rc
  2093  }
  2094  
  2095  func evalFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
  2096  	bp := tls.Alloc(24)
  2097  	defer tls.Free(24)
  2098  
  2099  	var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, context)
  2100  	var zSql uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
  2101  
  2102  	*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
  2103  	var rc int32
  2104  	_ = argc
  2105  	libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(String{})))
  2106  	rc = sqlite3.Xsqlite3_exec(tls, db, zSql, *(*uintptr)(unsafe.Pointer(&struct {
  2107  		f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
  2108  	}{evalCallback})), bp, bp+16)
  2109  	if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 {
  2110  		sqlite3.Xsqlite3_result_error(tls, context, *(*uintptr)(unsafe.Pointer(bp + 16)), -1)
  2111  		sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  2112  	} else if rc != 0 {
  2113  		sqlite3.Xsqlite3_result_error_code(tls, context, rc)
  2114  	} else {
  2115  		sqlite3.Xsqlite3_result_text(tls, context, (*String)(unsafe.Pointer(bp)).z, -1, libc.UintptrFromInt32(-1))
  2116  	}
  2117  	stringFree(tls, bp)
  2118  }
  2119  
  2120  func startScript(tls *libc.TLS, iClient int32, pzScript uintptr, pTaskId uintptr, pzTaskName uintptr) int32 {
  2121  	bp := tls.Alloc(80)
  2122  	defer tls.Free(80)
  2123  
  2124  	var pStmt uintptr = uintptr(0)
  2125  	var taskId int32
  2126  	var rc int32
  2127  	var totalTime int32 = 0
  2128  
  2129  	*(*uintptr)(unsafe.Pointer(pzScript)) = uintptr(0)
  2130  	g.iTimeout = 0
  2131  	for 1 != 0 {
  2132  		rc = trySql(tls, ts+161, 0)
  2133  		if rc == SQLITE_BUSY {
  2134  			sqlite3.Xsqlite3_sleep(tls, 10)
  2135  			totalTime = totalTime + 10
  2136  			continue
  2137  		}
  2138  		if rc != SQLITE_OK {
  2139  			fatalError(tls, ts+177, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db)))
  2140  		}
  2141  		if g.nError != 0 || g.nTest != 0 {
  2142  			runSql(tls, ts+196,
  2143  				libc.VaList(bp+8, g.nError, g.nTest))
  2144  			g.nError = 0
  2145  			g.nTest = 0
  2146  		}
  2147  		pStmt = prepareSql(tls, ts+249, libc.VaList(bp+24, iClient))
  2148  		rc = sqlite3.Xsqlite3_step(tls, pStmt)
  2149  		sqlite3.Xsqlite3_finalize(tls, pStmt)
  2150  		if rc == SQLITE_ROW {
  2151  			runSql(tls, ts+295, libc.VaList(bp+32, iClient))
  2152  			g.iTimeout = DEFAULT_TIMEOUT
  2153  			runSql(tls, ts+326, 0)
  2154  			return SQLITE_DONE
  2155  		}
  2156  		pStmt = prepareSql(tls,
  2157  			ts+346, libc.VaList(bp+40, iClient))
  2158  		rc = sqlite3.Xsqlite3_step(tls, pStmt)
  2159  		if rc == SQLITE_ROW {
  2160  			var n int32 = sqlite3.Xsqlite3_column_bytes(tls, pStmt, 0)
  2161  			*(*uintptr)(unsafe.Pointer(pzScript)) = sqlite3.Xsqlite3_malloc(tls, n+1)
  2162  			libc.Xstrcpy(tls, *(*uintptr)(unsafe.Pointer(pzScript)), sqlite3.Xsqlite3_column_text(tls, pStmt, 0))
  2163  			*(*int32)(unsafe.Pointer(pTaskId)) = libc.AssignInt32(&taskId, sqlite3.Xsqlite3_column_int(tls, pStmt, 1))
  2164  			*(*uintptr)(unsafe.Pointer(pzTaskName)) = sqlite3.Xsqlite3_mprintf(tls, ts+438, libc.VaList(bp+48, sqlite3.Xsqlite3_column_text(tls, pStmt, 2)))
  2165  			sqlite3.Xsqlite3_finalize(tls, pStmt)
  2166  			runSql(tls,
  2167  				ts+441, libc.VaList(bp+56, taskId))
  2168  			g.iTimeout = DEFAULT_TIMEOUT
  2169  			runSql(tls, ts+326, 0)
  2170  			return SQLITE_OK
  2171  		}
  2172  		sqlite3.Xsqlite3_finalize(tls, pStmt)
  2173  		if rc == SQLITE_DONE {
  2174  			if totalTime > 30000 {
  2175  				errorMessage(tls, ts+524, 0)
  2176  				runSql(tls, ts+573, libc.VaList(bp+64, iClient))
  2177  				sqlite3.Xsqlite3_close(tls, g.db)
  2178  				libc.Xexit(tls, 1)
  2179  			}
  2180  			for trySql(tls, ts+613, 0) == SQLITE_BUSY {
  2181  				sqlite3.Xsqlite3_sleep(tls, 10)
  2182  				totalTime = totalTime + 10
  2183  			}
  2184  			sqlite3.Xsqlite3_sleep(tls, 100)
  2185  			totalTime = totalTime + 100
  2186  			continue
  2187  		}
  2188  		fatalError(tls, ts+438, libc.VaList(bp+72, sqlite3.Xsqlite3_errmsg(tls, g.db)))
  2189  	}
  2190  	g.iTimeout = DEFAULT_TIMEOUT
  2191  	return int32(0)
  2192  }
  2193  
  2194  func finishScript(tls *libc.TLS, iClient int32, taskId int32, bShutdown int32) int32 {
  2195  	bp := tls.Alloc(16)
  2196  	defer tls.Free(16)
  2197  
  2198  	runSql(tls,
  2199  		ts+620, libc.VaList(bp, taskId))
  2200  	if bShutdown != 0 {
  2201  		runSql(tls, ts+295, libc.VaList(bp+8, iClient))
  2202  	}
  2203  	return SQLITE_OK
  2204  }
  2205  
  2206  func startClient(tls *libc.TLS, iClient int32) {
  2207  	bp := tls.Alloc(96)
  2208  	defer tls.Free(96)
  2209  
  2210  	runSql(tls, ts+701, libc.VaList(bp, iClient))
  2211  	if sqlite3.Xsqlite3_changes(tls, g.db) != 0 {
  2212  		var zSys uintptr
  2213  		var rc int32
  2214  		zSys = sqlite3.Xsqlite3_mprintf(tls, ts+743,
  2215  			libc.VaList(bp+8, g.argv0, g.zDbFile, iClient, g.iTrace))
  2216  		if g.bSqlTrace != 0 {
  2217  			zSys = sqlite3.Xsqlite3_mprintf(tls, ts+774, libc.VaList(bp+40, zSys))
  2218  		}
  2219  		if g.bSync != 0 {
  2220  			zSys = sqlite3.Xsqlite3_mprintf(tls, ts+788, libc.VaList(bp+48, zSys))
  2221  		}
  2222  		if g.zVfs != 0 {
  2223  			zSys = sqlite3.Xsqlite3_mprintf(tls, ts+798, libc.VaList(bp+56, zSys, g.zVfs))
  2224  		}
  2225  		if g.iTrace >= 2 {
  2226  			logMessage(tls, ts+812, libc.VaList(bp+72, zSys))
  2227  		}
  2228  		zSys = sqlite3.Xsqlite3_mprintf(tls, ts+825, libc.VaList(bp+80, zSys))
  2229  		rc = libc.Xsystem(tls, zSys)
  2230  		if rc != 0 {
  2231  			errorMessage(tls, ts+830, libc.VaList(bp+88, rc))
  2232  		}
  2233  		sqlite3.Xsqlite3_free(tls, zSys)
  2234  	}
  2235  }
  2236  
  2237  func readFile(tls *libc.TLS, zFilename uintptr) uintptr {
  2238  	bp := tls.Alloc(8)
  2239  	defer tls.Free(8)
  2240  
  2241  	var in uintptr = libc.Xfopen(tls, zFilename, ts+864)
  2242  	var sz int64
  2243  	var z uintptr
  2244  	if in == uintptr(0) {
  2245  		fatalError(tls, ts+867, libc.VaList(bp, zFilename))
  2246  	}
  2247  	libc.Xfseek(tls, in, int64(0), SEEK_END)
  2248  	sz = libc.Xftell(tls, in)
  2249  	libc.Xrewind(tls, in)
  2250  	z = sqlite3.Xsqlite3_malloc(tls, int32(sz+int64(1)))
  2251  	sz = int64(libc.Xfread(tls, z, uint64(1), uint64(sz), in))
  2252  	*(*int8)(unsafe.Pointer(z + uintptr(sz))) = int8(0)
  2253  	libc.Xfclose(tls, in)
  2254  	return z
  2255  }
  2256  
  2257  func tokenLength(tls *libc.TLS, z uintptr, pnLine uintptr) int32 {
  2258  	var n int32 = 0
  2259  	if int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(uint8(*(*int8)(unsafe.Pointer(z))))*2)))&X_CTYPE_S != 0 || int32(*(*int8)(unsafe.Pointer(z))) == '/' && int32(*(*int8)(unsafe.Pointer(z + 1))) == '*' {
  2260  		var inC int32 = 0
  2261  		var c int32
  2262  		if int32(*(*int8)(unsafe.Pointer(z))) == '/' {
  2263  			inC = 1
  2264  			n = 2
  2265  		}
  2266  		for libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&n, 1)))))) != 0 {
  2267  			if c == '\n' {
  2268  				*(*int32)(unsafe.Pointer(pnLine))++
  2269  			}
  2270  			if int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(uint8(c))*2)))&X_CTYPE_S != 0 {
  2271  				continue
  2272  			}
  2273  			if inC != 0 && c == '*' && int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == '/' {
  2274  				n++
  2275  				inC = 0
  2276  			} else if !(inC != 0) && c == '/' && int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == '*' {
  2277  				n++
  2278  				inC = 1
  2279  			} else if !(inC != 0) {
  2280  				break
  2281  			}
  2282  		}
  2283  		n--
  2284  	} else if int32(*(*int8)(unsafe.Pointer(z))) == '-' && int32(*(*int8)(unsafe.Pointer(z + 1))) == '-' {
  2285  		for n = 2; *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 && int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) != '\n'; n++ {
  2286  		}
  2287  		if *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 {
  2288  			*(*int32)(unsafe.Pointer(pnLine))++
  2289  			n++
  2290  		}
  2291  	} else if int32(*(*int8)(unsafe.Pointer(z))) == '"' || int32(*(*int8)(unsafe.Pointer(z))) == '\'' {
  2292  		var delim int32 = int32(*(*int8)(unsafe.Pointer(z)))
  2293  		for n = 1; *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0; n++ {
  2294  			if int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == '\n' {
  2295  				*(*int32)(unsafe.Pointer(pnLine))++
  2296  			}
  2297  			if int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == delim {
  2298  				n++
  2299  				if int32(*(*int8)(unsafe.Pointer(z + uintptr(n+1)))) != delim {
  2300  					break
  2301  				}
  2302  			}
  2303  		}
  2304  	} else {
  2305  		var c int32
  2306  		for n = 1; libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(z + uintptr(n))))) != 0 && !(int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(uint8(c))*2)))&X_CTYPE_S != 0) && c != '"' && c != '\'' && c != ';'; n++ {
  2307  		}
  2308  	}
  2309  	return n
  2310  }
  2311  
  2312  func extractToken(tls *libc.TLS, zIn uintptr, nIn int32, zOut uintptr, nOut int32) int32 {
  2313  	var i int32
  2314  	if nIn <= 0 {
  2315  		*(*int8)(unsafe.Pointer(zOut)) = int8(0)
  2316  		return 0
  2317  	}
  2318  	for i = 0; i < nIn && i < nOut-1 && !(int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(uint8(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))))*2)))&X_CTYPE_S != 0); i++ {
  2319  		*(*int8)(unsafe.Pointer(zOut + uintptr(i))) = *(*int8)(unsafe.Pointer(zIn + uintptr(i)))
  2320  	}
  2321  	*(*int8)(unsafe.Pointer(zOut + uintptr(i))) = int8(0)
  2322  	return i
  2323  }
  2324  
  2325  func findEnd(tls *libc.TLS, z uintptr, pnLine uintptr) int32 {
  2326  	var n int32 = 0
  2327  	for *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 && (libc.Xstrncmp(tls, z+uintptr(n), ts+896, uint64(5)) != 0 || !(int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(uint8(*(*int8)(unsafe.Pointer(z + uintptr(n+5)))))*2)))&X_CTYPE_S != 0)) {
  2328  		n = n + tokenLength(tls, z+uintptr(n), pnLine)
  2329  	}
  2330  	return n
  2331  }
  2332  
  2333  func findEndif(tls *libc.TLS, z uintptr, stopAtElse int32, pnLine uintptr) int32 {
  2334  	var n int32 = 0
  2335  	for *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 {
  2336  		var len int32 = tokenLength(tls, z+uintptr(n), pnLine)
  2337  		if libc.Xstrncmp(tls, z+uintptr(n), ts+902, uint64(7)) == 0 && int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(uint8(*(*int8)(unsafe.Pointer(z + uintptr(n+7)))))*2)))&X_CTYPE_S != 0 ||
  2338  			stopAtElse != 0 && libc.Xstrncmp(tls, z+uintptr(n), ts+910, uint64(6)) == 0 && int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(uint8(*(*int8)(unsafe.Pointer(z + uintptr(n+6)))))*2)))&X_CTYPE_S != 0 {
  2339  			return n + len
  2340  		}
  2341  		if libc.Xstrncmp(tls, z+uintptr(n), ts+917, uint64(4)) == 0 && int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(uint8(*(*int8)(unsafe.Pointer(z + uintptr(n+4)))))*2)))&X_CTYPE_S != 0 {
  2342  			var skip int32 = findEndif(tls, z+uintptr(n)+uintptr(len), 0, pnLine)
  2343  			n = n + (skip + len)
  2344  		} else {
  2345  			n = n + len
  2346  		}
  2347  	}
  2348  	return n
  2349  }
  2350  
  2351  func waitForClient(tls *libc.TLS, iClient int32, iTimeout int32, zErrPrefix uintptr) {
  2352  	bp := tls.Alloc(32)
  2353  	defer tls.Free(32)
  2354  
  2355  	var pStmt uintptr
  2356  	var rc int32
  2357  	if iClient > 0 {
  2358  		pStmt = prepareSql(tls,
  2359  			ts+922,
  2360  			libc.VaList(bp, iClient))
  2361  	} else {
  2362  		pStmt = prepareSql(tls,
  2363  			ts+1018, 0)
  2364  	}
  2365  	g.iTimeout = 0
  2366  	for (libc.AssignInt32(&rc, sqlite3.Xsqlite3_step(tls, pStmt)) == SQLITE_BUSY || rc == SQLITE_ROW) &&
  2367  		iTimeout > 0 {
  2368  		sqlite3.Xsqlite3_reset(tls, pStmt)
  2369  		sqlite3.Xsqlite3_sleep(tls, 50)
  2370  		iTimeout = iTimeout - 50
  2371  	}
  2372  	sqlite3.Xsqlite3_finalize(tls, pStmt)
  2373  	g.iTimeout = DEFAULT_TIMEOUT
  2374  	if rc != SQLITE_DONE {
  2375  		if zErrPrefix == uintptr(0) {
  2376  			zErrPrefix = ts + 1099
  2377  		}
  2378  		if iClient > 0 {
  2379  			errorMessage(tls, ts+1100, libc.VaList(bp+8, zErrPrefix, iClient))
  2380  		} else {
  2381  			errorMessage(tls, ts+1132, libc.VaList(bp+24, zErrPrefix))
  2382  		}
  2383  	}
  2384  }
  2385  
  2386  func filenameTail(tls *libc.TLS, z uintptr) uintptr {
  2387  	var i int32
  2388  	var j int32
  2389  	for i = libc.AssignInt32(&j, 0); *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0; i++ {
  2390  		if int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == '/' {
  2391  			j = i + 1
  2392  		}
  2393  	}
  2394  	return z + uintptr(j)
  2395  }
  2396  
  2397  func booleanValue(tls *libc.TLS, zArg uintptr) int32 {
  2398  	bp := tls.Alloc(8)
  2399  	defer tls.Free(8)
  2400  
  2401  	var i int32
  2402  	if zArg == uintptr(0) {
  2403  		return 0
  2404  	}
  2405  	for i = 0; int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i)))) >= '0' && int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i)))) <= '9'; i++ {
  2406  	}
  2407  	if i > 0 && int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i)))) == 0 {
  2408  		return libc.Xatoi(tls, zArg)
  2409  	}
  2410  	if sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1166) == 0 || sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1169) == 0 {
  2411  		return 1
  2412  	}
  2413  	if sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1173) == 0 || sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1177) == 0 {
  2414  		return 0
  2415  	}
  2416  	errorMessage(tls, ts+1180, libc.VaList(bp, zArg))
  2417  	return 0
  2418  }
  2419  
  2420  func test_breakpoint(tls *libc.TLS) {
  2421  	atomic.AddInt32(&cnt, 1)
  2422  }
  2423  
  2424  var cnt int32 = 0
  2425  
  2426  func runScript(tls *libc.TLS, iClient int32, taskId int32, zScript uintptr, zFilename uintptr) {
  2427  	bp := tls.Alloc(1610)
  2428  	defer tls.Free(1610)
  2429  
  2430  	*(*int32)(unsafe.Pointer(bp + 376)) = 1
  2431  	var prevLine int32 = 1
  2432  	var ii int32 = 0
  2433  	var iBegin int32 = 0
  2434  	var n int32
  2435  	var c int32
  2436  	var j int32
  2437  	var len int32
  2438  	var nArg int32
  2439  
  2440  	libc.Xmemset(tls, bp+360, 0, uint64(unsafe.Sizeof(String{})))
  2441  	stringReset(tls, bp+360)
  2442  	for libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(zScript + uintptr(ii))))) != 0 {
  2443  		prevLine = *(*int32)(unsafe.Pointer(bp + 376))
  2444  		len = tokenLength(tls, zScript+uintptr(ii), bp+376)
  2445  		if int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(uint8(c))*2)))&X_CTYPE_S != 0 || c == '/' && int32(*(*int8)(unsafe.Pointer(zScript + uintptr(ii+1)))) == '*' {
  2446  			ii = ii + len
  2447  			continue
  2448  		}
  2449  		if c != '-' || int32(*(*int8)(unsafe.Pointer(zScript + uintptr(ii+1)))) != '-' || !(int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(*(*int8)(unsafe.Pointer(zScript + uintptr(ii+2))))*2)))&X_CTYPE_A != 0) {
  2450  			ii = ii + len
  2451  			continue
  2452  		}
  2453  
  2454  		if ii > iBegin {
  2455  			var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+1202, libc.VaList(bp, ii-iBegin, zScript+uintptr(iBegin)))
  2456  			evalSql(tls, bp+360, zSql, 0)
  2457  			sqlite3.Xsqlite3_free(tls, zSql)
  2458  			iBegin = ii + len
  2459  		}
  2460  
  2461  		if g.iTrace >= 2 {
  2462  			logMessage(tls, ts+1202, libc.VaList(bp+16, len, zScript+uintptr(ii)))
  2463  		}
  2464  		n = extractToken(tls, zScript+uintptr(ii)+uintptr(2), len-2, bp+380, int32(unsafe.Sizeof([30]int8{})))
  2465  		for nArg = 0; n < len-2 && nArg < MX_ARG; nArg++ {
  2466  			for n < len-2 && int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr(ii+2+n)))))*2)))&X_CTYPE_S != 0 {
  2467  				n++
  2468  			}
  2469  			if n >= len-2 {
  2470  				break
  2471  			}
  2472  			n = n + extractToken(tls, zScript+uintptr(ii)+uintptr(2)+uintptr(n), len-2-n,
  2473  				bp+410+uintptr(nArg)*100, int32(unsafe.Sizeof([100]int8{})))
  2474  		}
  2475  		for j = nArg; j < MX_ARG; j++ {
  2476  			*(*int8)(unsafe.Pointer(bp + 410 + uintptr(libc.PostIncInt32(&j, 1))*100)) = int8(0)
  2477  		}
  2478  
  2479  		if libc.Xstrcmp(tls, bp+380, ts+1207) == 0 {
  2480  			sqlite3.Xsqlite3_sleep(tls, libc.Xatoi(tls, bp+410))
  2481  		} else if libc.Xstrcmp(tls, bp+380, ts+1213) == 0 {
  2482  			var rc int32 = libc.Xatoi(tls, bp+410)
  2483  			finishScript(tls, iClient, taskId, 1)
  2484  			if rc == 0 {
  2485  				sqlite3.Xsqlite3_close(tls, g.db)
  2486  			}
  2487  			libc.Xexit(tls, rc)
  2488  		} else if libc.Xstrcmp(tls, bp+380, ts+1218) == 0 {
  2489  			if g.iTrace == 1 {
  2490  				logMessage(tls, ts+1202, libc.VaList(bp+32, len-1, zScript+uintptr(ii)))
  2491  			}
  2492  			stringReset(tls, bp+360)
  2493  		} else if libc.Xstrcmp(tls, bp+380, ts+1227) == 0 && iClient > 0 {
  2494  			finishScript(tls, iClient, taskId, 1)
  2495  		} else if libc.Xstrcmp(tls, bp+380, ts+1234) == 0 {
  2496  			stringReset(tls, bp+360)
  2497  		} else if libc.Xstrcmp(tls, bp+380, ts+1240) == 0 {
  2498  			var jj int32
  2499  			var zAns uintptr = zScript + uintptr(ii)
  2500  			for jj = 7; jj < len-1 && int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(uint8(*(*int8)(unsafe.Pointer(zAns + uintptr(jj)))))*2)))&X_CTYPE_S != 0; jj++ {
  2501  			}
  2502  			zAns += uintptr(jj)
  2503  			if len-jj-1 != (*String)(unsafe.Pointer(bp+360)).n || libc.Xstrncmp(tls, (*String)(unsafe.Pointer(bp+360)).z, zAns, uint64(len-jj-1)) != 0 {
  2504  				errorMessage(tls, ts+1246,
  2505  					libc.VaList(bp+48, prevLine, zFilename, len-jj-1, zAns, (*String)(unsafe.Pointer(bp+360)).z))
  2506  			}
  2507  			g.nTest++
  2508  			stringReset(tls, bp+360)
  2509  		} else if libc.Xstrcmp(tls, bp+380, ts+1291) == 0 || libc.Xstrcmp(tls, bp+380, ts+1296) == 0 {
  2510  			var jj int32
  2511  			var zAns uintptr = zScript + uintptr(ii)
  2512  			var zCopy uintptr
  2513  			var isGlob int32 = libc.Bool32(int32(*(*int8)(unsafe.Pointer(bp + 380))) == 'g')
  2514  			for jj = 9 - 3*isGlob; jj < len-1 && int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(uint8(*(*int8)(unsafe.Pointer(zAns + uintptr(jj)))))*2)))&X_CTYPE_S != 0; jj++ {
  2515  			}
  2516  			zAns += uintptr(jj)
  2517  			zCopy = sqlite3.Xsqlite3_mprintf(tls, ts+1202, libc.VaList(bp+88, len-jj-1, zAns))
  2518  			if libc.Bool32(sqlite3.Xsqlite3_strglob(tls, zCopy, (*String)(unsafe.Pointer(bp+360)).z) == 0)^isGlob != 0 {
  2519  				errorMessage(tls, ts+1304,
  2520  					libc.VaList(bp+104, prevLine, zFilename, zCopy, (*String)(unsafe.Pointer(bp+360)).z))
  2521  			}
  2522  			sqlite3.Xsqlite3_free(tls, zCopy)
  2523  			g.nTest++
  2524  			stringReset(tls, bp+360)
  2525  		} else if libc.Xstrcmp(tls, bp+380, ts+1347) == 0 {
  2526  			logMessage(tls, ts+438, libc.VaList(bp+136, (*String)(unsafe.Pointer(bp+360)).z))
  2527  		} else if libc.Xstrcmp(tls, bp+380, ts+1354) == 0 {
  2528  			var zNewFile uintptr
  2529  			var zNewScript uintptr
  2530  			var zToDel uintptr = uintptr(0)
  2531  			zNewFile = bp + 410
  2532  			if !(int32(*(*int8)(unsafe.Pointer(zNewFile))) == '/') {
  2533  				var k int32
  2534  				for k = int32(libc.Xstrlen(tls, zFilename)) - 1; k >= 0 && !(int32(*(*int8)(unsafe.Pointer(zFilename + uintptr(k)))) == '/'); k-- {
  2535  				}
  2536  				if k > 0 {
  2537  					zNewFile = libc.AssignUintptr(&zToDel, sqlite3.Xsqlite3_mprintf(tls, ts+1361, libc.VaList(bp+144, k, zFilename, zNewFile)))
  2538  				}
  2539  			}
  2540  			zNewScript = readFile(tls, zNewFile)
  2541  			if g.iTrace != 0 {
  2542  				logMessage(tls, ts+1369, libc.VaList(bp+168, zNewFile))
  2543  			}
  2544  			runScript(tls, 0, 0, zNewScript, zNewFile)
  2545  			sqlite3.Xsqlite3_free(tls, zNewScript)
  2546  			if g.iTrace != 0 {
  2547  				logMessage(tls, ts+1388, libc.VaList(bp+176, zNewFile))
  2548  			}
  2549  			sqlite3.Xsqlite3_free(tls, zToDel)
  2550  		} else if libc.Xstrcmp(tls, bp+380, ts+1405) == 0 {
  2551  			var jj int32
  2552  			for jj = 7; jj < len && int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr(ii+jj)))))*2)))&X_CTYPE_S != 0; jj++ {
  2553  			}
  2554  			logMessage(tls, ts+1202, libc.VaList(bp+184, len-jj, zScript+uintptr(ii)+uintptr(jj)))
  2555  		} else if libc.Xstrcmp(tls, bp+380, ts+1411) == 0 {
  2556  			var jj int32
  2557  			var rc int32
  2558  			var pStmt uintptr
  2559  			for jj = 4; jj < len && int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr(ii+jj)))))*2)))&X_CTYPE_S != 0; jj++ {
  2560  			}
  2561  			pStmt = prepareSql(tls, ts+1414, libc.VaList(bp+200, len-jj, zScript+uintptr(ii)+uintptr(jj)))
  2562  			rc = sqlite3.Xsqlite3_step(tls, pStmt)
  2563  			if rc != SQLITE_ROW || sqlite3.Xsqlite3_column_int(tls, pStmt, 0) == 0 {
  2564  				ii = ii + findEndif(tls, zScript+uintptr(ii)+uintptr(len), 1, bp+376)
  2565  			}
  2566  			sqlite3.Xsqlite3_finalize(tls, pStmt)
  2567  		} else if libc.Xstrcmp(tls, bp+380, ts+1426) == 0 {
  2568  			ii = ii + findEndif(tls, zScript+uintptr(ii)+uintptr(len), 0, bp+376)
  2569  		} else if libc.Xstrcmp(tls, bp+380, ts+1431) == 0 {
  2570  		} else if libc.Xstrcmp(tls, bp+380, ts+1437) == 0 && iClient == 0 {
  2571  			var iNewClient int32 = libc.Xatoi(tls, bp+410)
  2572  			if iNewClient > 0 {
  2573  				startClient(tls, iNewClient)
  2574  			}
  2575  		} else if libc.Xstrcmp(tls, bp+380, ts+1443) == 0 && iClient == 0 {
  2576  			var iTimeout int32
  2577  			if nArg >= 2 {
  2578  				iTimeout = libc.Xatoi(tls, bp+410+1*100)
  2579  			} else {
  2580  				iTimeout = 10000
  2581  			}
  2582  			sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([1000]int8{})), bp+610, ts+1448,
  2583  				libc.VaList(bp+216, prevLine, zFilename))
  2584  			waitForClient(tls, libc.Xatoi(tls, bp+410), iTimeout, bp+610)
  2585  		} else if libc.Xstrcmp(tls, bp+380, ts+1463) == 0 && iClient == 0 {
  2586  			var iTarget int32 = libc.Xatoi(tls, bp+410)
  2587  			var iEnd int32
  2588  			var zTask uintptr
  2589  			var zTName uintptr
  2590  			iEnd = findEnd(tls, zScript+uintptr(ii)+uintptr(len), bp+376)
  2591  			if iTarget < 0 {
  2592  				errorMessage(tls, ts+1468,
  2593  					libc.VaList(bp+232, prevLine, zFilename, iTarget))
  2594  			} else {
  2595  				zTask = sqlite3.Xsqlite3_mprintf(tls, ts+1202, libc.VaList(bp+256, iEnd, zScript+uintptr(ii)+uintptr(len)))
  2596  				if nArg > 1 {
  2597  					zTName = sqlite3.Xsqlite3_mprintf(tls, ts+438, libc.VaList(bp+272, bp+410+1*100))
  2598  				} else {
  2599  					zTName = sqlite3.Xsqlite3_mprintf(tls, ts+1505, libc.VaList(bp+280, filenameTail(tls, zFilename), prevLine))
  2600  				}
  2601  				startClient(tls, iTarget)
  2602  				runSql(tls,
  2603  					ts+1511, libc.VaList(bp+296, iTarget, zTask, zTName))
  2604  				sqlite3.Xsqlite3_free(tls, zTask)
  2605  				sqlite3.Xsqlite3_free(tls, zTName)
  2606  			}
  2607  			iEnd = iEnd + tokenLength(tls, zScript+uintptr(ii)+uintptr(len)+uintptr(iEnd), bp+376)
  2608  			len = len + iEnd
  2609  			iBegin = ii + len
  2610  		} else if libc.Xstrcmp(tls, bp+380, ts+1567) == 0 {
  2611  			test_breakpoint(tls)
  2612  		} else if libc.Xstrcmp(tls, bp+380, ts+1578) == 0 {
  2613  			g.bIgnoreSqlErrors = func() int32 {
  2614  				if nArg >= 1 {
  2615  					return libc.BoolInt32(!(booleanValue(tls, bp+410) != 0))
  2616  				}
  2617  				return 1
  2618  			}()
  2619  		} else {
  2620  			errorMessage(tls, ts+1594,
  2621  				libc.VaList(bp+320, prevLine, zFilename, bp+380))
  2622  		}
  2623  		ii = ii + len
  2624  	}
  2625  	if iBegin < ii {
  2626  		var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+1202, libc.VaList(bp+344, ii-iBegin, zScript+uintptr(iBegin)))
  2627  		runSql(tls, zSql, 0)
  2628  		sqlite3.Xsqlite3_free(tls, zSql)
  2629  	}
  2630  	stringFree(tls, bp+360)
  2631  }
  2632  
  2633  func findOption(tls *libc.TLS, azArg uintptr, pnArg uintptr, zOption uintptr, hasArg int32) uintptr {
  2634  	bp := tls.Alloc(8)
  2635  	defer tls.Free(8)
  2636  
  2637  	var i int32
  2638  	var j int32
  2639  	var zReturn uintptr = uintptr(0)
  2640  	var nArg int32 = *(*int32)(unsafe.Pointer(pnArg))
  2641  
  2642  	for i = 0; i < nArg; i++ {
  2643  		var z uintptr
  2644  		if i+hasArg >= nArg {
  2645  			break
  2646  		}
  2647  		z = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8))
  2648  		if int32(*(*int8)(unsafe.Pointer(z))) != '-' {
  2649  			continue
  2650  		}
  2651  		z++
  2652  		if int32(*(*int8)(unsafe.Pointer(z))) == '-' {
  2653  			if int32(*(*int8)(unsafe.Pointer(z + 1))) == 0 {
  2654  				break
  2655  			}
  2656  			z++
  2657  		}
  2658  		if libc.Xstrcmp(tls, z, zOption) == 0 {
  2659  			if hasArg != 0 && i == nArg-1 {
  2660  				fatalError(tls, ts+1630, libc.VaList(bp, z))
  2661  			}
  2662  			if hasArg != 0 {
  2663  				zReturn = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
  2664  			} else {
  2665  				zReturn = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8))
  2666  			}
  2667  			j = i + 1 + libc.Bool32(hasArg != 0)
  2668  			for j < nArg {
  2669  				*(*uintptr)(unsafe.Pointer(azArg + uintptr(libc.PostIncInt32(&i, 1))*8)) = *(*uintptr)(unsafe.Pointer(azArg + uintptr(libc.PostIncInt32(&j, 1))*8))
  2670  			}
  2671  			*(*int32)(unsafe.Pointer(pnArg)) = i
  2672  			return zReturn
  2673  		}
  2674  	}
  2675  	return zReturn
  2676  }
  2677  
  2678  func usage(tls *libc.TLS, argv0 uintptr) {
  2679  	bp := tls.Alloc(8)
  2680  	defer tls.Free(8)
  2681  
  2682  	var i int32
  2683  	var zTail uintptr = argv0
  2684  	for i = 0; *(*int8)(unsafe.Pointer(argv0 + uintptr(i))) != 0; i++ {
  2685  		if int32(*(*int8)(unsafe.Pointer(argv0 + uintptr(i)))) == '/' {
  2686  			zTail = argv0 + uintptr(i) + uintptr(1)
  2687  		}
  2688  	}
  2689  	libc.Xfprintf(tls, uintptr(unsafe.Pointer(&libc.X__sF))+2*152, ts+1678, libc.VaList(bp, zTail))
  2690  	libc.Xfprintf(tls, uintptr(unsafe.Pointer(&libc.X__sF))+2*152,
  2691  		ts+1717, 0)
  2692  	libc.Xexit(tls, 1)
  2693  }
  2694  
  2695  func unrecognizedArguments(tls *libc.TLS, argv0 uintptr, nArg int32, azArg uintptr) {
  2696  	bp := tls.Alloc(16)
  2697  	defer tls.Free(16)
  2698  
  2699  	var i int32
  2700  	libc.Xfprintf(tls, uintptr(unsafe.Pointer(&libc.X__sF))+2*152, ts+2289, libc.VaList(bp, argv0))
  2701  	for i = 0; i < nArg; i++ {
  2702  		libc.Xfprintf(tls, uintptr(unsafe.Pointer(&libc.X__sF))+2*152, ts+2317, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8))))
  2703  	}
  2704  	libc.Xfprintf(tls, uintptr(unsafe.Pointer(&libc.X__sF))+2*152, ts+2321, 0)
  2705  	libc.Xexit(tls, 1)
  2706  }
  2707  
  2708  func main1(tls *libc.TLS, argc int32, argv uintptr) int32 {
  2709  	bp := tls.Alloc(264)
  2710  	defer tls.Free(264)
  2711  
  2712  	var zClient uintptr
  2713  	var iClient int32
  2714  
  2715  	var i int32
  2716  	var openFlags int32 = SQLITE_OPEN_READWRITE
  2717  	var rc int32
  2718  
  2719  	var zTrace uintptr
  2720  	var zCOption uintptr
  2721  	var zJMode uintptr
  2722  	var zNRep uintptr
  2723  	var nRep int32 = 1
  2724  	var iRep int32
  2725  	var iTmout int32 = 0
  2726  	var zTmout uintptr
  2727  
  2728  	g.argv0 = *(*uintptr)(unsafe.Pointer(argv))
  2729  	g.iTrace = 1
  2730  	if argc < 2 {
  2731  		usage(tls, *(*uintptr)(unsafe.Pointer(argv)))
  2732  	}
  2733  	g.zDbFile = *(*uintptr)(unsafe.Pointer(argv + 1*8))
  2734  	if strglob(tls, ts+2323, g.zDbFile) != 0 {
  2735  		usage(tls, *(*uintptr)(unsafe.Pointer(argv)))
  2736  	}
  2737  	if libc.Xstrcmp(tls, sqlite3.Xsqlite3_sourceid(tls), ts+2330) != 0 {
  2738  		libc.Xfprintf(tls, uintptr(unsafe.Pointer(&libc.X__sF))+2*152,
  2739  			ts+2415,
  2740  			libc.VaList(bp, sqlite3.Xsqlite3_sourceid(tls), ts+2330))
  2741  		libc.Xexit(tls, 1)
  2742  	}
  2743  	*(*int32)(unsafe.Pointer(bp + 232)) = argc - 2
  2744  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]int8{})), uintptr(unsafe.Pointer(&g))+64, ts+2475, libc.VaList(bp+16, libc.Xgetpid(tls)))
  2745  	zJMode = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2487, 1)
  2746  	zNRep = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2499, 1)
  2747  	if zNRep != 0 {
  2748  		nRep = libc.Xatoi(tls, zNRep)
  2749  	}
  2750  	if nRep < 1 {
  2751  		nRep = 1
  2752  	}
  2753  	g.zVfs = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2506, 1)
  2754  	zClient = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2510, 1)
  2755  	g.zErrLog = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2517, 1)
  2756  	g.zLog = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2524, 1)
  2757  	zTrace = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2528, 1)
  2758  	if zTrace != 0 {
  2759  		g.iTrace = libc.Xatoi(tls, zTrace)
  2760  	}
  2761  	if findOption(tls, argv+uintptr(2)*8, bp+232, ts+2534, 0) != uintptr(0) {
  2762  		g.iTrace = 0
  2763  	}
  2764  	zTmout = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2540, 1)
  2765  	if zTmout != 0 {
  2766  		iTmout = libc.Xatoi(tls, zTmout)
  2767  	}
  2768  	g.bSqlTrace = libc.Bool32(findOption(tls, argv+uintptr(2)*8, bp+232, ts+2548, 0) != uintptr(0))
  2769  	g.bSync = libc.Bool32(findOption(tls, argv+uintptr(2)*8, bp+232, ts+2557, 0) != uintptr(0))
  2770  	if g.zErrLog != 0 {
  2771  		g.pErrLog = libc.Xfopen(tls, g.zErrLog, ts+2562)
  2772  	} else {
  2773  		g.pErrLog = uintptr(unsafe.Pointer(&libc.X__sF)) + 2*152
  2774  	}
  2775  	if g.zLog != 0 {
  2776  		g.pLog = libc.Xfopen(tls, g.zLog, ts+2562)
  2777  	} else {
  2778  		g.pLog = uintptr(unsafe.Pointer(&libc.X__sF)) + 1*152
  2779  	}
  2780  
  2781  	sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOG, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(&struct {
  2782  		f func(*libc.TLS, uintptr, int32, uintptr)
  2783  	}{sqlErrorCallback})), 0))
  2784  	if zClient != 0 {
  2785  		iClient = libc.Xatoi(tls, zClient)
  2786  		if iClient < 1 {
  2787  			fatalError(tls, ts+2564, libc.VaList(bp+40, iClient))
  2788  		}
  2789  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]int8{})), uintptr(unsafe.Pointer(&g))+64, ts+2591,
  2790  			libc.VaList(bp+48, libc.Xgetpid(tls), iClient))
  2791  	} else {
  2792  		var nTry int32 = 0
  2793  		if g.iTrace > 0 {
  2794  			libc.Xprintf(tls, ts+2607, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(argv))))
  2795  			for i = 1; i < argc; i++ {
  2796  				libc.Xprintf(tls, ts+2317, libc.VaList(bp+72, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  2797  			}
  2798  			libc.Xprintf(tls, ts+2321, 0)
  2799  			libc.Xprintf(tls, ts+2617, 0)
  2800  			for i = 0; libc.AssignUintptr(&zCOption, sqlite3.Xsqlite3_compileoption_get(tls, i)) != uintptr(0); i++ {
  2801  				libc.Xprintf(tls, ts+2722, libc.VaList(bp+80, zCOption))
  2802  			}
  2803  			libc.Xfflush(tls, uintptr(unsafe.Pointer(&libc.X__sF))+1*152)
  2804  		}
  2805  		iClient = 0
  2806  		for __ccgo := true; __ccgo; __ccgo = rc != 0 && libc.PreIncInt32(&nTry, 1) < 60 && sqlite3.Xsqlite3_sleep(tls, 1000) > 0 {
  2807  			if nTry%5 == 4 {
  2808  				libc.Xprintf(tls, ts+2735,
  2809  					libc.VaList(bp+88, func() uintptr {
  2810  						if nTry > 5 {
  2811  							return ts + 2764
  2812  						}
  2813  						return ts + 1099
  2814  					}(), g.zDbFile))
  2815  			}
  2816  			rc = libc.Xunlink(tls, g.zDbFile)
  2817  			if rc != 0 && *(*int32)(unsafe.Pointer(libc.X__errno(tls))) == ENOENT {
  2818  				rc = 0
  2819  			}
  2820  		}
  2821  		if rc != 0 {
  2822  			fatalError(tls, ts+2771,
  2823  				libc.VaList(bp+104, g.zDbFile, nTry))
  2824  		}
  2825  		openFlags = openFlags | SQLITE_OPEN_CREATE
  2826  	}
  2827  	rc = sqlite3.Xsqlite3_open_v2(tls, g.zDbFile, uintptr(unsafe.Pointer(&g))+24, openFlags, g.zVfs)
  2828  	if rc != 0 {
  2829  		fatalError(tls, ts+2812, libc.VaList(bp+120, g.zDbFile))
  2830  	}
  2831  	if iTmout > 0 {
  2832  		sqlite3.Xsqlite3_busy_timeout(tls, g.db, iTmout)
  2833  	}
  2834  
  2835  	if zJMode != 0 {
  2836  		runSql(tls, ts+2829, libc.VaList(bp+128, zJMode))
  2837  	}
  2838  	if !(g.bSync != 0) {
  2839  		trySql(tls, ts+2853, 0)
  2840  	}
  2841  	sqlite3.Xsqlite3_enable_load_extension(tls, g.db, 1)
  2842  	sqlite3.Xsqlite3_busy_handler(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct {
  2843  		f func(*libc.TLS, uintptr, int32) int32
  2844  	}{busyHandler})), uintptr(0))
  2845  	sqlite3.Xsqlite3_create_function(tls, g.db, ts+2876, 0, SQLITE_UTF8, uintptr(0),
  2846  		*(*uintptr)(unsafe.Pointer(&struct {
  2847  			f func(*libc.TLS, uintptr, int32, uintptr)
  2848  		}{vfsNameFunc})), uintptr(0), uintptr(0))
  2849  	sqlite3.Xsqlite3_create_function(tls, g.db, ts+2884, 1, SQLITE_UTF8, uintptr(0),
  2850  		*(*uintptr)(unsafe.Pointer(&struct {
  2851  			f func(*libc.TLS, uintptr, int32, uintptr)
  2852  		}{evalFunc})), uintptr(0), uintptr(0))
  2853  	g.iTimeout = DEFAULT_TIMEOUT
  2854  	if g.bSqlTrace != 0 {
  2855  		sqlite3.Xsqlite3_trace(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct {
  2856  			f func(*libc.TLS, uintptr, uintptr)
  2857  		}{sqlTraceCallback})), uintptr(0))
  2858  	}
  2859  	if iClient > 0 {
  2860  		if *(*int32)(unsafe.Pointer(bp + 232)) > 0 {
  2861  			unrecognizedArguments(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*int32)(unsafe.Pointer(bp + 232)), argv+uintptr(2)*8)
  2862  		}
  2863  		if g.iTrace != 0 {
  2864  			logMessage(tls, ts+2889, 0)
  2865  		}
  2866  		for 1 != 0 {
  2867  			*(*uintptr)(unsafe.Pointer(bp + 256)) = uintptr(0)
  2868  			rc = startScript(tls, iClient, bp+240, bp+248, bp+256)
  2869  			if rc == SQLITE_DONE {
  2870  				break
  2871  			}
  2872  			if g.iTrace != 0 {
  2873  				logMessage(tls, ts+2902, libc.VaList(bp+136, *(*uintptr)(unsafe.Pointer(bp + 256)), *(*int32)(unsafe.Pointer(bp + 248))))
  2874  			}
  2875  			runScript(tls, iClient, *(*int32)(unsafe.Pointer(bp + 248)), *(*uintptr)(unsafe.Pointer(bp + 240)), *(*uintptr)(unsafe.Pointer(bp + 256)))
  2876  			if g.iTrace != 0 {
  2877  				logMessage(tls, ts+2916, libc.VaList(bp+152, *(*uintptr)(unsafe.Pointer(bp + 256)), *(*int32)(unsafe.Pointer(bp + 248))))
  2878  			}
  2879  			finishScript(tls, iClient, *(*int32)(unsafe.Pointer(bp + 248)), 0)
  2880  			sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 256)))
  2881  			sqlite3.Xsqlite3_sleep(tls, 10)
  2882  		}
  2883  		if g.iTrace != 0 {
  2884  			logMessage(tls, ts+2928, 0)
  2885  		}
  2886  	} else {
  2887  		var pStmt uintptr
  2888  		var iTimeout int32
  2889  		if *(*int32)(unsafe.Pointer(bp + 232)) == 0 {
  2890  			fatalError(tls, ts+2939, 0)
  2891  		}
  2892  		if *(*int32)(unsafe.Pointer(bp + 232)) > 1 {
  2893  			unrecognizedArguments(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*int32)(unsafe.Pointer(bp + 232)), argv+uintptr(2)*8)
  2894  		}
  2895  		runSql(tls,
  2896  			ts+2963, 0)
  2897  		*(*uintptr)(unsafe.Pointer(bp + 240)) = readFile(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)))
  2898  		for iRep = 1; iRep <= nRep; iRep++ {
  2899  			if g.iTrace != 0 {
  2900  				logMessage(tls, ts+3399, libc.VaList(bp+168, *(*uintptr)(unsafe.Pointer(argv + 2*8)), iRep))
  2901  			}
  2902  			runScript(tls, 0, 0, *(*uintptr)(unsafe.Pointer(bp + 240)), *(*uintptr)(unsafe.Pointer(argv + 2*8)))
  2903  			if g.iTrace != 0 {
  2904  				logMessage(tls, ts+3427, libc.VaList(bp+184, *(*uintptr)(unsafe.Pointer(argv + 2*8)), iRep))
  2905  			}
  2906  		}
  2907  		sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 240)))
  2908  		waitForClient(tls, 0, 2000, ts+3453)
  2909  		trySql(tls, ts+3473, 0)
  2910  		sqlite3.Xsqlite3_sleep(tls, 10)
  2911  		g.iTimeout = 0
  2912  		iTimeout = 1000
  2913  		for (libc.AssignInt32(&rc, trySql(tls, ts+3502, 0)) == SQLITE_BUSY ||
  2914  			rc == SQLITE_ROW) && iTimeout > 0 {
  2915  			sqlite3.Xsqlite3_sleep(tls, 10)
  2916  			iTimeout = iTimeout - 10
  2917  		}
  2918  		sqlite3.Xsqlite3_sleep(tls, 100)
  2919  		pStmt = prepareSql(tls, ts+3523, 0)
  2920  		iTimeout = 1000
  2921  		for libc.AssignInt32(&rc, sqlite3.Xsqlite3_step(tls, pStmt)) == SQLITE_BUSY && iTimeout > 0 {
  2922  			sqlite3.Xsqlite3_sleep(tls, 10)
  2923  			iTimeout = iTimeout - 10
  2924  		}
  2925  		if rc == SQLITE_ROW {
  2926  			*(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112)) += sqlite3.Xsqlite3_column_int(tls, pStmt, 0)
  2927  			*(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 116)) += sqlite3.Xsqlite3_column_int(tls, pStmt, 1)
  2928  		}
  2929  		sqlite3.Xsqlite3_finalize(tls, pStmt)
  2930  	}
  2931  	sqlite3.Xsqlite3_close(tls, g.db)
  2932  	maybeClose(tls, g.pLog)
  2933  	maybeClose(tls, g.pErrLog)
  2934  	if iClient == 0 {
  2935  		libc.Xprintf(tls, ts+3558, libc.VaList(bp+200, g.nError, g.nTest))
  2936  		libc.Xprintf(tls, ts+3594, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(argv))))
  2937  		for i = 1; i < argc; i++ {
  2938  			libc.Xprintf(tls, ts+2317, libc.VaList(bp+224, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  2939  		}
  2940  		libc.Xprintf(tls, ts+2321, 0)
  2941  	}
  2942  	return libc.Bool32(g.nError > 0)
  2943  }
  2944  
  2945  var ts1 = "%s%.*s\n\x00%s:ERROR: \x00%s:FATAL: \x00UPDATE client SET wantHalt=1;\x00%s: \x00main\x00timeout after %dms\x00[%.*s]\x00(info) %s\x00(errcode=%d) %s\x00%s\n%s\n\x00out of memory\x00 \x00nil\x00'\x00error(%d)\x00BEGIN IMMEDIATE\x00in startScript: %s\x00UPDATE counters SET nError=nError+%d, nTest=nTest+%d\x00SELECT 1 FROM client WHERE id=%d AND wantHalt\x00DELETE FROM client WHERE id=%d\x00COMMIT TRANSACTION;\x00SELECT script, id, name FROM task WHERE client=%d AND starttime IS NULL ORDER BY id LIMIT 1\x00%s\x00UPDATE task   SET starttime=strftime('%%Y-%%m-%%d %%H:%%M:%%f','now') WHERE id=%d;\x00Waited over 30 seconds with no work.  Giving up.\x00DELETE FROM client WHERE id=%d; COMMIT;\x00COMMIT\x00UPDATE task   SET endtime=strftime('%%Y-%%m-%%d %%H:%%M:%%f','now') WHERE id=%d;\x00INSERT OR IGNORE INTO client VALUES(%d,0)\x00%s \"%s\" --client %d --trace %d\x00%z --sqltrace\x00%z --sync\x00%z --vfs \"%s\"\x00system('%q')\x00%z &\x00system() fails with error code %d\x00rb\x00cannot open \"%s\" for reading\x00--end\x00--endif\x00--else\x00--if\x00SELECT 1 FROM task WHERE client=%d   AND client IN (SELECT id FROM client)  AND endtime IS NULL\x00SELECT 1 FROM task WHERE client IN (SELECT id FROM client)   AND endtime IS NULL\x00\x00%stimeout waiting for client %d\x00%stimeout waiting for all clients\x00on\x00yes\x00off\x00no\x00unknown boolean: [%s]\x00%.*s\x00sleep\x00exit\x00testcase\x00finish\x00reset\x00match\x00line %d of %s:\nExpected [%.*s]\n     Got [%s]\x00glob\x00notglob\x00line %d of %s:\nExpected [%s]\n     Got [%s]\x00output\x00source\x00%.*s/%s\x00begin script [%s]\n\x00end script [%s]\n\x00print\x00if\x00SELECT %.*s\x00else\x00endif\x00start\x00wait\x00line %d of %s\n\x00task\x00line %d of %s: bad client number: %d\x00%s:%d\x00INSERT INTO task(client,script,name) VALUES(%d,'%q',%Q)\x00breakpoint\x00show-sql-errors\x00line %d of %s: unknown command --%s\x00command-line option \"--%s\" requires an argument\x00Usage: %s DATABASE ?OPTIONS? ?SCRIPT?\n\x00Options:\n   --errlog FILENAME           Write errors to FILENAME\n   --journalmode MODE          Use MODE as the journal_mode\n   --log FILENAME              Log messages to FILENAME\n   --quiet                     Suppress unnecessary output\n   --vfs NAME                  Use NAME as the VFS\n   --repeat N                  Repeat the test N times\n   --sqltrace                  Enable SQL tracing\n   --sync                      Enable synchronous disk writes\n   --timeout MILLISEC          Busy timeout is MILLISEC\n   --trace BOOLEAN             Enable or disable tracing\n\x00%s: unrecognized arguments:\x00 %s\x00\n\x00*.test\x002022-09-05 11:02:23 4635f4a69c8c2a8df242b384a992aea71224e39a2ccab42d8c0b0602f1e826e8\x00SQLite library and header mismatch\nLibrary: %s\nHeader:  %s\n\x00%05d.mptest\x00journalmode\x00repeat\x00vfs\x00client\x00errlog\x00log\x00trace\x00quiet\x00timeout\x00sqltrace\x00sync\x00a\x00illegal client number: %d\n\x00%05d.client%02d\x00BEGIN: %s\x00With SQLite 3.39.3 2022-09-05 11:02:23 4635f4a69c8c2a8df242b384a992aea71224e39a2ccab42d8c0b0602f1e826e8\n\x00-DSQLITE_%s\n\x00... %strying to unlink '%s'\n\x00still \x00unable to unlink '%s' after %d attempts\n\x00cannot open [%s]\x00PRAGMA journal_mode=%Q;\x00PRAGMA synchronous=OFF\x00vfsname\x00eval\x00start-client\x00begin %s (%d)\x00end %s (%d)\x00end-client\x00missing script filename\x00DROP TABLE IF EXISTS task;\nDROP TABLE IF EXISTS counters;\nDROP TABLE IF EXISTS client;\nCREATE TABLE task(\n  id INTEGER PRIMARY KEY,\n  name TEXT,\n  client INTEGER,\n  starttime DATE,\n  endtime DATE,\n  script TEXT\n);CREATE INDEX task_i1 ON task(client, starttime);\nCREATE INDEX task_i2 ON task(client, endtime);\nCREATE TABLE counters(nError,nTest);\nINSERT INTO counters VALUES(0,0);\nCREATE TABLE client(id INTEGER PRIMARY KEY, wantHalt);\n\x00begin script [%s] cycle %d\n\x00end script [%s] cycle %d\n\x00during shutdown...\n\x00UPDATE client SET wantHalt=1\x00SELECT 1 FROM client\x00SELECT nError, nTest FROM counters\x00Summary: %d errors out of %d tests\n\x00END: %s\x00"
  2946  var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data