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_access (const char *path, int amode);

DESCRIPTION

dpns_access checks in the name server database the existence or the accessibility of the file/directory path according to the bit pattern in amode using the real user ID.

path

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

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 directory/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/directory does not exist or is a dangling symbolic link.

EACCES

Search permission is denied on a component of the path prefix or specified access to the file itself is denied.

EFAULT

path is a NULL pointer.

ENOTDIR

A component of path prefix is not a directory.

EINVAL

amode is invalid.

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.

ENSNACT

Name server is not running or is being shutdown.

RELATED TO dpns_access…

AUTHOR

LCG Grid Deployment Team