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.

RELATED TO dpns_accessr…

AUTHOR

LCG Grid Deployment Team