(PHP 4 >= 4.2.0, PHP 5 < 5.1.0)
dio_fcntl — Exécute une fonction fichier de langage C
   dio_fcntl() exécute l'opération
   cmd sur le fichier représenté par la
   ressource fd. Certaines commandes demandent
   des arguments supplémentaires qui sont fournis dans l'argument
   args.
  
fdLa ressource de fichier retournée par dio_open().
cmdPeut être une de ces opérations suivantes :
          F_SETLK : le verrou est posé ou levé. Si le
          verrou appartient à un autre utilisateur, dio_fcntl() 
          retourne -1.
         
          F_SETLKW : identique à
          F_SETLK, mais si le verrou appartient à quelqu'un
          d'autre, dio_fcntl() attend la levée du verrou.
         
          F_GETLK : dio_fcntl() retourne
          un tableau associatif (comme décrit ci-dessous) si un autre utilisateur
          empêche la poste d'un verrou. S'il n'y a aucun empêchement,
          l'entrée "type" prendra la valeur F_UNLCK.
         
          F_DUPFD : trouve les numéros de ressource de fichier
          les plus petits, disponibles, inférieurs ou égales à
          args et les retourne.
         
          F_SETFL : configure les descripteurs de fichier
          à la valeur spécifiée par args, qui peut être
          O_APPEND, O_NONBLOCK ou
          O_ASYNC. Pour utiliser
          O_ASYNC vous aurez besoin de l'extension
          PCNTL.
         
args
       args est un tableau associatif lorsque
       cmd vaut F_SETLK
       ou F_SETLLW, avec les entrées suivantes :
       
          start : offset de début de verrou
         
          length : taille de la surface verrouillée. Zéro indique la fin
          du fichier
         
          whence : l_start est relatif à : peut être
          SEEK_SET, SEEK_END et
          SEEK_CUR
         
          type : type de verrou. peut être
          F_RDLCK (verrou en lecture),
          F_WRLCK (verrou en écriture) ou
          F_UNLCK (déverrouillage)
         
Retourne le résultat d'un appel en C.
Exemple #1 Positionnement et suppression d'un verrou
<?php
$fd = dio_open('/dev/ttyS0', O_RDWR);
if (dio_fcntl($fd, F_SETLK, Array("type"=>F_WRLCK)) == -1) {
   // le descripteur de fichier semble verrouillé
   echo "Le verrou n'a pu être effacé. Il a été posé par quelqu'un d'autre.";
} else {
   echo "Le verrou a été défini/verrouillé avec succès";
}
dio_close($fd);
?>
Note: Cette fonction n'est pas implémentée sur les plates-formes Windows.