NAME¶
dpns_access - check existence/accessibility of a file/directory
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.
SEE ALSO¶
Castor_limits(4),
dpns_chdir(3),
dpns_chmod(3),
dpns_stat(3), dpns_statg(3)
AUTHOR¶
LCG Grid Deployment Team