5部 関数リファレンス

ioctl

ioctl FILEHANDLE,FUNCTION,SCALAR



ioctlシステムコールを実装します。

  • ioctlシステムコールについては用語集「ioctlシステムコール」を参照してください。
  • 引数FOUNCTIONに応じてSCALARが読み書きされます。SCALARの文字列値へのポインタが、実際のioctlコールの3番目の引数として渡されます。(SCALARが文字列値を持っておらず、数値を持っている場合には、文字列値へのポインタの代わりに、その値が渡されます。このことを保証するためには、使用する前にSCALARに 0 を足してください。)

    正しい関数の定義を得るために、最初に下記のような呼び出しを行ったほうがよいでしょう。

    require "ioctl.ph";
    

    ioctl.hがないか、間違った定義をしている場合には、<sys/ioctl.ph>のようなCのヘッダファイルをもとに、自分で作らなければなりません。(これを手助けしてくれる、h2phというPerlスクリプトがPerlの配布キットに入っています。)

    ioctlで使われる構造体の値を操作するには、pack関数とunpack関数が便利です。

    関連記事