Middleware, development tools, realtime operating system
software and services for superior embedded design


Home
QNX Community Resources
Developer Support
QNX Documentation Library
QNX Developer Support

QNX Developer Support

QNX Software Systems
Developer Resources
Blogs
Board support packages
Foundry27 projects
Forums
Hardware support listing
Online video tutorials
Product documentation
Technical Articles

[Previous] [Contents] [Index] [Next]

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 direct ** 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.


Note: The struct dirent structure doesn't include space for the pathname. You must provide it:
struct dirent *entry;
entry = malloc( sizeof(*entry) + NAME_MAX + 1 );

Returns:

EOK
Success.

On failure, errno is set.

Errors:

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:

POSIX 1003.1 TSF

Safety:
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

closedir(), errno, opendir(), readdir(), seekdir(), telldir(), rewinddir()


[Previous] [Contents] [Index] [Next]