SYNOPSIS
#include <sys/types.h>#include "dpns_api.h"
int dpns_setfsize (const char *path, struct dpns_fileid *file_uniqueid, u_signed64 filesize)
int dpns_setfsizec (const char *path, struct dpns_fileid *file_uniqueid, u_signed64 filesize, const char *csumtype, char *csumvalue)
DESCRIPTION
dpns_setfsize sets the filesize for a regular file; set also the last modification time to the current time. This function should only be called by the stager after the last write operation has been performed on the file. The file can be identified by path name or by file_uniqueid. If both are specified, file_uniqueid is used.- path
- specifies the logical pathname relative to the current DPNS directory or the full DPNS pathname.
- csumtype
-
specifies the type of checksum. Valid types are:
-
- CS
- standard 32 bits checksum
- AD
- Adler 32 bits checksum
- MD
- MD5 128 bits checksum
-
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
- ENOENT
- A component of path prefix does not exist or path is a null pathname.
- EACCES
- Search permission is denied on a component of the path prefix or the caller effective user ID does not match the owner ID of the file or write permission on the file itself is denied.
- EFAULT
- path and file_uniqueid are NULL pointers.
- ENOTDIR
- A component of path prefix is not a directory.
- EISDIR
- The file is not a regular file.
- EINVAL
- The length of the csumtype exceeds 2 or csumtype is an unknown type or the length of the csumvalue exceeds 32.
- ENAMETOOLONG
- The length of path exceeds CA_MAXPATHLEN or the length of a path component exceeds CA_MAXNAMELEN.
- SENOSHOST
- Host unknown.
- SENOSSERV
- Service unknown.
- SECOMERR
- Communication error.
- ENSNACT
- Name server is not running or is being shutdown.
AUTHOR
LCG Grid Deployment Team