mirror of
https://gitlab.com/cznic/sqlite.git
synced 2024-11-09 02:09:23 +00:00
1422 lines
32 KiB
Go
1422 lines
32 KiB
Go
// Code generated by 'ccgo -o vfs_linux_arm.go c/vfs.c -I../testdata/sqlite-amalgamation-3380500 -lmodernc.org/sqlite/lib -pkgname vfs -nocapi -export-externs X -D SQLITE_OS_UNIX -hide=vfsFullPathname -hide=vfsOpen -hide=vfsRead -hide=vfsAccess -hide=vfsFileSize -hide=vfsClose', DO NOT EDIT.
|
|
|
|
package vfs
|
|
|
|
import (
|
|
"math"
|
|
"reflect"
|
|
"sync/atomic"
|
|
"unsafe"
|
|
|
|
"modernc.org/libc"
|
|
"modernc.org/libc/sys/types"
|
|
"modernc.org/sqlite/lib"
|
|
)
|
|
|
|
var _ = math.Pi
|
|
var _ reflect.Kind
|
|
var _ atomic.Value
|
|
var _ unsafe.Pointer
|
|
var _ *libc.TLS
|
|
var _ types.Size_t
|
|
|
|
const (
|
|
_PC_LINK_MAX = 0
|
|
_PC_MAX_CANON = 1
|
|
_PC_MAX_INPUT = 2
|
|
_PC_NAME_MAX = 3
|
|
_PC_PATH_MAX = 4
|
|
_PC_PIPE_BUF = 5
|
|
_PC_CHOWN_RESTRICTED = 6
|
|
_PC_NO_TRUNC = 7
|
|
_PC_VDISABLE = 8
|
|
_PC_SYNC_IO = 9
|
|
_PC_ASYNC_IO = 10
|
|
_PC_PRIO_IO = 11
|
|
_PC_SOCK_MAXBUF = 12
|
|
_PC_FILESIZEBITS = 13
|
|
_PC_REC_INCR_XFER_SIZE = 14
|
|
_PC_REC_MAX_XFER_SIZE = 15
|
|
_PC_REC_MIN_XFER_SIZE = 16
|
|
_PC_REC_XFER_ALIGN = 17
|
|
_PC_ALLOC_SIZE_MIN = 18
|
|
_PC_SYMLINK_MAX = 19
|
|
_PC_2_SYMLINKS = 20
|
|
)
|
|
|
|
const (
|
|
_CS_PATH = 0
|
|
|
|
_CS_V6_WIDTH_RESTRICTED_ENVS = 1
|
|
|
|
_CS_GNU_LIBC_VERSION = 2
|
|
_CS_GNU_LIBPTHREAD_VERSION = 3
|
|
|
|
_CS_V5_WIDTH_RESTRICTED_ENVS = 4
|
|
|
|
_CS_V7_WIDTH_RESTRICTED_ENVS = 5
|
|
|
|
_CS_LFS_CFLAGS = 1000
|
|
_CS_LFS_LDFLAGS = 1001
|
|
_CS_LFS_LIBS = 1002
|
|
_CS_LFS_LINTFLAGS = 1003
|
|
_CS_LFS64_CFLAGS = 1004
|
|
_CS_LFS64_LDFLAGS = 1005
|
|
_CS_LFS64_LIBS = 1006
|
|
_CS_LFS64_LINTFLAGS = 1007
|
|
|
|
_CS_XBS5_ILP32_OFF32_CFLAGS = 1100
|
|
_CS_XBS5_ILP32_OFF32_LDFLAGS = 1101
|
|
_CS_XBS5_ILP32_OFF32_LIBS = 1102
|
|
_CS_XBS5_ILP32_OFF32_LINTFLAGS = 1103
|
|
_CS_XBS5_ILP32_OFFBIG_CFLAGS = 1104
|
|
_CS_XBS5_ILP32_OFFBIG_LDFLAGS = 1105
|
|
_CS_XBS5_ILP32_OFFBIG_LIBS = 1106
|
|
_CS_XBS5_ILP32_OFFBIG_LINTFLAGS = 1107
|
|
_CS_XBS5_LP64_OFF64_CFLAGS = 1108
|
|
_CS_XBS5_LP64_OFF64_LDFLAGS = 1109
|
|
_CS_XBS5_LP64_OFF64_LIBS = 1110
|
|
_CS_XBS5_LP64_OFF64_LINTFLAGS = 1111
|
|
_CS_XBS5_LPBIG_OFFBIG_CFLAGS = 1112
|
|
_CS_XBS5_LPBIG_OFFBIG_LDFLAGS = 1113
|
|
_CS_XBS5_LPBIG_OFFBIG_LIBS = 1114
|
|
_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = 1115
|
|
|
|
_CS_POSIX_V6_ILP32_OFF32_CFLAGS = 1116
|
|
_CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 1117
|
|
_CS_POSIX_V6_ILP32_OFF32_LIBS = 1118
|
|
_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS = 1119
|
|
_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 1120
|
|
_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 1121
|
|
_CS_POSIX_V6_ILP32_OFFBIG_LIBS = 1122
|
|
_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = 1123
|
|
_CS_POSIX_V6_LP64_OFF64_CFLAGS = 1124
|
|
_CS_POSIX_V6_LP64_OFF64_LDFLAGS = 1125
|
|
_CS_POSIX_V6_LP64_OFF64_LIBS = 1126
|
|
_CS_POSIX_V6_LP64_OFF64_LINTFLAGS = 1127
|
|
_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 1128
|
|
_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 1129
|
|
_CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 1130
|
|
_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = 1131
|
|
|
|
_CS_POSIX_V7_ILP32_OFF32_CFLAGS = 1132
|
|
_CS_POSIX_V7_ILP32_OFF32_LDFLAGS = 1133
|
|
_CS_POSIX_V7_ILP32_OFF32_LIBS = 1134
|
|
_CS_POSIX_V7_ILP32_OFF32_LINTFLAGS = 1135
|
|
_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS = 1136
|
|
_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS = 1137
|
|
_CS_POSIX_V7_ILP32_OFFBIG_LIBS = 1138
|
|
_CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS = 1139
|
|
_CS_POSIX_V7_LP64_OFF64_CFLAGS = 1140
|
|
_CS_POSIX_V7_LP64_OFF64_LDFLAGS = 1141
|
|
_CS_POSIX_V7_LP64_OFF64_LIBS = 1142
|
|
_CS_POSIX_V7_LP64_OFF64_LINTFLAGS = 1143
|
|
_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS = 1144
|
|
_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS = 1145
|
|
_CS_POSIX_V7_LPBIG_OFFBIG_LIBS = 1146
|
|
_CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS = 1147
|
|
|
|
_CS_V6_ENV = 1148
|
|
_CS_V7_ENV = 1149
|
|
)
|
|
|
|
const (
|
|
_SC_ARG_MAX = 0
|
|
_SC_CHILD_MAX = 1
|
|
_SC_CLK_TCK = 2
|
|
_SC_NGROUPS_MAX = 3
|
|
_SC_OPEN_MAX = 4
|
|
_SC_STREAM_MAX = 5
|
|
_SC_TZNAME_MAX = 6
|
|
_SC_JOB_CONTROL = 7
|
|
_SC_SAVED_IDS = 8
|
|
_SC_REALTIME_SIGNALS = 9
|
|
_SC_PRIORITY_SCHEDULING = 10
|
|
_SC_TIMERS = 11
|
|
_SC_ASYNCHRONOUS_IO = 12
|
|
_SC_PRIORITIZED_IO = 13
|
|
_SC_SYNCHRONIZED_IO = 14
|
|
_SC_FSYNC = 15
|
|
_SC_MAPPED_FILES = 16
|
|
_SC_MEMLOCK = 17
|
|
_SC_MEMLOCK_RANGE = 18
|
|
_SC_MEMORY_PROTECTION = 19
|
|
_SC_MESSAGE_PASSING = 20
|
|
_SC_SEMAPHORES = 21
|
|
_SC_SHARED_MEMORY_OBJECTS = 22
|
|
_SC_AIO_LISTIO_MAX = 23
|
|
_SC_AIO_MAX = 24
|
|
_SC_AIO_PRIO_DELTA_MAX = 25
|
|
_SC_DELAYTIMER_MAX = 26
|
|
_SC_MQ_OPEN_MAX = 27
|
|
_SC_MQ_PRIO_MAX = 28
|
|
_SC_VERSION = 29
|
|
_SC_PAGESIZE = 30
|
|
_SC_RTSIG_MAX = 31
|
|
_SC_SEM_NSEMS_MAX = 32
|
|
_SC_SEM_VALUE_MAX = 33
|
|
_SC_SIGQUEUE_MAX = 34
|
|
_SC_TIMER_MAX = 35
|
|
|
|
_SC_BC_BASE_MAX = 36
|
|
_SC_BC_DIM_MAX = 37
|
|
_SC_BC_SCALE_MAX = 38
|
|
_SC_BC_STRING_MAX = 39
|
|
_SC_COLL_WEIGHTS_MAX = 40
|
|
_SC_EQUIV_CLASS_MAX = 41
|
|
_SC_EXPR_NEST_MAX = 42
|
|
_SC_LINE_MAX = 43
|
|
_SC_RE_DUP_MAX = 44
|
|
_SC_CHARCLASS_NAME_MAX = 45
|
|
|
|
_SC_2_VERSION = 46
|
|
_SC_2_C_BIND = 47
|
|
_SC_2_C_DEV = 48
|
|
_SC_2_FORT_DEV = 49
|
|
_SC_2_FORT_RUN = 50
|
|
_SC_2_SW_DEV = 51
|
|
_SC_2_LOCALEDEF = 52
|
|
|
|
_SC_PII = 53
|
|
_SC_PII_XTI = 54
|
|
_SC_PII_SOCKET = 55
|
|
_SC_PII_INTERNET = 56
|
|
_SC_PII_OSI = 57
|
|
_SC_POLL = 58
|
|
_SC_SELECT = 59
|
|
_SC_UIO_MAXIOV = 60
|
|
_SC_IOV_MAX = 60
|
|
_SC_PII_INTERNET_STREAM = 61
|
|
_SC_PII_INTERNET_DGRAM = 62
|
|
_SC_PII_OSI_COTS = 63
|
|
_SC_PII_OSI_CLTS = 64
|
|
_SC_PII_OSI_M = 65
|
|
_SC_T_IOV_MAX = 66
|
|
|
|
_SC_THREADS = 67
|
|
_SC_THREAD_SAFE_FUNCTIONS = 68
|
|
_SC_GETGR_R_SIZE_MAX = 69
|
|
_SC_GETPW_R_SIZE_MAX = 70
|
|
_SC_LOGIN_NAME_MAX = 71
|
|
_SC_TTY_NAME_MAX = 72
|
|
_SC_THREAD_DESTRUCTOR_ITERATIONS = 73
|
|
_SC_THREAD_KEYS_MAX = 74
|
|
_SC_THREAD_STACK_MIN = 75
|
|
_SC_THREAD_THREADS_MAX = 76
|
|
_SC_THREAD_ATTR_STACKADDR = 77
|
|
_SC_THREAD_ATTR_STACKSIZE = 78
|
|
_SC_THREAD_PRIORITY_SCHEDULING = 79
|
|
_SC_THREAD_PRIO_INHERIT = 80
|
|
_SC_THREAD_PRIO_PROTECT = 81
|
|
_SC_THREAD_PROCESS_SHARED = 82
|
|
|
|
_SC_NPROCESSORS_CONF = 83
|
|
_SC_NPROCESSORS_ONLN = 84
|
|
_SC_PHYS_PAGES = 85
|
|
_SC_AVPHYS_PAGES = 86
|
|
_SC_ATEXIT_MAX = 87
|
|
_SC_PASS_MAX = 88
|
|
|
|
_SC_XOPEN_VERSION = 89
|
|
_SC_XOPEN_XCU_VERSION = 90
|
|
_SC_XOPEN_UNIX = 91
|
|
_SC_XOPEN_CRYPT = 92
|
|
_SC_XOPEN_ENH_I18N = 93
|
|
_SC_XOPEN_SHM = 94
|
|
|
|
_SC_2_CHAR_TERM = 95
|
|
_SC_2_C_VERSION = 96
|
|
_SC_2_UPE = 97
|
|
|
|
_SC_XOPEN_XPG2 = 98
|
|
_SC_XOPEN_XPG3 = 99
|
|
_SC_XOPEN_XPG4 = 100
|
|
|
|
_SC_CHAR_BIT = 101
|
|
_SC_CHAR_MAX = 102
|
|
_SC_CHAR_MIN = 103
|
|
_SC_INT_MAX = 104
|
|
_SC_INT_MIN = 105
|
|
_SC_LONG_BIT = 106
|
|
_SC_WORD_BIT = 107
|
|
_SC_MB_LEN_MAX = 108
|
|
_SC_NZERO = 109
|
|
_SC_SSIZE_MAX = 110
|
|
_SC_SCHAR_MAX = 111
|
|
_SC_SCHAR_MIN = 112
|
|
_SC_SHRT_MAX = 113
|
|
_SC_SHRT_MIN = 114
|
|
_SC_UCHAR_MAX = 115
|
|
_SC_UINT_MAX = 116
|
|
_SC_ULONG_MAX = 117
|
|
_SC_USHRT_MAX = 118
|
|
|
|
_SC_NL_ARGMAX = 119
|
|
_SC_NL_LANGMAX = 120
|
|
_SC_NL_MSGMAX = 121
|
|
_SC_NL_NMAX = 122
|
|
_SC_NL_SETMAX = 123
|
|
_SC_NL_TEXTMAX = 124
|
|
|
|
_SC_XBS5_ILP32_OFF32 = 125
|
|
_SC_XBS5_ILP32_OFFBIG = 126
|
|
_SC_XBS5_LP64_OFF64 = 127
|
|
_SC_XBS5_LPBIG_OFFBIG = 128
|
|
|
|
_SC_XOPEN_LEGACY = 129
|
|
_SC_XOPEN_REALTIME = 130
|
|
_SC_XOPEN_REALTIME_THREADS = 131
|
|
|
|
_SC_ADVISORY_INFO = 132
|
|
_SC_BARRIERS = 133
|
|
_SC_BASE = 134
|
|
_SC_C_LANG_SUPPORT = 135
|
|
_SC_C_LANG_SUPPORT_R = 136
|
|
_SC_CLOCK_SELECTION = 137
|
|
_SC_CPUTIME = 138
|
|
_SC_THREAD_CPUTIME = 139
|
|
_SC_DEVICE_IO = 140
|
|
_SC_DEVICE_SPECIFIC = 141
|
|
_SC_DEVICE_SPECIFIC_R = 142
|
|
_SC_FD_MGMT = 143
|
|
_SC_FIFO = 144
|
|
_SC_PIPE = 145
|
|
_SC_FILE_ATTRIBUTES = 146
|
|
_SC_FILE_LOCKING = 147
|
|
_SC_FILE_SYSTEM = 148
|
|
_SC_MONOTONIC_CLOCK = 149
|
|
_SC_MULTI_PROCESS = 150
|
|
_SC_SINGLE_PROCESS = 151
|
|
_SC_NETWORKING = 152
|
|
_SC_READER_WRITER_LOCKS = 153
|
|
_SC_SPIN_LOCKS = 154
|
|
_SC_REGEXP = 155
|
|
_SC_REGEX_VERSION = 156
|
|
_SC_SHELL = 157
|
|
_SC_SIGNALS = 158
|
|
_SC_SPAWN = 159
|
|
_SC_SPORADIC_SERVER = 160
|
|
_SC_THREAD_SPORADIC_SERVER = 161
|
|
_SC_SYSTEM_DATABASE = 162
|
|
_SC_SYSTEM_DATABASE_R = 163
|
|
_SC_TIMEOUTS = 164
|
|
_SC_TYPED_MEMORY_OBJECTS = 165
|
|
_SC_USER_GROUPS = 166
|
|
_SC_USER_GROUPS_R = 167
|
|
_SC_2_PBS = 168
|
|
_SC_2_PBS_ACCOUNTING = 169
|
|
_SC_2_PBS_LOCATE = 170
|
|
_SC_2_PBS_MESSAGE = 171
|
|
_SC_2_PBS_TRACK = 172
|
|
_SC_SYMLOOP_MAX = 173
|
|
_SC_STREAMS = 174
|
|
_SC_2_PBS_CHECKPOINT = 175
|
|
|
|
_SC_V6_ILP32_OFF32 = 176
|
|
_SC_V6_ILP32_OFFBIG = 177
|
|
_SC_V6_LP64_OFF64 = 178
|
|
_SC_V6_LPBIG_OFFBIG = 179
|
|
|
|
_SC_HOST_NAME_MAX = 180
|
|
_SC_TRACE = 181
|
|
_SC_TRACE_EVENT_FILTER = 182
|
|
_SC_TRACE_INHERIT = 183
|
|
_SC_TRACE_LOG = 184
|
|
|
|
_SC_LEVEL1_ICACHE_SIZE = 185
|
|
_SC_LEVEL1_ICACHE_ASSOC = 186
|
|
_SC_LEVEL1_ICACHE_LINESIZE = 187
|
|
_SC_LEVEL1_DCACHE_SIZE = 188
|
|
_SC_LEVEL1_DCACHE_ASSOC = 189
|
|
_SC_LEVEL1_DCACHE_LINESIZE = 190
|
|
_SC_LEVEL2_CACHE_SIZE = 191
|
|
_SC_LEVEL2_CACHE_ASSOC = 192
|
|
_SC_LEVEL2_CACHE_LINESIZE = 193
|
|
_SC_LEVEL3_CACHE_SIZE = 194
|
|
_SC_LEVEL3_CACHE_ASSOC = 195
|
|
_SC_LEVEL3_CACHE_LINESIZE = 196
|
|
_SC_LEVEL4_CACHE_SIZE = 197
|
|
_SC_LEVEL4_CACHE_ASSOC = 198
|
|
_SC_LEVEL4_CACHE_LINESIZE = 199
|
|
|
|
_SC_IPV6 = 235
|
|
_SC_RAW_SOCKETS = 236
|
|
|
|
_SC_V7_ILP32_OFF32 = 237
|
|
_SC_V7_ILP32_OFFBIG = 238
|
|
_SC_V7_LP64_OFF64 = 239
|
|
_SC_V7_LPBIG_OFFBIG = 240
|
|
|
|
_SC_SS_REPL_MAX = 241
|
|
|
|
_SC_TRACE_EVENT_NAME_MAX = 242
|
|
_SC_TRACE_NAME_MAX = 243
|
|
_SC_TRACE_SYS_MAX = 244
|
|
_SC_TRACE_USER_EVENT_MAX = 245
|
|
|
|
_SC_XOPEN_STREAMS = 246
|
|
|
|
_SC_THREAD_ROBUST_PRIO_INHERIT = 247
|
|
_SC_THREAD_ROBUST_PRIO_PROTECT = 248
|
|
)
|
|
|
|
const (
|
|
SIGEV_SIGNAL = 0
|
|
SIGEV_NONE = 1
|
|
SIGEV_THREAD = 2
|
|
|
|
SIGEV_THREAD_ID = 4
|
|
)
|
|
|
|
const (
|
|
SEGV_MAPERR = 1
|
|
SEGV_ACCERR = 2
|
|
SEGV_BNDERR = 3
|
|
SEGV_PKUERR = 4
|
|
SEGV_ACCADI = 5
|
|
SEGV_ADIDERR = 6
|
|
SEGV_ADIPERR = 7
|
|
)
|
|
|
|
const (
|
|
BUS_ADRALN = 1
|
|
BUS_ADRERR = 2
|
|
BUS_OBJERR = 3
|
|
BUS_MCEERR_AR = 4
|
|
BUS_MCEERR_AO = 5
|
|
)
|
|
|
|
const (
|
|
CLD_EXITED = 1
|
|
CLD_KILLED = 2
|
|
CLD_DUMPED = 3
|
|
CLD_TRAPPED = 4
|
|
CLD_STOPPED = 5
|
|
CLD_CONTINUED = 6
|
|
)
|
|
|
|
const (
|
|
POLL_IN = 1
|
|
POLL_OUT = 2
|
|
POLL_MSG = 3
|
|
POLL_ERR = 4
|
|
POLL_PRI = 5
|
|
POLL_HUP = 6
|
|
)
|
|
|
|
const (
|
|
SI_ASYNCNL = -60
|
|
SI_DETHREAD = -7
|
|
|
|
SI_TKILL = -6
|
|
SI_SIGIO = -5
|
|
SI_ASYNCIO = -4
|
|
SI_MESGQ = -3
|
|
SI_TIMER = -2
|
|
SI_QUEUE = -1
|
|
SI_USER = 0
|
|
SI_KERNEL = 128
|
|
)
|
|
|
|
const (
|
|
ILL_ILLOPC = 1
|
|
ILL_ILLOPN = 2
|
|
ILL_ILLADR = 3
|
|
ILL_ILLTRP = 4
|
|
ILL_PRVOPC = 5
|
|
ILL_PRVREG = 6
|
|
ILL_COPROC = 7
|
|
ILL_BADSTK = 8
|
|
ILL_BADIADDR = 9
|
|
)
|
|
|
|
const (
|
|
FPE_INTDIV = 1
|
|
FPE_INTOVF = 2
|
|
FPE_FLTDIV = 3
|
|
FPE_FLTOVF = 4
|
|
FPE_FLTUND = 5
|
|
FPE_FLTRES = 6
|
|
FPE_FLTINV = 7
|
|
FPE_FLTSUB = 8
|
|
FPE_FLTUNK = 14
|
|
FPE_CONDTRAP = 15
|
|
)
|
|
|
|
const (
|
|
SS_ONSTACK = 1
|
|
SS_DISABLE = 2
|
|
)
|
|
|
|
const (
|
|
REG_R0 = 0
|
|
REG_R1 = 1
|
|
REG_R2 = 2
|
|
REG_R3 = 3
|
|
REG_R4 = 4
|
|
REG_R5 = 5
|
|
REG_R6 = 6
|
|
REG_R7 = 7
|
|
REG_R8 = 8
|
|
REG_R9 = 9
|
|
REG_R10 = 10
|
|
REG_R11 = 11
|
|
REG_R12 = 12
|
|
REG_R13 = 13
|
|
REG_R14 = 14
|
|
REG_R15 = 15
|
|
)
|
|
|
|
type ptrdiff_t = int32
|
|
|
|
type size_t = uint32
|
|
|
|
type wchar_t = uint32
|
|
|
|
type va_list = uintptr
|
|
|
|
type sqlite_int64 = int64
|
|
type sqlite_uint64 = uint64
|
|
type sqlite3_int64 = sqlite_int64
|
|
type sqlite3_uint64 = sqlite_uint64
|
|
|
|
type sqlite3_callback = uintptr
|
|
|
|
type sqlite3_file1 = struct{ pMethods uintptr }
|
|
|
|
type sqlite3_file = sqlite3_file1
|
|
type sqlite3_io_methods1 = struct {
|
|
iVersion int32
|
|
xClose uintptr
|
|
xRead uintptr
|
|
xWrite uintptr
|
|
xTruncate uintptr
|
|
xSync uintptr
|
|
xFileSize uintptr
|
|
xLock uintptr
|
|
xUnlock uintptr
|
|
xCheckReservedLock uintptr
|
|
xFileControl uintptr
|
|
xSectorSize uintptr
|
|
xDeviceCharacteristics uintptr
|
|
xShmMap uintptr
|
|
xShmLock uintptr
|
|
xShmBarrier uintptr
|
|
xShmUnmap uintptr
|
|
xFetch uintptr
|
|
xUnfetch uintptr
|
|
}
|
|
|
|
type sqlite3_io_methods = sqlite3_io_methods1
|
|
|
|
type sqlite3_vfs1 = struct {
|
|
iVersion int32
|
|
szOsFile int32
|
|
mxPathname int32
|
|
pNext uintptr
|
|
zName uintptr
|
|
pAppData uintptr
|
|
xOpen uintptr
|
|
xDelete uintptr
|
|
xAccess uintptr
|
|
xFullPathname uintptr
|
|
xDlOpen uintptr
|
|
xDlError uintptr
|
|
xDlSym uintptr
|
|
xDlClose uintptr
|
|
xRandomness uintptr
|
|
xSleep uintptr
|
|
xCurrentTime uintptr
|
|
xGetLastError uintptr
|
|
xCurrentTimeInt64 uintptr
|
|
xSetSystemCall uintptr
|
|
xGetSystemCall uintptr
|
|
xNextSystemCall uintptr
|
|
}
|
|
|
|
type sqlite3_vfs = sqlite3_vfs1
|
|
type sqlite3_syscall_ptr = uintptr
|
|
|
|
type sqlite3_mem_methods1 = struct {
|
|
xMalloc uintptr
|
|
xFree uintptr
|
|
xRealloc uintptr
|
|
xSize uintptr
|
|
xRoundup uintptr
|
|
xInit uintptr
|
|
xShutdown uintptr
|
|
pAppData uintptr
|
|
}
|
|
|
|
type sqlite3_mem_methods = sqlite3_mem_methods1
|
|
|
|
type sqlite3_destructor_type = uintptr
|
|
|
|
type sqlite3_vtab1 = struct {
|
|
pModule uintptr
|
|
nRef int32
|
|
zErrMsg uintptr
|
|
}
|
|
|
|
type sqlite3_vtab = sqlite3_vtab1
|
|
type sqlite3_index_info1 = struct {
|
|
nConstraint int32
|
|
aConstraint uintptr
|
|
nOrderBy int32
|
|
aOrderBy uintptr
|
|
aConstraintUsage uintptr
|
|
idxNum int32
|
|
idxStr uintptr
|
|
needToFreeIdxStr int32
|
|
orderByConsumed int32
|
|
_ [4]byte
|
|
estimatedCost float64
|
|
estimatedRows sqlite3_int64
|
|
idxFlags int32
|
|
_ [4]byte
|
|
colUsed sqlite3_uint64
|
|
}
|
|
|
|
type sqlite3_index_info = sqlite3_index_info1
|
|
type sqlite3_vtab_cursor1 = struct{ pVtab uintptr }
|
|
|
|
type sqlite3_vtab_cursor = sqlite3_vtab_cursor1
|
|
type sqlite3_module1 = struct {
|
|
iVersion int32
|
|
xCreate uintptr
|
|
xConnect uintptr
|
|
xBestIndex uintptr
|
|
xDisconnect uintptr
|
|
xDestroy uintptr
|
|
xOpen uintptr
|
|
xClose uintptr
|
|
xFilter uintptr
|
|
xNext uintptr
|
|
xEof uintptr
|
|
xColumn uintptr
|
|
xRowid uintptr
|
|
xUpdate uintptr
|
|
xBegin uintptr
|
|
xSync uintptr
|
|
xCommit uintptr
|
|
xRollback uintptr
|
|
xFindFunction uintptr
|
|
xRename uintptr
|
|
xSavepoint uintptr
|
|
xRelease uintptr
|
|
xRollbackTo uintptr
|
|
xShadowName uintptr
|
|
}
|
|
|
|
type sqlite3_module = sqlite3_module1
|
|
|
|
type sqlite3_index_constraint = struct {
|
|
iColumn int32
|
|
op uint8
|
|
usable uint8
|
|
_ [2]byte
|
|
iTermOffset int32
|
|
}
|
|
|
|
type sqlite3_index_orderby = struct {
|
|
iColumn int32
|
|
desc uint8
|
|
_ [3]byte
|
|
}
|
|
|
|
type sqlite3_index_constraint_usage = struct {
|
|
argvIndex int32
|
|
omit uint8
|
|
_ [3]byte
|
|
}
|
|
|
|
type sqlite3_mutex_methods1 = struct {
|
|
xMutexInit uintptr
|
|
xMutexEnd uintptr
|
|
xMutexAlloc uintptr
|
|
xMutexFree uintptr
|
|
xMutexEnter uintptr
|
|
xMutexTry uintptr
|
|
xMutexLeave uintptr
|
|
xMutexHeld uintptr
|
|
xMutexNotheld uintptr
|
|
}
|
|
|
|
type sqlite3_mutex_methods = sqlite3_mutex_methods1
|
|
|
|
type sqlite3_pcache_page1 = struct {
|
|
pBuf uintptr
|
|
pExtra uintptr
|
|
}
|
|
|
|
type sqlite3_pcache_page = sqlite3_pcache_page1
|
|
|
|
type sqlite3_pcache_methods21 = struct {
|
|
iVersion int32
|
|
pArg uintptr
|
|
xInit uintptr
|
|
xShutdown uintptr
|
|
xCreate uintptr
|
|
xCachesize uintptr
|
|
xPagecount uintptr
|
|
xFetch uintptr
|
|
xUnpin uintptr
|
|
xRekey uintptr
|
|
xTruncate uintptr
|
|
xDestroy uintptr
|
|
xShrink uintptr
|
|
}
|
|
|
|
type sqlite3_pcache_methods2 = sqlite3_pcache_methods21
|
|
|
|
type sqlite3_pcache_methods1 = struct {
|
|
pArg uintptr
|
|
xInit uintptr
|
|
xShutdown uintptr
|
|
xCreate uintptr
|
|
xCachesize uintptr
|
|
xPagecount uintptr
|
|
xFetch uintptr
|
|
xUnpin uintptr
|
|
xRekey uintptr
|
|
xTruncate uintptr
|
|
xDestroy uintptr
|
|
}
|
|
|
|
type sqlite3_pcache_methods = sqlite3_pcache_methods1
|
|
|
|
type sqlite3_snapshot1 = struct{ hidden [48]uint8 }
|
|
|
|
type sqlite3_snapshot = sqlite3_snapshot1
|
|
|
|
type sqlite3_rtree_geometry1 = struct {
|
|
pContext uintptr
|
|
nParam int32
|
|
aParam uintptr
|
|
pUser uintptr
|
|
xDelUser uintptr
|
|
}
|
|
|
|
type sqlite3_rtree_geometry = sqlite3_rtree_geometry1
|
|
type sqlite3_rtree_query_info1 = struct {
|
|
pContext uintptr
|
|
nParam int32
|
|
aParam uintptr
|
|
pUser uintptr
|
|
xDelUser uintptr
|
|
aCoord uintptr
|
|
anQueue uintptr
|
|
nCoord int32
|
|
iLevel int32
|
|
mxLevel int32
|
|
iRowid sqlite3_int64
|
|
rParentScore sqlite3_rtree_dbl
|
|
eParentWithin int32
|
|
eWithin int32
|
|
rScore sqlite3_rtree_dbl
|
|
apSqlParam uintptr
|
|
_ [4]byte
|
|
}
|
|
|
|
type sqlite3_rtree_query_info = sqlite3_rtree_query_info1
|
|
|
|
type sqlite3_rtree_dbl = float64
|
|
|
|
type Fts5ExtensionApi1 = struct {
|
|
iVersion int32
|
|
xUserData uintptr
|
|
xColumnCount uintptr
|
|
xRowCount uintptr
|
|
xColumnTotalSize uintptr
|
|
xTokenize uintptr
|
|
xPhraseCount uintptr
|
|
xPhraseSize uintptr
|
|
xInstCount uintptr
|
|
xInst uintptr
|
|
xRowid uintptr
|
|
xColumnText uintptr
|
|
xColumnSize uintptr
|
|
xQueryPhrase uintptr
|
|
xSetAuxdata uintptr
|
|
xGetAuxdata uintptr
|
|
xPhraseFirst uintptr
|
|
xPhraseNext uintptr
|
|
xPhraseFirstColumn uintptr
|
|
xPhraseNextColumn uintptr
|
|
}
|
|
|
|
type Fts5ExtensionApi = Fts5ExtensionApi1
|
|
type Fts5PhraseIter1 = struct {
|
|
a uintptr
|
|
b uintptr
|
|
}
|
|
|
|
type Fts5PhraseIter = Fts5PhraseIter1
|
|
|
|
type fts5_extension_function = uintptr
|
|
type fts5_tokenizer1 = struct {
|
|
xCreate uintptr
|
|
xDelete uintptr
|
|
xTokenize uintptr
|
|
}
|
|
|
|
type fts5_tokenizer = fts5_tokenizer1
|
|
|
|
type fts5_api1 = struct {
|
|
iVersion int32
|
|
xCreateTokenizer uintptr
|
|
xFindTokenizer uintptr
|
|
xCreateFunction uintptr
|
|
}
|
|
|
|
type fts5_api = fts5_api1
|
|
|
|
type __locale_struct = struct {
|
|
__locales [13]uintptr
|
|
__ctype_b uintptr
|
|
__ctype_tolower uintptr
|
|
__ctype_toupper uintptr
|
|
__names [13]uintptr
|
|
}
|
|
|
|
type locale_t = uintptr
|
|
|
|
type u_char = uint8
|
|
type u_short = uint16
|
|
type u_int = uint32
|
|
type u_long = uint32
|
|
type quad_t = int64
|
|
type u_quad_t = uint64
|
|
type fsid_t = struct{ __val [2]int32 }
|
|
type loff_t = int64
|
|
|
|
type ino_t = uint64
|
|
|
|
type dev_t = uint64
|
|
|
|
type gid_t = uint32
|
|
|
|
type mode_t = uint32
|
|
|
|
type nlink_t = uint32
|
|
|
|
type uid_t = uint32
|
|
|
|
type off_t = int64
|
|
|
|
type pid_t = int32
|
|
|
|
type id_t = uint32
|
|
|
|
type ssize_t = int32
|
|
|
|
type daddr_t = int32
|
|
type caddr_t = uintptr
|
|
|
|
type key_t = int32
|
|
|
|
type clock_t = int32
|
|
|
|
type clockid_t = int32
|
|
|
|
type time_t = int32
|
|
|
|
type timer_t = uintptr
|
|
|
|
type ulong = uint32
|
|
type ushort = uint16
|
|
type uint = uint32
|
|
|
|
type int8_t = int8
|
|
type int16_t = int16
|
|
type int32_t = int32
|
|
type int64_t = int64
|
|
|
|
type u_int8_t = uint8
|
|
type u_int16_t = uint16
|
|
type u_int32_t = uint32
|
|
type u_int64_t = uint64
|
|
|
|
type register_t = int32
|
|
|
|
type sigset_t = struct{ __val [32]uint32 }
|
|
|
|
type timeval = struct {
|
|
tv_sec int32
|
|
tv_usec int32
|
|
}
|
|
|
|
type timespec = struct {
|
|
tv_sec int32
|
|
tv_nsec int32
|
|
}
|
|
|
|
type suseconds_t = int32
|
|
|
|
type fd_set = struct{ __fds_bits [32]int32 }
|
|
|
|
type fd_mask = int32
|
|
|
|
type blksize_t = int32
|
|
|
|
type blkcnt_t = int64
|
|
type fsblkcnt_t = uint64
|
|
type fsfilcnt_t = uint64
|
|
|
|
type __pthread_internal_list = struct {
|
|
__prev uintptr
|
|
__next uintptr
|
|
}
|
|
|
|
type __pthread_internal_slist = struct{ __next uintptr }
|
|
|
|
type __pthread_mutex_s = struct {
|
|
__lock int32
|
|
__count uint32
|
|
__owner int32
|
|
__kind int32
|
|
__nusers uint32
|
|
__20 struct{ __spins int32 }
|
|
}
|
|
|
|
type __pthread_rwlock_arch_t = struct {
|
|
__readers uint32
|
|
__writers uint32
|
|
__wrphase_futex uint32
|
|
__writers_futex uint32
|
|
__pad3 uint32
|
|
__pad4 uint32
|
|
__flags uint8
|
|
__shared uint8
|
|
__pad1 uint8
|
|
__pad2 uint8
|
|
__cur_writer int32
|
|
}
|
|
|
|
type __pthread_cond_s = struct {
|
|
__0 struct{ __wseq uint64 }
|
|
__8 struct{ __g1_start uint64 }
|
|
__g_refs [2]uint32
|
|
__g_size [2]uint32
|
|
__g1_orig_size uint32
|
|
__wrefs uint32
|
|
__g_signals [2]uint32
|
|
}
|
|
|
|
type pthread_t = uint32
|
|
|
|
type pthread_mutexattr_t = struct {
|
|
_ [0]uint32
|
|
__size [4]uint8
|
|
}
|
|
|
|
type pthread_condattr_t = struct {
|
|
_ [0]uint32
|
|
__size [4]uint8
|
|
}
|
|
|
|
type pthread_key_t = uint32
|
|
|
|
type pthread_once_t = int32
|
|
|
|
type pthread_attr_t1 = struct {
|
|
_ [0]uint32
|
|
__size [36]uint8
|
|
}
|
|
|
|
type pthread_attr_t = pthread_attr_t1
|
|
|
|
type pthread_mutex_t = struct{ __data __pthread_mutex_s }
|
|
|
|
type pthread_cond_t = struct{ __data __pthread_cond_s }
|
|
|
|
type pthread_rwlock_t = struct{ __data __pthread_rwlock_arch_t }
|
|
|
|
type pthread_rwlockattr_t = struct {
|
|
_ [0]uint32
|
|
__size [8]uint8
|
|
}
|
|
|
|
type pthread_spinlock_t = int32
|
|
|
|
type pthread_barrier_t = struct {
|
|
_ [0]uint32
|
|
__size [20]uint8
|
|
}
|
|
|
|
type pthread_barrierattr_t = struct {
|
|
_ [0]uint32
|
|
__size [4]uint8
|
|
}
|
|
|
|
type stat = struct {
|
|
st_dev uint64
|
|
__pad1 uint16
|
|
_ [2]byte
|
|
__st_ino uint32
|
|
st_mode uint32
|
|
st_nlink uint32
|
|
st_uid uint32
|
|
st_gid uint32
|
|
st_rdev uint64
|
|
__pad2 uint16
|
|
_ [6]byte
|
|
st_size int64
|
|
st_blksize int32
|
|
_ [4]byte
|
|
st_blocks int64
|
|
st_atim struct {
|
|
tv_sec int32
|
|
tv_nsec int32
|
|
}
|
|
st_mtim struct {
|
|
tv_sec int32
|
|
tv_nsec int32
|
|
}
|
|
st_ctim struct {
|
|
tv_sec int32
|
|
tv_nsec int32
|
|
}
|
|
st_ino uint64
|
|
}
|
|
|
|
type flock = struct {
|
|
l_type int16
|
|
l_whence int16
|
|
_ [4]byte
|
|
l_start int64
|
|
l_len int64
|
|
l_pid int32
|
|
_ [4]byte
|
|
}
|
|
|
|
type sig_atomic_t = int32
|
|
|
|
type sigval = struct{ sival_int int32 }
|
|
|
|
type siginfo_t = struct {
|
|
si_signo int32
|
|
si_errno int32
|
|
si_code int32
|
|
_sifields struct{ _pad [29]int32 }
|
|
}
|
|
|
|
type sigval_t = sigval
|
|
|
|
type sigevent = struct {
|
|
sigev_value struct{ sival_int int32 }
|
|
sigev_signo int32
|
|
sigev_notify int32
|
|
_sigev_un struct{ _pad [13]int32 }
|
|
}
|
|
|
|
type sigevent_t = sigevent
|
|
|
|
type sig_t = uintptr
|
|
|
|
type sigaction = struct {
|
|
__sigaction_handler struct{ sa_handler uintptr }
|
|
sa_mask struct{ __val [32]uint32 }
|
|
sa_flags int32
|
|
sa_restorer uintptr
|
|
}
|
|
|
|
type sigcontext = struct {
|
|
trap_no uint32
|
|
error_code uint32
|
|
oldmask uint32
|
|
arm_r0 uint32
|
|
arm_r1 uint32
|
|
arm_r2 uint32
|
|
arm_r3 uint32
|
|
arm_r4 uint32
|
|
arm_r5 uint32
|
|
arm_r6 uint32
|
|
arm_r7 uint32
|
|
arm_r8 uint32
|
|
arm_r9 uint32
|
|
arm_r10 uint32
|
|
arm_fp uint32
|
|
arm_ip uint32
|
|
arm_sp uint32
|
|
arm_lr uint32
|
|
arm_pc uint32
|
|
arm_cpsr uint32
|
|
fault_address uint32
|
|
}
|
|
|
|
type stack_t = struct {
|
|
ss_sp uintptr
|
|
ss_flags int32
|
|
ss_size size_t
|
|
}
|
|
|
|
type greg_t = int32
|
|
|
|
type gregset_t = [18]greg_t
|
|
|
|
type _libc_fpstate = struct {
|
|
fpregs [8]struct {
|
|
_ [0]uint32
|
|
sign1 uint32
|
|
mantissa1 uint32
|
|
mantissa0 uint32
|
|
}
|
|
fpsr uint32
|
|
fpcr uint32
|
|
ftype [8]uint8
|
|
init_flag uint32
|
|
}
|
|
|
|
type fpregset_t = _libc_fpstate
|
|
|
|
type mcontext_t = struct {
|
|
trap_no uint32
|
|
error_code uint32
|
|
oldmask uint32
|
|
arm_r0 uint32
|
|
arm_r1 uint32
|
|
arm_r2 uint32
|
|
arm_r3 uint32
|
|
arm_r4 uint32
|
|
arm_r5 uint32
|
|
arm_r6 uint32
|
|
arm_r7 uint32
|
|
arm_r8 uint32
|
|
arm_r9 uint32
|
|
arm_r10 uint32
|
|
arm_fp uint32
|
|
arm_ip uint32
|
|
arm_sp uint32
|
|
arm_lr uint32
|
|
arm_pc uint32
|
|
arm_cpsr uint32
|
|
fault_address uint32
|
|
}
|
|
|
|
type ucontext_t1 = struct {
|
|
uc_flags uint32
|
|
uc_link uintptr
|
|
uc_stack stack_t
|
|
uc_mcontext mcontext_t
|
|
uc_sigmask sigset_t
|
|
uc_regspace [128]uint32
|
|
}
|
|
|
|
type ucontext_t = ucontext_t1
|
|
|
|
type sigstack = struct {
|
|
ss_sp uintptr
|
|
ss_onstack int32
|
|
}
|
|
|
|
type useconds_t = uint32
|
|
|
|
type intptr_t = int32
|
|
|
|
type socklen_t = uint32
|
|
|
|
type tm = struct {
|
|
tm_sec int32
|
|
tm_min int32
|
|
tm_hour int32
|
|
tm_mday int32
|
|
tm_mon int32
|
|
tm_year int32
|
|
tm_wday int32
|
|
tm_yday int32
|
|
tm_isdst int32
|
|
tm_gmtoff int32
|
|
tm_zone uintptr
|
|
}
|
|
|
|
type itimerspec = struct {
|
|
it_interval struct {
|
|
tv_sec int32
|
|
tv_nsec int32
|
|
}
|
|
it_value struct {
|
|
tv_sec int32
|
|
tv_nsec int32
|
|
}
|
|
}
|
|
|
|
type VFSFile1 = struct {
|
|
base sqlite3_file
|
|
fsFile uintptr
|
|
fd int32
|
|
aBuffer uintptr
|
|
nBuffer int32
|
|
_ [4]byte
|
|
iBufferOfst sqlite3_int64
|
|
}
|
|
|
|
type VFSFile = VFSFile1
|
|
|
|
func vfsDirectWrite(tls *libc.TLS, p uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 {
|
|
bp := tls.Alloc(16)
|
|
defer tls.Free(16)
|
|
|
|
var ofst off_t
|
|
var nWrite size_t
|
|
|
|
libc.X__builtin_printf(tls, ts, libc.VaList(bp, uintptr(unsafe.Pointer(&__func__)), 178))
|
|
libc.X__builtin_abort(tls)
|
|
ofst = libc.Xlseek(tls, (*VFSFile)(unsafe.Pointer(p)).fd, iOfst, 0)
|
|
if ofst != iOfst {
|
|
return 10 | int32(3)<<8
|
|
}
|
|
|
|
nWrite = size_t(libc.Xwrite(tls, (*VFSFile)(unsafe.Pointer(p)).fd, zBuf, uint32(iAmt)))
|
|
if nWrite != size_t(iAmt) {
|
|
return 10 | int32(3)<<8
|
|
}
|
|
|
|
return 0
|
|
}
|
|
|
|
var __func__ = *(*[15]uint8)(unsafe.Pointer(ts + 13))
|
|
|
|
func vfsFlushBuffer(tls *libc.TLS, p uintptr) int32 {
|
|
bp := tls.Alloc(16)
|
|
defer tls.Free(16)
|
|
|
|
libc.X__builtin_printf(tls, ts, libc.VaList(bp, uintptr(unsafe.Pointer(&__func__1)), 198))
|
|
libc.X__builtin_abort(tls)
|
|
var rc int32 = 0
|
|
if (*VFSFile)(unsafe.Pointer(p)).nBuffer != 0 {
|
|
rc = vfsDirectWrite(tls, p, (*VFSFile)(unsafe.Pointer(p)).aBuffer, (*VFSFile)(unsafe.Pointer(p)).nBuffer, (*VFSFile)(unsafe.Pointer(p)).iBufferOfst)
|
|
(*VFSFile)(unsafe.Pointer(p)).nBuffer = 0
|
|
}
|
|
return rc
|
|
}
|
|
|
|
var __func__1 = *(*[15]uint8)(unsafe.Pointer(ts + 28))
|
|
|
|
func vfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 {
|
|
bp := tls.Alloc(16)
|
|
defer tls.Free(16)
|
|
|
|
libc.X__builtin_printf(tls, ts, libc.VaList(bp, uintptr(unsafe.Pointer(&__func__4)), 273))
|
|
libc.X__builtin_abort(tls)
|
|
var p uintptr = pFile
|
|
|
|
if (*VFSFile)(unsafe.Pointer(p)).aBuffer != 0 {
|
|
var z uintptr = zBuf
|
|
var n int32 = iAmt
|
|
var i sqlite3_int64 = iOfst
|
|
|
|
for n > 0 {
|
|
var nCopy int32
|
|
|
|
if (*VFSFile)(unsafe.Pointer(p)).nBuffer == 8192 || (*VFSFile)(unsafe.Pointer(p)).iBufferOfst+sqlite3_int64((*VFSFile)(unsafe.Pointer(p)).nBuffer) != i {
|
|
var rc int32 = vfsFlushBuffer(tls, p)
|
|
if rc != 0 {
|
|
return rc
|
|
}
|
|
}
|
|
if (*VFSFile)(unsafe.Pointer(p)).nBuffer == 0 || (*VFSFile)(unsafe.Pointer(p)).iBufferOfst+sqlite3_int64((*VFSFile)(unsafe.Pointer(p)).nBuffer) == i {
|
|
} else {
|
|
libc.X__assert_fail(tls, ts+43, ts+89, uint32(294), uintptr(unsafe.Pointer(&__func__4)))
|
|
}
|
|
(*VFSFile)(unsafe.Pointer(p)).iBufferOfst = i - sqlite3_int64((*VFSFile)(unsafe.Pointer(p)).nBuffer)
|
|
|
|
nCopy = 8192 - (*VFSFile)(unsafe.Pointer(p)).nBuffer
|
|
if nCopy > n {
|
|
nCopy = n
|
|
}
|
|
libc.Xmemcpy(tls, (*VFSFile)(unsafe.Pointer(p)).aBuffer+uintptr((*VFSFile)(unsafe.Pointer(p)).nBuffer), z, uint32(nCopy))
|
|
*(*int32)(unsafe.Pointer(p + 16)) += nCopy
|
|
|
|
n = n - nCopy
|
|
i = i + sqlite3_int64(nCopy)
|
|
z += uintptr(nCopy)
|
|
}
|
|
} else {
|
|
return vfsDirectWrite(tls, p, zBuf, iAmt, iOfst)
|
|
}
|
|
|
|
return 0
|
|
}
|
|
|
|
var __func__4 = *(*[9]uint8)(unsafe.Pointer(ts + 97))
|
|
|
|
func vfsTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) int32 {
|
|
return 0
|
|
}
|
|
|
|
func vfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 {
|
|
bp := tls.Alloc(16)
|
|
defer tls.Free(16)
|
|
|
|
libc.X__builtin_printf(tls, ts, libc.VaList(bp, uintptr(unsafe.Pointer(&__func__5)), 331))
|
|
libc.X__builtin_abort(tls)
|
|
var p uintptr = pFile
|
|
var rc int32
|
|
|
|
rc = vfsFlushBuffer(tls, p)
|
|
if rc != 0 {
|
|
return rc
|
|
}
|
|
|
|
rc = libc.Xfsync(tls, (*VFSFile)(unsafe.Pointer(p)).fd)
|
|
return func() int32 {
|
|
if rc == 0 {
|
|
return 0
|
|
}
|
|
return 10 | int32(4)<<8
|
|
}()
|
|
}
|
|
|
|
var __func__5 = *(*[8]uint8)(unsafe.Pointer(ts + 106))
|
|
|
|
func vfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 {
|
|
return 0
|
|
}
|
|
|
|
func vfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 {
|
|
return 0
|
|
}
|
|
|
|
func vfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 {
|
|
*(*int32)(unsafe.Pointer(pResOut)) = 0
|
|
return 0
|
|
}
|
|
|
|
func vfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 {
|
|
return 12
|
|
}
|
|
|
|
func vfsSectorSize(tls *libc.TLS, pFile uintptr) int32 {
|
|
return 0
|
|
}
|
|
|
|
func vfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 {
|
|
return 0
|
|
}
|
|
|
|
func vfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 {
|
|
bp := tls.Alloc(4129)
|
|
defer tls.Free(4129)
|
|
|
|
libc.X__builtin_printf(tls, ts, libc.VaList(bp, uintptr(unsafe.Pointer(&__func__8)), 473))
|
|
libc.X__builtin_abort(tls)
|
|
var rc int32
|
|
|
|
rc = libc.Xunlink(tls, zPath)
|
|
if rc != 0 && *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == 2 {
|
|
return 0
|
|
}
|
|
|
|
if rc == 0 && dirSync != 0 {
|
|
var dfd int32
|
|
var i int32
|
|
|
|
sqlite3.Xsqlite3_snprintf(tls, 4096, bp+32, ts+114, libc.VaList(bp+16, zPath))
|
|
*(*uint8)(unsafe.Pointer(bp + 32 + 4096)) = uint8(0)
|
|
for i = int32(libc.Xstrlen(tls, bp+32)); i > 1 && int32(*(*uint8)(unsafe.Pointer(bp + 32 + uintptr(i)))) != '/'; i++ {
|
|
}
|
|
*(*uint8)(unsafe.Pointer(bp + 32 + uintptr(i))) = uint8(0)
|
|
|
|
dfd = libc.Xopen(tls, bp+32, 00, libc.VaList(bp+24, 0))
|
|
if dfd < 0 {
|
|
rc = -1
|
|
} else {
|
|
rc = libc.Xfsync(tls, dfd)
|
|
libc.Xclose(tls, dfd)
|
|
}
|
|
}
|
|
return func() int32 {
|
|
if rc == 0 {
|
|
return 0
|
|
}
|
|
return 10 | int32(10)<<8
|
|
}()
|
|
}
|
|
|
|
var __func__8 = *(*[10]uint8)(unsafe.Pointer(ts + 117))
|
|
|
|
func vfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr {
|
|
return uintptr(0)
|
|
}
|
|
|
|
func vfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) {
|
|
sqlite3.Xsqlite3_snprintf(tls, nByte, zErrMsg, ts+127, 0)
|
|
*(*uint8)(unsafe.Pointer(zErrMsg + uintptr(nByte-1))) = uint8(0)
|
|
}
|
|
|
|
func vfsDlSym(tls *libc.TLS, pVfs uintptr, pH uintptr, z uintptr) uintptr {
|
|
return uintptr(0)
|
|
}
|
|
|
|
func vfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) {
|
|
return
|
|
}
|
|
|
|
func vfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zByte uintptr) int32 {
|
|
return 0
|
|
}
|
|
|
|
func vfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 {
|
|
libc.Xsleep(tls, uint32(nMicro/1000000))
|
|
libc.Xusleep(tls, uint32(nMicro%1000000))
|
|
return nMicro
|
|
}
|
|
|
|
func vfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTime uintptr) int32 {
|
|
var t time_t = libc.Xtime(tls, uintptr(0))
|
|
*(*float64)(unsafe.Pointer(pTime)) = float64(t)/86400.0 + 2440587.5
|
|
return 0
|
|
}
|
|
|
|
func Xsqlite3_fsFS(tls *libc.TLS, zName uintptr, pAppData uintptr) uintptr {
|
|
var p uintptr = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(sqlite3_vfs{})))
|
|
if !(p != 0) {
|
|
return uintptr(0)
|
|
}
|
|
|
|
*(*sqlite3_vfs)(unsafe.Pointer(p)) = sqlite3_vfs{
|
|
iVersion: 1,
|
|
szOsFile: int32(unsafe.Sizeof(VFSFile{})),
|
|
mxPathname: 4096,
|
|
zName: zName,
|
|
pAppData: pAppData,
|
|
xOpen: *(*uintptr)(unsafe.Pointer(&struct {
|
|
f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32
|
|
}{vfsOpen})),
|
|
xDelete: *(*uintptr)(unsafe.Pointer(&struct {
|
|
f func(*libc.TLS, uintptr, uintptr, int32) int32
|
|
}{vfsDelete})),
|
|
xAccess: *(*uintptr)(unsafe.Pointer(&struct {
|
|
f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
|
|
}{vfsAccess})),
|
|
xFullPathname: *(*uintptr)(unsafe.Pointer(&struct {
|
|
f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
|
|
}{vfsFullPathname})),
|
|
xDlOpen: *(*uintptr)(unsafe.Pointer(&struct {
|
|
f func(*libc.TLS, uintptr, uintptr) uintptr
|
|
}{vfsDlOpen})),
|
|
xDlError: *(*uintptr)(unsafe.Pointer(&struct {
|
|
f func(*libc.TLS, uintptr, int32, uintptr)
|
|
}{vfsDlError})),
|
|
xDlSym: *(*uintptr)(unsafe.Pointer(&struct {
|
|
f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr
|
|
}{vfsDlSym})),
|
|
xDlClose: *(*uintptr)(unsafe.Pointer(&struct {
|
|
f func(*libc.TLS, uintptr, uintptr)
|
|
}{vfsDlClose})),
|
|
xRandomness: *(*uintptr)(unsafe.Pointer(&struct {
|
|
f func(*libc.TLS, uintptr, int32, uintptr) int32
|
|
}{vfsRandomness})),
|
|
xSleep: *(*uintptr)(unsafe.Pointer(&struct {
|
|
f func(*libc.TLS, uintptr, int32) int32
|
|
}{vfsSleep})),
|
|
xCurrentTime: *(*uintptr)(unsafe.Pointer(&struct {
|
|
f func(*libc.TLS, uintptr, uintptr) int32
|
|
}{vfsCurrentTime}))}
|
|
return p
|
|
}
|
|
|
|
var ts1 = "TODO %s:%i:\n\x00vfsDirectWrite\x00vfsFlushBuffer\x00p->nBuffer==0 || p->iBufferOfst+p->nBuffer==i\x00c/vfs.c\x00vfsWrite\x00vfsSync\x00%s\x00vfsDelete\x00Loadable extensions are not supported\x00"
|
|
var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
|