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)
DESCRIPTION
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_signed64fileid;/* entry unique identifier */
mode_tfilemode;/* see below */
intnlink;/* number of files in a directory */
uid_tuid;
gid_tgid;
u_signed64filesize;
time_tatime;/* last access to file */
time_tmtime;/* last file modification */
time_tctime;/* last metadata modification */
shortfileclass;/* 1--> experiment, 2 --> user */
charstatus;/* '-' --> 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_IFLNK0xA000
symbolic link
S_IFREG0x8000
regular file
S_IFDIR0x4000
directory
S_ISUID0004000
set user ID on execution
S_ISGID0002000
set group ID on execution
S_ISVTX0001000
sticky bit
S_IRUSR0000400
read by owner
S_IWUSR0000200
write by owner
S_IXUSR0000100
execute/search by owner
S_IRGRP0000040
read by group
S_IWGRP0000020
write by group
S_IXGRP0000010
execute/search by group
S_IROTH0000004
read by others
S_IWOTH0000002
write by others
S_IXOTH0000001
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.
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.