NAME
lfc_delfilesbypattern - delete the file entries selected by pattern
matching on basename
SYNOPSIS
#include <sys/types.h>
#include "lfc_api.h"
int lfc_delfilesbypattern (const char *path, const char *pattern, int
force, int *nbstatuses, struct lfc_filestatus **statuses)
DESCRIPTION
lfc_delfilesbypattern deletes the file entries selected by pattern
matching on basename. If replicas exist and the force argument is not
zero, all replicas are first removed.
path specifies the logical pathname relative to the current LFC
directory or the full LFC pathname.
pattern
allows to restrict the list of files to be deleted to entries
having the basename starting with this pattern. pattern should
be terminated by a %.
nbstatuses
will be set to the number of replies in the array of statuses.
statuses
will be set to the address of an array of lfc_filestatus
structures allocated by the API. The client application is
responsible for freeing the array when not needed anymore.
struct lfc_filestatus {
char name[CA_MAXNAMELEN+1];
int errcode;
};
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 The named directory does not exist.
EACCES Search permission is denied on a component of the path
prefix or write permission is denied on the parent
directory or the parent has the sticky bit S_ISVTX set and
the effective user ID of the requestor does not match
the owner ID of the file and
the effective user ID of the requestor does not match
the owner ID of the directory and
the file is not writable by the requestor and
the requestor does not have ADMIN privilege in the Cupv
database.
ENOMEM Memory could not be allocated for marshalling the request
or unmarshalling the reply.
EFAULT path, pattern, nbstatuses or statuses is a NULL pointer.
EEXIST File has replicas and force is zero.
ENOTDIR A component of path prefix is not a directory.
ENAMETOOLONG The length of path exceeds CA_MAXPATHLEN or the length of
a path component exceeds CA_MAXNAMELEN.
EINVAL The length of pattern exceeds CA_MAXNAMELEN.
SENOSSERV Service unknown.
SEINTERNAL Database error.
SECOMERR Communication error.
ENSNACT Name server is not running or is being shutdown.
SEE ALSO
Castor_limits(4), lfc_delreplica(3), lfc_unlink(3)
AUTHOR
LCG Grid Deployment Team