lfc_listreplica man page

LFC_LISTREPLICA(3)           LFC Library Functions          LFC_LISTREPLICA(3)

[1mNAME[0m
      lfc_listreplica - list replica entries for a given file

[1mSYNOPSIS[0m
      [1m#include <sys/types.h>[0m
      [1m#include "lfc_api.h"[0m

      [1mstruct  lfc_filereplica  *lfc_listreplica (const char *[4m[22mpath[24m[1m, const char[0m
      [1m*[4m[22mguid[24m[1m, int [4m[22mflags[24m[1m, lfc_list *[4m[22mlistp[24m[1m)[0m

[1mDESCRIPTION[0m
      [1mlfc_listreplica [22mlists replica entries for a given file.   This  routine
      returns a pointer to a structure containing the current replica entry.

      struct lfc_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];
      };

      [4mpath[24m   specifies the logical pathname.

      [4mguid[24m   specifies the Grid Unique IDentifier.

      [4mflags[24m  may be one of the following constant:

             [1mCNS_LIST_BEGIN[0m
                    the  first  call must have this flag set to allocate buf-
                    fers and initialize pointers.

             [1mCNS_LIST_CONTINUE[0m
                    all the following calls must have this flag set.

             [1mCNS_LIST_END[0m
                    final call to terminate the list and free resources.

[1mRETURN VALUE[0m
      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, [1mser-[0m
      [1mrno [22mis set appropriately.

[1mEXAMPLES[0m
      A C program listing the replicas fo a given sfn could look like:

           int flags;
           lfc_list list;
           struct lfc_filereplica *lp;

           flags = CNS_LIST_BEGIN;
           while ((lp = lfc_listreplica (sfn, NULL, flags, &list)) != NULL) {
                flags = CNS_LIST_CONTINUE;
                /* process the entry */
                .....
           }
           (void) lfc_listreplica (sfn, NULL, CNS_LIST_END, &list);

[1mERRORS[0m
      [1mENOENT       [22mThe named file does not exist.

      [1mEACCES       [22mSearch  permission  is denied on a component of the parent
                   directory.

      [1mENOMEM       [22mMemory could not be allocated for the output buffer.

      [1mEFAULT       [4m[22mpath[24m and [4mguid[24m  are  NULL  pointers  or  [4mlistp[24m  is  a  NULL
                   pointer.

      [1mENOTDIR      [22mA component of [4mpath[24m prefix is not a directory.

      [1mEINVAL       [22mThe  length of [4mguid[24m exceeds [1mCA_MAXGUIDLEN [22mor path and guid
                   are both given and they point at a different file.

      [1mENAMETOOLONG [22mThe length of [4mpath[24m exceeds [1mCA_MAXPATHNAMELEN[22m.

      [1mSENOSHOST    [22mHost unknown.

      [1mSENOSSERV    [22mService unknown.

      [1mSECOMERR     [22mCommunication error.

      [1mENSNACT      [22mName server is not running or is being shutdown.

[1mSEE ALSO[0m
      [1mCastor_limits(4)[22m, [1mlfc_addreplica(3)[0m

LFC          $Date: 2010-09-14 13:37:49 +0200 (Tue, 14 Sep 20L1F0C)_L$ISTREPLICA(3)