SYNOPSIS

#include <sys/types.h>

#include "dpns_api.h"

struct dpns_filereplicax *dpns_listrepset (const char *setname, int flags, dpns_list *listp)

DESCRIPTION

dpns_listrepset lists replica entries that belong to a given set. This routine returns a pointer to a structure containing the current replica entry.

struct dpns_filereplicax {
	u_signed64	fileid;
	u_signed64	nbaccesses;
	time_t		ctime;		/* replica creation time */
	time_t		atime;		/* last access to replica */
	time_t		ptime;		/* replica pin time */
	time_t		ltime;		/* replica lifetime */
	char		r_type;		/* 'P' for Primary, 'S' for Secondary */
	char		status;
	char		f_type;		/* 'V' for Volatile, 'P' for Permanent */
	char		setname[37];
	char		poolname[CA_MAXPOOLNAMELEN+1];
	char		host[CA_MAXHOSTNAMELEN+1];
	char		fs[80];
	char		sfn[CA_MAXSFNLEN+1];
};

setname

is either the replica set name or the space token.

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.

ERRORS

ENOMEM

Memory could not be allocated for the output buffer.

EFAULT

setname or listp is a NULL pointer.

EINVAL

The length of setname exceeds 36.

SENOSHOST

Host unknown.

SENOSSERV

Service unknown.

SECOMERR

Communication error.

ENSNACT

Name server is not running or is being shutdown.

RELATED TO dpns_listrepset…