dpm_putx man page

DPM_PUTX(3) DPM Library Functions DPM_PUTX(3)

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

[1mDESCRIPTION[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:

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

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

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

[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, 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)

Info