Files
javademos/jextract/generated/demo/sqlite/sqlite3_h.java
T
asmhatreandClaude Sonnet 5.5 ecceaa8b32 Add jextract module: SQLite bindings generated with jextract, FFM arenas, C strings, out-parameters, errors, upcalls, and a JMH comparison with JNI
jextract-25 early-access build (25-jextract+2-4) on JDK 25.0.5+8 against SQLite 3.45.1: 25 functions and 13 constants
generated into 4 committed files (the whole header would be 83 files), a small Db wrapper, the four arena kinds
used wrongly on purpose, ADDRESS vs C_POINTER zero-length vs unbounded segments and the SIGSEGV from getString
on a NULL pointer, sqlite3_open out-parameter, return codes to exceptions, a sqlite3_exec upcall and the VM exit
when it throws, the JDK 25 native-access warning and --illegal-native-access=deny, library loading failures,
and a JMH benchmark of FFM vs hand-written JNI vs plain Java (indicative only: shared 2-CPU machine).

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_017ic4b6Kg9RWSTJzyz6KP9X
2026-10-30 16:36:09 +00:00

1663 lines
47 KiB
Java

// Generated by jextract
package demo.sqlite;
import java.lang.invoke.*;
import java.lang.foreign.*;
import java.nio.ByteOrder;
import java.util.*;
import java.util.function.*;
import java.util.stream.*;
import static java.lang.foreign.ValueLayout.*;
import static java.lang.foreign.MemoryLayout.PathElement.*;
public class sqlite3_h extends sqlite3_h$shared {
sqlite3_h() {
// Should not be called directly
}
static final Arena LIBRARY_ARENA = Arena.ofAuto();
static final SymbolLookup SYMBOL_LOOKUP = SymbolLookup.libraryLookup(System.mapLibraryName("sqlite3"), LIBRARY_ARENA)
.or(SymbolLookup.loaderLookup())
.or(Linker.nativeLinker().defaultLookup());
private static final int SQLITE_OK = (int)0L;
/**
* {@snippet lang=c :
* #define SQLITE_OK 0
* }
*/
public static int SQLITE_OK() {
return SQLITE_OK;
}
private static final int SQLITE_ERROR = (int)1L;
/**
* {@snippet lang=c :
* #define SQLITE_ERROR 1
* }
*/
public static int SQLITE_ERROR() {
return SQLITE_ERROR;
}
private static final int SQLITE_BUSY = (int)5L;
/**
* {@snippet lang=c :
* #define SQLITE_BUSY 5
* }
*/
public static int SQLITE_BUSY() {
return SQLITE_BUSY;
}
private static final int SQLITE_CANTOPEN = (int)14L;
/**
* {@snippet lang=c :
* #define SQLITE_CANTOPEN 14
* }
*/
public static int SQLITE_CANTOPEN() {
return SQLITE_CANTOPEN;
}
private static final int SQLITE_CONSTRAINT = (int)19L;
/**
* {@snippet lang=c :
* #define SQLITE_CONSTRAINT 19
* }
*/
public static int SQLITE_CONSTRAINT() {
return SQLITE_CONSTRAINT;
}
private static final int SQLITE_ROW = (int)100L;
/**
* {@snippet lang=c :
* #define SQLITE_ROW 100
* }
*/
public static int SQLITE_ROW() {
return SQLITE_ROW;
}
private static final int SQLITE_DONE = (int)101L;
/**
* {@snippet lang=c :
* #define SQLITE_DONE 101
* }
*/
public static int SQLITE_DONE() {
return SQLITE_DONE;
}
private static final int SQLITE_OPEN_READONLY = (int)1L;
/**
* {@snippet lang=c :
* #define SQLITE_OPEN_READONLY 1
* }
*/
public static int SQLITE_OPEN_READONLY() {
return SQLITE_OPEN_READONLY;
}
private static final int SQLITE_OPEN_READWRITE = (int)2L;
/**
* {@snippet lang=c :
* #define SQLITE_OPEN_READWRITE 2
* }
*/
public static int SQLITE_OPEN_READWRITE() {
return SQLITE_OPEN_READWRITE;
}
private static final int SQLITE_OPEN_CREATE = (int)4L;
/**
* {@snippet lang=c :
* #define SQLITE_OPEN_CREATE 4
* }
*/
public static int SQLITE_OPEN_CREATE() {
return SQLITE_OPEN_CREATE;
}
private static final int SQLITE_NULL = (int)5L;
/**
* {@snippet lang=c :
* #define SQLITE_NULL 5
* }
*/
public static int SQLITE_NULL() {
return SQLITE_NULL;
}
private static class sqlite3_libversion {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_POINTER );
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_libversion");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* const char *sqlite3_libversion()
* }
*/
public static FunctionDescriptor sqlite3_libversion$descriptor() {
return sqlite3_libversion.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* const char *sqlite3_libversion()
* }
*/
public static MethodHandle sqlite3_libversion$handle() {
return sqlite3_libversion.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* const char *sqlite3_libversion()
* }
*/
public static MemorySegment sqlite3_libversion$address() {
return sqlite3_libversion.ADDR;
}
/**
* {@snippet lang=c :
* const char *sqlite3_libversion()
* }
*/
public static MemorySegment sqlite3_libversion() {
var mh$ = sqlite3_libversion.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_libversion");
}
return (MemorySegment)mh$.invokeExact();
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_sourceid {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_POINTER );
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_sourceid");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* const char *sqlite3_sourceid()
* }
*/
public static FunctionDescriptor sqlite3_sourceid$descriptor() {
return sqlite3_sourceid.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* const char *sqlite3_sourceid()
* }
*/
public static MethodHandle sqlite3_sourceid$handle() {
return sqlite3_sourceid.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* const char *sqlite3_sourceid()
* }
*/
public static MemorySegment sqlite3_sourceid$address() {
return sqlite3_sourceid.ADDR;
}
/**
* {@snippet lang=c :
* const char *sqlite3_sourceid()
* }
*/
public static MemorySegment sqlite3_sourceid() {
var mh$ = sqlite3_sourceid.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_sourceid");
}
return (MemorySegment)mh$.invokeExact();
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_libversion_number {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_INT );
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_libversion_number");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* int sqlite3_libversion_number()
* }
*/
public static FunctionDescriptor sqlite3_libversion_number$descriptor() {
return sqlite3_libversion_number.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* int sqlite3_libversion_number()
* }
*/
public static MethodHandle sqlite3_libversion_number$handle() {
return sqlite3_libversion_number.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* int sqlite3_libversion_number()
* }
*/
public static MemorySegment sqlite3_libversion_number$address() {
return sqlite3_libversion_number.ADDR;
}
/**
* {@snippet lang=c :
* int sqlite3_libversion_number()
* }
*/
public static int sqlite3_libversion_number() {
var mh$ = sqlite3_libversion_number.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_libversion_number");
}
return (int)mh$.invokeExact();
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_close {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_INT,
sqlite3_h.C_POINTER
);
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_close");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* int sqlite3_close(sqlite3 *)
* }
*/
public static FunctionDescriptor sqlite3_close$descriptor() {
return sqlite3_close.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* int sqlite3_close(sqlite3 *)
* }
*/
public static MethodHandle sqlite3_close$handle() {
return sqlite3_close.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* int sqlite3_close(sqlite3 *)
* }
*/
public static MemorySegment sqlite3_close$address() {
return sqlite3_close.ADDR;
}
/**
* {@snippet lang=c :
* int sqlite3_close(sqlite3 *)
* }
*/
public static int sqlite3_close(MemorySegment x0) {
var mh$ = sqlite3_close.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_close", x0);
}
return (int)mh$.invokeExact(x0);
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_exec {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_INT,
sqlite3_h.C_POINTER,
sqlite3_h.C_POINTER,
sqlite3_h.C_POINTER,
sqlite3_h.C_POINTER,
sqlite3_h.C_POINTER
);
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_exec");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* int sqlite3_exec(sqlite3 *, const char *sql, int (*callback)(void *, int, char **, char **), void *, char **errmsg)
* }
*/
public static FunctionDescriptor sqlite3_exec$descriptor() {
return sqlite3_exec.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* int sqlite3_exec(sqlite3 *, const char *sql, int (*callback)(void *, int, char **, char **), void *, char **errmsg)
* }
*/
public static MethodHandle sqlite3_exec$handle() {
return sqlite3_exec.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* int sqlite3_exec(sqlite3 *, const char *sql, int (*callback)(void *, int, char **, char **), void *, char **errmsg)
* }
*/
public static MemorySegment sqlite3_exec$address() {
return sqlite3_exec.ADDR;
}
/**
* {@snippet lang=c :
* int sqlite3_exec(sqlite3 *, const char *sql, int (*callback)(void *, int, char **, char **), void *, char **errmsg)
* }
*/
public static int sqlite3_exec(MemorySegment x0, MemorySegment sql, MemorySegment callback, MemorySegment x3, MemorySegment errmsg) {
var mh$ = sqlite3_exec.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_exec", x0, sql, callback, x3, errmsg);
}
return (int)mh$.invokeExact(x0, sql, callback, x3, errmsg);
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_last_insert_rowid {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_LONG_LONG,
sqlite3_h.C_POINTER
);
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_last_insert_rowid");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* sqlite3_int64 sqlite3_last_insert_rowid(sqlite3 *)
* }
*/
public static FunctionDescriptor sqlite3_last_insert_rowid$descriptor() {
return sqlite3_last_insert_rowid.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* sqlite3_int64 sqlite3_last_insert_rowid(sqlite3 *)
* }
*/
public static MethodHandle sqlite3_last_insert_rowid$handle() {
return sqlite3_last_insert_rowid.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* sqlite3_int64 sqlite3_last_insert_rowid(sqlite3 *)
* }
*/
public static MemorySegment sqlite3_last_insert_rowid$address() {
return sqlite3_last_insert_rowid.ADDR;
}
/**
* {@snippet lang=c :
* sqlite3_int64 sqlite3_last_insert_rowid(sqlite3 *)
* }
*/
public static long sqlite3_last_insert_rowid(MemorySegment x0) {
var mh$ = sqlite3_last_insert_rowid.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_last_insert_rowid", x0);
}
return (long)mh$.invokeExact(x0);
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_changes {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_INT,
sqlite3_h.C_POINTER
);
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_changes");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* int sqlite3_changes(sqlite3 *)
* }
*/
public static FunctionDescriptor sqlite3_changes$descriptor() {
return sqlite3_changes.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* int sqlite3_changes(sqlite3 *)
* }
*/
public static MethodHandle sqlite3_changes$handle() {
return sqlite3_changes.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* int sqlite3_changes(sqlite3 *)
* }
*/
public static MemorySegment sqlite3_changes$address() {
return sqlite3_changes.ADDR;
}
/**
* {@snippet lang=c :
* int sqlite3_changes(sqlite3 *)
* }
*/
public static int sqlite3_changes(MemorySegment x0) {
var mh$ = sqlite3_changes.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_changes", x0);
}
return (int)mh$.invokeExact(x0);
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_free {
public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
sqlite3_h.C_POINTER
);
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_free");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* void sqlite3_free(void *)
* }
*/
public static FunctionDescriptor sqlite3_free$descriptor() {
return sqlite3_free.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* void sqlite3_free(void *)
* }
*/
public static MethodHandle sqlite3_free$handle() {
return sqlite3_free.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* void sqlite3_free(void *)
* }
*/
public static MemorySegment sqlite3_free$address() {
return sqlite3_free.ADDR;
}
/**
* {@snippet lang=c :
* void sqlite3_free(void *)
* }
*/
public static void sqlite3_free(MemorySegment x0) {
var mh$ = sqlite3_free.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_free", x0);
}
mh$.invokeExact(x0);
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_open {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_INT,
sqlite3_h.C_POINTER,
sqlite3_h.C_POINTER
);
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_open");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* int sqlite3_open(const char *filename, sqlite3 **ppDb)
* }
*/
public static FunctionDescriptor sqlite3_open$descriptor() {
return sqlite3_open.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* int sqlite3_open(const char *filename, sqlite3 **ppDb)
* }
*/
public static MethodHandle sqlite3_open$handle() {
return sqlite3_open.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* int sqlite3_open(const char *filename, sqlite3 **ppDb)
* }
*/
public static MemorySegment sqlite3_open$address() {
return sqlite3_open.ADDR;
}
/**
* {@snippet lang=c :
* int sqlite3_open(const char *filename, sqlite3 **ppDb)
* }
*/
public static int sqlite3_open(MemorySegment filename, MemorySegment ppDb) {
var mh$ = sqlite3_open.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_open", filename, ppDb);
}
return (int)mh$.invokeExact(filename, ppDb);
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_open_v2 {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_INT,
sqlite3_h.C_POINTER,
sqlite3_h.C_POINTER,
sqlite3_h.C_INT,
sqlite3_h.C_POINTER
);
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_open_v2");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* int sqlite3_open_v2(const char *filename, sqlite3 **ppDb, int flags, const char *zVfs)
* }
*/
public static FunctionDescriptor sqlite3_open_v2$descriptor() {
return sqlite3_open_v2.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* int sqlite3_open_v2(const char *filename, sqlite3 **ppDb, int flags, const char *zVfs)
* }
*/
public static MethodHandle sqlite3_open_v2$handle() {
return sqlite3_open_v2.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* int sqlite3_open_v2(const char *filename, sqlite3 **ppDb, int flags, const char *zVfs)
* }
*/
public static MemorySegment sqlite3_open_v2$address() {
return sqlite3_open_v2.ADDR;
}
/**
* {@snippet lang=c :
* int sqlite3_open_v2(const char *filename, sqlite3 **ppDb, int flags, const char *zVfs)
* }
*/
public static int sqlite3_open_v2(MemorySegment filename, MemorySegment ppDb, int flags, MemorySegment zVfs) {
var mh$ = sqlite3_open_v2.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_open_v2", filename, ppDb, flags, zVfs);
}
return (int)mh$.invokeExact(filename, ppDb, flags, zVfs);
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_extended_errcode {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_INT,
sqlite3_h.C_POINTER
);
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_extended_errcode");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* int sqlite3_extended_errcode(sqlite3 *db)
* }
*/
public static FunctionDescriptor sqlite3_extended_errcode$descriptor() {
return sqlite3_extended_errcode.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* int sqlite3_extended_errcode(sqlite3 *db)
* }
*/
public static MethodHandle sqlite3_extended_errcode$handle() {
return sqlite3_extended_errcode.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* int sqlite3_extended_errcode(sqlite3 *db)
* }
*/
public static MemorySegment sqlite3_extended_errcode$address() {
return sqlite3_extended_errcode.ADDR;
}
/**
* {@snippet lang=c :
* int sqlite3_extended_errcode(sqlite3 *db)
* }
*/
public static int sqlite3_extended_errcode(MemorySegment db) {
var mh$ = sqlite3_extended_errcode.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_extended_errcode", db);
}
return (int)mh$.invokeExact(db);
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_errmsg {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_POINTER,
sqlite3_h.C_POINTER
);
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_errmsg");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* const char *sqlite3_errmsg(sqlite3 *)
* }
*/
public static FunctionDescriptor sqlite3_errmsg$descriptor() {
return sqlite3_errmsg.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* const char *sqlite3_errmsg(sqlite3 *)
* }
*/
public static MethodHandle sqlite3_errmsg$handle() {
return sqlite3_errmsg.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* const char *sqlite3_errmsg(sqlite3 *)
* }
*/
public static MemorySegment sqlite3_errmsg$address() {
return sqlite3_errmsg.ADDR;
}
/**
* {@snippet lang=c :
* const char *sqlite3_errmsg(sqlite3 *)
* }
*/
public static MemorySegment sqlite3_errmsg(MemorySegment x0) {
var mh$ = sqlite3_errmsg.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_errmsg", x0);
}
return (MemorySegment)mh$.invokeExact(x0);
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_errstr {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_POINTER,
sqlite3_h.C_INT
);
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_errstr");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* const char *sqlite3_errstr(int)
* }
*/
public static FunctionDescriptor sqlite3_errstr$descriptor() {
return sqlite3_errstr.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* const char *sqlite3_errstr(int)
* }
*/
public static MethodHandle sqlite3_errstr$handle() {
return sqlite3_errstr.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* const char *sqlite3_errstr(int)
* }
*/
public static MemorySegment sqlite3_errstr$address() {
return sqlite3_errstr.ADDR;
}
/**
* {@snippet lang=c :
* const char *sqlite3_errstr(int)
* }
*/
public static MemorySegment sqlite3_errstr(int x0) {
var mh$ = sqlite3_errstr.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_errstr", x0);
}
return (MemorySegment)mh$.invokeExact(x0);
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_prepare_v2 {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_INT,
sqlite3_h.C_POINTER,
sqlite3_h.C_POINTER,
sqlite3_h.C_INT,
sqlite3_h.C_POINTER,
sqlite3_h.C_POINTER
);
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_prepare_v2");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* int sqlite3_prepare_v2(sqlite3 *db, const char *zSql, int nByte, sqlite3_stmt **ppStmt, const char **pzTail)
* }
*/
public static FunctionDescriptor sqlite3_prepare_v2$descriptor() {
return sqlite3_prepare_v2.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* int sqlite3_prepare_v2(sqlite3 *db, const char *zSql, int nByte, sqlite3_stmt **ppStmt, const char **pzTail)
* }
*/
public static MethodHandle sqlite3_prepare_v2$handle() {
return sqlite3_prepare_v2.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* int sqlite3_prepare_v2(sqlite3 *db, const char *zSql, int nByte, sqlite3_stmt **ppStmt, const char **pzTail)
* }
*/
public static MemorySegment sqlite3_prepare_v2$address() {
return sqlite3_prepare_v2.ADDR;
}
/**
* {@snippet lang=c :
* int sqlite3_prepare_v2(sqlite3 *db, const char *zSql, int nByte, sqlite3_stmt **ppStmt, const char **pzTail)
* }
*/
public static int sqlite3_prepare_v2(MemorySegment db, MemorySegment zSql, int nByte, MemorySegment ppStmt, MemorySegment pzTail) {
var mh$ = sqlite3_prepare_v2.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_prepare_v2", db, zSql, nByte, ppStmt, pzTail);
}
return (int)mh$.invokeExact(db, zSql, nByte, ppStmt, pzTail);
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_bind_int {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_INT,
sqlite3_h.C_POINTER,
sqlite3_h.C_INT,
sqlite3_h.C_INT
);
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_bind_int");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* int sqlite3_bind_int(sqlite3_stmt *, int, int)
* }
*/
public static FunctionDescriptor sqlite3_bind_int$descriptor() {
return sqlite3_bind_int.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* int sqlite3_bind_int(sqlite3_stmt *, int, int)
* }
*/
public static MethodHandle sqlite3_bind_int$handle() {
return sqlite3_bind_int.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* int sqlite3_bind_int(sqlite3_stmt *, int, int)
* }
*/
public static MemorySegment sqlite3_bind_int$address() {
return sqlite3_bind_int.ADDR;
}
/**
* {@snippet lang=c :
* int sqlite3_bind_int(sqlite3_stmt *, int, int)
* }
*/
public static int sqlite3_bind_int(MemorySegment x0, int x1, int x2) {
var mh$ = sqlite3_bind_int.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_bind_int", x0, x1, x2);
}
return (int)mh$.invokeExact(x0, x1, x2);
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_bind_text {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_INT,
sqlite3_h.C_POINTER,
sqlite3_h.C_INT,
sqlite3_h.C_POINTER,
sqlite3_h.C_INT,
sqlite3_h.C_POINTER
);
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_bind_text");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* int sqlite3_bind_text(sqlite3_stmt *, int, const char *, int, void (*)(void *))
* }
*/
public static FunctionDescriptor sqlite3_bind_text$descriptor() {
return sqlite3_bind_text.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* int sqlite3_bind_text(sqlite3_stmt *, int, const char *, int, void (*)(void *))
* }
*/
public static MethodHandle sqlite3_bind_text$handle() {
return sqlite3_bind_text.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* int sqlite3_bind_text(sqlite3_stmt *, int, const char *, int, void (*)(void *))
* }
*/
public static MemorySegment sqlite3_bind_text$address() {
return sqlite3_bind_text.ADDR;
}
/**
* {@snippet lang=c :
* int sqlite3_bind_text(sqlite3_stmt *, int, const char *, int, void (*)(void *))
* }
*/
public static int sqlite3_bind_text(MemorySegment x0, int x1, MemorySegment x2, int x3, MemorySegment x4) {
var mh$ = sqlite3_bind_text.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_bind_text", x0, x1, x2, x3, x4);
}
return (int)mh$.invokeExact(x0, x1, x2, x3, x4);
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_column_count {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_INT,
sqlite3_h.C_POINTER
);
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_column_count");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* int sqlite3_column_count(sqlite3_stmt *pStmt)
* }
*/
public static FunctionDescriptor sqlite3_column_count$descriptor() {
return sqlite3_column_count.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* int sqlite3_column_count(sqlite3_stmt *pStmt)
* }
*/
public static MethodHandle sqlite3_column_count$handle() {
return sqlite3_column_count.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* int sqlite3_column_count(sqlite3_stmt *pStmt)
* }
*/
public static MemorySegment sqlite3_column_count$address() {
return sqlite3_column_count.ADDR;
}
/**
* {@snippet lang=c :
* int sqlite3_column_count(sqlite3_stmt *pStmt)
* }
*/
public static int sqlite3_column_count(MemorySegment pStmt) {
var mh$ = sqlite3_column_count.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_column_count", pStmt);
}
return (int)mh$.invokeExact(pStmt);
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_column_name {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_POINTER,
sqlite3_h.C_POINTER,
sqlite3_h.C_INT
);
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_column_name");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* const char *sqlite3_column_name(sqlite3_stmt *, int N)
* }
*/
public static FunctionDescriptor sqlite3_column_name$descriptor() {
return sqlite3_column_name.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* const char *sqlite3_column_name(sqlite3_stmt *, int N)
* }
*/
public static MethodHandle sqlite3_column_name$handle() {
return sqlite3_column_name.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* const char *sqlite3_column_name(sqlite3_stmt *, int N)
* }
*/
public static MemorySegment sqlite3_column_name$address() {
return sqlite3_column_name.ADDR;
}
/**
* {@snippet lang=c :
* const char *sqlite3_column_name(sqlite3_stmt *, int N)
* }
*/
public static MemorySegment sqlite3_column_name(MemorySegment x0, int N) {
var mh$ = sqlite3_column_name.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_column_name", x0, N);
}
return (MemorySegment)mh$.invokeExact(x0, N);
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_step {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_INT,
sqlite3_h.C_POINTER
);
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_step");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* int sqlite3_step(sqlite3_stmt *)
* }
*/
public static FunctionDescriptor sqlite3_step$descriptor() {
return sqlite3_step.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* int sqlite3_step(sqlite3_stmt *)
* }
*/
public static MethodHandle sqlite3_step$handle() {
return sqlite3_step.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* int sqlite3_step(sqlite3_stmt *)
* }
*/
public static MemorySegment sqlite3_step$address() {
return sqlite3_step.ADDR;
}
/**
* {@snippet lang=c :
* int sqlite3_step(sqlite3_stmt *)
* }
*/
public static int sqlite3_step(MemorySegment x0) {
var mh$ = sqlite3_step.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_step", x0);
}
return (int)mh$.invokeExact(x0);
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_column_int {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_INT,
sqlite3_h.C_POINTER,
sqlite3_h.C_INT
);
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_column_int");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* int sqlite3_column_int(sqlite3_stmt *, int iCol)
* }
*/
public static FunctionDescriptor sqlite3_column_int$descriptor() {
return sqlite3_column_int.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* int sqlite3_column_int(sqlite3_stmt *, int iCol)
* }
*/
public static MethodHandle sqlite3_column_int$handle() {
return sqlite3_column_int.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* int sqlite3_column_int(sqlite3_stmt *, int iCol)
* }
*/
public static MemorySegment sqlite3_column_int$address() {
return sqlite3_column_int.ADDR;
}
/**
* {@snippet lang=c :
* int sqlite3_column_int(sqlite3_stmt *, int iCol)
* }
*/
public static int sqlite3_column_int(MemorySegment x0, int iCol) {
var mh$ = sqlite3_column_int.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_column_int", x0, iCol);
}
return (int)mh$.invokeExact(x0, iCol);
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_column_text {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_POINTER,
sqlite3_h.C_POINTER,
sqlite3_h.C_INT
);
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_column_text");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* const unsigned char *sqlite3_column_text(sqlite3_stmt *, int iCol)
* }
*/
public static FunctionDescriptor sqlite3_column_text$descriptor() {
return sqlite3_column_text.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* const unsigned char *sqlite3_column_text(sqlite3_stmt *, int iCol)
* }
*/
public static MethodHandle sqlite3_column_text$handle() {
return sqlite3_column_text.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* const unsigned char *sqlite3_column_text(sqlite3_stmt *, int iCol)
* }
*/
public static MemorySegment sqlite3_column_text$address() {
return sqlite3_column_text.ADDR;
}
/**
* {@snippet lang=c :
* const unsigned char *sqlite3_column_text(sqlite3_stmt *, int iCol)
* }
*/
public static MemorySegment sqlite3_column_text(MemorySegment x0, int iCol) {
var mh$ = sqlite3_column_text.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_column_text", x0, iCol);
}
return (MemorySegment)mh$.invokeExact(x0, iCol);
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_column_type {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_INT,
sqlite3_h.C_POINTER,
sqlite3_h.C_INT
);
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_column_type");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* int sqlite3_column_type(sqlite3_stmt *, int iCol)
* }
*/
public static FunctionDescriptor sqlite3_column_type$descriptor() {
return sqlite3_column_type.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* int sqlite3_column_type(sqlite3_stmt *, int iCol)
* }
*/
public static MethodHandle sqlite3_column_type$handle() {
return sqlite3_column_type.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* int sqlite3_column_type(sqlite3_stmt *, int iCol)
* }
*/
public static MemorySegment sqlite3_column_type$address() {
return sqlite3_column_type.ADDR;
}
/**
* {@snippet lang=c :
* int sqlite3_column_type(sqlite3_stmt *, int iCol)
* }
*/
public static int sqlite3_column_type(MemorySegment x0, int iCol) {
var mh$ = sqlite3_column_type.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_column_type", x0, iCol);
}
return (int)mh$.invokeExact(x0, iCol);
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_finalize {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_INT,
sqlite3_h.C_POINTER
);
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_finalize");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* int sqlite3_finalize(sqlite3_stmt *pStmt)
* }
*/
public static FunctionDescriptor sqlite3_finalize$descriptor() {
return sqlite3_finalize.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* int sqlite3_finalize(sqlite3_stmt *pStmt)
* }
*/
public static MethodHandle sqlite3_finalize$handle() {
return sqlite3_finalize.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* int sqlite3_finalize(sqlite3_stmt *pStmt)
* }
*/
public static MemorySegment sqlite3_finalize$address() {
return sqlite3_finalize.ADDR;
}
/**
* {@snippet lang=c :
* int sqlite3_finalize(sqlite3_stmt *pStmt)
* }
*/
public static int sqlite3_finalize(MemorySegment pStmt) {
var mh$ = sqlite3_finalize.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_finalize", pStmt);
}
return (int)mh$.invokeExact(pStmt);
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_reset {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_INT,
sqlite3_h.C_POINTER
);
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_reset");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* int sqlite3_reset(sqlite3_stmt *pStmt)
* }
*/
public static FunctionDescriptor sqlite3_reset$descriptor() {
return sqlite3_reset.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* int sqlite3_reset(sqlite3_stmt *pStmt)
* }
*/
public static MethodHandle sqlite3_reset$handle() {
return sqlite3_reset.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* int sqlite3_reset(sqlite3_stmt *pStmt)
* }
*/
public static MemorySegment sqlite3_reset$address() {
return sqlite3_reset.ADDR;
}
/**
* {@snippet lang=c :
* int sqlite3_reset(sqlite3_stmt *pStmt)
* }
*/
public static int sqlite3_reset(MemorySegment pStmt) {
var mh$ = sqlite3_reset.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_reset", pStmt);
}
return (int)mh$.invokeExact(pStmt);
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static class sqlite3_strlike {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
sqlite3_h.C_INT,
sqlite3_h.C_POINTER,
sqlite3_h.C_POINTER,
sqlite3_h.C_INT
);
public static final MemorySegment ADDR = SYMBOL_LOOKUP.findOrThrow("sqlite3_strlike");
public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
}
/**
* Function descriptor for:
* {@snippet lang=c :
* int sqlite3_strlike(const char *zGlob, const char *zStr, unsigned int cEsc)
* }
*/
public static FunctionDescriptor sqlite3_strlike$descriptor() {
return sqlite3_strlike.DESC;
}
/**
* Downcall method handle for:
* {@snippet lang=c :
* int sqlite3_strlike(const char *zGlob, const char *zStr, unsigned int cEsc)
* }
*/
public static MethodHandle sqlite3_strlike$handle() {
return sqlite3_strlike.HANDLE;
}
/**
* Address for:
* {@snippet lang=c :
* int sqlite3_strlike(const char *zGlob, const char *zStr, unsigned int cEsc)
* }
*/
public static MemorySegment sqlite3_strlike$address() {
return sqlite3_strlike.ADDR;
}
/**
* {@snippet lang=c :
* int sqlite3_strlike(const char *zGlob, const char *zStr, unsigned int cEsc)
* }
*/
public static int sqlite3_strlike(MemorySegment zGlob, MemorySegment zStr, int cEsc) {
var mh$ = sqlite3_strlike.HANDLE;
try {
if (TRACE_DOWNCALLS) {
traceDowncall("sqlite3_strlike", zGlob, zStr, cEsc);
}
return (int)mh$.invokeExact(zGlob, zStr, cEsc);
} catch (Error | RuntimeException ex) {
throw ex;
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
}
private static final MemorySegment SQLITE_STATIC = MemorySegment.ofAddress(0L);
/**
* {@snippet lang=c :
* #define SQLITE_STATIC (void*) 0
* }
*/
public static MemorySegment SQLITE_STATIC() {
return SQLITE_STATIC;
}
private static final MemorySegment SQLITE_TRANSIENT = MemorySegment.ofAddress(-1L);
/**
* {@snippet lang=c :
* #define SQLITE_TRANSIENT (void*) -1
* }
*/
public static MemorySegment SQLITE_TRANSIENT() {
return SQLITE_TRANSIENT;
}
}