IOPERM |
Permission d'entrée/sortie |
unistd.h pour libc5 ou sys/io.h pour glibc |
Syntaxe
int ioperm(unsigned long from, unsigned long num, int turn_on);
|
Paramètres
Nom |
Description |
from |
Ce paramètre permet d'indiquer le numéro du premier port à autoriser. L'architecture des microprocesseurs de la famille des 80x86 supporte des valeurs entre 0 et 65535. Toutefois, avant Linux 2.6.8, seul les ports d'entrée/sortie entre 0 et 03FFh sont acceptés. |
num |
Ce paramètre permet d'indiquer le nombre de port d'entrée/sortie à partir de la position du premier port. |
turn_on |
Ce paramètre permet d'indiquer l'état des permissions : |
0 |
Cette valeur permet d'interdire l'accès au port d'entrée/sortie. |
!= 0 |
Ces valeurs permettent d'indiquer qu'il est autorisé d'utiliser les ports d'entrée/sorties. Ces valeurs déclencheront un «CAP_SYS_RAWIO». |
Retour
Valeur |
Description |
0 |
Cette valeur permet d'indiquer que l'opération s'est bien déroulé. |
-1 |
Cette valeur permet d'indiquer qu'une erreur s'est produite. Dans ce cas, la variable «errno» contient le code d'erreur. |
Description
Cette fonction permet de fixer les permissions d'un ou de plusieurs ports d'entrée/sortie.
Remarques
- Les codes d'erreurs retournés par la variable «errno» correspondent généralement à ceci :
Constante |
Description |
EINVAL |
Cette constante permet d'indiquer que le paramètre est invalide. |
EIO |
Cette constante permet d'indiquer qu'une erreur d'entrée/sortie s'est produite. |
ENOMEM |
Cette constante permet d'indiquer qu'il n'y a pas d'espace de disponible. |
EPERM |
Cette constante permet d'indiquer que l'opération n'est pas permise. |
- Cette fonction est destiné à une architecture de la famille des microprocesseurs 80x86, elle n'est donc pas considéré comme une fonction portable sur n'importe quel système.
- On peut vérifier le fichier «/proc/ioports» afin d'afficher les ports d'entrée/sortie étant actuellement alloué au système.
- Si vous tentez d'exploiter ces possibilités dans une machine virtuel, vous devez, en plus, fixer les permissions à niveau de la machine virtuel.
Voir également
Langage de programmation - Assembleur 80x86 - Références des ports d'entrée/sortie 80x86
Dernière mise à jour : Vendredi, le 17 mars 2017