---
name: "rfio_readdir"
section: "3"
platform: "linux"
package: "libdpm-dev"
version: "1.10.0-2+b3"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/rfio_readdir"
---

# rfio\_readdir(3)

read directory opened by rfio\_opendir

## NAME

rfio\_readdir - read directory opened by **rfio\_opendir**

## SYNOPSIS

**#include \<sys/types.h\>**\
 **#include \<dirent.h\>**\
 **#include "rfio\_api.h"**

**struct dirent \*rfio\_readdir (RDIR \****dirp***);**

## DESCRIPTION

**rfio\_readdir** reads the directory opened by **rfio\_opendir**. This routine returns a pointer to a structure containing the current directory entry.

- *dirp*

  specifies the pointer value returned by **rfio\_opendir**.

## NOTES

Only the fields d\_name, d\_reclen and on some platforms d\_namlen are filled. For LCG directories, a multi-threaded application will need to initialize itself the Cthread (LCG Thread Interface) library ; this is done by including "shift/Cthread\_api.h" and calling the function Cthread\_init() at the beginning. Otherwise accessing LCG directories will not be thread-safe. See [**Cthread**(3)](/Cthread/3.md).

## RETURN VALUE

This routine returns a pointer to a structure containing the current directory entry if the operation was successful or NULL if the end of the directory was reached or if the operation failed. In the latter case, **serrno** is set appropriately.

## ERRORS

- **EBADF**

  File descriptor in DIR structure is invalid.

- **EFAULT**

  *dirp* is a NULL pointer.

- **SENOSHOST**

  Host unknown.

- **SENOSSERV**

  Service unknown.

- **SECOMERR**

  Communication error.

## SEE ALSO

**[rfio\_closedir(3)](/rfio_closedir/3.md)**, **[rfio\_opendir(3)](/rfio_opendir/3.md)**, **[rfio\_rewinddir(3)](/rfio_rewinddir/3.md)**, **dirent**

## AUTHOR

**LCG Grid Deployment** Team
