DPNS_STATG
Section: DPNS Library Functions (3)
Updated: $Date: 2005/04/28 05:20:20 $
Index
Return to Main Contents
NAME
dpns_statg - get information about a DPNS file or directory in the name server
SYNOPSIS
#include <sys/types.h>
#include "dpns_api.h"
int dpns_statg (const char *path,
const char *guid,
struct dpns_filestatg *statbuf)
int dpns_statr (const char *sfn,
struct dpns_filestatg *statbuf)
DESCRIPTION
dpns_statg
gets information about a DPNS file or directory, having the given GUID, in the name server.
dpns_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 DPNS directory or
the full DPNS 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),
dpns_chdir(3),
dpns_chmod(3),
dpns_chown(3),
dpns_creat(3)
AUTHOR
LCG Grid Deployment Team