☆ ''複数のファイルディスクリプタを監視し、変化があるまで待つ''
''long'' ''&color(Maroon){select};'' ''(''
  ''int'' nfds,
  ''fd_set *'' readfds,
  ''fd_set *'' writefds,
  ''fd_set *'' exceptfds,
  ''const struct timeval *'' timeout
'');''

* &tip; パラメータ [#k75f0d4f]
''nfds''
-[in] BSDソケットとの互換を保つためにあるので、''無視''される。
--本来は、調べるディスクリプタの数を指定。0を指定すれば何もしない。1を指定すれば0番目。よって、ビットが立っている番号 +1の値を指定することになる

''readfds''
-[in, out] 入力可能か調べるファイルディスクリプタの指定

''writefds''
-[in, out] 出力可能か調べるファイルディスクリプタの指定

''exceptfds''
-[in, out] エラーが発生したか調べるファイルディスクリプタの指定

''timeout''
-[in] タイムアウトする時間の指定。NULLを指定するべき
*  &tip; 返り値 [#s4d883a9]
-成功した場合、ディスクリプタ中のビットが立っている総数を返す。
-エラーならば、-1を返す。
-タイムアウトした場合、0を返す。

* (^-^ NOTE [#mc2b6e0b]