List replica entries that belong to a given set
#include <sys/types.h>
#include "dpns_api.h"
struct dpns_filereplicax *dpns_listrepset (const char *setname, int flags, dpns_list *listp)
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.
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.
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.