dpm_putx man page

DPM_PUTX(3)                  DPM Library Functions                 DPM_PUTX(3)

      dpm_putx - make a set of existing files available for I/O

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

      [1mint  dpm_putx  (int  [4m[22mnbreqfiles[24m[1m,  struct dpm_putfilereqx *[4m[22mreqfiles[24m[1m, int[0m
      [4mnbprotocols[24m[1m, char **[4m[22mprotocols[24m[1m, char  *[4m[22mu_token[24m[1m,  int  [4m[22moverwrite[24m[1m,  time_t[0m
      [4mretrytime[24m[1m,  char  *[4m[22mr_token[24m[1m,  int  *[4m[22mnbreplies[24m[1m,  struct dpm_putfilestatus[0m

      [1mdpm_putx [22mmakes a set of existing files available for I/O.  Compared  to
      dpm_put there is control over the destination within the DPM available.

      The input arguments are:

             specifies the number of files belonging to the request.

             specifies  the  array  of  file requests (dpm_putfilereqx struc-

      struct dpm_putfilereqx {
           char      *to_surl;
           time_t    lifetime;
           time_t    f_lifetime;
           char      f_type;
           char      s_token[CA_MAXDPMTOKENLEN+1];
           char      ret_policy;
           char      ac_latency;
           u_signed64     requested_size;
           int       reserved; /* must be zero */
           char      server[CA_MAXHOSTNAMELEN+1];
           char      pfnhint[CA_MAXSFNLEN+1];

             specifies the number of protocols.

             specifies the array of protocols.

             specifies the user  provided  description  associated  with  the

             if set to 1, it allows to overwrite an existing file.

             This field is currently ignored.

      The output arguments are:

             Address  of a buffer to receive the system allocated token.  The
             buffer must be at least CA_MAXDPMTOKENLEN+1 characters long.

             will be set to the number of replies in the array of  file  sta-

             will  be  set  to  the  address of an array of dpm_putfilestatus
             structures allocated by  the  API.  The  client  application  is
             responsible for freeing the array when not needed anymore.

      struct dpm_putfilestatus {
           char      *to_surl;
           char      *turl;
           u_signed64     filesize;
           int       status;
           char      *errstring;
           time_t    pintime;
           time_t    f_lifetime;

      This  routine  returns  0  if the operation was successful or -1 if the
      operation failed. In the latter case, [1mserrno [22mis set appropriately.

      [1mEFAULT       [4m[22mreqfiles[24m, [4mprotocols[24m, [4mr_token[24m, [4mnbreplies[24m or [4mfilestatuses[24m is
                   a NULL pointer.

      [1mENOMEM       [22mMemory could not be allocated for marshalling the request.

      [1mEINVAL       [4m[22mnbreqfiles[24m  or  [4mnbprotocols[24m  is not strictly positive, the
                   protocols are  not  supported,  the  length  of  the  user
                   request  description  is greater than 255, reserved is not
                   zero or all file requests have errors.

      [1mSENOSHOST    [22mHost unknown.

      [1mSEINTERNAL   [22mDatabase error.

      [1mSECOMERR     [22mCommunication error.

LCG                      $Date: 2013/11/27 10:00:00 $              DPM_PUTX(3)