![]() |
![]() |
![]() |
![]() |
readdir_r()
Get information about the next matching filename
Synopsis:
#include <sys/types.h>
#include <dirent.h>
int readdir_r( DIR * dirp,
struct dirent * entry,
struct dirent ** result );
Arguments:
- dirp
- A pointer to the directory stream to be read.
- entry
- A pointer to a dirent structure where the function can store the directory entry.
- result
- The address of a location where the function can store a pointer to the information found.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
If _POSIX_THREAD_SAFE_FUNCTIONS is defined, readdir_r() initializes the dirent structure referenced by entry with the directory entry at the current position in the directory stream referred to by dirp, and stores a pointer to this structure in result.
The storage pointed by entry must be large enough for a dirent structure with the s_name member an array of char containing at least NAME_MAX plus one element.
![]() |
The struct dirent structure doesn't include space
for the pathname; you must provide it.
For example:
struct dirent *entry; entry = malloc( offsetof(struct dirent, d_name) + NAME_MAX + 1 ); |
Returns:
- EOK
- Success.
- EBADF
- The dirp argument doesn't refer to an open directory stream.
- EOVERFLOW
- One of the values in the structure to be returned can't be represented correctly.
Classification:
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Yes |
See also:
closedir(), dirent, errno, opendir(), readdir(), seekdir(), telldir(), rewinddir()
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)
