Документация по LinuxLinuxDoc.Ru 🔍

__fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading, __fsetlocking, __fwritable, __fwriting, _flushlbf - интерфейсы к структуре stdio FILE

НАЗВАНИЕ
__fbufsize, __flbf, __fpending, __fpurge, __freadable,
__freading, __fsetlocking, __fwritable, __fwriting,
_flushlbf - интерфейсы к структуре stdio FILE

СИНТАКСИС
#include
#include

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() возвращает ненулевое значение, если поток
буферизуется построчно, в противном случае возвращается
ноль.

Функция __freadable() возвращает ненулевое значение, если
поток позволяет чтение, иначе возвращается ноль..

Функция __fwritable() возвращает ненулевое значение, если
поток позволяет запись, иначе возвращается ноль..

Функция __freading() возвращает ненулевое значение, если
поток предназначен только для чтения или последняя
операция с потоком была операцией чтения, иначе
возвращается ноль.

Функция __fwriting() возвращает ненулевое значение, если
поток предназначен только для записи (или только для
добавления) или последняя операция с потоком была
операцией записи, иначе возвращается ноль.

Функция __fsetlocking() может быть использована для выбора
требуемого типа блокировки потока. Она возвращает текущий
тип. Аргумент type может принимать следующие три значения:

FSETLOCKING_INTERNAL
При каждой операции с потоком (кроме функций
*_unlocked) производить неявную блокировку потока.
Это значение используется по умолчанию.

FSETLOCKING_BYCALLER
Вызывающая программа будет сама следить за
блокировкой (возможно, в случае существования более
чем одного подпроцесса (thread), с помощью flock-
file(3), а функции stdio не будут выполнять
блокировку до тех пор, пока состояние не будет
сброшено в FSETLOCKING_INTERNAL.

FSETLOCKING_QUERY
Не изменять тип блокировки. (Только вернуть его.)

Функция _flushlbf() сбрасывает все потоки, буферизуемые
построчно. (Предположительно так, что принудительно
производится вывод на терминал перед чтением ввода с
клавиатуры.)

Функция __fpurge() отбрасывает содержимое буфера потока.
Читать новости Linux в Telegram
Linux - __fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading, __fsetlocking, __fwritable, __fwriting, _flushlbf - интерфейсы к структуре stdio FILE
Мы в соцсетях ✉