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