dpm_put man page

DPM_PUT(3)                   DPM Library Functions                  DPM_PUT(3)

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

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

      [1mint  dpm_put  (int  [4m[22mnbreqfiles[24m[1m,  struct  dpm_putfilereq  *[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_put [22mmakes a set of existing files available for I/O.

      The input arguments are:

             specifies the number of files belonging to the request.

             specifies the array  of  file  requests  (dpm_putfilereq  struc-

      struct dpm_putfilereq {
           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;

             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  or  all  file
                   requests have errors.

      [1mSENOSHOST    [22mHost unknown.

      [1mSEINTERNAL   [22mDatabase error.

      [1mSECOMERR     [22mCommunication error.

LCG                      $Date: 2006/12/20 15:21:57 $               DPM_PUT(3)