Provided by: liblfc-dev_1.13.0-1_amd64
lfc_stat - get information about a LFC file or directory in the name server
#include <sys/types.h> #include "lfc_api.h" int lfc_lstat (const char *path, struct lfc_filestat *statbuf) int lfc_stat (const char *path, struct lfc_filestat *statbuf) int lfc_statx (const char *path, struct lfc_fileid *file_uniqueid, struct lfc_filestat *statbuf)
lfc_stat gets information about a LFC file or directory in the name server. lfc_lstat is identical to lfc_stat except for symbolic links. lfc_lstat retrieves information about the link itself, while lfc_stat gets information about the file/directory referenced by the symbolic link. lfc_statx returns the same information plus the file unique id (name server hostname and file id). The file can be specified by path name or by file_uniqueid. If both are given, file_uniqueid is used. path specifies the logical pathname relative to the current LFC directory or the full LFC pathname. The structure pointed to by statbuf contains the following members: u_signed64 fileid; /* entry unique identifier */ 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 */ 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
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/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. 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. SENOSHOST Host unknown. SENOSSERV Service unknown. SECOMERR Communication error. ENSNACT Name server is not running or is being shutdown.
Castor_limits(4), lfc_chdir(3), lfc_chmod(3), lfc_chown(3), lfc_creatg(3)
LCG Grid Deployment Team