---
name: "dpns_accessr"
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_accessr"
---

# dpns\_accessr(3)

check existence/accessibility of a file replica

## NAME

dpns\_accessr - check existence/accessibility of a file replica

## SYNOPSIS

Under Unix:\
 **#include \<sys/types.h\>**\
 **#include \<unistd.h\>**\
 **#include "dpns\_api.h"**

Under Windows/NT:\
 **#include \<sys/types.h\>**\
 **#define R\_OK 4**\
 **#define W\_OK 2**\
 **#define X\_OK 1**\
 **#define F\_OK 0**\
 **#include "dpns\_api.h"**

**int dpns\_accessr (const char \****sfn***,** **int** *amode***);**

## DESCRIPTION

**dpns\_accessr** checks in the name server database the existence or the accessibility of the file replica *sfn* according to the bit pattern in *amode* using the real user ID.

- *sfn*

  is either the Site URL or the Physical File Name for the replica.

- *amode*

  the bit pattern is built by an OR of the constants defined in \<**unistd.h**\> under Unix or to be explicitly defined under Windows/NT:

  - **R\_OK**

    test for read permission

  - **W\_OK**

    test for write permission

  - **X\_OK**

    test for search/execute permission

  - **F\_OK**

    test for existence of the file.

## RETURN VALUE

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

## ERRORS

- **ENOENT**

  The named file does not exist.

- **EACCES**

  Search permission is denied on a component of the parent file prefix, the specified access to the file itself is denied or W\_OK is requested but the replica status is not 'P' (cannot modify an existing file).

- **EFAULT**

  *sfn* is a NULL pointer.

- **EINVAL**

  *amode* is invalid.

- **ENAMETOOLONG**

  The length of *sfn* exceeds **CA\_MAXSFNLEN**.

- **SENOSHOST**

  Host unknown.

- **SENOSSERV**

  Service unknown.

- **SECOMERR**

  Communication error.

- **ENSNACT**

  Name server is not running or is being shutdown.

## SEE ALSO

**[Castor\_limits(4)](/Castor_limits/4.md)**, **[dpns\_chmod(3)](/dpns_chmod/3.md)**, **[dpns\_statr(3)](/dpns_statr/3.md)**

## AUTHOR

**LCG Grid Deployment** Team
