lfc_delfilesbypattern(3) 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.

AUTHOR

LCG Grid Deployment Team