.\" -*- coding: UTF-8 -*-
.\" Copyright (C) 1995 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Written 11 June 1995 by Andries Brouwer <aeb@cwi.nl>
.\" Modified 22 July 1995 by Michael Chastain <mec@duracef.shout.net>:
.\"   In 1.3.X, returns only one entry each time; return value is different.
.\" Modified 2004-12-01, mtk, fixed headers listed in SYNOPSIS
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH readdir 2 "15 czerwca 2024 r." "Linux man\-pages 6.9.1" 
.SH NAZWA
readdir \- odczytuje wpis w katalogu
.SH BIBLIOTEKA
Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP)
.SH SKŁADNIA
.nf
\fB#include <sys/syscall.h>           \fP/* Definicja stałych \fBSYS_*\fP */
\fB#include <unistd.h>\fP
.P
\fBint syscall(SYS_readdir, unsigned int \fP\fIfd\fP\fB,\fP
\fB            struct old_linux_dirent *\fP\fIdirp\fP\fB, unsigned int \fP\fIcount\fP\fB);\fP
.fi
.P
\fIUwaga\fP: Brak definicji \fBstruct old_linux_dirent\fP; zob. UWAGI.
.SH OPIS
Nie jest to funkcja, która cię interesuje. Opis implementacji interfejsu
zgodnego z POSIX w bibliotece C znajduje się w \fBreaddir\fP(3). Niniejsza
strona opisuje goły interfejs wywołania systemowego, który został zastąpiony
przez \fBgetdents\fP(2).
.P
\fBreaddir\fP() odczytuje jedną strukturę \fIold_linux_dirent\fP z katalogu, na
który wskazuje deskryptor pliku \fIfd\fP, do bufora, na który wskazuje
\fIdirp\fP. Argument \fIcount\fP jest ignorowany; odczytywana jest co najwyżej
jedna struktura \fIold_linux_dirent\fP.
.P
Struktura \fIold_linux_dirent\fP jest zadeklarowana (prywatnie, w pliku jądra
Linux \fBfs/readdir.c\fP) następująco:
.P
.in +4n
.EX
struct old_linux_dirent {
    unsigned long d_ino;     /* numer i\-węzła */
    unsigned long d_offset;  /* offset do tego \fIold_linux_dirent\fP */
    unsigned short d_namlen; /* długość tego \fId_name\fP */
    char  d_name[1];         /* nazwa pliku (zakończona znakiem NUL) */
}
.EE
.in
.P
\fId_ino\fP jest numerem i\-węzła. \fId_off\fP jest odległością od początku
katalogu do tego wpisu \fIold_linux_dirent\fP. \fId_reclen\fP jest rozmiarem
\fId_name\fP, nie licząc kończącego znaku NUL (\[aq]\[rs]0\[aq]). \fId_name\fP
jest zakończoną znakiem NUL nazwą pliku.
.SH "WARTOŚĆ ZWRACANA"
Po pomyślnym zakończeniu zwracane jest 1. Po natrafieniu na koniec katalogu
zwracane jest 0. Po błędzie zwracane jest \-1 i ustawiane \fIerrno\fP wskazując
błąd.
.SH BŁĘDY
.TP 
\fBEBADF\fP
Nieprawidłowy deskryptor \fIfd\fP.
.TP 
\fBEFAULT\fP
Argument wskazuje poza przestrzeń adresową wywołującego procesu.
.TP 
\fBEINVAL\fP
Bufor na wynik jest za mały.
.TP 
\fBENOENT\fP
Nie ma takiego katalogu.
.TP 
\fBENOTDIR\fP
Deskryptor pliku nie odnosi się do katalogu.
.SH WERSJE
Konieczne jest samodzielne zdefiniowanie struktury
\fIold_linux_dirent\fP. Powinno się jednak raczej korzystać z \fBreaddir\fP(3).
.P
To wywołanie systemowe nie istnieje na x86\-64.
.SH STANDARDY
Linux.
.SH "ZOBACZ TAKŻE"
\fBgetdents\fP(2), \fBreaddir\fP(3)
.PP
.SH TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika:
Przemek Borys <pborys@dione.ids.pl>,
Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>
i
Michał Kułach <michal.kulach@gmail.com>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
