Scroll to navigation

DPNS_LISTREPLICAX(3) DPNS Library Functions DPNS_LISTREPLICAX(3)

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];
};
specifies the disk pool (only meaningful for the DPM).
specifies the Storage Element or disk server hostname.
specifies the file system (only meaningful for the DPM).
may be one of the following constant:
the first call must have this flag set to allocate buffers and initialize pointers.
all the following calls must have this flag set.
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

Memory could not be allocated for the output buffer.
poolname, server and fs are NULL pointers or listp is a NULL pointer.
The length of poolname exceeds CA_MAXPOOLNAMELEN or the length of server exceeds CA_MAXHOSTNAMELEN or the length of fs exceeds 79.
Host unknown.
Service unknown.
Communication error.
Name server is not running or is being shutdown.

SEE ALSO

Castor_limits(4), dpns_addreplica(3)

$Date: 2005/07/21 08:31:48 $ DPNS