Si está utilizando JNA probablemente desee especificar explícitamente los valores de la enumeración en Java. De manera predeterminada, el tipo de enumeración básico de Java realmente no le da esa funcionalidad, debe agregar un constructor para un EnumSet (vea this y this).
Una forma simple de codificar enumeraciones en C es usar constints finales estáticos públicos envueltos en una clase con el mismo nombre que enum. Obtiene la mayor parte de la funcionalidad que obtendría de una enumeración Java pero un poco menos de sobrecarga para asignar valores.
Algunos buenos ejemplos de JNA, incluidos los fragmentos a continuación (que fueron copiados) están disponibles here.
Supongamos que el código C se parece a:
enum Values {
First,
Second,
Last
};
luego mira el Java como:
public static interface Values {
public static final int First = 0;
public static final int Second = 1;
public static final int Last = 2;
}