3.1.2 XPOLL.H の変更 |
|
V1.6
XPOLL.H ヘッダ・ファイルは, relaxed_ansi モードでコンパイルできるように変更されました。 XPOLL.H は, fd_set 型の代わりに DECW_FD_Set 型を定義し, FD_ZERO,FD_CLR,FD_SET,FD_ISSET,および Select の代わりにマクロ DECW_FD_ZERO,DECW_FD_CLR,DECW_FD_SET,DECW_FD_ISSET, DECW_Select を定義している点で X.org のサンプル実装と異なっています。これは,OpenVMS をインストールすることで提供される socket.h および time.h で行われている別の定義との衝突を避けるためです。 XPOLL.H をインクルードする前に DECW_USE_FD_SET マクロが設定されている場合,標準の名前が使用されますが,これらの名前は対応する DECW マクロを指します。
たとえば, xpoll.h をインクルードする前に DECW_USE_FD_SET マクロを設定すると, FD_CLR は DECW_FD_CLR と同じになります。 time.h または select.h からの定義もプログラム中で必要な場合には,この設定は行わないでください。
XPOLL.H は "DECW_Select" マクロを定義しますが,これはソケット関数 "select" と同じではありません。 "DECW_Select" マクロは X-Lib と ICE が用意する接続番号だけをサポートしていますが,"select" 関数は,オープン済みソケットのファイル記述子だけをサポートしています。
XPOLL.H のマクロは,XInitThreads が呼び出されていてもいなくても,使用することができます。ただし, ConnectionNumber マクロを使用する際には次の点に注意してください。
XPOLL.H を使用したコード例を次に示します。