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

# dpns\_getcwd(3)

get DPNS current directory used by the name server

## NAME

dpns\_getcwd - get DPNS current directory used by the name server

## SYNOPSIS

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

**char \*dpns\_getcwd (char \****buf***,** **int** *size***)**

## DESCRIPTION

**dpns\_getcwd** gets the DPNS current directory used by the name server. This current working directory is stored in a thread-safe variable in the client.

If *buf* is not NULL, the current directory name will be stored there.\
 If *buf* is NULL, **dpns\_getcwd** allocates a buffer of *size* bytes using **malloc**.

*size* must be at least the length of the directory name to be returned plus one byte.

## RETURN VALUE

This routine returns *buf* if the operation was successful or NULL if the operation failed. In the latter case, **serrno** is set appropriately.

## ERRORS

- **ENOENT**

  The current directory has not been set yet or does not exist anymore.

- **ENOMEM**

  *buf* is a NULL pointer and memory could not be allocated.

- **EINVAL**

  *size* is less than or equal to zero.

- **ERANGE**

  *size* is greater than 0 and less than size of current directory name plus 1.

- **SENOSHOST**

  Host unknown.

- **SENOSSERV**

  Service unknown.

- **SECOMERR**

  Communication error.

- **ENSNACT**

  Name server is not running or is being shutdown.

## SEE ALSO

**[dpns\_chdir(3)](/dpns_chdir/3.md)**

## AUTHOR

**LCG Grid Deployment** Team
