plucky (3) __fwriting.3.gz

Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       __fbufsize,   __flbf,   __fpending,   __fpurge,   __freadable,  __freading,  __fsetlocking,  __fwritable,
       __fwriting, _flushlbf - 標準入出力ファイル構造体へのインターフェース

書式

       #include <stdio.h>
       #include <stdio_ext.h>

       size_t __fbufsize(FILE *stream);
       size_t __fpending(FILE *stream);
       int __flbf(FILE *stream);
       int __freadable(FILE *stream);
       int __fwritable(FILE *stream);
       int __freading(FILE *stream);
       int __fwriting(FILE *stream);
       int __fsetlocking(FILE *stream, int type);
       void _flushlbf(void);
       void __fpurge(FILE *stream);

説明

       Solaris では、 FILE 構造体の内部へポータブルなかたちで アクセスできる手段が導入されており、これらは glibc
       でも実装されている。

       __fbufsize()  関数は、指定されたストリームが使用しているバッファーサイズを返す。

       __fpending()  関数は、出力バッファーに入っているデータのバイト数を返す。 ワイドキャラクターを扱うストリー
       ムの場合、ワイドキャラクター単位で計算される。 バッファーが読み出しモードの場合や読み出し専用で開かれてい
       る場合の この関数の振舞いは未定義である。

       __flbf()  関数は、ストリームがラインバッファーの場合は 0 以外を、 それ以外の場合は 0 を返す。

       __freadable()  関数は、ストリームが読み出し可能な場合は 0 以外を、 それ以外の場合は 0 を返す。

       __fwritable()  関数は、ストリームが書き込み可能な場合は 0 以外を、 それ以外の場合は 0 を返す。

       __freading()  関数は、ストリームが読み出し専用の場合、またはストリームに対する直前の操作が 読み出し操作で
       あった場合は 0 以外を返し、それ以外の場合は 0 を返す。

       __fwriting()  関数は、ストリームが書き込み専用(もしくは追加専用)の場合、 またはストリームに対する直前の操
       作が書き込み操作であった場合は 0 以外を返し、 それ以外の場合は 0 を返す。

       __fsetlocking()   関数は、ストリームのロック形式を選択するために使用できる。 返り値は、現在のロック形式で
       ある。 type 引数は以下の 3 種類の値をとることができる :

       FSETLOCKING_INTERNAL
              指定されたストリームに対して操作が行われる度に、操作の前後で    明示的に指示しなくてもストリームの
              ロック処理を行う  (但し、*_unlocked 関数を使用した場合は例外である)。 これがデフォルトのロック形式
              である。

       FSETLOCKING_BYCALLER
              関数の呼び出し元でロックの面倒をみる。  (おそらく、複数のスレッドが存在する状況では   flockfile(3)
              を使うことになるだろう) ロック形式が FSETLOCKING_INTERNAL にリセットされるまでは標準入出力関連の関
              数はロック処理を行わない。

       FSETLOCKING_QUERY
              ロック形式の変更を行わない。(現在の形式を返すだけである)

       _flushlbf()   関数は、すべてのラインバッファー  (line-buffered)  タイプのストリームの   内容を出力(フラッ
       シュ)する。  (当然ながら、端末への出力が強制的に行われることになるので、 キーボードからの入力を読みこむ前
       にこの関数を呼んだ方がいいだろう)

       __fpurge()  関数は、ストリームのバッファーの内容を廃棄する。

属性

       この節で使用されている用語の説明については、 attributes(7) を参照。

       ┌─────────────────────────────┬───────────────┬─────────────────────┐
       │インターフェース属性                  │
       ├─────────────────────────────┼───────────────┼─────────────────────┤
       │__fbufsize(), __fpending(),  │ Thread safety │ MT-Safe race:stream │
       │__fpurge(), __fsetlocking()  │               │                     │
       ├─────────────────────────────┼───────────────┼─────────────────────┤
       │__flbf(), __freadable(),     │ Thread safety │ MT-Safe             │
       │__freading(), __fwritable(), │               │                     │
       │__fwriting(), _flushlbf()    │               │                     │
       └─────────────────────────────┴───────────────┴─────────────────────┘

関連項目

       flockfile(3), fpurge(3)

この文書について

       この man ページは Linux man-pages プロジェクトのリリース 5.10  の一部である。プロジェクトの説明とバグ報告
       に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

                                                   2015-03-02                                       STDIO_EXT(3)