(PHP 4 >= 4.2.0, PHP 5 < 5.1.0)
dio_fcntl — fd について C ライブラリの fcntl を実行する
   関数 dio_fcntl() は、ファイル記述子
   fd において cmd
   で指定された処理を行います。いくつかのコマンドでは、オプションの引数
   args の指定が必要となります。
  
fddio_open() が返すファイル記述子。
cmd以下の処理のいずれか。
          F_SETLK - ロックが設定あるいはクリアされます。
          ロックが他の誰かに設定されている場合、dio_fcntl()
          は -1 を返します。
         
          F_SETLKW - F_SETLK
          と似ていますが、ロックが他の誰かに設定されている場合は
          dio_fcntl() はそのロックが開放されるまで待ちます。
         
          F_GETLK - dio_fcntl() 
          は、他の誰かがロックを妨げる場合、(後述の)連想配列を返します。
          妨げるものがない場合、キー "type" は F_UNLCK
          に設定されます。
         
          F_DUPFD - args
          以上で最小のファイル記述子を探し、それを返します。
         
          F_SETFL - ファイル記述子のフラグを
          args で指定した値に設定します。指定できる値は
          O_APPEND、O_NONBLOCK
          あるいは O_ASYNC のいずれかです。
          O_ASYNC を使用するには、
          PCNTL 拡張モジュールが必要です。
         
args
       args は連想配列で、
       cmd が F_SETLK あるいは
       F_SETLLW の際に以下のキーを保持します。
       
C ライブラリをコールした結果を返します。
例1 ロックの設定と解除
<?php
$fd = dio_open('/dev/ttyS0', O_RDWR);
if (dio_fcntl($fd, F_SETLK, Array("type"=>F_WRLCK)) == -1) {
   // ファイル記述子がロックされている
   echo "ロックを解除できません。別のプロセスによってロックされています。";
} else {
   echo "ロックが正常に設定/解除できました。";
}
dio_close($fd);
?>注意: この関数は Windows 環境にはまだ実装されていません。
