2014-09-17 6 views
1

Si je veux appeler l'appel système ioctl() sous Linux en utilisant JNA, quelle bibliothèque dois-je charger?appel appel système ioctl en utilisant jna

En d'autres termes: je l'ai déjà le code suivant:

public class SystemCallLibrary extends Library{ 
    CLibrary INSTANCE = 
     (CLibrary) Native.loadLibrary(("libraryname"), SystemCallLibrary.class); 
    int ioctl(int filedes,int request,Object... args); 
} 

Que dois-je remplacer "libraryname" avec?

+1

sauf mention explicitement dans une autre bibliothèque, il serait exposé par 'libc', donc' Native.loadLibrary ("c", LibC.class) ' – Petesh

+0

considèrent envelopper l'appel à ioctl dans une fonction (que vous écrivez en c) et en appelant votre fonction. la bibliothèque que vous chargez pour ceci est la bibliothèque que vous créez pour héberger votre fonction. – DwB

Répondre

1

ioctl est probablement déjà lié dans la machine virtuelle Java elle-même, de sorte que vous pouvez passer un nom de la bibliothèque de null ou omettre le paramètre tout à fait, ce qui signifie « la charge du processus en cours ».

Reference