Scroll to navigation

DPNS_LISTREPLICA(3) DPNS Library Functions DPNS_LISTREPLICA(3)

NAME

dpns_listreplica - list replica entries for a given file

SYNOPSIS

#include <sys/types.h>
 
#include "dpns_api.h"
 
struct dpns_filereplica *dpns_listreplica (const char *path, const char *guid,int flags,dpns_list *listp)

DESCRIPTION

dpns_listreplicalists replica entries for a given file.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];
};
path
specifies the logical pathname.
guid
specifies the Grid Unique IDentifier.
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.

RETURNVALUE

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, serrnois set appropriately.

EXAMPLES

A C program listing the replicas fo a given sfn could look like:
 
	int flags;
	dpns_list list;
	struct dpns_filereplica *lp;
flags = CNS_LIST_BEGIN; while ((lp = dpns_listreplica (sfn, NULL, flags, &list)) != NULL) { flags = CNS_LIST_CONTINUE; /* process the entry */ ..... } (void) dpns_listreplica (sfn, NULL, CNS_LIST_END, &list);

ERRORS

ENOENT
The named file does not exist.
EACCES
Search permission is denied on a component of the parent directory.
ENOMEM
Memory could not be allocated for the output buffer.
EFAULT
pathandguidare NULL pointers orlistpis a NULL pointer.
ENOTDIR
A component ofpathprefix is not a directory.
EINVAL
The length ofguidexceedsCA_MAXGUIDLENor path and guid are both given and they point at a different file.
ENAMETOOLONG
The length ofpathexceedsCA_MAXPATHNAMELEN.
SENOSHOST
Host unknown.
SENOSSERV
Service unknown.
SECOMERR
Communication error.
ENSNACT
Name server is not running or is being shutdown.

SEEALSO

Castor_limits(4),dpns_addreplica(3)
$Date: 2010-09-14 13:37:49 +0200 (Tue, 14 Sep 2010) $ DPNS