Si vous utilisez JNA, vous souhaitez probablement spécifier explicitement les valeurs de l'énumération dans Java. Par défaut, le type enum de base de Java ne vous donne pas vraiment cette fonctionnalité, vous devez ajouter un constructeur pour un EnumSet (voir this et this).
Un moyen simple de coder les énumérations C consiste à utiliser des constantes finales publiques statiques enveloppées dans une classe portant le même nom que l'énumération. Vous obtenez la plupart des fonctionnalités que vous obtiendriez d'une énumération de Java mais légèrement moins de temps pour assigner des valeurs.
Certains bons exemples JNA, y compris les extraits ci-dessous (qui ont été copiés) sont disponibles here.
Supposons que votre code C ressemble à:
enum Values {
First,
Second,
Last
};
Java ressemble alors:
public static interface Values {
public static final int First = 0;
public static final int Second = 1;
public static final int Last = 2;
}