DPM_COPY(3)
NAME
dpm_copy - copy a set of existing files
SYNOPSIS
#include <sys/types.h> #include "dpm_api.h" int dpm_copy (int nbreqfiles, struct dpm_copyfilereq *reqfiles, char *u_token, int flags, time_t retrytime, char *r_token, int *nbreplies, struct dpm_copyfilestatus **filestatuses)
DESCRIPTION
dpm_copy copies a set of existing files.
The input arguments are:
- nbreqfiles
- specifies the number of files belonging to the request.
- reqfiles
- specifies the array of file requests (dpm_copyfilereq structures).
- struct dpm_copyfilereq {
- char *from_surl;
char *to_surl;
time_t lifetime;
char f_type;
char s_token[CA_MAXDPMTOKENLEN+1];
char ret_policy;
char ac_latency;
int flags; - };
- u_token
- specifies the user provided description associated with the request.
- flags if set to non zero, it allows to overwrite an existing file.
- 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_copyfilestatus structures allocated by the API. The client application is responsible for freeing the array when not needed anymore.
- struct dpm_copyfilestatus {
- char *from_surl;
char *to_surl;
u_signed64 filesize;
int status;
char *errstring;
time_t f_lifetime; - };
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, r_token, nbreplies or filestatuses is a NULL
- pointer.
- ENOMEM Memory could not be allocated for marshalling the request.
- EINVAL nbreqfiles is not strictly positive, 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.