標準/拡張機能 | C/C++ | 依存項目 |
---|---|---|
XPG4.2 |
両方 |
#define _XOPEN_SOURCE_EXTENDED 1
#include <stropts.h>
int fattach(int fildes, const char *path);
fattach() 関数は、STREAMS ベースのファイル記述子をファイルに付加し、パス名を有効に fildes に関連付けます。 fildes 引数は、STREAMS ファイルに関連付けられた有効なオープン・ファイル記述子でなければなりません。path 引数は、既存ファイルのパス名を指します。プロセスは、適切な特権を持つか、または path で示された名前を持つファイルの所有者であり、かつ書き込み許可を持っていなければなりません。fattach() の呼び出しに成功した場合、path で指定したファイルから STREAMS ファイルが切り離されるまで、そのファイルを示すすべてのパス名が、fildes に関連した STREAMS ファイルを示すようになります。STREAMS ファイルを複数のファイルへ接続することができ、それに関連するいく つかのパス名を持つこともできます。
指定された STREAMS ファイルの属性は以下のように初期化されます。許可、ユーザー ID、グループ ID、および時間は path で示される名 前を持つファイルと同じ値に設定され、リンク数は 1 に設定され、かつ 装置 ID は fildes に関連する STREAMS ファイルと同じ値に設定さ れます。指定された STREAMS ファイルのいずれの属性が、その後 (例えば、chmod() によって) 変更されても、基礎ファイルの属性や、fildes が 参照する STREAMS ファイルの属性には影響を与えません。
基礎ファイルを参照するファイル記述子は、fattach() 呼び出しの前に オープンされ、基礎ファイルを参照し続けます。
正常に実行された場合、fattach() は 0 を戻します。