getdents

Autres langues

Langue: ru

Autres versions - même langue

Version: 1995-07-22 (openSuse - 09/10/07)

Section: 2 (Appels système)

éíñ

getdents - ÐÏÌÕÞÉÔØ ÚÁÐÉÓÉ ËÁÔÁÌÏÇÁ

ïâúïò


#include <unistd.h>

#include <linux/types.h>

#include <linux/dirent.h>

#include <linux/unistd.h>



_syscall3(int, getdents, uint, fd, struct dirent *, dirp, uint, count);



int getdents(unsigned int fd, struct dirent *dirp, unsigned int count);

ïðéóáîéå

üÔÁ ÎÅ ÔÁ ÆÕÎËÃÉÑ, ËÏÔÏÒÁÑ ÄÏÌÖÎÁ ÐÒÅÄÓÔÁ×ÌÑÔØ ÄÌÑ ×ÁÓ ÉÎÔÅÒÅÓ. óÍÏÔÒÉÔÅ ÆÕÎËÃÉÀ readdir(3), ËÏÔÏÒÁÑ Ñ×ÌÑÅÔÓÑ ÉÎÔÅÒÆÅÊÓÏÍ ÂÉÂÌÉÏÔÅËÉ ÑÚÙËÁ C, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÍ ÓÔÁÎÄÁÒÔÕ POSIX.

óÉÓÔÅÍÎÙÊ ×ÙÚÏ× getdents ÞÉÔÁÅÔ ÎÅÓËÏÌØËÏ ÓÔÒÕËÔÕÒ dirent ÉÚ ËÁÔÁÌÏÇÁ, ÎÁ ËÏÔÏÒÙÊ ÕËÁÚÙ×ÁÅÔ fd × ÏÂÌÁÓÔØ ÐÁÍÑÔÉ, ÎÁ ËÏÔÏÒÕÀ ÕËÁÚÙ×ÁÅÔ dirp. ðÁÒÁÍÅÔÒ count Ñ×ÌÑÅÔÓÑ ÒÁÚÍÅÒÏÍ ÜÔÏÊ ÏÂÌÁÓÔÉ ÐÁÍÑÔÉ.

óÔÒÕËÔÕÒÁ dirent ÏÐÒÅÄÅÌÅÎÁ ÓÌÅÄÕÀÝÉÍ ÏÂÒÁÚÏÍ:


struct dirent

{

    long d_ino;                 /* ÎÏÍÅÒ inode */

    off_t d_off;                /* ÓÍÅÝÅÎÉÅ ÄÏ ÓÌÅÄÕÝÅÊ dirent */

    unsigned short d_reclen;    /* ÄÌÉÎÁ ÄÁÎÎÏÊ dirent */

    char d_name [NAME_MAX+1];   /* ÉÍÑ ÆÁÊÌÁ (ÚÁ×ÅÒÛÁÅÍÏÅ ÎÕÌ£Í) */

}

d_ino Ñ×ÌÑÅÔÓÑ ÎÏÍÅÒÏÍ ÉÎÄÅËÓÎÏÇÏ ÄÅÓËÒÉÐÔÏÒÁ (inode). d_off Ñ×ÌÑÅÔÓÑ ÄÉÓÔÁÎÃÉÅÊ ÏÔ ÎÁÞÁÌÁ ÄÁÎÎÏÇÏ ËÁÔÁÌÏÇÁ ÄÏ ÎÁÞÁÌÁ ÓÌÅÄÕÀÝÅÊ ÓÔÒÕËÔÕÒÙ dirent. d_reclen Ñ×ÌÑÅÔÓÑ ÒÁÚÍÅÒÏÍ ÄÁÎÎÏÊ ÓÔÒÕËÔÕÒÙ dirent. d_name Ñ×ÌÑÅÔÓÑ ÉÍÅÎÅÍ ÆÁÊÌÁ, ËÏÔÏÒÏÅ ÚÁ×ÅÒÛÁÅÔÓÑ ÎÕÌÅ×ÙÍ ÓÉÍ×ÏÌÏÍ.

äÁÎÎÙÊ ×ÙÚÏ× ÚÁÍÅÝÁÅÔ readdir(2).

÷ïú÷òáýáåíïå úîáþåîéå

÷ ÓÌÕÞÁÅ ÕÓÐÅÈÁ ×ÏÚ×ÒÁÝÁÅÔÓÑ ËÏÌÉÞÅÓÔ×Ï ÐÒÏÞÉÔÁÎÎÙÈ ÂÁÊÔ. ðÒÉ ÄÏÓÔÉÖÅÎÉÉ ËÏÎÃÁ ËÁÔÁÌÏÇÁ ×ÏÚ×ÒÁÝÁÅÔÓÑ 0. ÷ ÓÌÕÞÁÅ ÏÛÉÂËÉ ×ÏÚ×ÒÁÝÁÅÔÓÑ -1 É ÚÎÁÞÅÎÉÅ errno ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÍ ÏÂÒÁÚÏÍ.

ïûéâëé

EBADF
îÅÐÒÁ×ÉÌØÎÙÊ ÆÁÊÌÏ×ÙÊ ÄÅÓËÒÉÐÔÏÒ fd.
EFAULT
áÒÇÕÍÅÎÔ ÕËÁÚÙ×ÁÅÔ ÚÁ ÐÒÅÄÅÌÙ ÁÄÒÅÓÎÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á, ×ÙÚÙ×ÁÀÝÅÇÏ ÐÒÏÃÅÓÓÁ.
EINVAL
âÕÆÅÒ ÒÅÚÕÌØÔÁÔÁ ÓÌÉÛËÏÍ ÍÁÌ.
ENOENT
îÅÔ ÔÁËÏÇÏ ËÁÔÁÌÏÇÁ.
ENOTDIR
æÁÊÌÏ×ÙÊ ÄÅÓËÒÉÐÔÏÒ ÎÅ ÕËÁÚÙ×ÁÅÔ ÎÁ ËÁÔÁÌÏÇ.

óïïô÷åôóô÷éå óôáîäáòôáí

SVr4, SVID. SVr4 ÄÏËÕÍÅÎÔÉÒÕÅÔ ÄÏÐÏÌÉÔÅÌØÎÙÅ ÏÛÉÂËÉ ENOLINK, EIO.

óíïôòé ôáëöå

readdir(2), readdir(3)

ðåòå÷ïä

ðÅÒÅ×£Ì Ó ÁÎÇÌÉÊÓËÏÇÏ ÷ÉËÔÏÒ ÷ÉÓÌÏÂÏËÏ× <corochoone@perm.ru> 2004