SYNOPSIS

#include <sys/types.h>

#include "dpns_api.h"

int dpns_undelete (const char *path)

DESCRIPTION

dpns_undelete recovers a DPNS file entry logically deleted by dpns_delete. This can be done as long as a the reclaim utility has not been run on the corresponding tape volume.

path

specifies the logical pathname relative to the current DPNS directory or the full DPNS pathname.

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

EPERM

path is a directory.

ENOENT

The named file does not exist or is a null pathname.

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.

EFAULT

path is a NULL pointer.

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.

SENOSHOST

Host unknown.

SENOSSERV

Service unknown.

SECOMERR

Communication error.

ENSNACT

Name server is not running or is being shutdown.

RELATED TO dpns_undelete…

AUTHOR

LCG Grid Deployment Team