Man Linux: Main Page and Category List

NAME

       lfc_mkdirg  -  create  a  new LFC directory in the name server with the
       specified GUID

SYNOPSIS

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

       int lfc_mkdirg (const char *path, const char *guid, mode_t mode)

DESCRIPTION

       lfc_mkdirg creates a new LFC directory in  the  name  server  with  the
       specified GUID.

       An entry is created in the name server database with the given GUID 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 set.

       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 lfc_umask(3)).  The S_ISGID, S_ISUID and S_ISVTX bits are silently
       cleared.

       guid   specifies the Grid Unique IDentifier.

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

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       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
                    denied.

       EFAULT       path is a NULL pointer.

       EEXIST       path exists already.

       EINVAL       The length of the guid exceeds CA_MAXGUIDLEN.

       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.

SEE ALSO

       Castor_limits(4), lfc_chdir(3), lfc_chmod(3), lfc_umask(3)

AUTHOR

       LCG Grid Deployment Team