.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk) .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" References consulted: .\" Linux libc source code .\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) .\" 386BSD man pages .\" Modified Sat Jul 24 18:46:01 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified 11 June 1995 by Andries Brouwer (aeb@cwi.nl) .\" 2007-07-30 Ulrich Drepper : document fdopendir(). .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH opendir 3 "20 июля 2023 г." "Linux man\-pages 6.05.01" .SH ИМЯ opendir, fdopendir \- открывает каталог .SH LIBRARY Standard C library (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP \fB#include \fP .PP \fBDIR *opendir(const char *\fP\fIname\fP\fB);\fP \fBDIR *fdopendir(int \fP\fIfd\fP\fB);\fP .fi .PP .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .PP \fBfdopendir\fP(): .nf Начиная с glibc 2.10: _POSIX_C_SOURCE >= 200809L До glibc 2.10: _BSD_SOURCE .fi .SH ОПИСАНИЕ Функция \fBopendir\fP() открывает поток каталога, соответствующий каталогу с именем \fIname\fP, и возвращает указатель на поток каталога. Поток устанавливается на первую запись в каталоге. .PP Функция \fBfdopendir\fP() похожа на \fBopendir\fP(), но возвращает поток каталога для каталога, на который ссылается открытый файловый дескриптор \fIfd\fP. После успешного вызова \fBfdopendir\fP(), дескриптор \fIfd\fP используется только внутри реализации и не должен использоваться в приложении. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" The \fBopendir\fP() and \fBfdopendir\fP() functions return a pointer to the directory stream. On error, NULL is returned, and \fIerrno\fP is set to indicate the error. .SH ОШИБКИ .TP \fBEACCES\fP Доступ запрещен. .TP \fBEBADF\fP Значение \fIfd\fP не является подходящим файловым дескриптором, открытым для чтения. .TP \fBEMFILE\fP Было достигнуто ограничение по количеству открытых файловых дескрипторов на процесс. .TP \fBENFILE\fP Достигнуто максимальное количество открытых файлов в системе. .TP \fBENOENT\fP Каталог не существует, либо \fIname\fP содержит пустую строку. .TP \fBENOMEM\fP Недостаточно памяти для завершения операции. .TP \fBENOTDIR\fP Значение \fIname\fP не является каталогом. .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ .na .nh \fBopendir\fP(), \fBfdopendir\fP() T} Безвредность в нитях MT\-Safe .TE .sp 1 .SH СТАНДАРТЫ POSIX.1\-2008. .SH СТАНДАРТЫ .TP \fBopendir\fP() SVr4, 4.3BSD, POSIX.1\-2001. .TP \fBfdopendir\fP() POSIX.1\-2008. glibc 2.4. .SH ЗАМЕЧАНИЯ Записи имён файлов можно читать из потока каталога с помощью \fBreaddir\fP(3). .PP Задействованный файловый дескриптор потока каталога может быть получен в помощью \fBdirfd\fP(3). .PP Функция \fBopendir\fP() устанавливает флаг close\-on\-exec для файлового дескриптора, указывающего на \fIDIR *\fP. Функция \fBfdopendir\fP() оставляет флаг close\-on\-exec не изменённым для файлового дескриптора \fIfd\fP. В POSIX.1\-200x нет точного определения на этот счет, хотя успешный вызов \fBfdopendir\fP() установит флаг close\-on\-exec для файлового дескриптора \fIfd\fP. .SH "СМ. ТАКЖЕ" \fBopen\fP(2), \fBclosedir\fP(3), \fBdirfd\fP(3), \fBreaddir\fP(3), \fBrewinddir\fP(3), \fBscandir\fP(3), \fBseekdir\fP(3), \fBtelldir\fP(3) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Azamat Hackimov , Konstantin Shvaykovskiy , Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .