sam_exarchive(3)

NAME
sam_exarchive - Exchanges archive copies of a file or directory

SYNOPSIS

cc [ flag ... ] file ... -L/opt/SUNWsamfs/lib -lsam [ library ... ]

#include "/opt/SUNWsamfs/include/lib.h"

int sam_exarchive(const char *path, int num_opts, ... );

DESCRIPTION

sam_exarchive() lets you exchange archive copies of a file or a directory using a Sun StorageTek SAM-FS or Sun SAM-QFS system call. path is the file whose specified archive copies are to be exchanged, followed by a sequence of num_opts input characters or options. Individual options are described below.

OPTIONS

c copy_m

c copy_n
    Specifies the copies to be exchanged. The copy_m is exchanged with copy_n. Exactly two 'c' options must be specified. The first copy (copy_m) must have a valid archive entry.

M   Exarchives metadata only. This includes directories, the segment index, and removable media files. Regular files are not exarchived. If you are exarchiving a directory, you must specify the "M" option.

RETURN VALUES
Upon successful completion a value of 0 is returned. Otherwise, a value of -1 is returned and errno is set to indicate the error.

ERRORS

sam_exarchive() fails if one or more of the following are true:

EINVAL
    An invalid option was specified, or the file is neither a regular file nor a directory.

EPERM
    Not the owner or super-user.

EFAULT
    Argument points to an illegal address.

EINTR
    A signal was caught during the sam_exarchive() function.

ELOOP
    Too many symbolic links were encountered in translating path.

ENAMETOOLONG
    The 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.

ENOENT
    The named file does not exist or is the null pathname.

ENOLINK
    path points to a remote machine and the link to that machine is no longer active.

ENOTDIR
    A component of the path prefix is not a directory.

SEE ALSO
exarchive(1m), mcf(4)