Provided by: libdpm-dev_1.13.0-1_amd64 bug


       dpns_accessr - check existence/accessibility of a file replica


       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);


       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.


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


       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.


       Castor_limits(4), dpns_chmod(3), dpns_statr(3)


       LCG Grid Deployment Team