Man Linux: Main Page and Category List


       dpns_mkdir - create a new DPNS directory in the name server


       #include <sys/types.h>
       #include "dpns_api.h"

       int dpns_mkdir (const char *path, mode_t mode)


       dpns_mkdir creates a new DPNS directory in the name server.

       An  entry  is  created  in the name server database and the directory’s
       owner ID is set to the effective user ID of the requestor.   The  group
       ID  of  the directory is set to the effective group ID of the requestor
       or is taken from the parent directory if the latter has the S_ISGID bit

       The  access permission bits for the directory are taken from mode, then
       all bits set in the requestor’s file mode  creation  mask  are  cleared
       (see  dpns_umask(3)).   The  S_ISGID,  S_ISUID  and  S_ISVTX  bits  are
       silently cleared.

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


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


       ENOENT       A component of path prefix does not exist  or  path  is  a
                    null pathname.

       EACCES       Search  permission  is  denied  on a component of the path
                    prefix or write permission  on  the  parent  directory  is

       EFAULT       path is a NULL pointer.

       EEXIST       path exists already.

       ENOTDIR      A component of path prefix is not a directory.

       ENOSPC       The name server database is full.

       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.


       Castor_limits(4), dpns_chdir(3), dpns_chmod(3), dpns_umask(3)


       LCG Grid Deployment Team