Unix-system-calls-ioctl

提供:Dev Guides
移動先:案内検索

[top]#

|http://www.google.com/[Google] | a|

Web This Site
  • 初心者向けのUnix *
  • 高度なUnix *

選択した読書

Copyright©2014 by finddevguides

[cols=",,,,,,,",]

| |  Home   | |  References   | |  Discussion Forums   | |  About TP  

[width="100%",cols="100%",]

a| == ioctl()-Unix、Linuxシステムコール

[[File:]] image :http://www.finddevguides.com/images/next.gif [next] image:http://www.finddevguides.com/add- this.gif [AddThisソーシャルブックマークボタン]

広告

NAME

ioctl-制御デバイス

概要

  • #include <sys/ioctl.h> *
*int ioctl(int* __d __ **、int * *__request __* *、...); **

説明

*ioctl* ()関数は、特殊ファイルの基礎となるデバイスパラメーターを操作します。 特に、キャラクタースペシャルファイルの多くの動作特性(例: 端末)は、 *ioctl* ()要求で制御できます。 引数_d_は、開いているファイル記述子でなければなりません。

2番目の引数はデバイス依存のリクエストコードです。 3番目の引数は、メモリへの型なしポインタです。 これは伝統的に* char * argp( *void *が有効なCになる前の日から)であり、この議論のためにそのように命名されます。

*ioctl* ()_request_は、引数が_in_パラメーターまたは_out_パラメーターであるかどうか、および引数のサイズ(バイト単位)_argp_をエンコードしています。 *ioctl* ()_request_を指定する際に使用されるマクロと定義は、ファイル_ <sys/ioctl.h> _にあります。

返り値

通常、成功するとゼロが返されます。 いくつかの ioctl ()要求は、戻り値を出力パラメーターとして使用し、成功した場合に負でない値を返します。 エラーの場合、-1が返され、_errno_が適切に設定されます。

エラー

Tag Description
EBADF d is not a valid descriptor.
EFAULT argp references an inaccessible memory area.
EINVAL Request or argp is not valid.
ENOTTY d is not associated with a character special device.
ENOTTY The specified request does not apply to the kind of object that the descriptor d references.

NOTE

この呼び出しを使用するには、ファイル記述子を開く必要があります。 多くの場合、 open (2)呼び出しには望ましくない副作用があります。これは、LinuxでO_NONBLOCKフラグを指定することで回避できます。

準拠

単一の標準はありません。 ioctl (2)の引数、戻り値、およびセマンティクスは、対象のデバイスドライバーによって異なります(UnixストリームI/Oモデルに完全に適合しない操作のキャッチオールとして使用されます)。 既知の多くの ioctl ()呼び出しのリストについては、 ioctl_list (2)を参照してください。 ioctl ()関数呼び出しは、バージョン7 AT&T Unixで登場しました。

関連項目

[[File:]] image :http://www.finddevguides.com/images/next.gif [next] [[File:]]

広告

|  

[cols="^",]

|Advertisements