La primitive ioctl permet de réaliser un certain nombre d'opérations sur les fichiers spéciaux. A l'inverse de read et write qui sont polymorphes et qui s'appliquent identiquement sur tous les fichiers (spéciaux ou non), la primitive ioctl a des argment différents pour chaque type de fichier spécial.
#include<sys/ioctl.h>
int ioctl(int desc, int requete, ... /* args */);