Provided by: liblfc-dev_1.8.7-3_amd64 bug

NAME

       lfc_statg - get information about a LFC file or directory in the name server

SYNOPSIS

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

       int lfc_statg (const char *path, const char *guid, struct lfc_filestatg *statbuf)

       int lfc_statr (const char *sfn, struct lfc_filestatg *statbuf)

DESCRIPTION

       lfc_statg gets information about a LFC file or directory, having the given GUID, in the name server.

       lfc_statr retrieves information about the given replica.

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

       guid   specifies the Grid Unique IDentifier.

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

       sfn    is either the Site URL or the Physical File Name for the replica.

       The structure pointed to by statbuf contains the following members:
              u_signed64     fileid;             /* entry unique identifier */
              char      guid[CA_MAXGUIDLEN+1]    /* GUID */
              mode_t         filemode;      /* see below */
              int       nlink;              /* number of files in a directory */
              uid_t          uid;
              gid_t          gid;
              u_signed64     filesize;
              time_t         atime;              /* last access to file */
              time_t         mtime;              /* last file modification */
              time_t         ctime;              /* last metadata modification */
              short          fileclass;          /* 1--> experiment, 2 --> user */
              char      status;             /* '-' --> online, 'm' --> migrated */
              char      csumtype[3];
              char      csumvalue[33];

       filemode  is  constructed  by  OR'ing  the bits defined in <sys/stat.h> under Unix or  "statbits.h" under
       Windows/NT:

              S_IFLNK   0xA000          symbolic link
              S_IFREG   0x8000          regular file
              S_IFDIR   0x4000          directory
              S_ISUID   0004000         set user ID on execution
              S_ISGID   0002000         set group ID on execution
              S_ISVTX   0001000         sticky bit
              S_IRUSR   0000400         read by owner
              S_IWUSR   0000200         write by owner
              S_IXUSR   0000100         execute/search by owner
              S_IRGRP   0000040         read by group
              S_IWGRP   0000020         write by group
              S_IXGRP   0000010         execute/search by group
              S_IROTH   0000004         read by others
              S_IWOTH   0000002         write by others
              S_IXOTH   0000001         execute/search by others

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 null pathname.

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

       EFAULT       path or statbuf is a NULL pointer.

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

       ENOTDIR      A component of path prefix is not a directory.

       ENAMETOOLONG The length of path  exceeds  CA_MAXPATHLEN  or  the  length  of  a  path  component  exceeds
                    CA_MAXNAMELEN or the length of the sfn exceeds CA_MAXSFNLEN.

       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_chown(3), lfc_creatg(3)

AUTHOR

       LCG Grid Deployment Team