Lookup for a constant from a native library

4 days ago 1
ARTICLE AD BOX

I'm writing a demo Java app that interacts with libpq. For this, I'm using java.lang.foreing package. My problem is, I can easily pick up functions but not integer enum constants:

System.load("path/to/the/lib/pq") var lookup = SymbolLookup.loaderLookup(); // works fine MemorySegment PQclear = lookup.find("PQclear").get() // but this fails (not found) MemorySegment CONN_OK = lookup.find("CONNECTION_OK").get()

The CONNECTION_OK value is just an enum defined as follows in C:

typedef enum { CONNECTION_OK, CONNECTION_BAD, ... }

I wonder how can I reach these enum values in Java? I wouldn't like to copy-paste them from C sources.

Read Entire Article