DPNS_LISTREPLICAX
Section: DPNS Library Functions (3)
Updated: $Date: 2005/07/21 08:31:48 $
Index
Return to Main Contents
NAME
dpns_listreplicax - list replica entries for a given pool/server/filesystem
SYNOPSIS
#include <sys/types.h>
#include "dpns_api.h"
struct dpns_filereplica *dpns_listreplicax (const char *poolname,
const char *server,
const char *fs,
int flags,
dpns_list *listp)
DESCRIPTION
dpns_listreplicax
lists replica entries for a given pool/server/filesystem.
This routine returns a pointer to a structure containing the current replica
entry.
struct dpns_filereplica {
u_signed64 fileid;
u_signed64 nbaccesses;
time_t atime; /* last access to replica */
time_t ptime; /* replica pin time */
char status;
char f_type; /* 'V' for Volatile, 'P' for Permanent */
char poolname[CA_MAXPOOLNAMELEN+1];
char host[CA_MAXHOSTNAMELEN+1];
char fs[80];
char sfn[CA_MAXSFNLEN+1];
};
- poolname
-
specifies the disk pool (only meaningful for the DPM).
- server
-
specifies the Storage Element or disk server hostname.
- fs
-
specifies the file system (only meaningful for the DPM).
- flags
-
may be one of the following constant:
-
- CNS_LIST_BEGIN
-
the first call must have this flag set to allocate buffers and
initialize pointers.
- CNS_LIST_CONTINUE
-
all the following calls must have this flag set.
- CNS_LIST_END
-
final call to terminate the list and free resources.
RETURN VALUE
This routine returns a pointer to a structure containing the current replica
entry if the operation was successful or NULL if all entries have been returned
or if the operation failed. In the latter case,
serrno
is set appropriately.
EXAMPLES
A C program listing the files residing on a given server could look like:
int flags;
dpns_list list;
struct dpns_filereplica *lp;
flags = CNS_LIST_BEGIN;
while ((lp = dpns_listreplicax (NULL, server, NULL, flags, &list))) {
flags = CNS_LIST_CONTINUE;
/* process the entry */
.....
}
(void) dpns_listreplicax (NULL, server, NULL, CNS_LIST_END, &list);
ERRORS
- ENOMEM
-
Memory could not be allocated for the output buffer.
- EFAULT
-
poolname,
server
and
fs
are NULL pointers or
listp
is a NULL pointer.
- EINVAL
-
The length of
poolname
exceeds
CA_MAXPOOLNAMELEN
or the length of
server
exceeds
CA_MAXHOSTNAMELEN
or the length of
fs
exceeds 79.
- 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_addreplica(3)