.\" -*- 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 "23 июля 2024 г." "Linux man\-pages 6.12" .SH НАИМЕНОВАНИЕ opendir, fdopendir \- открывает каталог .SH БИБЛИОТЕКА Standard C library (\fIlibc\fP,\ \fI\-lc\fP) .SH ОБЗОР .nf \fB#include \fP \fB#include \fP .P \fBDIR *opendir(const char *\fP\fIname\fP\fB);\fP \fBDIR *fdopendir(int \fP\fIfd\fP\fB);\fP .fi .P .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .P \fBfdopendir\fP(): .nf Начиная с glibc 2.10: _POSIX_C_SOURCE >= 200809L До glibc 2.10: _BSD_SOURCE .fi .SH ОПИСАНИЕ Функция \fBopendir\fP() открывает поток каталога, соответствующий каталогу с именем \fIname\fP, и возвращает указатель на поток каталога. Поток устанавливается на первую запись в каталоге. .P Функция \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 .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). .P Задействованный файловый дескриптор потока каталога может быть получен в помощью \fBdirfd\fP(3). .P Функция \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 , Иван Павлов и Kirill Rekhov . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу .MT списка рассылки русских переводчиков .ME .