$ scripts/gen.sh $ find generated -name '*.java' | wc -l 4 $ wc -l $(find generated -name '*.java') | sort -n 63 generated/demo/sqlite/sqlite3_h$shared.java 69 generated/demo/sqlite/sqlite3_bind_text$x0.java 73 generated/demo/sqlite/sqlite3_exec$callback.java 1662 generated/demo/sqlite/sqlite3_h.java 1867 total $ jextract --output -t demo.sqlite.full -l sqlite3 /usr/include/sqlite3.h # no filters: the whole header warnings: 14 sqlite3.h:272:16: warning: Skipping sqlite3 (type Declared(sqlite3) is not supported) sqlite3.h:4045:16: warning: Skipping sqlite3_stmt (type Declared(sqlite3_stmt) is not supported) files: 83 lines: 44295 bytes: 1339454 lines in the one big header class: 22335 $ grep -o 'public static [A-Za-z.]* sqlite3_open[a-z_0-9$]*(' generated/demo/sqlite/sqlite3_h.java | sort -u public static FunctionDescriptor sqlite3_open$descriptor( public static FunctionDescriptor sqlite3_open_v2$descriptor( public static MemorySegment sqlite3_open$address( public static MemorySegment sqlite3_open_v2$address( public static MethodHandle sqlite3_open$handle( public static MethodHandle sqlite3_open_v2$handle( public static int sqlite3_open( public static int sqlite3_open_v2(