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.

RELATED TO lfc_delfilesbypattern…

AUTHOR

LCG Grid Deployment Team