sam_unarchive - Removes archive copies for a file or directory
cc [ flag
… ] file
… -L∕opt∕SUNWsamfs∕lib -lsam [ library … ]
#include "∕opt∕SUNWsamfs∕include∕lib.h"
int sam_unarchive(const char * path ,
int num_opts ,
…);
sam_unarchive()
lets you remove an archive copy of
a file or a directory using
an Oracle HSM system call.
path
is the file of which to delete archive entries,
followed by a sequence of
num_opts
input characters or options.
Individual options are described below.
For example, if you have used the sam_archive (3x) function
to request that a file be archived, you can use the sam_unarchive (3)
function to delete that archive copy.
The specifications for the archive
copy (c copy_no) and∕or
the media type and VSN
(m media_type [v vsn])
determine which archive copy is deleted.
There are several ways to specify one or more archive entries to be unarchived. These ways are as follows:
By copy number
By copy number, media type, and VSN
By copy number and media type
By media type
By media type and VSN
c copy_noDeletes the specified archive copy_no.
Specify 1, 2, 3, or 4 for copy_no.
If one or more 'c' options are
are specified, only those archive copies (1, 2, 3, or 4) are deleted.
Either a "c copy_no" or a "m media" option must be specified.
MUnarchives metadata only.
This includes directories, the segment index,
and removable media files.
Regular files and symbolic links are not unarchived.
If you are unarchiving a directory, you must specify
the "M" option.
m mediaDeletes all archive copies on the specified media_type.
For the list of possible media_type specifications, see the
mcf (4) man page.
Either a "c copy_no" or a "m media" option must be specified.
If you specify a "m media" option, you can also specify
a "v vsn" option.
oSpecifies that the file must be online before its archive entry is deleted. If the file is offline, the sam_unarchive function
stages the file to disk before deleting any entries.
v vsnDeletes the archive copies on vsn.
For vsn, specify a volume serial name (VSN).
If you specify a "v vsn" option, you must also specify
a "m media" option.
Upon successful completion a value of 0 is returned.
Otherwise, a value of -1 is returned and
errno
is set to indicate the error.
sam_unarchive()
fails if one or more of the following are true:
EINVALAn invalid option was specified, or the file is neither a regular file nor a directory.
EPERMNot the owner or super-user.
EFAULTArgument points to an illegal address.
EINTRA signal was caught during the
sam_unarchive()
function.
ELOOPToo many symbolic links were encountered in translating path.
ENAMETOOLONGThe length of the
path
argument exceeds {PATH_MAX}, or the
length of a path component exceeds {NAME_MAX} while
{_POSIX_NO_TRUNC} is in effect.
ENOENTThe named file does not exist or is the null pathname.
ENOLINKpath points to a remote machine and the link to that machine is no longer active.
ENOTDIRA component of the path prefix is not a directory.
If the last (undamaged) copy of a file would be unarchived,
sam_unarchive would not unarchive that copy.