---
name: "rfio_opendir"
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_opendir"
---

# rfio\_opendir(3)

open a directory

## NAME

rfio\_opendir - open a directory

## SYNOPSIS

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

**RDIR \*rfio\_opendir (const char \****path***);**

## DESCRIPTION

**rfio\_opendir** opens a directory to be used in subsequent **rfio\_readdir** operations. A **RDIR** structure and a buffer to cache the directory entries are allocated in the client API.

- *path*

  specifies the logical pathname relative to the current directory or the full pathname.

## NOTES

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 be used in the subsequent directory function calls if the operation was successful or NULL if the operation failed. In the latter case, **serrno** is set appropriately.

## ERRORS

- **ENOENT**

  A component of *path* prefix does not exist or *path* is a null pathname.

- **EACCES**

  Search permission is denied on a component of the *path* prefix or read permission is denied on *path*.

- **EFAULT**

  *path* is a NULL pointer.

- **ENOTDIR**

  A component of *path* prefix is not a directory.

- **ENAMETOOLONG**

  The length of *path* exceeds **CA\_MAXPATHLEN** or the length of a *path* component exceeds **CA\_MAXNAMELEN**.

- **SENOSHOST**

  Host unknown.

- **SENOSSERV**

  Service unknown.

- **SECOMERR**

  Communication error.

## SEE ALSO

**[Castor\_limits(4)](/Castor_limits/4.md)**, **[rfio\_closedir(3)](/rfio_closedir/3.md)**, **[rfio\_readdir(3)](/rfio_readdir/3.md)**, **[rfio\_rewinddir(3)](/rfio_rewinddir/3.md)**

## AUTHOR

**LCG Grid Deployment** Team
