dpm_put man page

DPM_PUT(3)                   DPM Library Functions                  DPM_PUT(3)

[1mNAME[0m
      dpm_put - make a set of existing files available for I/O

[1mSYNOPSIS[0m
      [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
      [1m**[4m[22mfilestatuses[24m[1m)[0m

[1mDESCRIPTION[0m
      [1mdpm_put [22mmakes a set of existing files available for I/O.

      The input arguments are:

      [4mnbreqfiles[0m
             specifies the number of files belonging to the request.

      [4mreqfiles[0m
             specifies the array  of  file  requests  (dpm_putfilereq  struc-
             tures).

      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;
      };

      [4mnbprotocols[0m
             specifies the number of protocols.

      [4mprotocols[0m
             specifies the array of protocols.

      [4mu_token[0m
             specifies  the  user  provided  description  associated with the
             request.

      [4moverwrite[0m
             if set to 1, it allows to overwrite an existing file.

      [4mretrytime[0m
             This field is currently ignored.

      The output arguments are:

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

      [4mnbreplies[0m
             will  be  set to the number of replies in the array of file sta-
             tuses.

      [4mfilestatuses[0m
             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;
      };

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

[1mERRORS[0m
      [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)