sys_getdents64 [fs/readdir.c]
Gets directory entries. This is a LFS version of sys_getdents. Arguments
eax | 220
ebx | File descriptor.
ecx | Pointer to an array which will receive a number of variable length dirent64 structures:
`struc dirent64 { .d_ino rq 1 .d_off rq 1 .d_reclen rw 1 .d_type rb 1 .d_name rb 256 }`
`rtentry members: d_ino` `inode number.` `d_off` `Zero based index of the next dirent structure in the array.` `d_reclen` `Size of this dirent structure.` `d_type` `*to be documented*` `d_name` `Null-terminated directory name. This member is actually has a variable size, but cannot exceed NAME_MAX+1 (256) bytes.`
edx | Size of the array pointed by ecx.
Return values If the system call succeeds the return value is number of bytes read. If directory end is reached, 0 is returned. If the system call fails the return value is one of the following errno values:
`-EBADF` | `Invalid file descriptor.`
`-ENOTDIR` | `File descriptor does not refer to a directory.`
`-ENOENT` | `No such directory.`
`-EINVAL` | `Result buffer is too small.`
`-EFAULT` | `Argument points outside the calling process's address space.`
Remarks n/a Compatibility n/a