Man Linux: Main Page and Category List

NAME

       lfc_getlinks - get the link entries associated with a given file

SYNOPSIS

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

       int  lfc_getlinks  (const char *path, const char *guid, int *nbentries,
       struct lfc_linkinfo **linkinfos)

DESCRIPTION

       lfc_getlinks gets the link entries associated with a given  file.   The
       first  entry  in  the  list  is  the  actual file name, while the other
       entries are the symbolic links pointing at this file.

       The file can be specified by path name or by guid.  If both are  given,
       they must point at the same file.

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

       guid   specifies the Grid Unique IDentifier.

       nbentries
              will be set to the number of entries in the array of link infos.

       link_entries
              will  be  set  to  the  address  of  an  array  of  lfc_linkinfo
              structures allocated by  the  API.  The  client  application  is
              responsible for freeing the array when not needed anymore.

       struct lfc_linkinfo {
            char      path[CA_MAXPATHLEN+1];
       };

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 does not exist.

       EACCES       Search permission is denied on a  component  of  the  path
                    prefix.

       ENOMEM       Memory could not be allocated for unmarshalling the reply.

       EFAULT       path and guid are NULL pointers or nbentries or  linkinfos
                    is a NULL pointer.

       ENOTDIR      A component of path prefix is not a directory.

       EINVAL       The  length of guid exceeds CA_MAXGUIDLEN or path and guid
                    are both given and they point at a different file.

       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)

AUTHOR

       LCG Grid Deployment Team