Man Linux: Main Page and Category List

NAME

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

SYNOPSIS

       #include <sys/types.h>
       #include "dpm_api.h"

       int  dpm_get  (int  nbreqfiles,  struct  dpm_getfilereq  *reqfiles, int
       nbprotocols, char **protocols, char *u_token,  time_t  retrytime,  char
       *r_token, int *nbreplies, struct dpm_getfilestatus **filestatuses)

DESCRIPTION

       dpm_get makes a set of existing files available for I/O.

       The input arguments are:

       nbreqfiles
              specifies the number of files belonging to the request.

       reqfiles
              specifies   the   array   of   file   requests   (dpm_getfilereq
              structures).

       struct dpm_getfilereq {
            char      *from_surl;
            time_t    lifetime;
            char      f_type;
            char      s_token[CA_MAXDPMTOKENLEN+1];
            char      ret_policy;
            int       flags;
       };

       nbprotocols
              specifies the number of protocols.

       protocols
              specifies the array of protocols.

       u_token
              specifies the user  provided  description  associated  with  the
              request.

       retrytime
              This field is currently ignored.

       The output arguments are:

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

       nbreplies
              will be set to the number  of  replies  in  the  array  of  file
              statuses.

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

       struct dpm_getfilestatus {
            char      *from_surl;
            char      *turl;
            u_signed64     filesize;
            int       status;
            char      *errstring;
            time_t    pintime;
       };

RETURN VALUE

       This  routine  returns  0  if the operation was successful or -1 if the
       operation failed. In the latter case, serrno is set appropriately.

ERRORS

       EFAULT       reqfiles, protocols, r_token, nbreplies or filestatuses is
                    a NULL pointer.

       ENOMEM       Memory could not be allocated for marshalling the request.

       EINVAL       nbreqfiles or nbprotocols 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.

       SENOSHOST    Host unknown.

       SEINTERNAL   Database error.

       SECOMERR     Communication error.